The Agile Frameworks for Developers
Agile software development is a set of ideas and priorities about software development and how to manage projects. At its core, Agile is more philosophical than it is practical. With the Agile Manifesto, the 12 principles of Agile, Agile gives an overview of how things should be done. However, Agile does not give details and specifics for a project. Part of the beauty of Agile is how adaptable it is. Software development organizations are all different, and Agile has something that each of them can use.
This is where Agile frameworks come in. An Agile framework is basically a more practical implementation of Agile concepts. These frameworks deal with more of the “how,” and less of the “why.” Organizations that choose to use Agile already know why they want to, they just need a better idea of how to implement Agile in a way that fits their own situation. Each Agile framework has certain priorities, and certain cases or industries in which it works better or worse.
Of all the Agile Frameworks, Scrum is one of the most popular. One of the most beneficial elements of Scrum is its scalability. Both large and small projects can use Scrum methods equally well. This is accomplished in large part by implementing a “scrum of scrums” where necessary. Each individual team works on its own backlog, but these teams can coordinate in larger organizations to work toward a larger and more complex goal.
Another facet that allows Scrum to have such scalability is its rhythm over time. Other Agile frameworks may be geared specifically toward small, short projects. For Scrum projects, teams find a certain pace and can typically keep this pace over long spans of time. This means that teams can work on short projects, but they can similarly continue working for months or even years to accomplish much larger goals.
Developers on Scrum teams are part of a bigger operation. While they are not like interchangeable cogs in the larger machine which is how traditional methods treat developers, Scrum developers are able to shift between features as necessary. Between sprints, if priorities shift, developers can be assigned completely new tasks to work on for the next software release.
Another popular Agile framework, Feature-Driven Development or FDD starts at the finished product that it seeks to create and works backward. FDD creates a process that will create the desired product feature by feature. Unlike other frameworks that may shift priority frequently within the same project, FDD typically takes a direction and pursues a feature or set of features until it is finished. How do you eat an elephant? One bite at a time.
Developers on FDD teams can typically get comfortable with a specific feature. Unlike other frameworks that may have developers change features any time stakeholders shift priorities, FDD developers can expect to continue working on features to their completion.
Crystal Clear Agile is unique in that it focuses on people more than other frameworks. The 6 core components of Crystal Clear are people, interaction, community, communication, skills, and talents. Nothing in that list is specific to software development, so it is a project management style that can be applied across many industries.
Our Favourite Agile Books
We found these books great for finding out more information on Agile Scrum: