Agile can be viewed as a category, or an umbrella term for frameworks such as Scrum, DSDM, Crystal, XP, FDD help manifest the Agile approach . These frameworks emphasize philosophies of continuous planning, empowered teams, collaboration, emergent design, etc. Most importantly, they emphasize frequent delivery of working software in short and rapid iterations.
Scrum developed by a group of renowned developers that included Ken Schwaber, Jeff Sutherland, and Mike Beedle, is an Empirical framework for developing and sustaining complex Products. It is comprised of some best practices, roles, events and artifacts. Scrum concentrates on the management aspects of software development, dividing development into one to four week iterations called ‘Sprints’. Scrum places much less emphasis on engineering practices and many teams combine Scrum with Extreme Programming practices for achieving engineering excellence.
Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. XP advocates frequent “releases” in short development cycles, which is intended to improve Productivity and introduce checkpoints at which new customer requirements can be adopted.
Dynamic Systems Development Method (DSDM) is one of the Agile methods for developing software and forms part of the Agile Alliance. DSDM focuses on Information Systems projects that are characterized by tight schedules and budgets. It’s coverage of the project lifecycle is broad, encompassing aspects of an Agile project ranking from feasibility and the business case to implementation.
Crystal is a family of methodologies designed for projects ranging from those run by small teams developing low criticality systems to those run by large teams building high criticality systems. The crystal framework provides a great example of how we can tailor a method to match a project‘s and an organization’s characteristics.
FDD, Feature-Driven Development (FDD) is a simple to understand yet powerful approach to building Products or solutions. A project team following the FDD method will first develop an overall model for the Product, build a feature list and plan the work. The team then moves through the design and builds iterations to develop the features.
Choosing the framework depends on the context of a given scenario. The choice of the framework will depend on some key information of a given need. Let us consider this statement with an example.
Consider a scenario, where there is a request for a painting to be created for a marketing project.
Consider this need has the following constraints
- Budget allocated
- Target Market
There could be many other constraints depending on the nature of the organization and Product.
The choice of paints is left to the discretion of the artist. It can be done using oil paints for a classic effect, water colours for a casual touch, pencil sketching for creative effect, or poster colours for easy adaptability.
FIGURE Select the right framework
Guiding post: It is worth remembering the old adage “One size does not fit all”. Similarly Agility as an objective also can be achieved not just by one framework, there could be multiple frameworks like Scrum, DSDM, FDD. But the selection of the framework depends on the constraints involved. The aim is to satisfy a maximum number of constraints that would facilitate the desired outcome. For instance Scrum can be used in an Empirical environment that relies on frequent inspection and adaptation and where things can be planned for the specific duration for the next incremental change.