Probably, you’ve already heard something about Agile. Maybe you’ve even tried to use it in your projects or, just for fun, watched a couple of videos on YouTube. However, you don’t understand how to make work on the project easier and more efficient?
This is Andrew and he also doesn’t understand.
Andrew has a web-studio on creating websites. He works hard 24/7, but nothing has changed for 2 years. Small projects take half a year, payment doesn’t always come on time. Andrew firmly decided this can not continue.
Let's help Andrew understand the “difficult” terms and enter the wonderful world of Agile methodology.
Agile is not a specific principle of action, but rather a set of methods, the general principles of which were documented in 2001.
The “Agile manifesto” included 4 ideas:
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
“Documentation and contract we do not need. Found a fool! Been there, done that, big fall. ”, Andrew thought with disappointment.
Our hero incorrectly understands the Agile manifesto, completely discarding the right side of the sentence. However, this is a wrong perception of the main point.
“That is, while there is value in the items on the right, we value the items on the left more.”, explain the creators of Agile manifesto.
Agile is a kind of philosophy that Andrew needs not to implement, but to accept.
Step by step product development from small subtasks, and not one big task. At each stage, Andrew needs to plan a certain amount of tasks, analyze requirements, design, develop and test a “piece” of the project, document the process, and coordinate with the customer.
“Too hard!”, Andrew grumbles again.
“Minimizes the risks!”, we answer.
And we’ll explain. At the end of each stage, we have some ready-made functionality. The finished version of the subproduct. You can view, evaluate, test it, draw conclusions on which direction to go further, coordinate everything at an intermediate stage! And then correct the mistake, sum up the results and proceed to the next.
“Well, I admit, it might work, but I need a specific method for managing projects,” Andrew reasonably remarks.
Let's tell him about one of the most common Agile methodologies.
Scrum
In the center of the SCRUM methodology is the team, each has its role. Conventionally, the team is divided into 3 types of roles:
1. Product Owner — a person who understands how the product should be in the end. He collects and prioritizes requirements. Communicates with a client. Tells the team about them. This can also be a person from the development team.
2. SCRUM Master is the “heart of the team”, the task of this role is to create the most comfortable working conditions for the team, to motivate and help. The roles of the master and the Product Owner shouldn’t overlap.
3. The team that performs the project: designer, Front-end, Back-end.
“And who will take the fall??!”, exclaims Andrew.
In terms of technology Agile, the team is self-organizing. Leaders appear depending on the task that is currently being solved. And it depends on the iteration on which they’re located.
How to use Scrum
1. Backlog
This is a list of requirements (tasks) that are needed to create a project; it includes both technical and functional requirements. The Product Owner is responsible for the backlog, fills it and prioritizes. This way solves one of the main Andrew tasks, as often for his team all tasks are equally prioritized, which leads to a “stagnation” in the project development.
The tasks are usually formed in the user's language and include all customer requirements.
2. Sprint planning
At this stage, Andrew needs to select the list of tasks for one sprint of all backlog’s tasks based on their priority.
Usually, a sprint is equal to a week, but you can choose a different period. By the way, sprints throughout the work on a product have the same duration. This is necessary for a weekly increase in team productivity. To have something to measure and compare.
For example, the development of the main page of the site. Andrew needs to create a task board and break it into columns:
To-Do — tasks that need to be done;
WIP — tasks in progress;
Done — completed tasks;
At first, each user task should be divided into subtasks and distributed to employees. Sprint planning determines what Andrew and his team will be doing soon.
The meeting with the planning of tasks and the publication of the resulting sprint should be before each sprint. At these meetings, the team determines how many hours it took for the last week, whether the tasks were distributed correctly by hours and how long it would take to complete the following tasks. The tasks for the next week are determined, the budget is calculated, and so on. In general, the next work week is planned.
When tasks for the week are planned and distributed — they are moved to the To DO column. This means that during the working week the team works according to a previously agreed plan.
When the columns are formed - Andrew gets a clear picture, fully understands what stage it is, what to do and how much it will cost. Then comes with this information to the client. Clear terms and clear means. The whole team also understands this clearly. Great, right?
For tasks visualization, it is most convenient to use additional programs. Andrew liked WEEEK.
3. Daily Scrum Meetings
Meetings just have to be. Every day. But not more than 15 minutes. Therefore, meetings are often held standing, so as not to linger on a comfortable sofa.
It is necessary to hold such meetings at the beginning of the working day. In the process, the team doesn’t solve questions and problems, just everyone answers the three questions of the SCRUM Master: what he did yesterday, what he plans to do today and what problems he encountered.
During the meeting, we manage to transfer the tasks we have made to the Done column, and move those that are planned for today from To Do to WIP.
Conclusion: the task of the team for one sprint to transfer all the tasks from the To-Do column to the Done column.
If not all the tasks are done, they are transferred to the next sprint, and the next planning will adjust the working hours for the tasks.
“Oh, well, why every morning?”, Andrew is displeased.
“To understand where we are.”, we answer.
4. Retrospectives
Despite the fact that the teams are self-organizing, someone has to track that everything is going according to plan. Retrospectives should be after each sprint. At this time, the team talks and discusses the current productive performance and the sprint results. Often, retrospectives are ignored, but because of this it is difficult to understand that everything in a team works as it should, and nothing needs to be corrected.
5. Demonstration and release
Sprints must be distributed so that after some time to get the finished part of the product or a finished product. Standard — 4 sprints.
So, after 4 weeks, Andrew already has a “tangible” part, and maybe even an entire product. Can show it to the client and discuss possible edits, collect new requirements, and even get a percentage of payment.
What should Andrew and his team do next?
With the collected requirements, after the demonstration, return to the backlog stage and repeat the cycle. Profit.
Having tested, Andrew realized that abidance by rules gives a quality result in a short time. And using WEEEK is much more convenient instead of the bulky pinboard.
What else do you need to know?
Many of those who tried to implement Scrum failed. Scrum is a flexible and at the same time strictly regulated framework. Scrum clearly explains the rules that must be followed to ensure that everything works. But flexible in that for each team and project Scrum will be different. Someone will have releases every week. Someone will have sprints for 2 weeks. And someone has an extra line for unscheduled tasks. No one knows how convenient it is for you and your team to work. Need to try, test and implement.
Scrum checklist
1. Build a team, assign roles.
2. Fill backlog, break it into parts by priority.
3. One sprint has a certain amount of tasks. Fill column To Do.
4. Every morning to hold meetings, according to its results transfer tasks to the desired column.
5. At the end of the sprint to organize retrospectives.
6. Communicate with the client, show what you have done, collect new requirements, edits.
7. After several sprints show the release, add the finished part of the product or function.
8. Repeat all the items.