Peter is a project manager, who has delivered many software projects in Airlines ticketing and reservations successfully, on-time and within budget. He just signed up to deliver an analytics platform for revenue enhancement, which involved storing and analyzing humongous historic data, towards proposing optimal pricing plans for the airlines. His team consisted of a researcher in data mining and a couple of high performing software engineers. The team engaged with full enthusiasm and zeal, only to run into tremendous resource requirement at deployment, which was completely unacceptable to the customer. In addition the pricing plans were too complex for the airlines to roll out to the end users. The whole team had to go back to redoing the underlying architecture and nearly rebuild the whole platform. This meant doubling the original estimate and twice the duration. What do you think went wrong?
One of the basics before commencing activities towards a software solution is for the project manager and the team to understand the requirements in full, including deployment environment, user profiles, actual usage of the solution etc. Be it the project manager or the team member, the basic point to remember is to understand the user and usage situation completely and work the solution towards the user and address the requirements and not over nor under-engineer the solution. This basic point was missed by the whole team.