Discipline in project management is essential for all types of businesses and modern software and IT providers have many methodologies to choose from. Today I wanted to focus on the pros and cons of the agile project management method. Agile project management is a method of managing your design and build activities by leveraging iterative and incremental methods. A more traditional waterfall model, on the other hand, is a development model that focusses on sequential design processes. In this type of model, you can visualize your progress as a steady downward flow that passes through these phases in order: conception, initiation, analysis, design, construction, testing, production/implementation, and maintenance. Agile management methods like scrum style project management are swiftly becoming the standard in the industry and as these methods continue to mature we are better able to understand their strengths and weaknesses.
It is a common misconception that agile development approaches are looser and less disciplined than pure waterfall methodologies. However, that is not actually the case and in actual practice many teams combine the best aspects of waterfall and agile methods. This results in hybrid processes that integrate waterfall practices that have been proven successful over many years, while maintaining the core tenets of agile management which is generally better suited to modern teams and their very short development cycles.
Pros of Agile Project Management
As with any product development methodology, there are pros and cons to the practices of agile management. In certain respects, agile is more flexible than many other methods. With traditional waterfall methodology, the scope and features must be determined up front, with little room for change over time. With agile management, however, shorter development sprints enable teams to adjust their priorities and scope much more quickly, shifting focus to features as needed to satisfy users’ wants and needs. Additionally, by focusing on much smaller slices of code at one time, teams can generally ensure that there are fewer defects in the delivered product.
Agile processes also enable immediate feedback from users. Because it features smaller release cycles, the product is perpetually close to being ready to release, which makes it much easier for teams to gather feedback as they continue development. Requests from users can be immediately communicated to product managers and development teams. If the requests are properly prioritized, the teams can modify their schedules and budgets to integrate the most useful requests.
Cons of Agile Project Management
It’s important to remember, however, that while immediate feedback can be a good thing, it can also lead to “scope-creep” — unnecessary features or changes that add time and risk to development. When scope-creep occurs, it can often delay the delivery of more important features and potentially result in poorer quality code, resulting in user frustration. Another concern is that when users see that their requests are addressed quickly, they tend to expect more or ask for more noncritical features that will add even more time to the project.
It’s also possible for documentation to fall behind with agile methods. Although the flexibility of agile management is one of its most beneficial aspects, it can lead to ad hoc coding without the robust documentation that ensures good maintenance over time. Agile management also requires daily meetings involving all stakeholders, including developers, QA specialists, product managers, and technical writers. These meetings are very useful to facilitate coordination, but if they become the sole venue for information sharing, individuals who are unable to participate may miss critical decisions.
As with any business decision, choosing a project management methodology should not be done lightly. It is critical to make sure that you weigh the pros and cons of any methodology you are considering in order ensure the greatest possibility of building success.