Archive for September, 2010

Ronica

I taught a public Certified ScrumMaster class in Boulder recently, and was struck yet again by how many folks had burning questions about how to manage multi-team programs with Agile.

Technically, the CSM is an introductory course, designed to give the basics of Scrum sprints and releases and of how to lead Scrum teams.  More and more, though, I find that people feel the need to at least understand how Agile works at scale, even as they begin to implement Agile for a single team.  “Tough Questions” from the class included: “How to collaborate with non-Agile teams on a single project,” and “How to handle coordination between multiple Scrum teams.”

I began to answer these questions during last week’s webinar: “The Secret to Coordinating Multi-Team Agile Programs.” In the webinar, I described why Agile teams have the advantage when it comes to quality, value *and* coordination in multi-method programs.  I also gave some practical tips for making coordination and integration work.

I was really excited to be joined on the webinar by Srikrishna Gopalakrishnan, eBay Senior Product Development Manager. I had the good fortune to work closely with Sri when we were launching eBay’s first Agile program.  Sri talked about what it’s really like not only to make the coordination work, but also to change the way you lead and manage, along with putting a different kind of energy into motivation.  Sri and I got to tell our stories, adding real-world experience to make sense of textbook Agile.

I invite you to listen to and watch the recorded webinar.  And, for those of you who listened and submitted questions, answers are on their way shortly.

Believe it or not, we talk about metrics here all the time. I bet it is the same around your near real-time, software-driven enterprise too. For Agile teams, the pursuit of good metrics and forms of feedback to steer their work is an obsession. I swear we have as many “quants” in this company as engineers, service or sales professionals.

At Rally, we currently track four categories of metrics in a kind of balanced score card of SMART numbers:

  • Employee satisfaction (see Colorado Best Company and Outside Magazine); We also use an on-demand 360-degree peer review system
  • Value Throughput (% of value demand versus failure demand, work in process, cycle time, services backlog and lead time, along with any awards and/or positive reviews)
  • Financial (Lifetime value of customer, cost of sales, breakeven point, bookings growth, renewals %, cash)
  • Current Customer Satisfaction (Control charts of cases and escalated cases normalized by user base)

NPS as part of your Agile Metrics

We are about to start measuring a new number – NPS. Ever since Tom Poppendieck exposed me to the Fred Reichheld’s book on Net Promoter Score back in 2006, I have been interested to see how a powerful tool like this could be applied to Rally.

The theory behind Net Promoter Score is, as the book’s title says, “The Ultimate Question”  – measuring customer satisfaction. On Wikipedia, you can see the criticism of this measure versus other questions, but I really like the rigor and material available behind this approach. You can find success stories, along with blogs, additional resources and information about what makes up a good NPS on the NetPromoter.com web site. Of course, Net Promoter is just one of a balanced set of metrics to help understand performance, improvement and stakeholder value. We see NPS as an increase in discipline around customer satisfaction measures. For an Agile enterprise, those end-of-pipe measures become a great predictor of future financial performance and growth.

Iteration One of NPS at Rally

We decided it was time to measure NPS at Rally due to four factors:

  • our recent growth in staff, due to financing in late 2009
  • success in moving other customer metrics this year
  • the search for an over-arching metric around customer satisfaction
  • increased sophistication and capabilities in our IT environment and belief that the feedback can help prioritize strategic work for 2011

Our team started this effort as a skunk works out of IT. Once we completed our first iteration and understood how we would need to scale NPS, our IT team prototyped a solution in and between our instance of Salesforce and Eloqua. We then expanded the team to include support, customer advocacy and marketing. This team’s first goal was to get smarter by reaching out to other friendly SaaS vendors we work with who had implemented NPS. We are extremely grateful for the time that Nadia De Villa of Eloqua and Susan Gingrich of Readytalk spent with us to share their experiences. (This Readytalk blog post led us to Susan.)

