If your IT projects and requirements elicitation processes seem a little overwhelming, consider what it would be like to be a product manager on Aadhaar. A few months ago, a friend referred me to this article in the New Yorker about a new social project sponsored by the Indian government and spearheaded by billionaire founder of Infosys, Nandan Nilekani.
Called Aadhaar, meaning “foundation” in Hindi, its ultimate goal is to issue every Indian resident a unique, randomly generated 12-digit ID number. Any participant’s ID number would be linked to their photograph, fingerprints, and iris scans, which will be stored in a database ten times larger than the world’s largest existing biometric database. If successful, Aadhaar would enable millions of previously undocumented Indian citizens to access bank accounts, cell-phone SIM cards, and finally be able to take advantage of state services.
Apart from the social, political, and economic implications of such a massive project, Aadhaar is also interesting from a software requirements and product management perspective. The overarching requirement of the project is relatively straightforward: the system needs to be able to authenticate any person providing their ID number. To accomplish this, the project’s architects have decided that authentication will be done by matching the ID number with the biometric data stored in the central database. From a data relationship perspective, this is a one-to-one relationship, matching one ID number to one piece of biometric data, like a fingerprint or photograph.
However, according to an Aadhaar product manager, the bigger challenge is ensuring that no one exists twice within the system. To do this each new set of fingerprints would have to be matched against every other set of fingerprints already in the database. In other words, there is a one-to-n relationship between new data and existing data, where n is all the existing database entries. Considering this relationship and the number of people that will participate, the scale of the challenge facing Aadhaar starts to become clear. Further, the non-functional requirements of the project—system security, scalability, performance requirements, etc.—are enormously complicated. It will be fascinating to see if the project’s architects can address these challenges, and how.
Since I’m a relative newcomer to product management and software requirements, it is exciting to see how vast and varied the applications of those disciplines are. While product managers are necessary in large IT departments and helpful in lean startups, Aadhaar shows how those skills can also be applied to address social problems. Projects like Aadhaar show the value of leveraging advances in IT not only to improve business efficiency, but also in providing new, creative solutions to entrenched social problems.
As Nilekani put it, his detractors “don’t believe that technology can solve problems. They say, ‘We’ve been looking at these things for decades, and we haven’t solved them, and who are you to tell me that you’ll solve them in three years?’” When technology is employed to solve society’s most intractable problems, the value of product management, and its accompanying disciplined approach to requirements, can only increase. Product managers and business analysts, prepare to be challenged to do good in the world!