Many companies eventually reach the stage where they need to start using tasks distribution methods and performance measurements (like task-trackers and daily stand-up meetings). Today we talk about how and why we started practicing stand-up meetings in our company.
Why we started to think about Scrum. The reasons of needs
If your company consists of two people and you both work in one space, it is quite possible that you don’t need to organize special meetings. You are able to communicate your co-worker at any time. However, when your team starts to grow, you will critically need to synchronize your tasks, track project progress, define goals and simply communicate with other team members.
Our company has reached the highest stage of productivity based on huge projects. In this case, tasks started to arrive almost from everywhere: from managers, developers, QA-team and so on. However, tasks quantity is always greater than the resources. Customers want to perform their challenges as soon as possible; thus, they raise the priorities of their tasks.
Developers must switch quickly to urgent bugs and to figure out the most urgent among them. It extremely slows down the development process. A critical need in smart task tracking and team communication appears in such situation. Managers must share information so every developer will know exactly what tasks he/she will do today and what can be put off for tomorrow, next week, month.
We decided to integrate scrum and daily stand-up meetings into our development process. Scrum is a quite popular development framework. Via using it, people can solve the emerging problems while productively generating products with the highest significance (from the customer’s point of view).
Of course, scrum does not solve all problems, but it ensures their visibility. Scrum authors stated the following official features:
- Lightweight
- Clear
- Not so easy for mastering
A slightly greater list of benefits can be achieved:
- To align projects understanding and expectations (employees get the opportunity to understand what is currently happening)
- To endorse team effectiveness and encouragement (decisions are exactly made by the team)
- To help start the day well
- To support improvement
- To reinforce focus on the right things
- To reinforce the sense of team
A little bit more about Scrum
There are three basic roles in the classical scrum system:
Product owner (PO) is the link between the development team and the customer. PO’s task is to maximize the value of the developed product and teamwork. One of the main PO’s tools is a Product Backlog. Product Backlog contains required project’s tasks to be performed (such as story, bug, task, etc.), sorted in order of priority (urgency).
Scrum master (SM) is a kind of servant-leader. The goal is to help the team to maximize its efficiency by removing obstacles, providing assistance, training and increasing team motivation.
Development team (DT) consists of specialists, who produce a direct work on the manufactured product. According to the Scrum Guide (official scrum description made by the authors), DT should have the following qualities and characteristics:
The basic development unit in the scrum is a sprint. At the end of every sprint, a new working product version must be obtained. Sprint is always time-limited and has a standard duration (1-4 weeks).
Scrum meetings should be taken on an everyday basis; in particular, team members have to answer three simple questions: “What did I do yesterday?”, “What will be done today?”, “Which obstacles have I met?” Daily Scrum tasks are: project status and progress definition, obstacle detection, strategy changing solutions development in order to achieve sprint goals.
How we integrated scrum into our workflow
Scrum is well known for its convenient features. It focuses on the customer, either it is adaptive. Scrum offers for a customer an ability to make changes in requirements at any time (but does not guarantee that those changes will be implemented).
Scrum is quite easy to learn, it allows saving resources by eliminating non-critical activities. Scrum focuses on self-organized, versatile team, which is able to solve the necessary tasks with minimal coordination. This is rather attractive for small companies and startups, as it eliminates the need of hiring or specialized personnel managers training.
Technologically, everything was quite simple. We carefully studied various guides; some of our co-workers have become officially certified. Then we had to run the inner training loop for a whole team. This process deals with the manager, who is campaigning co-workers by offering the appropriate training program.
We used the standard meeting format - up to 8 participants and not more than 15-20 minutes. According to the ideologues of the scrum, the large teams require huge resources for communications, while smaller teams increase the risks (due to a possible lack of required skills) and reduce the amount of work that the team can perform at a time.
However, in our case, every team holds its own meeting, which applies for each type of activity in our company (top management, developers, support, etc.). We have also created a small guide with our special meeting-tips. We offered to use "Accomplishment" language instead of "Process" language, which makes possible and easier to see and target results. For example, instead of "I was doing ... / I will continue working on ..." we ask people to use "I did / I will do ... and expect to have this done on / at ...". Sounds very simple, but the difference is incredible!
How to conduct the meeting
While conducting the right meeting, you need to understand what to expect from it. Thus, you have to figure out the main tasks that need to be resolved. In our case, it appeared in quite a simple scheme: we share the status on previously defined plan execution / achievements, talk about the plan for next 24 hours and Identify impediments and blockers.
- Product owner
- Scrum master
- Development team
- Be self-organized. Nobody (including SM) cannot specify the team how to convert the Product Backlog into a working product
- Be multi-functional, have all the necessary skills to perform a product release
- The whole team is responsible for performed tasks, neither single team members
- Usually, following three questions are used to structure our discussion:
- What tasks have you completed since the last meeting?
- What do you plan to complete by the next meeting?
- What is getting in your way?
The intent of these questions is to emphasize completions of tasks, rather than effort spent. As it was already mentioned, while it is common to hear "yesterday I worked on X... today I will continue working on X... everything's fine", this is a mistake ("Scrum Zombie" pattern); having a clear definition of done may help overcome this.
This meeting is normally time-boxed to a maximum duration of 15 minutes though this may need adjusting for larger teams. To keep the meeting short, any topic that starts a discussion is cut short, added to a "parking lot" list, and discussed in greater depth after the meeting, among the people affected by the issue.
Other important steps in the process require:
- Status ensure in the backlog (it has to be up to date before standup)
- Progress visualization based on the DoD and team achievements (count stories that are done according to DoD, demonstrate progress to the team, identify progress issues)
- Plan establishment in order to deal with the impediments and issues
Common pitfalls
Despite the fact that the practice of stand-up meetings is quite flexible and practical, it does not exempt it from its cons. During our experience with scrum, we have faced shortcomings, which are also worth being noticed here.
The biggest difficulty in implementing scrum is the human factor. People are quite conservative about adapting to novelties and do not take it neither with hostility nor as a qualitatively new development stage. However, the main problem of stand-up meetings may appear in the status report. In this case, people often perceive the meeting as a status event and emphasize the focus on the importance, neither at work. Each member may report progress to the same person (team's manager, or the appointed Scrum Master). But exchanges in the daily meeting should be built on a peer-to-peer basis.
The other dark side of the human perception is ‘no problem meeting’. Here we have a situation, where a team member would not ever raise obstacles ("impediments" in Scrum parlance), even though the team is manifestly not delivering peak performance. This may sometimes indicate that the corporate culture makes people uncomfortable with discussing difficulties in a group setting.
There are also projects where it is difficult to organize such meetings. For example, support projects, because of its load. In this case, it is not that easy to forecast whether there will be new tasks for tomorrow, or you will receive a feedback from customer etc. That is why it is pointless to organize daily stand-ups in this kind of projects. Despite, you have to adapt a system for them.
Conclusion
Nowadays scrum is quite popular in many companies and we are not an exception. No doubt, the stand-up meetings practice became a positive trend, which carries a number of advantages such as development transparency, the ability to access the current project development phase, increase the team spirit and others. Although, despite the benefits, the system has its drawbacks. The main one is the human perception of the meetings as the status event.
Therefore, scrum is effective, timesaving and quite simple with integration. Scrum can be a good starting point for the movement. While working, some rules may evolve or become unnecessary, depending on team’s choice. But the rules, which form the scrum basis, will serve as a good springboard to achieve the desired goals.