We recently implemented a corporate portal for a large retailer. By any definition, this was a successful project; project was completed within time and budget, and business customer was satisfied about final product. Many factors contribute towards delivering a successful project, however, I would like to share two key practices that we followed during this project.
Engaging Business Customer:
Typically developers view business users as someone they should avoid. Business user is viewed as someone who always keeps changing requirements or does not understand technology architecture and design. This is not to blame anyone because most of us go through same process during our professional experience. However, as we start working closely with business users, we realize that they are not as bad as we perceive them. They just explain whatever they do on daily basis. They expect consultants to suggest solutions to their problems.
In this project, we closely worked with business from day one. Our intention was to really understand their business processes, their specific needs, and work practices. Insights gained from this exercise were used to design new portal. During whole project and specifically during development phase, we had in-depth review of portal with business users every two weeks. Objective of these reviews was to:
- Understand business requirements as soon as possible
- Validate each new feature by actually using it with business users
- Keep business users on-board during every design decision and share its pros/cons
- Build trust which helped us in lot of different ways
- Keep communication channel open throughout the project
Believe it or not, we were able to control the project scope at every stage. All new ideas related to product features were discussed in detail and decisions were made to make sure that we select only those features which are feasible within given time frame.
Short Development Iterations:
Our team has been adopting agile practices to help minimize project risks. Planning short iterations to manage development effort helped us in many different ways, namely:
- It reduced the risk of building wrong thing
- Output of short iterations became handy in review sessions with business users. Every two weeks, after each iteration, we had something to show to our business partners.
- It served as a great tool to manage time and budget
- Short Iterations became a decent tool for project planning
- Individual productivity became very visible as everyone had to show his contribution in each iteration
There is nothing new about these practices. You will find tons of books which explain similar ideas under the umbrella of Agile Methodologies. Yet there is huge percentage of projects which fail altogether or don’t meet stakeholders expectations. I believe that Agile practices can help a lot to minimize project failure risks. It is always challenging to adopt new practices and follow them on day to day basis. I would recommend that instead of following any new methodology as per book, try to adopt few practices in each new project. After couple of projects, team would definitely see the value in new process and its practices.