February 4, 2012

BigVisible Blog

Business Analyst to Product Owner – Making the leap

The Product Owner is a key player in Scrum, yet there is confusion around the true value and responsibilities of this important role. Many companies have difficulty staffing it. Oftentimes Analysts are called upon to assume Product Owner responsibilities, without much clear direction. Some think of the PO role as “an analyst on steroids”. While there is indeed some common ground, in reality, the two roles face drastically different sets of expectations. Part of the challenge isn’t just successfully taking on the role, but how to succeed at building great products. With roughly 60% of the features in the average product rarely if ever used, as an industry we have an obligation to figure out how to build better products.

This presentation was given at the Boston chapter of the IIBA on November 2 and covers some important common experience that good Product Owners have, 5 Archetypes of Product Owners and the growth opportunities for each of them and 4 areas to focus on to grow as a Product Owner to help not only transition to a new role, but to truly make the leap and place innovation front and center.

The slides are available here.

My ABC’s of Agile

Reading is not my favorite thing to do, so I was surprised when I remembered something a few years ago from a play I had to read in high school. I now use this regularly when I coach teams. The play, “Glengarry Glen Ross”, by David Mamet is actually quite good and is loaded with a bunch of great one-liners. The one that proved most memorable to me is “A-B-C. A-Always, B-Be, C-Closing. Always be closing, always be closing.” [Read more...]

Are the right people getting a chance to lead?

A few months ago I delivered some training and was doing some follow up coaching with a team and I observed something that I thought was pretty fascinating and sparked the thought for this blog.

A team had recently completed a round of basic agile training and was a few sprints into their work. During sprint planning, several members of the team felt organizational pressure to create a sprint plan that was twice the velocity they had established through their first 2 sprints. As I prepared to interrupt the team and ask how they arrived at the notion that they could double their velocity in one sprint, the most junior member of the team (a college student on a work assignment) beat me to it and said: “we can’t do that, it’s double what we’ve done before. Our velocity is x, so we should plan for x.” (I was glad to see that the training had stuck with someone.) There was some discussion, culminating in the more experienced members of the team answering with “well, we have to get all this work done this sprint, so we should tell management we are going to”. [Read more...]

Presentation from NYC Scrum User Group on October 21

I had a great time meeting everyone that attended the NYC Scrum User Group meeting last Thursday. You guys have a great energy and enthusiasm, keep it going. Also, congratulations on your group’s one year anniversary, I hope you have many more.

After the presentation I thought more about our exchange of information and realized what an interesting set of challenges having distributed teams really presents to some of you and your teams.  I really liked some of the ideas that were shared and it shows some of the creativity being applied to solve the challenges of distributed teams.

As I promised, here are the slides from the presentation.  Best of luck everyone and thanks for having me.

NYC Scrum User Group 1 year anniversary cake

Pitfalls in implementing Distributed Agile

Distributed teams are a reality in today’s workforce, based on data from the November 2009 DDJ state of the IT Union Survey only 45% of agile teams are actually co-located. Distribution can come in a variety of shapes and forms, ranging from team members on a different floor in your building to being on the other side of the globe. Stating the obvious here, but the missing element is the inability to work face to face.

When starting out many people operate under the assumption that Agile can’t work across distances or worse yet they convert their distributed waterfall organization over to just start doing Agile and are surprised when they don’t like the results they get. It should be no surprise to us that when team members get a chance to work face to face, the results can be quite good. Working face to face certainly doesn’t guarantee good results (it certainly didn’t for decades before off-shoring and distributed workforces came into vogue) nor does taking a distributed Agile approach have to mean pain and failure. What it does mean is you have to know what you are getting into and make sure you are addressing the specific needs of doing Agile over distance.

Agile needs a high degree of collaboration to work successfully. I’m talking true collaboration, not just people working on the same project together. So anytime we take on an agile endeavor, we have to create an environment that allows collaboration to flourish. In order for collaboration to work; 1) people need to know and be comfortable with each other 2) everyone has to bring something to the table 3) you have to be able to work on the same thing at the same time (you may not always be working on something at the same time as someone else, but you have to be able to do it when you need to).

When we look at distributed teams, the main challenges that stand out to me are: geography, time zones, and talent spread.

Geography:
With the conveniences of modern technology like video conferencing, web chatting and instant messaging, the globe is getting smaller and geography issues are becoming more conquerable. It still isn’t the same as sitting next to someone, but I think it is workable. I’ve even heard of some cool new technology that connects two rooms with a display wall that makes the rooms feel actually physically connected to each other.

Time zones:
Time difference plays a bigger role than the actual distance between team members. The less overlap there is in “normal working hours”, more independent or solo work is going to be taking place (read: less collaboration) which can easily take teams off track. Successful Agile teams have strong and immediate feedback loops that allow them to validate work with each other before investing too heavily in an approach. The more of the workday team members are spending without the ability to reach out to someone in another role, the deeper the investment becomes in something that could be discarded.
It’s not uncommon for people to be asked to work adjusted hours to better accommodate everyone on the team, but this can create issues with employee’s family schedules or cause “extended days”. With extended days, team members may often get stuck working their adjusted hours to work with their team and also working their“ normal working hours” because they are expected to be in the office during those hours. This isn’t a sustainable model and will lead to burnout very quickly.

