Agile Development

Davin Iddo
Moodah POS
Published in
4 min readOct 3, 2019

Agile software development refer to a group of development methodologies that push people to do more iterative development and constantly changing by adapting to the situation at hand.

But it’s not only that, this kind of development encourages team collaboration, continual planning, and continual learning to create the minimum viable products that will go through many iteration before it’s final.

Agile Software Development

Inside the Agile Development there exists a Manifesto that consists of 4 important values and 12 principles that act as a guide to the Agile way.

Manifesto

Each Agile methodology applies the 4 values in a separate way, but all of them still relies on these values to guide their development and to delivery the final product, the following are these 4 values :

  1. Individual and interactive over process and tools
  2. Working software over comprehensive document
  3. Customer collaboration over contract negotiation
  4. Responding to changes over following the plan

in addition the ones above the Agile Alliance has also defined a set of 12 principles, which provide guidance and a more detailed explanation, Those 12 principles are :

  1. Customer satisfaction through early and continuous software delivery
  2. Accommodate changing requirements throughout the development process
  3. Frequent delivery of working software
  4. Collaboration between the business stakeholders and developers throughout the project
  5. Support, trust, and motivate the people involved
  6. Enable face-to-face interactions
  7. Working software is the primary measure of progress
  8. Agile processes to support a consistent development pace
  9. Attention to technical detail and design enhances agility
  10. Simplicity
  11. Self-organizing teams encourage great architectures, requirements, and designs
  12. Regular reflections on how to become more effective

SCRUM

Scrum is a simple Agile framework that is used for managing complex product. Scrum uses a heuristic approach with respect for people and self-organization to deal with unpredictable and solving complex problem.

Roles of Scrum

Inside the scrum team there are three roles that is assigned. First is called Product Owner, who is responsible for maximizing the value of the product that is resulted from the development team. Second is Development Team, which will consists of people that will carry out the task of delivering an increment of valuable output at the end of each sprint. Finally is Scrum Master, whose responsible is to help everyone understand the Scrum theory, rules, practice, and values.

Scrum Events

Prescribed events are used to create regularity and minimize the need to hold a meeting that’s not defined in scrum. All events have a fixed time that cannot be changed. These are the events :

Sprint

A sprint is a time-box of one month or less, in our case 2 weeks, during which the team have to finish a usable, potentially releasable products.

Sprint Planning

The initial planning to discuss the works to be performed and complete for each Sprint. This discussion will be held by the entire team. This discussion will also set up the initial sprint backlog and user stories

An example of sprint board from our team

Daily Scrum

Daily scrum is a 15-minute time discussion that is held every day to make sure everyone is at the same page, synchronized, and to plan for the next daily scrum.

With this discussion everyone is sharing what they have done, what they are having trouble with, and other problem they may have encountered. In this meeting the Sprint Backlog can be changed as well, according to the situation at hand.

Sprint Review

Sprint review is a meeting that is held at the end of each sprint, that will be attended by every member of the team. The review’s goal is to share what everyone has worked so far, discuss about the work that hasn’t finished, and receive or give feedback from the stakeholder.

This review will also let the team to collaborates with the stakeholder on what to work on for the next sprint.

Sprint Retrospective

Sprint Retrospective is an opportunity for the team to inspect itself and create a plan for improvement to be enacted in the next sprint.

In this, the team can write down every positive and negative things that happened in the sprint to be discussed and solved. The scrum master then can summarize it and put it on the product backlog.

Conclusion

In conclusion, Agile is a very flexible way of running a software development team, and Scrum is used for us to be more aware and able to keep track of every member’s progress.

The implementation of these can provide many team with a great adaptable way of work that will result in a great experience and amazing result.

--

--

Davin Iddo
Moodah POS

A useless blob whose memory is worse than a goldfish