The first phase of our NPS survey will go out this week. If you are one of the randomly selected customers who receive it, please take the 30 seconds needed to respond.

Our super-short survey will take maybe 30 seconds to complete.


We are eager to hear your feedback and ready to adjust things as necessary. If you can’t wait for our survey, please feel free to comment on this post or send me an email: ryan.a.martens@rallydev.com. We really want your feedback as we are trying to be a GREAT company.

Since NPS only measures customer satisfaction and we have to balance a portfolio of stakeholders, I am sure this will not become the one or “ultimate” number for the company. But, I am confident that this will become a part of the weekly corporate dashboard. If this is an interesting topic for folks, let me know and I will post follow-ups in the future. We would also love to hear about the experience of your team or company with NPS.


Ryan Martens is a tomato canner, school board member at Friend School Boulder, and CTO at Rally Software Development.



In the first part of this two-part series, I talked about deploying Scrum to parts of the larger organization without starting in development (“Can you deploy Scrum to a test team?”).  This article looks at another kind of “ScrumBut” – the most commonly meant kind:  deploying only parts of Scrum to an organization.

half-moonIs it half-assed to skip practices in adopting Scrum in your organization?

Lots of sources appear to say that it is.

Ken Schwaber gives a short presentation on ScrumBut in this video (you may have to click the “Download Optimized” button to play this).  I’d paraphrase his position as saying that the Scrum practices fit together to create more value than they do individually. So if we punt on one or more of them, he sees potential value being left on the table, and potential organizational weaknesses becoming more entrenched.  He sees Scrum as best adopted as a whole without deviation.  Consider this excerpt from his book “The Enterprise and Scrum,” about the medium-term issues in Scrum adoption:

“… many people in your enterprise are probably advising you to change Scrum because it needs some tweaking to be compatible with your enterprise.  My advice is this: Don’t Do It.”

Later in the same book, he suggests developing an organizational audit function to independently assess the degree of success in adopting Scrum:

“… the ScrumMaster and the team often get so embroiled in their work that they lose perspective on themselves.  For this purpose, having an audit capability is useful.  Someone who knows Scrum and is from outside the team needs to have a way to measure how well the team is using Scrum.”

That can be viewed as an organizational-wide commitment to avoiding ScrumBut.

This article from Mitch Lacey, “Practicing ScrumBut: Ensuring Project Failure,” captures a workshop delivered at SQE Agile Development Practices 2009.  I think the title here says it all in terms of the expected value of ScrumBut.

This article from Michele Sliger covers a particular pattern of ScrumBut that’s near and dear to my heart, failing to meet sprint commitments.   The thing I liked most in this article was the notion of “we suck less” Scrum adoptions.  Michele is encouraging us to strive for more than “we suck less” – in large measure, saying to at least aim to suck less.

Process change in large, traditionally structured organizations is hard

These authors are stressing the value of Scrum in its entirety, which is difficult to argue with.  The question for me is: “What if doing vanilla Scrum is too hard right now?”  As I noted in the first article, a big chunk of my career has been spent in larger organizations with very strong functional silos and long histories of plan-driven, waterfall lifecycles.  If you look at what you’re really asking an organization like that to do when you ask them to try Scrum, it’s clearly pretty easy for them to say “no.” Scrum sticker shock

Even on pilot projects, this may be too much to ask for from them – especially so if they’re doing reasonably well with their current processes.

Certainly the value of the practices of Scrum together is greater than their sum individually but does that mean that the value of the practices goes to zero if we don’t deploy them all together?  Can the adoption of Scrum be something that is tackled incrementally with an eye towards creating value with each incremental change?  If that last question sounds a lot like how Scrum advises us to approach the creation of value on our projects, that’s no mistake.  Sometimes, and particularly so in the kinds of large, slow-to-change organizations I’m referring to above, I think it’s sensible to ask Scrum itself to deliver its value incrementally.  In scenarios like these, I think it’s important to keep in the forefront of our minds Mike Cohn’s advice in “Succeeding with Agile” about the difficulty associated with viewing Scrum adoption as a traditional change initiative:

