Project Execution Methodology
Project Management has been the fundamental block of any IT venture. With a sure shot plan in place, it manages the entire project with the usage of various tools and project execution methodologies. With the involvement of certain basic processes like initiation, planning & design, execution, monitoring & controlling and implementation, each IT project must follow a particular project execution methodology in order to reach a successful and happy project closure. Co-ordination between the varied resources and a seamless integration of the different activities in the project are the prime ingredients in any project execution methodology.
Every project manager knows that selecting the right methodology is crucial to getting the job right. While there are project management methodologies a-plenty, we’ve discussed a few popular ones:
The Agile software methodology is a sort of Incremental model in which the software is developed, tested and implemented in incremental and rapid cycles. The results are in terms of incremental releases with each release depending upon the previous release’s operations and success ratio. This works out very well in cases of time critical solutions and does its maximum to ensure most of the errors and loopholes are covered up before the project actually goes live.
Agile development methods are more efficient when the final goal of the project is not defined, and the customer wants the development team to react to the changed requirements rapidly and effectively.
The principles are outlined in the Agile manifesto outlines four values:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
- Delivery of software is unremitting
- Customer satisfaction is rapid
- Product is developed fast
- Accommodates change at a late stage
- Requires an expert project member
- Lack of intensity on necessary designing and documentation
- The level of collaboration can be difficult to maintain
Best suited for:
Agile is most appropriate on any urgent project with significant complexity and novelty
PM experts have expanded Agile Methodology into many implementation frameworks, including:
- Extreme Programming (XP)
2. Agile - Scrum
Scrum is an agile project management methodology which proposes principles and process to improve delivery. Within software development, Scrum methodology is one of the most popular and simple frameworks to put the principles of Agile in practice. The goal of Scrum is to improve communication, teamwork and speed of development. If you hear people talking about aspects such as sprints, scrums, backlogs and burndowns, they’re probably talking about Scrum, or some derivative of it. Team members enjoy the way Scrum helps them untangle complex development cycles, redefine end goals during a project cycle, and get quality products to market very quickly.
To manage the development of complex software in fixed-length iterations, the Scrum approach could be the best matching. The development process is divided into sprints, and the team interacts with the customer daily.
Scrum team roles:
- Scrum Master - Organized servant-leader who ensures the understanding and execution of Scrum is followed.
- Product Owner - Product expert who represents the stakeholders and is the voice of the customer.
- Development Team – A group of professionals who deliver the product (developers, programmers, designers, QAs).
- Transparency and visibility
- Increase in team accountability
- Accommodates change
- Cost Effective
- Requires experience and a committed team
- Highly dependent on Scrum Master
- Clear definitions required
Best suited for:
Scrum will work best in a cross-functional team from 5 to 9 developers working on a medium to large size project (from 4 months to multiple years). If your project is larger, you can scale with Scrum of Scrums.
3. Agile - Kanban
Kanban methodology is light on process, flexible, doesn’t have prescribed roles, and simply tries to improve throughput by increasing the focus of the team on the things that really matter. The core practices are visualizing the workflow, limiting work in progress, measuring the lead time, making process policies explicit and continually evaluating improvement opportunities. Kanban managers use virtual “cards’ to represent units of work flowing through their systems. By engaging visually with their workflow, team members and managers can easily estimate and prioritize upcoming tasks.
This approach is based on Agile but involves a bigger visual component. The benefit of Kanban is that it gives businesses an opportunity to be reactive towards customers’ demands instead of trying to predict the needs.
It operates on six general practices, which are:
- Limiting work in progress
- Flow management
- Using feedback loops
- Collaborative or experimental evolution
- Process is flexible
- Focused on continuous delivery
- Improves delivery flow
- Reduces the time cycle
- No timeframes associated with each phase
- Lack of timing
- Outdated Kanban board that can lead to issues in the development
Best suited for:
Kanban is fitting for projects with smaller teams, who need a flexible approach to delivering a product or service. It's best fit for product support team. Kanban is also great for personal productivity purposes.
4. Agile - XP
Extreme Programming teams work in shorter sprints typical for Agile/Scrum companies. These shorter cycles allow them to maintain rigid task structures. XP teams don’t embrace as much flexibility as other Agile teams, undertaking tasks in a strict priority order.
Extreme Programming emphasizes teamwork. Managers, customers, and developers are all equal partners in a collaborative team. Extreme Programming implements a simple, yet effective environment enabling teams to become highly productive. The team self-organizes around the problem to solve it as efficiently as possible.
It features five basic tenets:
The XP methodology mandates specific engineering practices such as test-driven product development, automated testing, simple and elegant design, refactoring, etc. Experts recommend teams begin with Scrum and adopt XP slowly as they determine their own best practices and engineering protocols.
- No unnecessary programming work
- Stable software through continuous testing
- Changes can be made at short notice
- Code is clear and comprehensible at all times
- Customer must participate in the process
- Relatively high costs
- Relatively large time investment
Best suited for:
Project with small number of programmers (between 2 and 12 is preferable), or projects that experience constantly changing requirements, or projects where you want to mitigate project risk, especially around tight deadlines.
5. Agile - Lean
Lean methodology is a project management methodology focused on the theme of efficiency. Arguably the Godfather of Agile, Lean is all about doing more with less. It starts by identifying value and then maximizes it through continuous improvement by optimizing the flow of value and eliminating wastage.
It’s a theme with principles, rather than a methodology dictating process and things to do. It suggests you can do more with less by addressing the three dysfunctions that create waste: Muda, Mura and Muri, also known as the 3Ms.
- Muda is about eradicating waste—removing process or anything that’s not ultimately adding value to the customer. In the world of digital, this could be eliminating rounds of revisions.
- Mura is about eliminating variations—removing the overhead that variances to the standard process create. For us, this could mean standardizing briefs and approval processes.
- Muri is about removing overload—the optimal capacity is working at 60-70%. Any more than that, and everything slows down. We could apply this to be minimizing the number of projects we’re trying to run through the agency.
- Eliminates Waste
- More efficiency
- Delivering the product early
- Reduces project time and cost
- Highly dependent on cohesiveness of the team
- Low margin for error
- Decisions have to be made promptly
Best suited for:
Often mistaken for specializing in manufacturing industries, Lean methodology is ideal for any business or organization that is not looking for a process as such but is interested in transforming how they conduct doing business.
As we see through the flown years, the most in-demand approach to project management was the Waterfall approach. It, being a linear and sequential approach, had separately set goals for each defined phase of the project. The entire process of software development was divided into distinct processes, each having its own beginning and end and all of them cascaded to each other in a linear fashion. The latter had its start once the former was achieved and completed. It looked like an ideal methodology at that time and did wonders for years to come. But with the complexities and variations of the IT world on a rising spree, there was a requirement for a change in the typical approach.
Waterfall software development is ideal for static projects when the customer’s requirements are set, and the changes are not likely to happen through the development process.
The phases are followed in the following order:
- System and software requirements
- Uses clear structure
- Determines the end goal early
- Transfers information well
- Makes changes difficult
- Excludes the client and/or end user
- Delays testing until after completion
Best suited for:
Projects for which requirements are frozen and there is no scope of change that require maintaining stringent stages and deadlines, or projects that have been done various times over where chances of surprises during the development process are relatively low.
Selecting the most suitable project management methodology can be tricky. It depends on so many variables, many of which are outside of our control as project managers. Project management methodologies are just tools to help us deliver projects. You may find that more than one of the aforementioned project management methodologies seem ideal for your project, or maybe, none of them would work. What we’ve provided is a simplified guideline to help you take the first steps of selecting the best methodology for your upcoming project. The next step to take is to do further research and then find the best match.