7 Key Concepts of the Agile Process

May 19, 2015 1:21:20 PM

With Agile software development, gone are the days of exhaustive requirements documents and costly, never ending change orders. These are replaced with flexibility, control, and a focus on customer needs. At AndPlus, we believe Agile is the best way to create software. Before jumping in and starting an Agile project, there are 7 key concepts that you should understand. 

Agile Is Iterative And Incremental
The agile process is iterative. You start by building the most valuable functionality required in a piece of software. The initial iteration of the software is then given to users in order to gain feeback on things they like, functionality they would add, functionality they would change, or features that probably don't need to be part of the application.

Once this feedback is provided, you can go back into the development cycle and incrementally add features and fine tune the software until the product owner feels it is ready to launch.

Time Boxed
The Agile process creates time boundaries for all key events, including development. This prevents the dreaded "when will we be done" scenario.

Typically, a project manager (known as the Scrum Master) will set key boundaries at the start of a project. This includes development cycles, meeting lengths, and other key interactions. Sprints are normally 2 weeks long. The meeting within a sprint will have defined agendas and lengths to accomplish specific objectives. 

Focused On Minimum Marketable Features (MMFs)
MMFs are the most importnant, prioritized features of an application. If they stood alone, without any other features, you would have a completely usable piece of software. At the start of an agile project, the product owner and development team's obejective is to focus on the MMFs.

Continous User Feedback
Open communication is part of the DNA of an Agile team. Collaboration between all the different roles of the development team (including the end users of the product) is required both verbally and documented in a project management system (Like Jira or VersionOne). 

Open To Change
Unlike other software processes, Agile is open to change throughout development. Instead of processing a change order to incorporate change, an iterative user story is added to the backlog and that change can occur in the next development cycle (sprint).

Agile is a visual process. Information should radiate and be readably seen and understood. Often times, teams use Post-it notes on large planning walls to develop and prioritize user stories and then input those into a project management tool. Some teams feel more comfortable doing the "wall boarding" process directly in the tool. Either way it is easy to see, interpret, and understand at-a-glance. 

Agile development breaks down features into small pieces known as "user stories." Development teams score the complexity of these user stories using relative scores called "story points." Once the team begins development and the project is tracked, data is available to measure the project velocity, therefore enabling more precise forcasting of resource requirements and timelines.


What are your thoughts on the key Agile concepts? Is there anything you would add? Let us know. And download our free Agile 101 Handbook.

Agile Scrum Software Development

Brian Geary

Written by Brian Geary

Brian is a true believer in the Agile process. He often assists the development process by performing the product owner role. In addition to his technical background, he is an experienced account manager with a background in design and marketing.

    See more resources

    Lists by Topic

    see all

    Get in touch