Agile is a set of principles and frameworks that are applied to software development. There are many common methods of agile development: ASD, AUP, XP, Kanban, Scrum, etc. Widely adopted by many domestic enterprises, Scrum uses incremental iterative methods to control risk, optimize predictability, and stimulate team potential through communication and commitment. Using Scrum as an example, we will talk about roles and responsibilities in Agile development, the process of agile development, and some of the problems encountered in the implementation of Agile development.

Roles and division of labor in Scrum

1. Product Owner(PO) : the person who knows the project best and proposes and updates the project requirements;

Scrum Team(ST): a Team composed of people who implement project requirements;

3. Scrum Master(SM) : The person who ensures that the desired goal is achieved. Drive ST to complete assigned tasks as expected, ensure ST tasks are not overloaded, etc

Scrum development process

1. First we need to validate a PEtabyte (a prioritized list of Product requirements).

2. ST (Scrum Team) will estimate and arrange workload according to PB list.

3. Given the PB list, we need to go through the Sprint planning meeting to select one Story as the target for the iteration, which is usually 1 to 4 weeks, and then refine the Story to form a Sprint Backlog.

4. The Sprint Backlog is handled by ST, and each member refines the Sprint Backlog into smaller tasks.

5. From the Sprint Backlog selected at the ST Completion planning Meeting, there should be Daily Scrum Meeting (Daily standing Meeting). Each Meeting should be about 15 minutes long and everyone should speak and explain to all the team what you accomplished yesterday and what you will accomplish today. When a problem is unsolvable, everyone needs to update his/her Sprint burn down chart.

ONES Agile Kanban

Overview of THE ONES iteration: Burnout chart

6. When a Story is complete, the Sprint Backlog is completed, and a Sprint is completed, there’s an Srpint Review Meeting, also known as a Review Meeting, which involves both the product owner and the customer. Each ST team member demonstrates the software he or she has created.

And finally, there is the Sprint Retrospective Meeting, also known as the Retrospective Meeting. This is a Retrospective Meeting where everyone speaks in turn to review and discuss improvements that are reflected in the product requirements for the next round of the Sprint.

Some problems encountered in the implementation of Agile development

Agile development is a human-centered, iterative, step-by-step approach to development, which emphasizes communication between people. Therefore, in agile development, we often encounter these problems: (1) the coupling degree of the team is not enough, the trust among members is not enough; (2) The demand sorting is not fine enough, and the task allocation is unreasonable; ③ The necessary meetings are omitted, which makes the communication not timely.

Kent Beck once said that “driving” is a practical example of agile development, even if it seems to be going well, don’t take your eyes off the road, because the changing conditions of the road will force you to make some adjustments all the time. In Internet companies, the customer is the driver, and they have no way of knowing exactly what the software is supposed to do, so the programmer needs to provide the steering wheel and tell us where we are. The market environment is changing so fast that using agile development is like driving a car. We don’t know where we are going on the journey, but I know at each stage what my needs are. To sum up, the agile development of “small version, quick release” is very suitable for Internet companies.

ONES Agile R&D management solutions

The ONES enterprise R & D management tool provides excellent agile R & D practices, creates a good collaborative environment for all roles in the agile team, and helps enterprises to better and faster release products.