When I became Scrum Master, I initially felt pretty helpless. I had been trained, but the training told me to nudge people but not manage them. Guide and mentor the team — but let them be the drivers. I originally found these concepts difficult to grasp. I needed to figure out how to be effective.

What the training did not make clear to me is that when acting as Scrum Master, you are not focused on the topic being discussed. Instead, you are focused on how productive the discussion is. Is it in line with the goals of the meeting? Is it taking more time than can be afforded? One of ways a Scrum Master can help the team without interfering in its autonomy is with time discipline. I am still surprised how much the members of my team appreciate having someone who keeps the discussion on track and time-boxes discussions. For new Scrum Masters, I think this is a great way to be a value to your team.

Start by scheduling every meeting the team needs for the next sprint. This way you have the longest lead time to learn about vacations and odd schedule conflicts, and it gives you the best chance to have your favorite rooms.

A couple of days before each meeting, write a time-based agenda. Pay special attention to how long something really takes. For example, assume that you are going to break down Product Backlog Items (PBIs) and you have a one- hour meeting. Subtract ten minutes for late comers, setup, questions, and other beginning meeting noise and then decide how much time an item needs. If the team wants 10 minutes, then the Product Owner (PO) can bring in five items. I usually use 10 minutes to break down an item and give the PO the option to take another 5-10 minutes at the end.

In order to keep meetings moving along, you may need to get the discussion back to the main topic. Interrupting a person mid-sentence to keep a meeting on track is tough when you start as Scrum Master. It’s easier if you make a card, such as “Time” to hold up. Explain that you will do this up front so that everyone understands, and let the speaking team member wind down or summarize. In my experience people appreciate someone doing this, because you are respecting their time.

If you’re uncertain about the importance of the topic being discussed, when time is called, you can let whoever the meeting is for decide whether they need more discussion or just vote – thumbs up for yes and thumbs down for no.

I find it helpful to bring a stopwatch to meetings. A stopwatch is a dedicated device, so it works better than a cellphone, where you might need to mess with the screen turning off. It’s easy to read and operate.

It takes a lot of little things to increase the team’s velocity. Keeping track of time is a good place to start. It ensures all the meetings happen and that they are productive. But more importantly, people will be happier to go to meetings that are valuable and where issues are resolved.

As I learn how to be a blogger (including the abandoning of Windows Live Writer), I keep finding lots of interesting new things. For instance, in my last post, I needed to escape the square bracket “[“. In my research, I found of list of HTML escape codes, including the one that I needed: http://www.degraeve.com/reference/specialcharacters.php

While constructing my last post, I wanted to include a PowerShell function. I attempted to use Windows Live Writer because I thought it would be easier to include code. Windows Live Writer had three source code formatting modules:

I recently started developing a PowerShell snap-in, and without putting much thought into it, I created a .Net 4.0 project. After getting the initial code ready, I attempted to load the snap-in and got the following error:

This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

After a bit of searching, I found that this was not a PowerShell issue, but a .Net one, and the solution was to add to the PowerShell.exe.config file. The following was needed:

In ultra-lazy fashion, I spent half an hour writing a function to place one of these configuration files for me, which is probably 10 times as long as it would take for me to do it all the times I will need to. However, writing scripts is fun.

Who
My name is James White, professional programmer. I rank among those programming geeks whose love affair started at a very young age–a maze game in BASICA. My background is in philosophy and psychology, although I did a bit of computer science study. Upon my discovery that one of these topics was more fun and paid well I became a professional programmer. Currently I work for Microsoft on Lync Server. My day-to-day work is focused on C# and PowerShell. To keep things spicy, I occasionally perform web programming, SQL, and C++, with a goodly portion of my time spent on MakeFiles and unit tests.

What
As someone who loves to read, I have many thoughts about many subjects. Lately those subjects are mostly programming theory, project management, and what thinkgeek toys are most fun to play with during compilation. Language theory and how languages change the way you code is a favorite subject of mine right now. I plan many posts on the uses and abuses of different languages.