Agile Manifesto and its application in our team
Agile helps the development team to produce products faster. Agile can help you to complete project deliverables quickly and efficiently. Agile also ensures effective use of time and money. Works well for fast-moving development projects.
Agile Manifesto has four core values that need to be paid attention, and are being implemented in our team, which are:
- Individual and interaction over processes and tools
Agile Manifesto explains to us that the communication between the team members are more important than the tools and techniques we use to deliver software. In our team, we have daily standup meeting to improve our communications, find problems that our team might be facing and make a quick decision. We also have group chat to make it easier to communicate. - Working products over comprehensive documentation
Software products usually have a complete documentation. However, in our tight schedule, we could only create a minimal documentation. This is the result of our main goal of developing a working product. - Customer collaboration over contract negotiation
Customer collaboration is very important because ultimately they are the one who owns it and want it to work properly. Our team’s customer usually joins a weekly meeting so we can communicate with them about how our team are doing and so they can review our work - Responding to change over following a plan
It’s very possible that customer will have a change of heart regarding the product’s requirement. As a software developer team, we must be able to adapt quickly and put or implement the new/updated requirement to our backlog to put into our sprints.
Agile Manifesto Principles
In this section, i will list some agile manifesto principles and explain the application or why we dont apply the principles in our team.
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Our team go through several sprints. The target of each sprint is to deliver a working product/software. Each sprint can last from 2 weeks to 1 month. at the end of the sprint, we conduct sprint review. Here the customer try to use the product and provide the team feedback. Then our team use the feedback to make the software better.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
In our team, it takes about 2 week to 1 month to deliver a working software
- Business people and developers must work together daily throughout the project.
This is not necessarily true in our team, because the developer team only required to do standup (with Scrum Master and Product Owner) at least two times a week.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
This is not true in our team as well, because most of our communication happens trough messaging and it turned out well.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Almost all or all of our team member is motivated. Most likely they are motivated by the fact PPL has 6 credits score. But sometime ago, one of our member report that they feel ‘demot’ or demotivated. Other team member starts to give their support.
Scrum
Scrum is one of the frameworks derived from Agile. Scrum used to manage, develop, and complete complex projects by working on iterative development. Scrum methodology helps to consider clients’ requirements, by working step by step on his demands and ensuring his presence for the development process.
Scrum project management team consists of three roles, which are: Product owner, development team, and Scrum master.
- Product Owner
The product owner is the role responsible for ensuring that they are delivering the most value. The business is represented by the product owner who tells the development of what is important to deliver.
- Scrum Master
The scrum master is the role responsible for gluing everything together and ensuring that scrum is being done well. The scrum master is a servant leader which not only describes a supportive style of leadership but describes what they do on a day-to-day basis
- Development Team
The development team are the people that do the develop and build the product.
Scrum itself is a simple framework for effective team collaboration on complex products. It is mandatory for us to implement Scrum because we wanna ensure the involvement of customers and stakeholders in developing the best product for them. Scrum is also rapid to get results and development by quickly testable, thus it ensures any mistake and the product will deliver at a scheduled time. Scrum methodology demands strong commitment, so if the team members are not committed, the project completion stands to be a question.
A scrum has multiple sprints. In our case, the product must be finished over the of 5 sprints and each sprint will take around 2 weeks. We do Sprint Planning at the start of the sprint, then development team starts to code and develop the product. After we reached the end of a Sprint, a Sprint review will be launched. The sprint review is where the Scrum Team inspects the product that has been created during the sprint. Is it achieve the goal ? or are they need the goals to be revamped. We will also have a Sprint Retrospective after the sprint review. During Sprint Retrospective, we reflect with our scrum master about what we have done right and what we can improve for the next. After the sprint retrospective is finished, we will go back to the sprint planning phase.