Large swathes of IT organizations are embracing Agile. This is both a good and bad news. Good news, for the many boons of Agile and Scrum known to all. Bad news, because you are no longer enjoying the benefits alone. Every day, every hour, more number of functional IT teams are making Agile work for them. Each in their own unique ways.
So what is the only way to not lag behind in the Agile race?
Always welcoming brand new ideas!
Just like always, the beginning has to be done with the mainstay of the Agile team- The Scrum Master! If you are aware of the daily life of a Scrum Master, you already have the best of Agile cards to lay your hands on. The first and the best card is to relook and rethink the daily activities of a Scrum Master. Crossing this milestone will give you an idea of a few new entries in the existing Scrum Master’s checklist.
The Scrum team consists of three roles- Product Owner, Scrum Master, and Team members. Everyone thinks that a team member who develops the software all day and a Product Owner who shapes the product all day, have full-time jobs. But based on assumptions, being a Scrum Master does not always mean having a full-time job. In any case, the role of the Scrum Master is highly important, as he/she manages the Scrum operations of the entire team.
Let us take a look at a day in the life of a Scrum Master:
- Start the day with a ‘free and open mind’
- Can ask a good question like “How can I facilitate creativity for the Scrum team to improve their lives?”
- Attend the Daily Scrum as a facilitator- You just need to listen to what things are being discussed in the meeting by team members.
- Consider some of the questions that are mentioned earlier.
- Based on the surveillance, you execute your next step. This might be coaching, facilitating, managing, problem-solving, conflict resolving, etc.
- Getting too busy and not noticing the concerned things is an activity which should not happen to a Scrum Master.
The above-mentioned tasks should be the Scrum Master’s daily checklist.
Collated below are some new ideas for Scrum Master day to day activities that can help improve your Agile practices.
1) Play dual roles:
Scrum team members should always keep changing their area of expertise. Sometimes they should be able to choose a work which is outside their comfort zone.
For example- If you are a User Interface developer (where you know all the secrets of the domain) then you can try to work on the data access code too.
How to implement-
Let us go with the above example. To enforce data access code, more than one team member has to work on a user story. Secondly, confine the user stories which are under ‘task in progress’, that is one user story should be smaller than the team size. Also, it can be implemented performing pair programming.
Enforcing the thing which is out-of-the-box can help expand your knowledge. More people will come to know about all the aspects of the software (how a software works, what are the resources needed, etc.). This will increase the courage of the team member. The courage to venture beyond their boundaries. They can gradually perform tasks that are outside their expertise, lowering risks of failure, and enhancing team spirit.
2. Ask to check commit review:
Whenever a developer writes code and wants to check-in that code, test, and document to the version control system, he/she asks a co-developer to review the changes first. The developer can implement this by adding ‘commit reviews’ to the ‘definition of done’. Also, they can refuse the user stories for which commit reviews are not mentioned (can be viewed as a version control system).
- At least one person has been aware of the changes, this means he/she may continue working on this particular topic if the situation demands. It increases ‘know-how transfer’.
- It will help increase the overall quality, as the peer developer can challenge the decision made by the prior developer. This leads to better and painless solutions. The original developer will go through the changes and explain them to this peer, which will definitely help both enhance their knowledge and skills.
- It increases understandability to reply to the queries of the peer developer.
3. Give awards and celebrate the victory:
Being a Scrum Master, you can introduce the culture of celebrating a victory. For example- you may give little presents to the team (whole team, not only for the individuals) for achieving a Sprint goal. This will increase the motivation of the whole team.
4. Managing test-driven development:
You can introduce test-driven development for developing the software.
- A team can work in parallel with the use of mock objects, with no need to wait for the availability of real dependencies.
- A team can refactor the code to initiate new functionality without changing the already existed functionality.
- Defect count will get reduced due to the double check done by the developers.
5. Arrange workshops on coding guidelines, designs, tools and different engineering practices:
Arrange workshop for the team members where you can discuss or try a new tool, current architecture, latest technology, build process and many more. This can be implemented by reserving time for the workshop and organizing an arbitrator (can be from the team).
- Built team spirit, where a team can perform their own way.
- All team members will commence working in a team way rather than individual way, which will enhance team-wide consistency.
- Team can stay committed to each topic.
6. Coding DOJOS:
In a Coding Dojo, the entire team gathers together in a discussion room. Two developers from the team perform pair programming at a computer which is connected to a projector for other team members. The pair is whirled every 15 minutes. In this way, team solves each other’s queries to develop engineering skills. This can be implemented by reserving time for the event (coding Dojo) and arranging a moderator.
- The team will get an idea about how to develop a software.
- Know-how transfer can be achieved on all topics related to software creation.
7. Testing day:
When there is a lack of testers in the team, you can introduce ‘Testing day’ in the organization. Let each team member test the application and as a compensation for that work, that team member is freed from all coding tasks.
- Complete focus will be on testing. No task switching is allowed to get more efficient testing output and increased quality.
- As entire team participates in testing, they can share individual responsibility for the quality.
8. Urgent call for Scrum meeting:
Involve team members whenever there is an emergency to mitigate the risks which are inhibiting the Sprint goal. In that case, all the team members have to drop the current task and join the meeting.
- Big errors can be taken care of quickly.
- All the team members will get convinced that they are not alone.
9. Introduce WIP (Work-In-Progress) Limits on the Scrum Board:
When there forms a stack of the user stories on the Scrum Board, you can put forward WIP limits on the boards. These limits will compel you to take care of the user stories that might block a flow. E.g. Developers may assist the testers by writing automated tests on the scenarios that have to be tested. This can be enforced by-
- Writing the limits on the Scrum board
- Calling an emergency Scrum meeting whenever a limit is violated
The status of more user stories will be ‘done’, removing them from the ‘to-be-done tasks’ list.
10. Kanban Scrum hybrid:
Rate the team capacity (in %) for working on user stories. So the PO can make use of this rating for the unplanned items that need to be finished early without delaying or canceling a Sprint. Once the current task is over, team members are compelled to take an item from the fast-lane (till the reserved time is utilized), before working on the regular Sprint backlog items. If the reserved time is not sufficient to end the backlog items, then the PO can either wait for the next sprint or cancel the sprint.
FYI- Kanban is a tool which organizes work efficiently. This tool breaks work to a small chunks and uses a Kanban Board (similar to Scrum Board) to represent the progress of the work.
- Can earn benefits from the Sprint planning and release planning.
- The team can stay focused on a Sprint goal.
11. Manage time boxes of Spikes:
Make sure that the time boxes set for Spikes are taken care by the team members. Also, ensure that the user stories are prioritized. Try to show the results to the team members during each retrospective.
- Transparency in the team’s work.
- If the user stories are prioritized then it will not only maximize the value of the product at the end of each Sprint but also minimize a list of the pending tasks.
- Following the time-boxes not only helps in planning the future spikes but also holding a Sprint goal.
12. Fixing bugs before working on user story task:
Initially, all the team members need to fix the bugs before working on a user story.
- Bugs are not piled up on the Scrum Board.
- Motivation will be high.
- Quality will be better if the defects are zero.
13. Vertical User stories + Specialist → Pair Programming:
While working on a user story, if one domain expert shares his/her knowledge with another domain expert, then the knowledge transfer can be easy to the other team members. The user stories and specialist forms pair programming. At the Scrum meeting, you can decide the pairs and their respective tasks.
- Knowledge can be transferred from the specialist of the team.
- The whole user story can be implemented consistently due to the pair programming concept.
14. Personal Sprint goals:
Every team member selects personal Sprint goals, once the retrospective is over. Typically, personal goals are related to the improvement in the engineering skills or new tools. Achieving these goals makes the team members more efficient. Some of the primary goals are-
- Learning Visual Studio
- Learning Resharper tool
- Providing good method/variable/tests, for each Sprint
- Preparing small methods, for each Sprint
- Every team member can learn something from each small Sprint also.
- Increased motivation of the team members.
15. Know the difference between Spikes and User Stories:
You should always remember that Spikes have a fix time-box and an estimated result, whereas, User stories have a fixed result and an estimated time. So you can use User stories when you know what you want and Spikes when you want to plan the unknown.
- Spikes allow you to plan a Sprint.
- Work hours will not be wasted.
- Better focus due to fixing functionalities
- It allows more disciplined manner of working (i.e team members can either get the functionality fast or get an information within the defined time limit).
Do’s and Don’ts for the Scrum Master-
Facilitate the PO to maintain and prioritize the backlog iteams.
|Own the decisions on product backlog on behalf of product Owner.|
|Facilitate team member if any additional training required.||Making estimates on behalf of the team.|
|Make sure that team delivers the true value to the business.||Assigning the task to the team member.|
|Inspires the team member to execute the tasks responsibly.||Trying to direct the team.|
|Assist team member in making decisions.||Making changes to the team in the middle of a sprint.|
|Remove any impediments restricting the team to achieve their goals.||Accept backlog changes in the middle of sprint.|
|Helps team to become self-organised.||Make commitments on team's behalf.|
|Protects team from external interference.||Let the team succumb to performance issues due to external problems.|
|Acts as a servant-leader||Only lead and instruct|
|Always willing to imrove continuously.||Not learn new ways to enhance performance.|
|Handles only one team.||Handles multiple teams.|
The role of the Scrum Master is still shrouded in a mystery. It is said that the Scrum Masters are the voice of the Scrum framework at the team level. Scrum is indeed all about continuous improvement and learning. It is also about adding new hacks to the working culture. When it comes to Agile and Scrum, you definitely cannot achieve everything overnight. All you need is to get laser-focused on the newly incorporated Scrum practices and think of innovative ways to spearhead your team to greater altitudes.
It’s time to get started with the new!