Is Your Software Team Sticky?
Without that shared vision, the team is likely to pull in different directions, even with frequent communication. Extreme Programming calls this "Metaphor", but I think that doesn't go far enough.
What's needed is something "sticky". Something easy to remember, logical, and simple that can form the basis of the little decisions that we make every day when creating software. A Prime Directive, if you will.
An example might help here.
Susie Songstress has a vision of a new website that will put singers and songwriters together to create beautiful music. She sees this as her life's work, and is dedicated to improving the world through music.
Susie hires a team of Agile software developers and explains her vision. They set to work brainstorming stories, asking Susie lots of questions, having her prioritize the work, and away they go.
Meanwhile, Susie goes to put on a concert to end hunger for a week, and asks the team to continue working. How can the team make good decisions while she's temporarily unavailable?
Susie leaves the team with a core message:
We help create the simplest, most effective forum for singers and songwriters to find and work with each other. We are an online Woodstock, dudes.
Armed with this core idea (which could be boiled down to "Online Woodstock, dudes"), the team is ready to make decisions with Susie in mind.
Their first challenge - Susie never mentioned what fields the registration page should have.
Fred, one of the developers, thinks all registration pages should ask for name, address, phone number, email, and birth date.
Ursula, an interaction designer, remembers Susie's message, and says: "If we were at Woodstock, dude, would we want to be hassled by the man for all this information?"
Fred says "Hmmm, I see what you mean - how about just a first name and an email address for now, with the other fields optional?"
OK, this is a bit contrived, but the point is that with the right core idea, teams can be empowered to make the best decisions they can when the customer is not available.
This is not a license to forgo conversations whenever possible with the customer, but it is a useful tool for embedding the project vision and values into as many people as possible, especially new or distributed team members.
How do you spread your vision?