“… unlike other change initiatives, with Scrum there is no end state.  There is no point when you’re done.  Instead, Scrum requires continuous improvement …”

The key thing here from the perspective of assessing the value of a ScrumBut adoption is that it should not at all be viewed as any kind of finish line, but rather a potentially useful step along the path of organizational improvement.  If we’re on a path of continuous improvement, do we have to start with a big bang introduction of all of the Scrum practices?

Schedule pressure, estimation and the “Release Train” – a real-life example

I once had a client whose group followed what they called “the Release Train.”  In it, they prioritized higher-level features and other work items in a big list and then worked on a few at a time in priority order.  They did not use fixed time boxes for this work but rather used a Definition of Done to help them decide when a given work item was complete and another could be started.  In sum, a process that resembled a kanban system perhaps more so than it did Scrum.  The problem he brought to me was this:  stakeholders wanted estimated dates of completion for the items on the release train. He worked with his team to come up with these dates, but they knew that the overall project goals were heavily influencing their estimates.  For example, if a project was intended to hit a market window six months out and was to be defined by a handful of key features, the team felt considerable pressure to estimate dates for those features that met the release timelines.  We discussed the possibility of trying story points – instead of asking the team to forecast the completion date of each item, ask them to estimate each item’s size using story points and then measure the team’s progress in completing the work (in terms of story points delivered per unit time) to derive estimates of completion for future items on the release train.  We agreed that would be an interesting approach to solving the problem they were most concerned with.  Now in fairness, we had a pretty wide-ranging discussion over the course of which he talked about other problems they had – among them difficulties in establishing priorities, nailing down what the release train items actually meant, and getting inputs his team needed from other groups in a timely manner.  He expressed interest in adopting Scrum “somewhere down the line” but was unwavering in his desire to fix this one problem – improving his team’s ability to estimate release train item completion – as soon as possible.

From Estimating Duration to Estimating Size and Deriving Duration


As a Certified Scrum Coach (CSC), I suppose you could make a case that I should have pushed him harder in the Scrum direction.  In private conversations with other CSCs and Certified Scrum Trainers, my approach has been questioned as perhaps overly complacent.  In all honesty, I’m not sure.  As a coach do I strive to challenge my customers – to push them to want more than they come to me wanting. Or, do I try to solve the problems they actually ask me to solve?  For better or worse, I tend to do the latter.  I can say that it doesn’t feel complacent per se, but rather doggedly determined to make progress that provides value to my customer as quickly as possible.  In the example above, just improving their estimation practices would go a long way to improving their lot.  Why not help them do just that?

A view from the perspective of another process improvement approach – the CMMI

Much of this discussion puts me in mind of the CMMI and the difference between maturity levels and capability levels.

The CMMI defines a staged approach to organizational process improvement – very comprehensive about the order in which different aspects of the overall processes (“process areas”) has to be done.  For example, achieving maturity level two implies improvements in the following process areas:  requirements management, project planning, project monitoring and control, measurement and analysis, configuration management and process and product quality assurance (also supplier agreement management, if that makes sense in the organization).  The remaining maturity levels, three through five, are defined in a similar manner.  That prescription of a process improvement path frankly seems like the kind of approach calling for all of Scrum to be deployed in one go.CMMI Staged Representation and Maturity Levels

But the CMMI defines another approach (technically another representation) – the continuous representation, which leaves the ordering of improvement to process areas to the organization to decide, while still offering some guidance on how to go about it (the specific and generic goals and practices).  That guidance is supported by the notion of the capability levels, which define a path for improvement for the individual process areas.  In the continuous representation, an organization would be free, for example, to focus first on improving how they approach project planning practices – estimation perhaps – if they believed that was going to offer them the greatest value.

