Software Development : AGILE

Rayhan Muzakki
Pilar 2020
Published in
4 min readOct 22, 2020

One of the hardest part on working on a project is how to manage our time so that the project works as the customers wanted and on time, we cannot just delay the deployment of the app to satisfy the customers nor can we work too fast that we do not test the app. This is where Agile comes in, Agile will help develop projects faster and satisfies customers at the same time.

What is Agile?

Agile development is based on iterative development where requirements and solutions evolve through collaborating between the team and empahsizes on incremental delivery by creating minimum value product, team collaboration and continual learning. Thus Agile development go through multiple iterations until the last iteration would be the final product.

Source:https://www.visual-paradigm.com/scrum/what-is-agile-software-development/

Agile Manifesto

Agile Manifesto consists of values and principles that makes up the Agile development, specifically it contains 4 values and 12 principles.

Values

  1. Individuals and Interactions Over Processes and Tools

Valuing interactions between the team because they are the one who understands the software and the flow of the project. If too reliant on tools it can lead to less responsive on changes and thus does not meet the customer’s needs.

2. Working Software Over Comprehensive Documentation

Agile focuses on delivering software to the customers, Agile do still have documents however a user story is sufficient.

3. Customer Collaboration Over Contract Negotiation

Customers are also involved in developing the project by giving requirements and testing finish product instead of only giving details about the software.This make it easier to meet the needs of customers.

4. Responding to Change Over Following a Plan

Priorities can be shifted from iteration to iteration and new features can be added in the next iteration, these changes always improve the software by adding new values.

Principles

  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 software development framework that uses Agile methodologies. Team using Scrum will be divided into 3 roles:

  1. Development team works on the project mainly coding and delivers iterations each sprint

2. Scrum master mediates between the product owner and the development team and also manages the development team and the project

3. Product owner manages the project backlog and maintain the project to meet the customer’s needs.

After dividing roles there will be steps to ensure Scrum framework.

Sprint Planning

Mainly determining the weight of each backlog, an example of weighting would be to determine the tasks that consist in the backlog and estimate the weight by Point Fibonacci. After weighting, the team would pick backlogs for each sprint(usually in a project there are 3 sprints for backlog) and divide the tasks to each member in the development team.

example of analyzing backlog,determining tasks and estimation weight. Source: Pilar Project Backlog

Sprint Development

Sprint development is the time where the development team starts to work on the project, usually each sprint will finish by 2 weeks. In each sprint there will be daily standup meeting(4 times for each sprint) and in the meeting will consist of Scrum master and development team, the development team will notify the Scrum master what they tasks they did and their experience working while the Scrum master will update the team’s task.

Sprint Review

Sprint Review means the end of the sprint, there will be a meeting with all the team members and the development team will show what they accomplished(by demonstration) and what they did not. A sprint review meeting should be the natural result of the sprint.

Sprint Retrospective

In this phase there will be a meeting between the development team and the Scrum master, discussing the development team’s experience in the past sprint and analyzing what they should improve and what stays the same.

In conclusion by using Agile we can work on projects faster and results in the satisfication of the customer, and one of the framework is Scrum.

source:

  1. https://www.smartsheet.com/comprehensive-guide-values-principles-agile-manifesto
  2. https://www.visual-paradigm.com/scrum/what-is-agile-software-development/

--

--