1. 程式人生 > >A Story of Daily Scrum Improvement-the Changes

A Story of Daily Scrum Improvement-the Changes

In the article of "A Story of Daily Scrum Improvement-the Observations" and the writing of "A Story of Daily Scrum Improvement-the Impediments" I shared the issues that I observed from the daily Scrum of the team, analyzed the possible causes and the potential problems that the issues may lead to. Like I said in the writing, yes, those are signals of making something happen to improve the daily standup efficiency.

With the knowledge of the complex system engineering, there're two important things for the self organization to occur within any system, first is break the stability and pull the system far from the stable state, second is to foster the large-scale non-linear interactions between system elements. Apply the same to improve the daily standup, here're the things that I did :

  • Clarify the purpose of the daily standup

As Elisabeth Kubler-Ross said "everything in this life has a purpose, there are no mistakes, no coincidences". this is true for our daily standup, if we don't understand why we need to do it, probably chances would be few for us to do it correctly. So the first thing I did was to collect the team together, in one of our regular meetings every week, to inspire the team to think about the purpose of the daily Scrum. I've asked the question to the team, somebody answered that the purpose of the meeting was to update the status to the boss, somebody said the meeting was in order to update the status to the Scrum Master, somebody thought that the daily standup is to kick off the work of the day. The answers varied, that's ok. But the purpose of the meeting should be unified, so that everybody has the same understanding. Based on all those answers, I guided the team to figure out it:

a. share the commitment of the team

The most important thing of the daily standup is to share the commitment of the whole team. Everybody is working on something as part of the deliverables for each of the Sprint, therefore, each individual in the team should know how things going on, where we're and how far we're to the goal that is setup during the Sprint planning. The way to do it is through asking and answering the three questions, and the possible questions asked from others who's work have some dependencies or who's really interested in the work of the person that is updating.

b. share the problems and impediments

If somebody reported that he/she did have something that blocked he/she to complete the task, does that mean that he/she should resolve the problem by himself/herself? or does that mean that he/she is expecting that somebody from the team would provide the help? Probably, the correct answer would be the latter. If problems were reported in the daily standup, he/she must tried things in the day before, but still could not get the problem resolved, it could be the lack of resource, influence, or experience. But whatever the reason, once it was reported in the meeting, somebody from the team, typically the Scrum Master, would be help to resolve the problem.

c. be adaptive and adjust

Changes in the software development would be happen everyday, especially the software requirement, that's one of the reasons why the software development is difficult and challenging. User storied and tasks may be extended or stopped just because requirements are changed, so it is very important for the team to understand the requirement changes, whether the changes are coming from the software requirements of a particular product feature, or the project priorities or something urgencies like feedbacks from customers which may involve a critical issues in the software, it gives chances for the team to be changed according to the real situation. Be adaptive and adjust is the key spirit of Scrum development, and the daily Scrum is one of the activities that best reflect it.

d. build up the team

As a team, everybody should be used to talk and synchronize with each other, the daily standup would be one of the best place and time for them to talk to each other. It is also one of the important activities to foster the habit of being comfortable to communicate with each other for everyone. But definitely, individuals could talk to each other in their daily work whenever it is necessary, outside of the daily standup.

  • Educate the basic knowledge of the Scrum development framework

As indicated in the previous writing, there're some new person in the team, they're probably not familiar with the concepts of the Scrum development framework, that's one of the reasons that people do not know why the daily standup is needed, and what to be updated and how to update during the meeting. So, I have one of the persons who had been trained in Scrum development and got the Scrum Master certification deliver a basic knowledge training to the whole team. I said the basic knowledge, it is because the full Scrum Master training would be around 2 to 3 days and the contents could not be covered within a meeting that was scheduled for 1 hour. What I expected is that everybody in the team should understand the essential concepts, roles and activities of Scrum framework and how it works, and left others to the practices.

  •  Initiate the changes

After things aforementioned done, I've initiated below change actions, which have also been discussed with the team and agreed by everyone:

a. Visualization the discussion

The first and foremost thing is to have some approach of showing all the user storied and tasks to the team during the meeting. There's a time that we did that before, including both the electrical system (like Rally, JIRA etc.) , but it was given up for some reasons. Now, it's the time to pick it up. Because without seeing the contents of the user stories and tasks that people talk about, it would be very hard for others to capture up what is being reported and how things going, not to mention trigger the questions for that particular topics.    

The team chose to start with the Rally for a while, and then turned to the white board. This is because the white board is much more flexible, for updating the progress of user stories and tasks by moving stick-notes to different columns, and also for adding something new or changing the existing tasks. By using white board, every one of the team would see the progress of every user stories and tasks owned by everybody, so that everybody understands that we're moving forward to our destination.

b. Rotate the facilitator

As recommended by the Scrum framework, the Scrum Master would be the person who facilitate the daily standup. That's the way that the team was used to. However, I decide to rotate that role within the team, so that every week the team will have a new facilitator. This is because there would be many benefits that could be anticipated such as: firstly, I believe everybody would do the same thing differently because everybody would have their own experience, knowledge and thoughts. Difference is great and expected, and I expect every facilitator would bring something new to the practices of the daily standup, of course, the difference may not mean better, but it does not matter. What does matter is the difference and lesson learns would trigger others to think about and be the inputs for the next facilitator. Secondly, with the rotation, everybody would have the chance to practice the role of the Scrum Master, at least in the daily standup, it would be quite good for grow and accumulate the experience and knowledge of Scrum Masters. Thirdly, it is a very good chance for each individual to practice their leadership skills, such as presentation and facilitation. The skills of facilitate an effective daily standup would be able to be applied to any other kinds of meetings. Fourthly, it is a demonstration of the team ownership, because within that week, the facilitator would be the person who's responsible for ensure things move forward in the Sprint.

c. Encourage asking validation questions

I encouraged other person to ask questions to the one who's making that "mini" presentation, the typical questions would be something like clarification on the contents of the user story/tasks, problems that the person may have, and the confidence of getting the planned things done by today. With those questions being asked, I expect that individuals would think more about what and how to update their tasks in the daily standup and make good preparations before the meeting.

Changes are hard, but what's ever harder is not making changes and experiencing the pains. With those changes implemented, I continued my role as an observation and coacher to the team, provide my thoughts and comments to the team after the daily standup meeting. We share the same goal, to continuously improve the development activities, starting from the daily standup.