Agile Software Development

Amal Adiguna
HappyFresh Fleet Tracker
2 min readOct 10, 2019

Software Development for Modern Projects

Agility is OP

As software development progresses, newer concepts come to the forefront of developers and project leaders. One of these concepts is Agile software development, intended to make a project much more responsive to the constantly evolving wishes of the customer.

But what is it?

Well there are more than a few interpretations of Agile, but the Agile Manifesto is undisputed:

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

This is the whole Agile manifesto. It isn’t much but the deep and labyrinthine lore of Agile started from these few statements. Another very important piece of literature is the 12 Principles of Agile Methodology:

  1. Satisfy the Customer
  2. Welcome Change
  3. Deliver Frequently
  4. Work Together
  5. Build Projects around self-organizing teams
  6. Face-To-Face Time
  7. Measure of Progress
  8. Sustainable Development
  9. Continuous Attention
  10. Keep It Simple
  11. Organized Teams
  12. Reflect for Effectiveness

These self-explanatory principles are the benchmark of Agile project development. It is hoped that, with these principles, products can be made faster and more efficiently, ensuring that less manpower is needed to complete an entire software.

Implementation?

If Agile is the ideology, then Scrum is the implementation. Software Development in Scrum is driven by events, unlike with waterfall software development.

  • Sprint

A sprint is a period of software development with associated goals, tasks and timelines. Within the Sprint, no goals may be changed or modified. Scope may be clarified with the customer, but it cannot remove goals of the sprint. A sprint lasts from a week to a month.

  • Sprint Planning

Before a Sprint, it is planned with goals and objectives in mind. It is usually done within a day.

  • Daily Scrum

Daily scrum events are a 15-minute meeting to synchronize what everyone must be doing. If in Indonesia, there may also be a short prayer session. It is used to plan for the day, it isn’t to be used for reviewing the past.

  • Sprint Review

Once a Sprint is done, it will be reviewed when the Sprint is over, it is used to update the backlog and track what has been done. Clients are notified of what progress have been made during the sprint.

  • Sprint Retrospective

A sprint retrospective is a review by the team of the previous sprint. Its successes, its failures, what blocks progress and what can be improved.

These sprint events are what drives the Software Development.

Conclusion

The agile methodology is the most modern software development methodology. Many implementations actually exist for the agile methodology, but the Scrum method is one of the most commonly used software development, it is even to a point that agile and scrum has become (incorrectly) interchangeable. It may even last for the next decade.

--

--