Agile Frameworks: An Overview
What is an Agile framework?
An agile framework incorporates elements of continuous planning, testing, integration, and other forms of continuous development. Agile frameworks are lightweight compared to traditional development methods, which means that rules and practices are kept to a minimum.
-
Scrum
Scrum breaks down big projects into small tasks that can be completed in short development cycles.
-
Crystal
The Crystal framework is used for short-term projects involving teams located in the same workspace. There are no firm rules to follow with this approach.
-
Kanban
Kanban is visual and incremental. Transparency into project statuses is key, so tasks are laid out on a board and categorized as to do, in progress, or done.
-
Dynamic Systems Development Method (DSDM)
DSDM is a project management and product delivery method used by large organizations. DSDM follows disciplined processes for a strong governance foundation.
-
Feature-Driven Development
FDD is laser focused on the development team. Unlike other frameworks, FDD requires thorough documentation and strict organization.
Learn how to ease the transition to Agile with low-code development
Agile methodology overview
Agile is an iterative and responsive software development methodology. Features of Agile development include high levels of communication and collaboration, fast and effective responses to change, adaptive planning, and continuous improvement.
Agile teams build applications in small increments rather than delivering the finished product all at once at the end of the development lifecycle. This allows for frequent testing while giving end users, stakeholders, and the business the chance to provide feedback on the work in progress.
It’s common for business requirements and user needs to evolve during development, and Agile keeps teams flexible and responsive to change.
The core values of Agile frameworks
Source: Agile Manifesto
-
Flexibility to manage changing priorities
-
Team-centered collaboration
-
Instant visibility with context
-
Superior product quality and faster time to market
Agile team structures
Agile teams are highly collaborative and cross-functional; team members have defined roles based on their skill sets, and everyone works together to deliver a working application.
Agile frameworks prioritize individuals and interactions over processes and tools.
The roles necessary for project success will depend on the framework being used, but most Agile team structures start with a product owner, stakeholders, and specialists, such as designers and developers.
Scrum
Scrum is a simple Agile framework used by more than 12 million people worldwide. Central to the process is the Scrum team — a small group of people working toward the delivery of a high-value product. Scrum teams are typically made up of five to seven people. Teams operate in sprints, which are fixed periods of one to four weeks where predetermined tasks are worked on. The Scrum team’s goal is the delivery of a minimally viable product (MVP), which is a solution with enough features and usability to solicit feedback for continuous improvement.
What is Scrum?Scrum Master
This dual role establishes responsibility for following the Agile framework by providing guidance, educating the team, and removing productivity blockers.
The Scrum Master works directly with the Product Owner to decide which user stories will be taken on in a sprint.
Product Owner
This role defines the project and its criteria, ensures that objectives are sufficiently understood by the team, and manages and prioritizes the product backlog.
In collaboration with the other team members, the product owner sizes and assigns the highest priority items to the next sprint.
Subject Matter Experts
SMEs have the knowledge the team needs for a successful product delivery. Examples include a Systems Admin as an “Infra SME” or a UX expert as the “UX SME.”
SMEs are also considered stakeholders for the project, but not all stakeholders have to be SMEs. Although SMEs are not part of the Scrum team, they can act as an additional expert to help on an activity for the product, that person is engaged throughout the project.
Business Owner
The business owner is the Scrum team’s sponsor. They act as a primary stakeholder and rely on the product owner to assign all work. They also represent the sponsorship of the product and guide the product owner on what the business needs.
Development Team
This is the group of people who are building the software. Development teams tend to be small, typically with less than seven team members. Developers help the Scrum team align application delivery with business and customer expectations.
Agile Development Resources
-
Agile Application Development
-
Application Development Lifecycle
-
How Low-Code Supports Agile Software Development
-
The Role of Agile Development and Low-Code in Digital Transformation
Frequently Asked Questions
- What is Agile?
Agile is a software development mindset that promotes a highly iterative process with multiple development cycles called sprints. Agile is designed so all parties can provide feedback as software is developed in an efficient and effective manner.
- What are examples of Agile frameworks?
Scrum is the most common Agile framework. Others include the Dynamic Systems Development Method (DSDM), Crystal, and Feature-Driven Development (FDD).
- How does Agile compare to DevOps?
DevOps and Agile prioritize the facilitation of communication between software developers and IT personnel. However, Agile refers to a software development process while DevOps is more of a working culture. DevOps practices are often incorporated into Agile development, and low-code development platforms feature tools to support both.
- What is Scrum?
Scrum is an Agile process framework for software development. Scrum follows iterative and incremental practices that empower organizations to respond quickly to changing requirements. Under this framework, organizations can maintain more control of the project to deliver high-quality apps and software faster than with non-Agile development methods.
- How does Agile relate to design thinking?
While Agile targets the way software is developed, design thinking is focused on making sure that what is developed is what the customer expects. The basic concept of design thinking is to start with the customer and work the requirements in from there.
Read more on this topic here: Design Thinking vs. Agile: Combine Problem Finding & Problem Solving
- How does low-code support Agile software development?
Low-code development fits well with Agile frameworks because the foundation of low-code is collaboration. Development platforms incorporate the necessary collaboration tools and services to support Agile teams through project management, feedback loops, sprint reviews, and the entire development lifecycle.