CMMI Continuous Representation and Capability LevelsSuddenly, insisting on deploying all of Scrum right away starts to feel perhaps a bit too prescriptive.

So is it half-assed to deploy part of Scrum to your organization?

Scrum is one useful assemblage of Agile practices. XP is another.  There are others.  So it’s not unreasonable to think an organization could skillfully define their own set of Agile practices or an incremental path through adoption of the complete set of Scrum practices that would provide decent value, tailored to their organization’s needs over time.  At the end of the day, if you held a gun to my head and made me winnow down Scrum to the absolute minimum I’d really not be willing to part with in any initial adoption, it would amount to just these two practices:

  • Iterate:  define a window of time in which the team commits to delivering some potentially shippable increment of working software
  • Reflect:  gather the team together at the end of each iteration just prior to planning the next iteration and ask them how they can improve

Mind you, if you do just those two for a while, you’re likely to end up inventing many of the other common Agile practices :)

But if you started even at that modest point, would you be pursuing a half-assed deployment of Scrum?  Maybe so.  But maybe a half-assed deployment of Scrum is like “half an eye” that provides value all by itself but also represents a step along the path to something amazing.

So can you deploy part of Scrum to an organization?

Sure, why not?

What do you think?

I’d like to thank Selaine Henriksen for her help in developing this post.

About the Author: Ed Willis has been a ScrumMaster, Product Owner, Scrum coach and trainer.  He is currently a developer in the telecommunications industry.

Did you know that some people pronounce Rally and Raleigh the same?  It is also a tongue twister to say them together.  These are two of the more esoteric things I have learned in the eighteen months following our acquisition of 6th Sense Analytics.

fivefingersRaliegh

Five Fingers for a great Q2 and great North Caroline BBQ

This is in the forefront of my mind following a recent trip to Rally’s Raleigh-Durham, North Carolina office. After Agile 2010 in Orlando, Jean Tabaka and I visited our largest remote office in their new digs.  We were there to help share in their Q2 Celebration event.   It was a real pleasure to see that office filling out and becoming whole.  (more on the cupcake thing below)

Becoming whole is so critical for a remote office and for an Agile team.

When I was working at BEA, I was part of an amazing machine that really knew how to acquire companies.  BEA learned from Cisco about how to do this right and how to balance autonomy and culture to create a healthy soul for an office away from the corporate headquarters.  Typically, BEA moved one or two folks to the remote facility to become active managers and help provide local leadership. These embedded people helped make the transition smoother by transferring norms, values and informal networks of the existing organization to the newly acquired team.  In fact, BEA would not move forward with an acquisition deal unless it had management bench strength who were willing to move and play that role.

We compensated without management bench strength.

In Rally’s case, we did not have that management bench strength to move folks from Boulder to Raleigh. As a result, we lived through what some folks on the team called “open wheel racing.”  We had a lot of rubbing and bumping.  We struggled as Boulder team and Raleigh team tried to figure out the balance between autonomy and culture. And we were tackling this cultural bumping while working collaboratively on the same product and sometimes in the same code-base.

We knew we had to address the lack of local leaders from corporate and so we started with 3 specific practices:

  1. We stuck with eight-week agile release cycles. This frequent synchronization really helped keep the wheels on both cars.  To help jump start real collaboration for the releases, the Raleigh team flew out to Boulder for most of the release planning meetings in 2009.
  2. Within the releases, we chose to develop a vast majority of the Raleigh code as a separate service running in separate application containers. This supported the Raleigh team having almost complete ownership of the functional value they delivered.
  3. We added HD Video conferencing to support frequent meetings and open worm-holes to broaden communication channels beyond emails, IM, and phone calls.

Our next steps brought in additional agile team members.

