An in Depth Look at the Agile Software Development Life Cycle

Here are the main points of the Agile Manifesto

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

Almost 30 years later, the Agile model has evolved. Here are some of the main aspects of today’s Agile

  • It is iterative and incremental: Agile development cycle breaks down the project into increments, called sprints, each which have traditionally lasted from 2 to 4 weeks but are now more often lasting from 7 to 10 working days. Regardless of duration, each includes a fixed completion time.
  • It is focused on adaptability to changing product requirements: Agile focuses on incorporating dynamic changes in the product development cycle so that they can be done at any time.
  • Rapid delivery: Because of Agile’s time-bound nature, the sprint process is methodical, and its scope is only as broad as the allotted time allows. With this model, emphasis is given to the quick and sustained development of product features, as opposed to spending more time during the initial project planning.
  • Client participation: In the Agile model, clients, stakeholders, and the product owner are involved in the development process from the beginning. This ensures that everyone knows what is going on every step of the way so that there are no surprises in the end, and so that everyone is accountable.
  • Self-organization: Self-origination is valued over hierarchy. Although team members enter with titles, they are encouraged to involve themselves with the project in whatever way they see most fit. There is no team leader, nor any real delegation of tasks.
  • Cross-functional: The Agile team is cross-functional, with varying levels of experience in designing, coding, testing, and quality acceptance, amongst others.
  • Strong feedback loop: Constant feedback is encouraged in the Agile model. Meetings are held to discuss past, present, and future progress, and results are integrated carefully into the project.
  • Strong leadership: the leadership philosophy of Agile encourages teamwork, self-organization, and accountability.
  • Alignment of the development process with customer goals: The role of the product owner is to make sure that the development process is working with the customer goals in mind.

The Agile Process Flow

  • Concept: The projects are envisioned and prioritized, with requirements based on the product backlog, sprint backlog, and stakeholder feedback.
  • Inception: The team is assembled, funding is put in place, and initial requirements are discussed.
  • Sprints: The development team begins developing working software, based on iteration requirements and feedback.
  • Release: After quality assurance testing, internal and external training, and documentation development, the iteration is released.
  • Production: Ongoing support of the software.
  • Retirement: End-of-life activities, including customer notification and migration.

The Team

  • The development team: The development team has a lot of autonomy in the Agile model. Team members decide at the beginning of each sprint what can be accomplished during that sprint. They integrate themselves into the project how they see fit.
  • Product owner: The product owner represents all of the stakeholders and is responsible for ensuring that the product is being developed by the client and the market in mind.
  • Scrum Master: The scrum master facilitates the work of the development team, does his or her best to insulate the development team from outside distractions, and to help the team stay focused so that they can complete the sprint, and deliver software iterations on a regular basis.

The Process

As stated, less time is spent during the planning stages of the initial project. Instead, product features are developed in a quick, sustained manner through iterative cycles known as sprints. During each sprint, the feature set goes from idea to completion, or potentially shippable increments, meaning that the features will be coded, tested, and integrated into the system. Product analysis, product feature designing, functionality development, and testing are also carried out during the sprints. In the most often used subset of Agile — Scrum integrates daily 15-minute meetings to discuss the day before, the present day, and the following day’s work — calculating how much work is left, and ensuring that the team is on schedule.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store