Talent Spread (or alternatively cross pollination of disciplines within a physical location):
In software, truly successful collaboration happens across disciplines, where you have a developer working with a Product Owner, or a UI designer and a QA tester, or a QA tester and a developer. There are numerous permutations, but the point is people representing different skill-sets, concerns and areas of expertise get a multiplier effect when they are able to work together and collaborate. I personally love having analysts and testers work together on creating test cases/requirements. My rationale is analysts are good at building things and figuring out how to make stuff work, testers are great at breaking things and seeing the cracks. By having the two disciplines collaborate, teams get really solid sets of tests that are well thought through and cover most scenarios. Obviously, Product Owners, developers and anyone else on the team are welcome and necessary partners in that collaboration as well.

Applying this idea against the backdrop of outsourcing and off-shoring models that many companies have adopted where entire departments or disciplines are moved to a new location (i.e.: development or QA to India) and you can see how challenging real collaboration can be for many teams. I’ve heard the argument for 24-hour workdays for years, but in practice, I’ve only seen it work for short bursts on a project where the team had a good grasp on what they were doing for the next week or so. However, beyond that, obstacles are encountered, feedback is needed, design reviews happen and the list goes on. All these things effectively put traffic lights into the 24-hour workday and all the lights are rarely green at the same time.

So what to do?

When setting up a distributed team, consider the following:
• Have the fewest number of different physical locations involved in that team.
• Don’t ever have one person working alone in a location.
• Make sure you have team members with different skill-sets in the same location and try to build a critical mass there.
• A double-digit time difference between team members is going to be a challenge and is not likely a sustainable approach. If this is unavoidable because of the locations your company operates in, build a fully enclosed product development team in each location that ideally has a product owner embedded with them and can work side by side with the team.
• Have a remote PO or PO proxy that is empowered to make product decisions when the primary PO is not available. Expecting the PO to be available 24 hours a day is unreasonable, conversely constantly waiting to the next day for a decision is a big red traffic signal that backs everything up.
• Travel – team members should get together to spend time face to face to build strong relationships and an understanding of each other. Ideally an entire sprint can be spent together working side by side so team members actually get a sense for how they work over the cycle of a full sprint. It’s helpful if travel can happen repeatedly over the course of the project to help to continue to grow the relationships.

I ran a mid-size Agile program a few years ago with a mix of distributed and co-located teams where many of these techniques were employed so I can say with first hand knowledge, you can do Agile across distances if you follow some basic guidelines and are willing to invest in the right things.

I’m sure there are many other creative techniques that can be used to bridge the gaps and I’d love to hear from anyone else who has successfully done something different.

Information Refrigerator?

Hopefully you recognize that this is a play on the term information radiator, but let me explain how/why?

I find that when starting with a new client and discussing the idea that we are going to put all their tasks and activities on a wall for everyone to see and so that it’s easy for the team to update, there is almost always push back or at least hesitation. The concerns typically are centered around the fact that “well we already have a dashboard system we use here to track project status and Sr Management uses it”. My guess is they have never seen a good story board/task board wall.

So where does the refrigerator part come into this?

Well, recently my refrigerator went on the fritz and stopped working, but I didn’t know it. I noticed that items coming out of the fridge seemed to be less cold, but I figured it was just me. So I didn’t do anything. Many hours later, the problem seemed to be worsening. Lo and behold, we had a problem and ended up losing a bunch of food in the refrigerator.  We had it repaired and all was fine, until it broke again.  This time the “breakage” was more obvious, but only because I was standing in the adjacent room (there was an electrical popping sound and a puff of smoke that came out from under the unit).  If I hadn’t been in the next room, again I wouldn’t have known something was wrong.

In the end, my wife and I decided to buy a new refrigerator instead of repairing the original.  The unit we purchased was half the price of the original unit (which was only 7 years old) but has more features and fit our needs better.  We purchased based on price, look and features, in that order.  It has a feature that I really didn’t notice/appreciate until it was in my kitchen and plugged in.  A digital display that shows the temperature of the freezer and of the refrigerator.  That’s the information radiator.  It even has an alarm built in alert us if the temp rises too high.  I could have a manual thermometer in the fridge and in the freezer to tell me the same information, but the difference is, I have to go look for it.  I would have to open the fridge, find where the thermometer got moved to and read it, just like a traditional dashboard.

With my new information refrigerator every time I am in the kitchen I know if things are working as expected simply by looking.  No digging for thermometers (or dashboards located on the web or in some program management tool somewhere).  So now if one of my kids leaves the door open or if it breaks (it better not, it’s brand new), I have a much better chance of knowing and being able to take a corrective action.

So what makes a good information radiator?

  • It’s highly visible
  • You don’t have to go find it, it’s just always there waiting for someone to look at it
  • It is kept up to date – it’s simple enough that the team actually uses it and updates it and it reflects what the team is working on
  • It can alert a team to a situation that needs corrective action – it doesn’t tell you what to do, it just displays the facts, we have to do the rest
  • It’s simple

I love the information radiator part of my new fridge so much, I’m not sure I would ever want one without it.  Just like I would never want to run a project without an information radiator.  Once you see it and experience the simple power of it, you’ll know what I mean.

If you are a virtual team you have additional complexity to deal with.  BigVisible has built a virtual task board (information radiator) that is free for anyone to use, check it out at www.seenowdo.com