Agile Development Frameworks

What are they and what can they do for your team’s project?

Melody Soriano
3 min readDec 21, 2020
Photo by Daria Nepriakhina on Unsplash

What is Agile?

Agile is a framework that focuses on working as a team with a focused goal of building iterative software, insofar as it allows for revisiting previously built components (ie planned reworks), incremental, such that deliverable working software is produced at every interval, and allows for continuous integration of new features. The basics of and the ideas behind the framework can be found more here.

There are many different agile-based frameworks, but they all have the same basic principles. I’ll go over the absolute basics of the two most common frameworks: scrum and extreme programming.

Scrum

Scrum is a subset of agile, and the most popular agile framework. It revolves around timed Sprints, usually from one week to one month. Each sprint begins with a planning call that details the product backlog items that will be tackled during the sprint, as well as agree on the scope of work that can be covered.

At the end of the sprint, a sprint review and retrospective will take place. During the review, the team covers which items in the sprint were completed and which items were not, then demoing the complete work to product owners or stakeholders. Afterward, the team collaborates with the product owners on what to work on next.

During the retrospective, the team comes together with the leader aka Scrum Master, and breaks down what happened as such: what went well during the sprint? What didn't go well? What can be improved for better productivity during the next sprint?

the subway map to agile practices source:https://www.agilealliance.org/agile101/subway-map-to-agile-practices/

More frequently will be scrum meetings or stand-ups, usually daily, where team members will get together and talk about the progress they’ve made since the last scrum, what they’re planning to do until the next scrum, and speak about any issues that are blocking them from continuing.

Extreme Programming

Extreme Programming, shortened to XP, is another agile framework, that is almost as complicated as it sounds by the name and I will attempt to give a brief explanation of some of the practices. Twelve core practices are described in more detail here.

In XP, everyone is apart of the whole team, which forms around a business representative known as the Customer. It is highly encouraged for all members to be co-located in one space or office. Every iteration the team delivers running, tested software to the customer, who then can use that software for any purpose, including release to end-users.

The planning game addresses two concerns in software development: predicting what will be accomplished by the next due date and determining what to do next. There are two steps in planning that help emphasize steering the product, rather than predicting exactly what is needed and how long it takes. Release Planning is a practice where the Customer presents the desired features to the programmers, and the programmers estimate their difficulty. Iteration Planning is the practice whereby the team is given direction every couple of weeks. The Customer defines what it means for a feature to be complete, and the programmers build automated tests to prove that a feature is working as expected.

One of the big things that set XP apart from death march or crunch development is the dedication to a sustainable pace: team members work overtime when it is effective, but normally work in such a way as to maximize productivity week in and week out. Crunch seldom produces quality software, though certain sectors of the tech industry have yet to really figure this out (CD Projekt, I’m looking at you).

--

--

Melody Soriano

FlatIron School Student who also happens to be an avid gamer as well as a GIANT NERD