This article describes how to combine the two most common project management methodologies to get the best out of your web site development project.
Usually, a project is considered successful if it reaches its scope within the allocated budget and the planned schedule. Looking at my experience as project manager, I believe that the real goal to accomplish, is to make the client “satisfied” with an excellent web site that returns the best value to the customer.
To reach such goal it is essential to have a good starting point, which can be achieved with a well requirements analysis; a smart web architect who can work side by side with the project manager, combining their technical and organizational experiences; a professional team of developers, and probably the most important element is a committed client that can provide the knowledge on the project that only its owner can have.
To get out the best from this team of professionals, it is necessary to apply a good project management methodology that supports the coordination of all the activities with the objective of controlling and managing the planned scope, budget, and schedule.
Nowadays, there are two main project management methodologies that are used in the development of IT projects: Waterfall and Agile.
The Waterfall methodology, also known as Predictive approach, consists in a sequential series of well-organized and well-planned steps that drive the whole team to the “wonderful” and “perfect” goal requested by the client. This method is easy to understand, easy to follow, but rigid with change requests, especially at the end of the development phase where most of the web site has been already developed. By rigid, I mean that the more the project moves forward the more money and time cost the changes.
However, if this methodology is well applied, it can provide a series of nice reports and charts that can tell the client, the managers, and the project sponsor exactly the project progress day by day. It can answer the magic questions such as “What is the completion % of the project?”, “How much money is needed to go live?”, “What is the go live date and time?”. This kind of information gives the top-level managers a sense of control of the entire project or program. However, problems are always around the corner and ready to promptly appear making the Waterfall methodology struggle and the people using it starting to question such approach. Too many times, the project team changes the route of the project without following the planned procedures, or they get stuck on the wrong path just because it was planned in that way, increasing the probability for the project failure.
On the other side the Agile approach is simple to explain, with not many formalisms and processes, and with the promise of giving back an initial working web site in a very short time, even a few weeks, which sounds great!
Agile methodologies (there are many of them) use iterative approaches where at the end of each iteration a piece of working web site is delivered. Such iterations last a few weeks (usually between 2 and 4) and they allow a lot of flexibility to the involved actors such as developers, client, testers, designers, and managers. The pyramidal organization used in the Waterfall is replaced by a flatter structure where each professional brings in the project the same value as the other members of the team and everyone is pushed to be proactive and contribute to reach the goal of each iteration.
As I mentioned earlier, this approach is easy to understand but very hard to master. It requires a team made by open-minded individuals, broad knowledge of all the tools and techniques that will be used, people high-skilled in conflict management and dedicated to reach the assigned goal as a team. However, the hardest barrier to breach is the one between the client and development team. The client must understand that everyone is on the same boat and all must row in the same direction with the same dedication. The sponsor must provide all the necessary assistance and presence during the entire project development: the client is the one who knows exactly what the real goal of the project is and can understand if the whole team is moving towards it. The development team instead has to understand that the client is a crucial component of the project, without hiding problems under the carpet, ask as many questions as possible, and make it a real member of the team.
The Agile approaches make hard to understand the long-term vision of the project. It is not easy to calculates the project progress in numerical terms; however, the client follows the development day by day and can easily feel how far the final goal is. Anyhow, without a well-trained Agile team, it can be easy to get out of track from the original scope.
CodeBay Innovation adapts both project management approaches to each web site development taking in consideration the project characteristics, the client’s culture, and its organization, to reduce the chances for harmful risks and rise the probability for opportunities to improve the project success. In the last few years, CodeBay recognized that a hybrid approach between Waterfall and Agile works very well when developing complex projects, while for small and shorter projects (up to three months) both methodologies can be applied freely depending by the involvement of the client.
The CodeBay hybrid approach consists to use the Waterfall management with a dedicated PM for the high-level organization of the project. The PM with the client, the other system integrators, and the AEM architect define together the high-level requirements, the project milestones, the overall budget, and schedule. The development performed between two milestones is organized using Agile methodologies (usually SCRUM that is one of the most used nowadays) which allow to provide quick results for the client and manage in an efficient manner the approach to the change requests. The planned milestone works as a lighthouse for the team, avoiding the scope creep of the project. If the client does not have the capacity to provide a dedicated team or person to the Agile portion of the project, CodeBay can fulfil that role suppling a business analyst that studies the client’s needs and project’s goals allowing him or her to act as product owner, reducing one of the biggest issues of the Agile approaches that is the 100% involvement of the client during the entire period of the project development.
Moreover, all the CodeBay developers are trained on the different project management methodologies, by providing them the basic knowledge of the most common terminology, the processes, and roles. Before the beginning of each project, the team receives a dedicated training for the specific methodology and approach that will be used, clarifying the overall objectives and client’s expectations.
In conclusion, the hybrid project management approach has proven to be successful for CodeBay; it brings the client closer to the development team, and the developers are enticed to share their abilities for the great of the project. The project manager is able to satisfy the client’s management demands for status updates and progress. Everyone rows in the same direction and CodeBay can boast 100% of the customer satisfaction so far. However, it is important to get the necessary training to master both methodologies and avoid improvisations.