As a part of International GIS Day 2017, the Geomatics programme invited Dr. Nandakumar to give a lecture on “Software Quality with Geospatial Examples”. The lecture served as a way of introducing the students to the importance of creating high quality software and understanding what quality means in this context.
“Software Quality is something that you only notice when it is not present,” Dr. Nandakumar said. “If the quality of a software is very good and it is easy to use, you won’t comment upon it. But if the software is flawed in some way, you will notice it immediately. Over the years that he has worked at ISRO, he has worked extensively with teams to define what makes good quality software. In his opinion, software quality is about more than just the functional requirements of the software. It covers things like the user interface and usability, completeness, time behavior, resource utilization, performance, capacity, scalability, compatibility etc.
“A software should work cohesively with the other software that it is expected to work with,” he said about compatibility. “For a new user, it is also important that the use of any part of a software be clear and easy to understand. For an experienced user, this will not matter, but for a new user it is everything.” He believes that in most software this is missing. The absence of error protection, help files, and documentation make matters worse and often lead to long term problems. The biggest challenge is that in the professional space right now, these non-functional requirements are not written in a professional manner. The tenders and software proposals do not mention these requirements and developers do not consider them to be a part of the development process.
“Even in the curriculum, the non-functional requirements are not taught. Some professors claim to teach this but then only discuss the importance of performance. They do not cover all these other factors at all.” There are international standards available for software quality, but without them being taught as a part of the curriculum it is difficult for students to grasp the importance of these requirements on their own. Software requirements must be written, regardless of how they are written.
He talked a bit about his journey into specialising on software quality. “In my first project in ISRO, we were building software for the IRS-1A. As a part of this, when we wrote the requirements we never wrote the non-functional requirements. In 1984 we wrote the first Software Quality Guidelines in ISRO. At that point we first introduced the idea of non-functional requirements, and over time we have refined these guidelines. They can serve as a good foundation for students interested in understanding how quality is defined.”
He concluded by saying that Geomatics has a great future today. “There are vast stores of geospatial data available in the public domain, and many companies, local governments and consumers have need of this data in easy to use and accessible software. Creating such software can serve as the foundation of a successful career for many students in the long term.”