Agile Development: How Does It Work?
September 29th, 2015
You've heard of Agile but wondering what does it mean when it comes to the web and mobile development? Read on.
Agile software development is a group of software development methods in which solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change. © Wikipedia
Here's how it works.
The common mistake is to assume that since Agile means high adaptivity to the ever-changing market demands, there is no planning involved. Wrong.
The planning in Agile, however, does differ from the planning in Waterfall model. Here, you and your developers plan features and assign them to sprints or iterations (usually about a two-week period or so, depending on the length of the project itself). Once you've got a backlog of features that you want to be done, the developers can start working on the code.
Traditional Agile Workflow goes like this:
- Develop functionality#1 - focus on something small and develop further.
- Integrate and test - test-driven development (TDD) is incredibly important because it allows you to catch "bugs" before they create bigger problems and fix them.
- Develop functionality #2
- Integrate and test
- Develop functionality #n
- Integrate and test
- Demo release - this demo release is presented to the client and it's time to comment on what has been done and whether it is as it should be.
- Client's feedback
- Make changes - in case there was a misunderstanding or more information became available regarding the already-developed features, there is a possibility to implement small changes here. (Some changes might require the feature to be moved up to the next sprint.)
- System testing - final testing to make sure all the features are working properly.
After system testing, there are two options:
- If all the features are completed, then - congratulations, you're ready for the project launch.
- Haven't got all your required functions yet? Then off to assign tasks for the next iteration.
Read more about the models of cooperation and whether you should choose fixed-price or time & material model for your project.