Teams, Stories, & Projects

4
Teams, Stories, & Projects Selected newsletter articles by Michael Wilkes, Disambiguator

Transcript of Teams, Stories, & Projects

Page 1: Teams, Stories, & Projects

Teams, Stories,

& ProjectsSelected newsletter articles byMichael Wilkes, Disambiguator

Page 2: Teams, Stories, & Projects

Why are projects so hard? Well, four different variables have to come together in perfect harmony for them to work, as shown in what’s called the “iron triangle.”

Let’s look at a simple task to see how these four things work together. Suppose that you are asked to fill thirty jars with jellybeans from a big tub. The skill required is moving jellybeans. An easy job, right? If you can keep them out of your mouth, that is (which leaves me out).

The Scope has been nicely quantified as “thirty jars.” You probably have some idea how long this will take. That estimate will form the scheduleor Time component. If you charge $10 an hour for this type of work youcan come up with the Cost of the job. Piece of cake, right? Scope, Time, and Cost are all taken care of. How about Quality? What? Only a moron would screw up quality when filling jars with candy! Not so fast. Let’s ask a few clarifying questions before we submit our job quote:

- How big are the jars? Are we talking Bama-style jelly jars, Vlassic whole pickle jars, or the kind of jar the Samaritan woman was carrying when she met Jesus? The difference in volume and weight is considerable.

- How close to the top of the jar is considered “full?”- Are the jars already empty and clean or is jar preparation required?- Is the climate dry or do we have sticky beans?- Will the jars have lids?- Do the jars have labels? Are they preprinted?- How big are the jellybeans?- Are you providing a scoop? How big?- How big is the tub holding the jellybeans?- Can I reach into it comfortably?- Will I be standing up or sitting

down?- Do I have to wear gloves? Who buys those?- What are the hours of the bean packing plant? Do I need a badge to get in? About now you’re thinking I’ve lost my mind, so let’s get to the point: If a simple task can have this many unknowns (variables), how many do you think your technical project has?The devil, as they say, is in the details. This is

why we ask so many questions when a project begins... because jellybeans are a terrible thing to waste. 

Respect the Craft!

Page 3: Teams, Stories, & Projects

Defining Agile Features "As an online customer, I want to receive an email receipt after making a purchase so that I can have a receipt for my records."

Agile software teams rely on User Stories to guide feature development. The story above provides three essential ingredients needed to make useful software:

WHOThe ‘online customer’ above is the user type, or role. Knowing the role of the person that requested the feature is important for several reasons. First, it reduces feature bloat. One of the best ways to cram software full of features that are rarely used is to take features from people who are not actual users of the software. This could be a manager or a developer or simply an opinionated person sitting in a demo meeting. The phrase “It would be cool if…” can waste a lot of time and money.

Second, the role information gives us perspective on how the feature will be used. Senior managers have very different needs from customer support staff.

Third, the role context helps us understand what permissions should be wrapped around the new feature.

WHATWhen we talk about software features, we are usually talking about the what part of a request. That is, what the feature should do; it should calculate or display or print something. Example: Send email receipt after purchase. As we investigate the basic statement of need, questions will arise such as:- Can there be multiple addresses?- Can the user override the email used?- What will the body of the email contain?- When should the email be sent?Answers to questions sharpen the focus of the feature. WHYIt is tempting in our haste to omit the “so that…” piece of the user story but it adds important color and backstory to a feature. Often this rationale can be used to improve the software. Let’s look at a couple of examples.

Example 1: “…so that I know that the system did what I expected it to do.” If the user listed this as the reason for wanting an emailed receipt, we would argue that an on-screen success message is a better way to give the user that confidence. This is more immediate, probably easier to program, and doesn’t require an email address or interacting with an email server.

Example 2: “… so that I can forward the receipt to Accounting.” If this is why the user wants a receipt, we should be asking more questions about why Accounting doesn’t get the information they need. Perhaps we should find ways to get financial transactions to the right people. Relying on a manual forward from a user email is a poor communication bridge.

User Stories provide the foundation — who, what, why — of a new feature request. This launches a dialogue with your software team that results in features that are not only valuable, but are efficiently produced.

Page 4: Teams, Stories, & Projects

Why Articulate Team Values?

SHARED VALUES What is it that makes a team click? What do high performing teams have that others don't? One answer is a set of shared core values. What are core values? They are shared beliefs of a foundational nature. Timeless touchstones of a culture where people feel at home with each other.  Many well-known companies like Google, Zappos, Facebook, and Whole Foods take the time to gather and articulate their core values. Example:  I am empowered to create unique, memorable and personal experiences for our guests.   ~ The Ritz-Carlton

BENEFITS

The process of figuring out your team values is real work, so it’s fair to ask whether the process is worth doing. Here are the key benefits of articulating your core values:

1. Identity – Create team pride.

2. Culture – Describe how it feels to work here.

3. Success – Define behaviors rewarded here.

4. Speed – Facilitate conflict resolution.

5. Affinity – Attract and retain talent.

6. Transparent – Appear acquisition-friendly.

IMPACT

The keel of a sailboat is a useful model to illustrate the impact of team values. A keel helps the boat stay upright (don’t tip over) and stay on course (don’t slide sideways). To do so, it offers some friction in the water but this is a price we gladly pay for the safety and progress that the keel affords. The benefits of articulating your team's shared core values far outweigh the effort it takes to discover them.