cyphersec A blog about Web Application Security and .NET development best practices

27Jun/090

The miracle of collaboration

1384952210_81c119458c

In economics, a game is something in which “players select actions and the payoffs depend on the actions of all players”.

The planning game is a structured approach to creating the best possible plan given the information available.

XP assumes that customers have the most information about value: what best serves the organization. Programmers have the most information about costs: what t will take to implement and maintain those features, To be successful, the team needs to maximize value while minimizing costs. A successful plan needs to take into account information from both groups, as every decision to do something is also a decision not to do something else.

Accordingly, the planning game requires the participation of both customers and programmers. It’s a cooperative game; the team as a whole wins or loses, not individual players.

Because programmers have the most information about costs – they’re most qualified to say what is important – they prioritize.

During the planning game, programmers and customers may ask each other questions about estimates and priorities, but each group has final say over its area of expertise.

The result of the planning game is a plan: a single list of stories in priority order. Even if two stories are of equivalent priority, one must come before the other. If you’re not sure which put first, pick one at random.

How to win

When customers and programmers work directly together throughout this process, something amazing happens. It’s called the miracle of collaboration. It really is a miracle because time appears out of nowhere.

Like all miracles, it’s not easy to achieve. When programmers give an estimate, customers often ask a question that cause every programmer’s teeth to grind: “Why does it cost so much?” The instinctive reaction to this question is usually quite defensive: “It costs so much because software development is hard, damn it! Why are you questioning me?

There’s always a better way to react. Reword the customer’s question in your head into a simple request for information: “Why is this expensive?” Answer by talking about what’s easy and what’s difficult.

For example, imagine that a product manager requests a toaster to automatically pop up the toast when it finishes. The programmer reply that the feature is very expensive, and when the product manager asks why, the programmer calmly answer, “Well, popping up the toast is easy; that’s just a spring. But detecting when the toast is done – that’s new. We’ll need an optical sensor and some custom brownness-detecting software”.

This gives the product manager an opportunity to ask, “What’s about all those other toasters out there?” How do they know when the toast is done?”.

The programmer respond, “They use a timer, but that doesn’t really detect when the toast is done. It’s just kludge.”

Now the product manager can reply: “That’s OK! Our customers don’t want a super toaster. They just want a regular toaster. Use a timer like everyone else.”

Programmer: “Oh, OK. Well, that won’t be expensive at all”.

When you have honest and open dialog between customers and programmers, the miracle of collaboration occurs and extra time appears out of nowhere.

Without communication, the customers tend not to know what’s easy and what’s not, and they end up planning stories that are difficult to implement. Similarly, programmers tend not to know what customers think is important, and they end up implementing stories that aren’t valuable.

With collaboration, the conflicting tendencies can be reconciled. For example, a customer could ask for something unimportant but difficult, and the programmers could point out the expense and offer easier alternatives. The product manager could then change directions and save time. Time appears out of nowhere. It’s the miracle of collaboration.

About Alessio Marziali

Alessio Marziali (MCTS) is a Security Consultant with 9 years of experience developing secure applications with Microsoft .NET in a variety of sectors in UK and Italy. Published technical author with two ASP.NET books currently available for purchase and OWASP Code Crawler Project Leader.
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


CAPTCHA image

No trackbacks yet.