Agile Project Management Frameworks

Understanding Agile Framework

Below is a list of some of the frameworks that are widely used and most popular. It should be noted that there are many similarities between them since the underlying framework is agile for all of them. In the end, it comes to which framework is more convenient in terms of implementation and appropriate for the problem being solved.

  • Agile Scrum Methodology
  • Lean Software Development
  • Kanban Software Development
  • Extreme Programming (XP)
  • Crystal
  • Dynamic Systems Development Method (DSDM)
  • Feature Driven Development (FDD)
How does Agile Framework Work?

We will analyze and understand how each of the above-mentioned frameworks works.

1. Agile Scrum Methodology

The Scrum methodology was developed in the 1990s based on a Harvard Business Review article titled “The New Product Development Game.” Most project managers would name Scrum the most popular Agile framework.

As with other Agile frameworks, Scrum entails an iterative approach to project management. The Scrum methodology prescribes breaking a project down into sprints that typically only last one to four weeks. Each sprint ends with the completion of a workable version or draft of the final project deliverable.

The Scrum approach’s short iterations enable your team to continuously deliver a working version of the final product.

Scrum was initially designed using a software model that follows a set of roles, responsibilities, and meetings. It is flexible enough to be used for any complex project in any industry but works best when your project results in a concrete product rather than a service.

Scrum is considered lightweight and flexible but difficult to master, with three main pillars:
  • Transparency – You must use a common language and standard definitions.
  • Inspection – Scrum “artifacts” and products must be regularly and diligently inspected to ensure quality.
  • Adaptation – Whenever an inspection discovers below-standard quality, the team must adjust or make corrections as soon as possible.
Scrum in Agile requires roles and responsibilities, including the following:
  • Product owner – The product owner on a project is the person responsible for representing the customer’s best interest. This person has the ultimate authority over the final product. The product owner’s job is to ensure product requirements, functionality, and priorities are understood and achieved.
  • Scrum Master – The Scrum Master is responsible for arranging the daily meetings, improving team interactions, and maximizing productivity. The difference between the project manager and Scrum master is that the latter focuses on being a servant leader. The Agile project manager’s roles and responsibilities often include the position of Scrum master. However, they can delegate this to anyone on the team who is a Scrum expert and a strong facilitator.
  • Development team – The development team is your Scrum project team. It is typically self-organized and cross-functional. This team includes all the people necessary to design, produce, test, and release the final product.
  • Scrum team – The Scrum team structure includes your development team, Scrum Master, and product owner.
Scrum also has some unique terminology. The following are key terms commonly used in the Scrum framework:
  • Product backlog – The backlog is a list of tasks and requirements that you must include in the final product. It is the product owner’s responsibility to create and manage the backlog.
  • Sprint – A sprint is a set time frame for completing each set of tasks from the backlog. Every sprint should be the same length. Two weeks is typical, but the sprint can be anywhere between one to four weeks, depending on the team and the project’s needs.
  • Backlog planning – Backlog planning (sometimes called Agile sprint planning) refers to determining which tasks on the backlog list you will include in each sprint.
  • Sprint backlog – The portion of the backlog that is assigned to the current sprint.
  • Daily Scrum – A Scrum project team meets every day to discuss any progress over the last 24 hours, progress expected in the next 24 hours, and any new problems. These meetings are typically referred to as a Daily Scrum or Daily Stand-Up and generally take about 15 minutes.
  • Retrospective – Each sprint should end with a review meeting called a retrospective. The team reviews their progress so far and discusses how they can improve in the next sprint.
  • Scrum board – A Scrum board helps your team see and manage the sprint backlog. It can be a physical board, such as a whiteboard, or a virtual one within a project management tool. The board typically has three columns: “To Do,” “In Progress,” and “Done.” As you complete backlog items, you move them from one column to the next on the board. This way, everyone can see what they need to do during the current sprint and how the work progresses.
  • Artifact – The product backlog, the sprint backlog, and the product increment are the three Scrum artifacts within a project. The product backlog and sprint backlog represent work still to be done, and the product increment is the portion of the product that the team has already completed during the current sprint.
2. Lean Software Development

It is a highly flexible, evolving methodology without rigid guidelines, rules, or methods. Lean Software Development is an iterative Agile framework that primarily focuses on delivering value to the customer.

It relies on rapid and reliable feedback between programmers and customers, it enhances productivity and efficiency by asking customers to select valuable features and then prioritize those features, and then work to deliver them.

3. Kanban Software Development

This is in line and is in a way built upon Lean software. Research shows a high percentage of teams practicing Lean use Kanban to visualize and actively manage the creation of products.

Kanban is based on 3 principles.

a. Visualization: Planning before implementation. This means spending considerable time on the drawing board, testing, and coordinating with various teams internally. Asking for feedback and working on that feedback and suggestion. Thinking about any possible problems that may arise and solutions to those problems.

b. Limit the Amount of Work in Progress: Finishing a particular task rather than starting on the next. This way they limit the amount of work in progress. One advantage of doing so is that a task is completed a hundred percent, then only the team moves on to the next task. This saves time in the future as there are exceptionally low chances that there will be errors in that work.

c. Enhance Flow: When something is finished, the next highest priority item is worked on.

Overall Kanban promotes continuous collaboration and encourages active ongoing learning and improvement.

4. Extreme Programming

It is an approach that aims to deliver high-quality software, quickly and continuously. It is intended to improve the quality and features of the software. It considers changing customer requirements.

It supports and promotes involving your customers, providing feedback very quickly, continually testing, continually planning, and working closely with teams to deliver working software at very frequent intervals, typically every 1-3 weeks.

The original extreme programming method is based on four simple principles –

  • Simplicity
  • Communication
  • Feedback
  • Courage
5. Crystal

The Crystal methodology is one of the most adaptable approaches to software development. Within the crystal, we have further bifurcation like crystal clear, crystal orange, and crystal yellow. Each has its character and can be used depending on team size, system criticality, and other needs and demands of the client.

In terms of other frameworks crystal differs from others in terms of:
  • Early frequent delivery of software
  • User involvement is high.
  • Constant reflection to find ways as to how it can be improved.
6. Dynamic Systems Development Method (DSDM)

DSDM is based on eight key principles that are the focus of the team working on it. These principles serve as a foundation for them when they are working with clients. These principles primarily are:
  • Business needs/value.
  • Active user involvement.
  • Empowered teams.
  • Frequent delivery.
  • Integrated testing.
  • Stakeholder collaboration.
Thus, overall DSDM has evolved to provide a comprehensive foundation for planning, managing, and executing Agile processes.

7. Feature Driven Development (FDD)
  • Feature-driven development involves five considerably basic activities, below is a list of these activities. The team working on feature-driven development uses these activities as a benchmark.
  • Developing the overall model.
  • Building a feature list.
  • Once the feature list is built, planning on the list begins.
  • After planning, the team moves to the design stage.
  • And lastly takes it to the implementation stage, where it starts building the feature as per the needs and requirements of the client.
FDD establishes an overview of the model, which is then resulted in a feature list. It then moves onto the next steps, that is, plan by feature, design by feature, build by feature iterations. Overall FDD is a great solution to maintain control over incremental and complex Agile projects.
© 2021 Restya All Rights Reserved.

[contact-form-7 id=”8″ title=”Contact Modal”]