“So, where are we on the requirements?” asks the the Product Manager of the new software product for the bank. The product is supposed to enhance the user experience by way of providing online analytics to the customer that logs into his bank account on the internet.
Well, now-a-days due to the plethora of channels like mobile, tablet and computers for banking services delivery, there are many such projects that are required by the banking business stake holders. And they pump in dollars into the IT department to come out with eye and attention catching projects to keep the customer engaged. It could be a better user interface on the internet or more analytical content delivered to the customer such as the merchant based credit card transactions, client location based campaigns etc.
To make it simple – the new projects that are coming up are : when you log into your account through your i-Pad, the software tells you how many times you have had ice-cream in the last five months and who the merchants are or tells you the number of times you have re-filled your gas by the gas station along with the money spent on each. Additionally it gives you the details of the offers and deals applicable to you as the bank’s customer in merchant locations nearby based on your location coordinates.
One such project comes up in the bank and we start with the requirements.
The BA – the business analyst – the know all of the product is asked to make a presentation of the requirement that he is supposed to have in his possession. And thus starts the ordeal of the product development that in the Hindu Parlance is called “the seven and half year astrological transformation”- that indicates the terrible times ahead.
Then comes the turn. The product needs 20 functionalities. And the BA knows about five. And has completed the presentation stating that the whole of the requirements have been captured. And the product development team has started to discuss on the design that needs to be done to complete the requirement.
And the PM asks for the delivery schedule of the modules while we are left flabbergasted. The project has just been kicked off. The requirements are still underway. The development team has not yet been staffed. And the PM asks for the delivery schedule.
This is a typical scene in any software product development company. And higher the project cost,more is the adhoc-ness.
“But”, I ask, “we don’t even have the requirements yet”.
“”How does that matter? We need delivery schedules to be presented to the management irrespective of the adequacy of the project requirements”, quick comes the reply.
“Well, then, I can provide the delivery schedule for the five functionality that we know of””, I say.
“No, I need the delivery schedule for the whole product”, says the PM.
“I am sorry. How can I give you the delivery schedule when I don’t even know what the rest of the requirements are?”, I ask with rightful indignation. Without answering that, the PM proceeds with the next item on the agenda which means that I would have to provide the estimates even before knowing the requirements.
And then the development team manager is asked to publish his team’s staffing plan that leaves him visibly upset for he has just then asked the HR to provide CVs for the specified skill set for the product. His objections are overruled and he promises to provide the resource plan in the next half hour. In the name of being aggressive, the project is, knowingly, slaughtered.
And the HR comes back with Java skilled CVs while the development manager would have asked for Android specialists. “These are the people on bench, what can we do with them?” Asks the HR leaving the development manager with no choice but to take them.
The delivery schedule is published. The logic is thus : Five requirements to be delivered in this many days and thus the rest fifteen requirements to be done in that many extrapolated days with the team size remaining constant and the PM being as aggressive as ever.
The development of the five functionalities are in progress and the rest fifteen are still unknown requirements when the PM comes over and asks ,” Are we good to go live?”
“Go live!”, I ask. “There are still requirements to be captured, design to be done, offshore vendor to be finalized, the SDLC to be followed, the design artifacts to be made ready for audit, the different stages such as SIT- System Integration Testing, UAT-User Acceptance Testing, PAT- Production Acceptance Testing- all these need to be undergone before even thinking of going live”, I mutter but to no avail.
The go-live dates are finalized for all the twenty functionalities while just five requirements are available.
But the SDLC-Software Development Life Cycle- needs to be followed and hence this unique method of running the SIT,UAT and PAT in parallel is invented with the same development team looking into all these different cycles all at the same time.
Testing the software results in great enlightenment. the user community comes back shouting that the software works fine for android phones but does not run on Apple iOs.
“But that was never in the requirements”, I protest. “The requirement was only for Android”.
“How on earth could we be like this? The App that runs in Android should also run in iOs. That is elementary”, quips the PM adding further, ” how many functionality are covered?”
“Five”, I reply ,”because the BAs have provided specifications just for five”.
“You guys need to be agile. You should have been behind the BAs to get the rest”, retorts the PM trying to shift blame.
I give up , realization having dawned that it would be tantamount to speaking to myself in front of the mirror. The decision is made at even higher levels and objecting to the PM would be an exercise in futility. As the level of authority rises, stupidity increases, I deduce.
The go-live date is announced with much fan fare and the PM indulges in confabulations with the senior management planning the launch festivities while the team burns the midnight oil continuously to ensure at least the basic functionality works without a flaw at least on the day of launch.
I try one last time. What do I lose, I think. So with diminishing levels of hope and enthusiasm, I approach the PM in his cabin ( a cabin is a glorified room that is present at one end of the hall but with an extra chair to sit on ).
I tell him that even the basic requirement of getting the payment gateways enabled for the application has not been done yet, the interface registers are not ready, protocols with third party vendors are not finalized and many other technical open ends.
“What ? Has your appraisal not been done yet ? Do you know the bonus this year if this product is launched ?”, he retorts.
I know that he is talking about his own bonus whereas when it trickles down to our levels, many parameters such as the state of the economy, European Crisis, Egyptian Turmoil, The State of lawlessness in Tanzania and various other parameters would be factored in thus making the bonus a minuscule fraction of the integer one.
It becomes clear, as the D-day nears, that the product, if launched on the day, would prove to be a major embarrassment to the bank. Hectic meetings are called for and finally it dawns on the PM that it is not practical for even the basic functionality to be made working on the D-day.
A brainstorming session happens. Senior managers are pulled in. Each comes out with some exotic ideas. These are the times when one needs to switch off and stare at nothing in particular and everything in general. This, I have often used as an armor to protect myself from unwanted advice all along. Had this not been the case, my head would have taken all the shapes from an elliptical sphere to an octagonal rhombus.
And out comes a brilliant idea. “Go for a prototype”, yells the BA – the one who is supposed to have provided the requirements . And the PM “appreciates” this “brilliant” idea and the team starts working on a prototype that would work both on Android and iOs. Prototypes are ‘show-pieces’ that look like the real application but would only show how the application would look like without performing any useful action.
“Exceptional”, cries another senior manager who is known for sycophancy ,” we will launch the prototype as a Beta version. You know, Google is still in Beta”, and lauds himself for his wisecrack.
“What if the users come back asking for the main functionality?” I ask with visible frustration.
“Elementary, my dear Watson, the main functionality is disabled in this beta version for the Gold customers while the Blue customers will continue to use the prototype. And in the meantime we will develop the product”, jumps the PM with the face of a victorious jackal. I am somehow reminded of Goerge Madoff and the great rip off.
And on the day of “Go-live” we go live on the prototype while waiting for the BA to provide the balance fifteen functionality.
The Garuda Purana says that the one who knowingly lies shall be fried live in a large bath tub of boiling oil.