Since the acquisition of 6th Sense in late 2008, we had a only a partial agile team in Raleigh.  To complete the team, we added a development team lead and a product owner in Boulder.   In 2009, the Raleigh team released Rally’s customized reporting service and time-tracking capabilities.  Todd Olson’s ability to lead the Raleigh team in collaborating with the existing team in Boulder was yet another critical piece in our path to integration.  Todd was the original founder of Six Sense and the spiritual leader from founding and past experience in ALM space with Together J and Borland.

IMG_3654

Todd and his daughter enjoying one from the Cup Cake Shoppe in Raleigh

This summer, the office moved into a larger space to accommodate our hiring efforts in Raleigh.  So far this year, we have hired or moved six new people into Raleigh and we are not done.  Shameless plug – “In fact, we have 21 open positions at the company in Boulder, Raleigh, London and in the field.“  Part of the Raleigh growth was due to the AgileZen acquisition in April.   In January, we were feeling good enough about our lessons learned with the 6th Sense acquisition to make that move.  This time, instead of moving Rally people to where AgileZen lived, the AgileZen team moved to our Raleigh office.  We found out about their intention to move during the negotiation process and it was a huge green light in the transaction. (Think like BEA above – makes balancing autonomy and culture much easier when the management bench can not support the acquisition.)

Based on some of the joy, happiness well-being and cupcakes! (These were no ordinary cup cakes, they were from the Cup Cake Shoppe – made famous by President Obama during the Healthcare debate. We found out the owner is a great lady as she even chauffeured our own Susan Ruh to the new office!) Jean and I witnessed all this during our Q2 celebration visit, Rally Raleigh has certainly taken strides to build a cohesive agile team in a period of growth and integration.

But, there is still more to do

We recognize that there are always items in our organizational backlog.  As the Raleigh team continues to build the whole, we owe a bunch to the folks who were closest to the open-wheel racing process.  They kept their cool, did things to build empathy for the other team and kept focused on delivering value.  For Rally as a whole, we still have a lot to learn about running remote offices in a culture that is much more collaborative than what any of us witnessed in the last decade at BEA, Borland, Mercury, Quark, Rational, or Serena.

Please comment your ideas or experiences with remote offices and highly agile teams.

Ryan Martens is a tomato canner, school board member at Friend School Boulder, and CTO at Rally Software Development.

Jean Tabaka is a wine enthusiast, author and Agile Fellow at Rally Software Development.

On Wednesday, I received a copy of Colin Beavan’s book called No Impact Man.   I owe a big thank you to Michael Mah of QSM Associates for the gift.  Michael and I have talked together at numerous Agile and Rally events over the past four years.  His work has been instrumental at proving the benefits of Agile by benchmarking Agile projects against their database of 7500 projects.  He has clearly seen me talk about my personal quest to get my family’s carbon and environmental footprint down, as well as our work at Rally on our corporate footprint.

My take away: As you share your personal or professional vision with others, it becomes easier for them to help you attain it. It is a wonderful reinforcing loop.  Thanks again Michael.

(Click on Book to see at Amazon)

 

This is a book about Colin and his family, who live in New York City, and how they lived for a year with a zero environmental footprint, not just a zero carbon footprint.  I have broken the cover on the Introduction and the first chapter.  It looks like a great and funny read.  Based on my Amazon search, there is even a movie/DVD on the book.

Here are some Chapter titles, to give you a bit of the feel:

  • What you think when you find your Life in the Trash
  • If Only Pizza Didn’t come on Paper Plates
  • Conspicuous Nonconsumption

I look forward to finishing the book on my next plane trip, which is coming in two weeks to the Oracle Open World/Java One/Oracle Developer’s Conference.  I am speaking there on the “Linchpins for Scaling Software Agility.” This talk is on Wednesday morning in the San Francisco Hilton, right before Ted Farrell.  Please join us both as we explore the needs and tools for team hyper-productivity.


Ryan Martens is a homegrown tomato lover, founding board member of the Entrepreneurs Foundation of Colorado, and CTO at Rally Software Development.