Many believe that managing complex projects becomes messy and unmanageable with agile. This is due to the incorrect belief that large projects with complex platforms, upfront delivery schedules and large project teams are hard to manage in a dynamic project environment.
Agile development is often deemed best for projects that have variable scope with a prioritized backlog, a low number of critical dependencies on other applications, limited or no regulatory requirements, subject matter expert availability, technology, and teams with agile experience. When any of these boxes are not ticked, teams often find it challenging and difficult to use agile development—and move over to other traditional development methods like waterfall.
This article is based on my experiences and best practices with complex projects and deployments using agile. These projects had fixed critical scope, fixed deadlines (deployment dates), multiple dependencies on other partner applications and technology complexity. Such considerations work against agile; however, what really built the case for agile development was my team's experience with it (the team being substantially co-located, though spread in different time zones). Each of the practices mentioned below would become refined and matured when regularly used:
1. Joint prioritization and customer inputs: The first
Please log in or sign up below to read the rest of the article.