Different from traditional waterfall-style project management, agile frameworks are more suitable for environments with a high degree of uncertainties and fast-paced innovation and, hence, are more appropriate for software projects.
The Agile Manifesto sets the foundation for any agile practices with just 4 core values:
Specifically for agile software projects, these 4 core values are refined with 12 guiding principles:
Obviously, these principles stand in stark contrast to waterfall-based project management.
Utilizing an agile mindset, Scrum is one of the most popular frameworks for developing (specifically software) products. Scrum can be summarized as simple as:
While fairly easy and straightforward, Scrum still imposes some challenges:
Kanban is another agile, lean method to manage and improve work across systems. It doesn’t apply time-boxed cycles, such as Scrum, but rather aims at balancing demands with capacity and, thereby, handling bottlenecks.
A Kanban board is used to visualize the work of the team:
Contrary to Scrum, when work items are pushed to the team in Sprint Planning and the goal is to optimize velocity as measured in items delivered during a Sprint, work items are pulled from one stage to another based on the capacity limits and the main objective is to shorten lead times, i.e. the average time it needs to complete a task.
Kanban allows the application of agile principles even in environments when Sprint Planning isn’t appropriate, such as in an IT help desk when a customer calls and tickets will arrive in an unpredictable manner and might need resolution faster than a Sprint iteration.
Scaled Agile Framework, or SAFe, is a complex set of patterns trying to guide larger organizations and enterprises in applying lean and agile principles. Several variations exist, from relatively small to enterprise organizations as well as portfolio companies. Still, it is a highly complex framework distributing work across multiple layers: