Scrum, XP, Management and the Ethics of Agile Software Development
 

scrum

HICSS-41

I just presented Ilio Krumins-Beens’ [and my paper] on unbounded collaboration between the product owner and development team at the 41st Hawaii International Conference on System Sciences. (I’ll link off to the paper when the transaction is published on the IEEE site.)

20070110 177HICSS is an interesting mix of academics and practitioners. On the list of presenters in the agile mini-track were Jeff Sutherland, Stephen Cohen from Microsoft, and Gabrielle Benefield from Yahoo as well as researchers Ann Fruhling from the University of Nebraska at Omaha, Kevin Kwiat from the Air Force Research Laboratory, and David F. Rico.

HICSS is an instance where the academy has invited us developers into their living room to discuss what we do, the way we actually do it.

There’s a huge disconnect between what I practice as a software developer and what many institutions of higher learning teach.

Theoretical exercises in waterfall practices are not helpful precursors to TDD, pairing, continuous integration, refactoring, interdisciplinary collaboration, self-organizing teams, etc. etc.

Arguably, they are not even helpful precursors to waterfall as it’s actually practiced. If you think XP requires experienced developers what the heck do you get when you make someone with little experience architect a market trading system in UML!

We need the academy to understand us. They not only train our workforce, their research informs policies, standards and business management practices that shape government and industry expectations.

We need business schools that train prospective CXO’s to build lean businesses that will in turn build out agile/lean IT and product development organizations.

Another big barrier to agile adoption is lack of empirical support for the benefits of specific Lean, Scrum and XP practices. We need original research that correlates to the obvious things: quality, risk mitigation, market performance, productivity and cost reduction.

I’d also really love to see original research on how agile, highly collaborative practices correlate to ethical behavior on the part of individuals and organizations, gender and ethnic diversity, and sustained innovation.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Bounded Collaboration

This is the third pattern of collaboration that entrenches status quo.

Contrived collegiality” and “balkanization” suggest a certain amount of bad faith. Bounded collaboration is a subtler dysfunction.

A pragmatic and collegial relationship between a product owner and team can honor roles and feel like collaboration while barely tapping or actually working against the potential of a project and its participants.

We may simply define our contribution too narrowly.

Bounded CollaborationA development team may communicate to a product owner only during formal inspection points. They limit co-work to the immediate needs of the project and not range to larger questions and concerns. Under the pretext of “single, wringable neck” they shield themselves from the struggle to shape a business outcome and stand at a distance from the product owner.

“Bounded collaboration rarely reaches deep down to the grounds, the principles or the ethics of practice. It can get stuck with the more comfortable business of advice giving, trick trading and material sharing of a more immediate, specific and technical nature. Such collaboration does not extend beyond particular units of work or subjects of study to the wider purpose and value of what is taught and how. It is collaboration, which focuses on the immediate, the short-term and the practical to the exclusion of longer term planning concern.” — A. Hargreaves and M. Fullan

Seeming collaboration limits business opportunity and works against sustained invention and true innovation. “Contrived collegiality” and “balkanization” are forced upon us but what boundaries do we ourselves create? To what degree do we champion agile practices while surrendering the values that inspire them.

Jeff Sutherland cites the exceptional Borland Quattro Pro development team as a significant inspiration for what became Scrum practice. He also points out that Quattro Pro didn’t win in the marketplace.

Superior technical execution and transparency to a single, empowered product owner is not, unfortunately, enough. We developers need to move beyond how and when to engage a broader set of questions over what, for whom and why.

We need to work jointly with our product owners to understand the opportunity, the end users and the value our software brings to them.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Collaboration and Competition: Balkanization vs. Bounded Cohabitation

Small collaborative groups often exist in isolation or in competition with other groups within an organization.

Unhealthy Competition: Balkanization1

This is the second pattern of collaboration that entrenches status quo (see Contrived Collegiality).

balkanize:

  1. : to break up (as a region or group) into smaller and often hostile units
  2. : divide, compartmentalize <now pop culture has been balkanized; it is full of niches, with different groups watching and playing their own things — Richard Corliss>

Balkanization

In a Balkanized environment, one team’s win is another team’s loss or, at least, one team’s loss is not every team’s loss.

A company that organizes itself by specialty and doesn’t matrix well to projects lends itself to balkanization but leadership can encourage politics under any structure if they distribute rewards based on unclear, unfair or arbitrary criteria.

Valuable learning in one group is not communicated or is disputed and not widely adopted. Managers drive to surface shows of success. Individuals are not encouraged to true joint work across organizational boundaries.

Agile is often introduced bottom up without executive sponsors in less than optimal cultures. In this context, development teams have dependencies on teams that do not buy into agile values. Developers are separated from decisions about opportunities, product portfolios, potential revenues, and product features. This is both a fragile place for agile teams and also diminishes opportunity for the company.

Healthy Competition: Bounded Cohabitation

Internal competition can be used to spur original thinking and organizational change.

Nonaka and Takeuchi describe a concept of “bounded cohabitation” where teams are set in productive competition with each team pursuing a different set of premises and value propositions all geared toward the same outcome.2

The example they use is detective work. One approach is to form autonomous teams around different premises: premeditated murder, crime of passion, accident, natural causes, etc. Let the teams self-organize assembling the appropriate numbers with relevant skills and experience for their specific premise.

The teams investigate independent of each other. Under their premise, each team may look past evidence others find relevant but also follow leads other teams wouldn’t think to pursue. Eventually, one team establishes the most plausible course of events. The shared outcome is met and the teams re-organize around the next investigation.

Japanese manufactures often form multiple engineering teams around the same design challenge; e.g., an engine meeting novel requirements of size, efficiency and performance. They adopt the best solution incorporating other good ideas into the current or future products.

In one case, Sony merged two teams pursuing different product strategies: (1) an evolution in video tape players and (2) a revolutionary digital non-linear editor.

Synthesizing those world views resulted in the digital video editor with engineer-friendly analog controls that broadcast centers could rack into their existing facilities. This new technology with a familiar form factor created a new market that Sony decks dominated.

An executive sponsoring agile adoption must strive for healthy internal competition. Carve out self-organizing teams. Encourage them to follow their own paths to a clear, common goal. Mutually agree upon performance measures. Retrospect across teams to determine what’s working and why. Allow for wrong paths, allow for variation and embrace the unexpected.

The concepts and examples in this post are drawn from:

1 Hargreaves A. and Fullan M., What’s Worth Fighting for in Your School?, Teacher’s College Press, New York, 1991.

2 Nonaka, I. and Takeuchi, H., Hitotsubashi on Knowledge Management, John Wiley and Sons, Asia, 2004.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Contrived Collegiality

This is one of three patterns of collaboration that entrench status quo.

“The unpredictable nature of collaborative cultures can lead administrators towards forms of collegiality which they can control, regulate, and tame.” 1

Contrived Collegiality

People in leadership roles often resist honest and open exchange. They don’t want change. They want it done their way. They fear loss of influence or status. They dislike confrontation. They feel external pressure. They are proud, defensive, in denial, or simply insecure.

With a courteous, professional veneer and a stated goal of collaboration, they suppress equal participation by:

  • controlling the schedule, conversation, or process,
  • withholding or misrepresenting critical information,
  • defining the collaborative task or roles too narrowly,
  • overly constraining allowed responses or behaviors.

Within an agile context, a product owner can prescribe a solution then use the agile planning to solicit a limited range of responses:

“Is it feasible?” “How long will it take?” “How much will it cost?”

All Scrum guarantees is that these questions will consider a manageable chunk of the application. But whether it’s a user story, minimum marketable feature or a full specification these questions fail to engage the life experience and passions of the team to addressing the core problem or opportunity.

Go on to create an environment where contrary thinking is a problem, define “buy in” as a lack of visible dissent and you’ve placed the development team in a black box they cannot see out of and you cannot see into.

Contrived collegiality leaves the product owner out on a limb. You’ve limited the chances of anticipating risks, redefining the opportunity in some dynamic way, and invention at any but the tactical level. Despite agile processes and a surface of collaboration, you are relying almost solely on your own abilities to avoid, as Mike Cohn says, “the wrong thing, on time and on budget.”

1 Hargreaves A. and Fullan M., What’s Worth Fighting for in Your School?, Teacher’s College Press, New York, 1991.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Collegiality Versus Collaboration: Getting our Hands Dirty

Merriam-Webster Online defines:

collegiality as, “the cooperative relationship of colleagues.”

collaboration as, “to work jointly with others or together especially in an intellectual endeavor.”

In the article, Norms of Collegiality and Experimentation: Workplace Conditions of School Success, Judith Warren Little places true collaboration at the end of a continuum of collegial relations.

Starting from weakest to strongest:

Of these four, only joint work is “strong enough to contribute to a collaborative culture of enduring benefit.”

Joint work is the sharing of tacit knowledge. Tacit knowledge is acquired through experience but difficult for the holder to express in words. It is core to craftsmanship and mastery.

Tacit knowledge is transfered when we work in collaboration with another person. In The New Product Development Game, Nonaka and Takeuchi call this “osmotic” learning and consider it the first phase in the organization knowledge creation process.

Nonaka and Takeuchi describe how attempts to design the first bread maker failed miserably until an engineer apprenticed herself to a baker, learning by doing the movements required to kneed great bread. She took that learning back to Matsushita, devising a paddle system that became an essential innovation in a wildly successful, new class of home appliance.

The relationship between product owner and team in most agile projects is certainly collegial. We communicate by story telling. Participants make themselves available to help each other. We share explicit knowledge across business and technical domains as best we can. However, all of this falls short of true collaboration.

The lesson I take away is if we want to foster creativity and innovation we need to get past the barriers of status and roles, go beyond talk, roll up our sleeves and labor together — joint investment, joint consequences, and joint work.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

If it ain’t this, it ain’t Scrum

Jeff Sutherland has an interview on InfoQ where he describes the Nokia Test for evaluating whether a team is practicing Scrum:

Iterative Development
A precursor to Scrum is practicing iterative development of any kind.

  1. Fixed iterations of not longer than six [weeks]1
  2. Working software at the end of each iteration
  3. Start iterations without requiring a “complete” specification
  4. Testing during rather than at the end of iterations

Jeff states, “this rules out about half of (self-identified) Scrum teams.”

Scrum
The minimum to foster self-directed development teams working to clear business priorities using the tracking mechanisms of Scrum.

  1. Got a product owner? A single, empowered person who works directly with the team to determine what to build.
  2. Does the product owner have a product feature backlog? Is that backlog prioritized by business value? Is it estimated by the team?
  3. Track work with a burndown? From that, can you derive a velocity?
  4. Hands off during an iteration? “Nokia has a rule that you can’t have a project manager interfering with the team in the middle of an iteration because that stops the self organization.”

Jeff’s been saying for years that if you don’t have a backlog, you don’t have Scrum.

The first thing we lost in the acquisition process was our product owner. From there the rest deteriorates. Without a strong, empowered product owner the backlog becomes arbitrary and so does planning work against that backlog. See what that does to talented developers used to fueling themselves on intrinsic motivation.

It will be at least as hard to re-build these practices as it was to build them in the first place. The work of the new year and perhaps many years to come…

1 corrected from six months to six weeks.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Collaboration and Product Ownership

I’m presenting a paper, Great Scrums Need Great Product Owners, at the Hawaii International Conference on System Sciences.

The presentation is part of the Agile mini-track co-chaired by Jeff Sutherland and Hubert Smits. I co-authored the paper with the senior member of my product team, Ilio Krumins-Beens.

We survey literature to describe pragmatic and collegial relationships which satisfy the definition of collaboration and honor roles while barely tapping or actually working against the potential of a project and its participants. These limited forms of collaboration are common not just in our industry but within agile projects.

A common interpretation of the call for a single Product Owner is that the development team itself should play little part in shaping the vision and value priorities of a product backlog, focusing instead on efficient delivery of those priorities.

One of our major sources are the What’s Worth Fighting for series by Andy Hargreaves and Michael Fullan on collaboration in education.

The disempowering climate faced by teachers is a direct parallel to that faced by software developers disengaged from the business vision and value priorities of their work.

“… [W]e have collectively 45 years of teaching experience and nobody has ever asked us our opinion about anything where it would actually be put into action. And yet I’ve got to have more experience with junior [children] than a lot of the people who are telling me what I should be doing with them. And I think that is very frustrating… I think I could help bring a lot to it and nobody ever asks, no one ever asks what we think. They just go ahead and proclaim and we have to follow.”

Its tragic how talented, experienced people are not allowed to bring their full selves to their work.

We contrast this with unbounded collaboration between a product owner and team. In unbounded collaboration an individual’s contribution is not constrained by their role or status.

It is a collaboration built upon high-performance, mutual respect and deep trust. The product owner walks a tight rope, engaging the team in an evolving product and business plan while guiding the project toward her vision and high-level goals. The team is passionate about the product they are building and feel personally accountable to the product’s success.

We argue that this kind of collaboration is at the heart of agile values and is a characteristic of the knowledge-creating companies upon which lean principles are based.

I’ll write more about unbounded collaboration, it’s opposites, practices we’ve used and what we’ve learned.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

The Scrum Master’s Dilemma

My daughter Miya and dog friend Sophie 2002 by kjudy

A metaphor for the Scrum Master is a vigilant sheepdog protecting their flock.

At the Fall Scrum Gathering, I met practitioners facing different challenges in their agile practice.

Some faced profound impediments that their organizations were unable or unwilling to address. The effect on the project and team was dire and the Scrum Master had exhausted all avenues to raise alarm.

It’s human nature, unfortunately, to associate an unpleasant message with the messenger. A vocal Scrum Master can be seen as the problem.

In those fraught circumstances a Scrum Master has to balance the interests of the team, the company and themselves. Can the project deliver in spite of the obstacles? Should the Scrum Master accept the dysfunction or not? At what cost?

As Ken Schwaber says in Agile Project Management with Scrum, “A dead sheepdog is a useless sheepdog.” Still, a useless sheepdog is also a useless sheepdog.

As JP Boodhoo says, “develop with passion.” As my friend Luke Melia says, “live with passion.”

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Story Card Hell

I was recently asked the following question:

“I’ve been dropped into a situation best described as “story card hell.” How do I reduce complexity of the software project planning without losing features?”

The project was to replace an existing system. The behavior was largely known. As a result, the initial planning generated enough cards to feel like, “way too much detail up front.”

My answer:

Don’t lose the work you’ve done but don’t place more value in it than it has.

Step back to think of the application as a phased set of releases. Talk with the team and product owner about a way of delivering the system in meaningful pieces that customers could (and hopefully will) use. Get creative with defining those steps as long as they lead you down a path towards your ultimate goal.

Once you have that road map. Do an exercise with the team to group your existing stories into those releases. There will be a natural tendency to add and change stories. That’s fine but don’t get too distracted by it. The main point is to get a sense of the relative size of the releases and move the bulk of the stories out of your immediate planning concern.

Now focus on the first release. Spend more time on those stories but still not with the scrutiny of an iteration plan. Make/allow the team to live with ambiguity. Set up an agreed upon rule of thumb for how much bigger a “theme” is from a real “story” and let the team know it’s okay to discuss these things at the “theme” level.

Story Cards

Then prioritize your release backlog. Have the team chunk the remaining vague stories/themes into future iterations for that release. This is your release plan. Expect it to change. Again, you’re getting a rough sense of how many iterations in the first release and moving later stories out of your immediate concern.

Now you can focus in detail on the stories for the next one or two iterations without getting drowned in details. Don’t be surprised if future stories become irrelevant or drastically change as you get to the iteration within which they fall. It’s okay.

My answer was based on what we’ve tried to do at Oxygen with coaching on release planning from Hubert Smits.

Here’s the full thread off LinkedIn.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Focus and Variety

BlurCoaster by Kjudy

We have seven developers growing to eight. The team is funded from two P&L’s so from the outside we’re considered two teams. We work on two projects at a time, one from each P&L.

We used to run one backlog with developers pulling stories from either project. In the sweet spot where both projects ran smoothly this was great. But that proved short-lived. Churn in one project slowed the other and context switching took a toll on the team.

So we split the work into two backlogs. Everyone sits in the same room but developers are “assigned” to one project. As a side note, I actually planned on having two rooms but the team said “no”.

This change has created more focus. Developers know what they’re working on, churn in one project has less effect on the other. The Scrum is easier to run, plan and track and progress appears more regular.

The change is a qualified success. Four may be too small for sustainable pairing. If anyone goes on vacation or is sick, the pairing practice starts to break altogether.

So to retain the focus of two small teams but gain the benefits one slightly larger one, we’ve loosened the assignments. Developers are asked to work on a specific project but they can switch if they feel the hate. The leads can switch people as well.

Management is often about embracing contradiction. We need to find our way to both variety and focus. It’s all a work in progress.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]
ken h. judySoftware Executive Mgr, developer, father and husband trying to do more good than harm.
CSPIEEE CSDP

Papers

Presentations

 

 

Site menu:


Blogroll

Colleague

Family

Me

Meta

tallman by miya judy

What I'm Doing...

  • "He’s an Arab." "No mam, he's not. He’s a decent family man — citizen" As a response 60% less hate enflaming but - at best - 5% less racist. 6 hrs ago
  • To PA for the weekend. Past the unnervingly competitive sport that is ny penn st boarding and lucky to be sitting together. 7 hrs ago
  • New blog post: Mixed message http://tinyurl.com/3tn6qe 19 hrs ago
  • His followers should boo him. You can't inspire people to hatred and then tell them to be "respectful". 20 hrs ago
  • McCain, you can't just tell your followers to be "respectful", you've got to moderate Palin's "he's not one of us" ack-ack. 20 hrs ago
  • More updates...

Posting tweet...

Powered by Twitter Tools.

Creative Commons License
This work is licensed under a Creative Commons Attribution - Noncommercial - Share Alike 3.0 United States License.
Copyright © 2006-2008
Ken H. Judy.
This is a personal weblog. Views expressed are my own and not my employer.