Agile Frameworks in 60 seconds
Agile is an umbrella term for several iterative and incremental software development approaches, with each of those variations being its own Agile framework. The most popular Agile frameworks include Scrum, Crystal, Dynamic Systems Development Method, and Feature-Driven Development. Mendix, in particular, subscribes to the Scrum methodology.
While each Agile methodology type has its own unique qualities, they all incorporate elements of iterative development and continuous feedback when creating an application. Any Agile development project involves continuous planning, continuous testing, continuous integration, and other forms of continuous development of both the project and the application resulting from the Agile framework.
Each Agile framework is considered lightweight. Rules and practices are kept to a minimum, especially when compared to traditional waterfall-style development processes, and are designed to be adaptable to all kinds of circumstances. The focus, instead, falls on empowering developers of all kinds to collaborate and make decisions together as a group quickly and effectively. The grand vision behind the Agile development methodology is to create applications in small increments, with each individual increment tested before it is considered complete. This process assures quality is “built” into the product, versus inspecting for quality later.
A Brief Intro to Scrum
Your Scrum Master is the coach and the gatekeeper. The Scrum Master establishes responsibility for following the Agile framework, providing guidance and education to your Scrum Team and removing impediments and distractions that keep the team from doing work.
The Product Owner of your Scrum Team is first and foremost the subject matter expert for the given project. The Product Owner keeps track of the projects’ stakeholders’ expectations and defines and gathers the required tools and resources that the Scrum Team needs. In addition, the Product Owner communicates their vision to the team to help set priorities.
The Scrum Master and Product Owner organize and manage your Scrum Team that are actually doing the developing. This team tends to be made up of several members that are cross-disciplinary, including engineers, designers, architects, and testers.
Other examples of Agile frameworks
In addition to Scrum, there are other lightweight frameworks you can use for Agile development.
This agile framework gives you a visualized workflow so you can break work down into small pieces. Kanban helps you identify bottlenecks and waste and reduces wait time by giving you well-defined project limits, explicit process policies, and helping you measure and manage flow.
By centering around engineering principles, Extreme Programming helps you ensure delivery of high-quality software. In this Agile framework, teams work collaboratively in short development cycles and are flexible and adaptable to change. Extreme Programming utilizes user stories and frequent, small planned releases.