Who's driving the bus?

Monday, April 28, 2008 12:24:53 PM (Mountain Daylight Time, UTC-06:00)

imageHere at DTS, we're very focused on consulting-type software development.  As such, we have very direct access to our end users and customers.  Our work is "clearly" defined and prioritized by our customers and we receive direct customer feedback every two weeks.  We do not have a dispersed customer base, it's usually a single organization.  However, last week I had lunch with a friend who does more "shrink-wrap" development.  His customers and end-users never define or prioritize their needs.  In fact, unless it's by pure happenstance, the developers never meet or know their customers.  The functionality and feature set for the software is defined by an internal customer proxy who has his "finger on the pulse of the customer".

Now a disclaimer:  I've never worked on a shrink-wrap team, I've always been on consulting development teams.  Given that little disclaimer, I don't understand how a customer proxy can really define what an entire unseen, unknown customer base really needs.  I know that some organizations do prototype or "focus-group" type testing to gauge what their customers want.  But my friend's team develops on a gut instinct of what their customer base needs. I'm not sure this ever can truly deliver quality and value to a wider audience.  I think it leads to Microsoft Word-type deals, with tons of functionality that only a few people actually use.  Don't get me wrong, I think a lot of good things come out of gut instincts.  I think there is a lot of value to anticipating user needs.  It's part of innovation. 

The other point my friend made was that in the shrink-wrap world of DVD-based delivery systems, organizations are hard pressed to keep up with the rapidly changing demands of large customer bases.  Their release schedules and update maintenance schedules must be horrendous.  They can't respond rapidly to changing or evolving customer needs.  The best they can do is provide patches and updates via the web.  New functionality is released on the next release...on DVD...every 9 to 12 months.

I do see a solution to this problem and I think the folks at Rally really embrace the ever evolving needs of their dispersed customer base.  It's how they gather and prioritize their customer's needs that impresses me the most.  Rally has a community website where users can enter feature requests.  The other users in the community can vote on the usefulness of the feature requested and provide additional feedback and comments on the feature request.  Based on these entries and their associated popularity, Rally is able to understand their user needs and prioritize them.  Many of the features requested by their user community show up in very frequent releases of their web-based solution. No DVD's or anything.  Just a quick release and instant functionality to their customers.  Speaking from personal experience, I've seen functionality we've asked for implemented within a single 7-week release from when we requested the feature.

To me, this is as close as you can get to your customers if you're doing "shrink wrap" software development.  For those of you out there doing shrink-wrap development in an agile manner, how do you engage your customer base to deliver high value, quality software?  I'm very curious how customer proxies work in agile organizations?  How do you define and prioritize your customer needs if you never get to interact with your customers?  When I think of these types of questions, it makes me very happy to be on a consulting development team.  Sometimes I think I take the close relationships we have with our customers for granted.  After this conversation with my friend, I think I'll value the collaborative nature of our relationship with our customers a whole lot more.

Monday, April 28, 2008 2:04:02 PM (Mountain Daylight Time, UTC-06:00)
Chris, there's a much wider variety of options in the world than just the 1-development-team-working-for-1-customer approach that is usually assumed by agilists.

For example: in our company we build public web sites for our customers. Our customers are *not* the users of these web sites. They are only the ones paying for them. Instead, the users come from all over the world, and the users are (in general) not being asked how they want us to build these web sites. So in our case, our customers are the proxies for their (unknown) users.

I don't have a big problem with proxies, as long as they feel that they are directly responsible for the success of the product.
Monday, April 28, 2008 4:28:20 PM (Mountain Daylight Time, UTC-06:00)
I'm by no means an agile guru, but we're learning and trying to practice agile concepts. We actually have a mixed product. It includes a core set of common code shared among all of our customers (which you can count with your body appendages), plus some custom code unique to each customer. We're typically working on releases for just a few customers at any particular time (in any particular two-week iteration).

We have a person wearing a product owner hat (me!) who prioritizes work products into each iteration based on:

1. customer requirements (contractual commitments)
2. items from our product roadmap (which may overlap with #1, ideally if we convince customers to help fund development of significant new features)
3. technical debt (gotta do this to keep up with Mr. Gates' latest stuff, etc)

I think the product owner plays a very important role in an agile commercial software development team. That person is the user/customer proxy, who is also representing the interests of company shareholders (we have to make a profit on this product, too!).
Tuesday, April 29, 2008 6:18:50 PM (Mountain Daylight Time, UTC-06:00)
This is one of our biggest challenges, but I'll give my thoughts.

Like Rally, we are SaaS - not exactly shrink-wrap, but close. Our customers are many and varied and definitely not on site. Rally has an advantage (I think) that we don't in that their users are also tech-savy and community oriented. An online community for us wouldn't be empty, but nearly so, and give way too much voice to atypical users.

The goal of shrink-wrap software is fundamentally different than the goal of contract development. In the latter, the customer knows (or thinks it knows anyway) what it wants. In the former, the customer doesn't even exist yet at the beginning. This is a difficult problem but not a new one. It’s the same problem any inventor has had since people were inventing stuff - if I build it, will they come?. You don't (typically) start out saying, "I want to target people who drive economy cars. Let's get a bunch of them together and ask them what they want." Instead you say, "I drive an economy car. I like it but this aspect of it is really a pain. I bet others have this problem, too. Here's what I want." You build that, see if it solves your problem the way you thought it would, roll it out and see if you were right about others having the same problems.

In this situation, there's no getting around having a highly skilled Product Owner who has a clear vision, lots of communication with support and sales. In the beginning, the vision is the only thing you have – no sales, no support (no users). If you’re successful, you'll get a good insight into your users' pain points from support and a decent insight into what new customers want from sales. There’s still no substitute for the vision, though.
Jason Erickson
Tuesday, April 29, 2008 8:25:24 PM (Mountain Daylight Time, UTC-06:00)


If the "Customer proxy" has a long history of involvement in the target market (Especially if this is a vertical market) then he is surely better placed to decide what direction to take development?

When "shrink wrapped" is also delivered via an SaaS model then overcoming long leads on delivery (The 9 to 12 months you quote as an example) can also be shortened......dramatically.

Just my tuppence worth.
A_Zimbo
Sunday, May 11, 2008 10:40:28 AM (Mountain Daylight Time, UTC-06:00)
Chris -
You're asking some very direct questions with very complex answers. At the risk of being a bit brief, the points you raise help to very clearly distinguish between the role of a "product owner" vs. the art of "Product Management".

As you point out, a traditional product owner has the luxury of interacting with a generally well-known, and typically small, number of customers. Not so for the traditional product manager, who may be dealing with many hundreds to many millions of customers. To make effective decisions, great product managers DO NOT rely "on their gut" to make critical decisions about their product. Instead, they engage various forms of market research (secondary and primary, quantitative and qualitative) and market segmentation techniques to enable them to build products that meet their customer needs. A useful way to get started is to get clear on the problems that your customers are trying to solve, and here at Enthiosys we recommend www.innovationgames.com as a powerful way to get your started.

Regards, Luke Hohmann | CEO | Enthiosys, Inc. | 615 National Ave, Ste. 220 | Mountain View, CA 94043

Motivated From Within
cell: (408) 529-0319 | lhohmann@enthiosys.com | www.enthiosys.com Join the Innovation Games Forum: http://innovationgames.com/forum/
Author of "Beyond Software Architecture: Creating and Sustaining Winning Solutions" and"Innovation Games: Creating Breakthrough Products Through Collaborative Play"
Comments are closed.