Values Driven Development

I hereby coin the phrase ‘Values Driven Development‘ (Value with an S).

Please do not think this is a Software Methodology like Test Driven Development, Behaviour Driven Development, or even Stackoverflow Driven Development, which is similar to asking your cuddly toy on your desk what the problem is.

Values Driven Development is the philosophy and methodology of using ethical, moral, professional and aspirational values to drive a software development company versus the current perception of value (aka money).  Think of it akin in style to the Agile Manifesto‘s values, but prevalent at all levels.

Although there are overlaps with Tom Gilb’s Value Driven Development, my proposition is inherently different.

I will describe how a typical perception of Value could restrict corporate growth and employee satisfaction when coupled with Agile methodologies. I’ll explore some example values and how they could influence the decision making process. There’s nothing scientific, no hard data, just opinions.

None of the following statements are, in anyway, to be associated with the internal workings of MooD International.

The risks of agile pipelines

It may be no surprise that software businesses want maximize their Return On Investment, driven by C-Level ‘Outcomes’. This typically trickles down the employee stack into a value driven pipeline (Value without an S). User Stories have business value –  or they don’t get done. The backlog is filled with a large stream of valuable work that is aligned to some business outcome. The teams will be busy being successful. Sounds great, right? Let’s high five our Agile process!

Targets are targets, you’re very likely to get what you want, or probably less, very rarely more. If you think “We value exceeding targets over meeting them” is the answer, then you are a sheep. There is a huge risk that the outcomes themselves have limited the potential for growth.

Agile/Scrum can make matters worse as the teams can be lead into a false sense of security, thinking that the best work they could be doing is in this ‘value pipeline’. Depending on how good your PO is, or how confident your team is at jumping around the PO, it’s hard for the team to challenge that. The culture can quickly become purely ROI/Value driven. Which sounds great to some, but you only get what you ask for.

Usually the best ideas occur when people stop and think, or just try something else out. But when there’s targets, and a stack of ROI priority stories – failure isn’t an option, and there’s little capacity for free-thought, innovation or taking risks. Scrum can stimulate a highly intense and stressful work pattern, it’s not called a ‘walk’ its called a ‘sprint’. In all the amazing speed agile provides, it can give the impression that value is being delivered, whilst driving into submission talented, creative individuals. Today’s developer has to tolerate a vast amount of complexity in their work. Such complexity requires an amazing amount of brainpower, willpower and focus. Are we getting the most value out of them? – is the big question.

Is Agile broken?

No, of course not. The Product Owner should be responsible for making sure that they are fostering an awesome team environment, but sometimes that can be lost due to a sustained barrage of ‘must do’ work. You could argue that one possibility is to spark up an R&D agile team to allow creative software types to design and prototype new cool toys in their own playpen. – Enter the land of team-envy and reduction in team morale for all other teams! Besides, that may use only a fraction of your team’s potential. Imagine there’s a dev called Jo, Jo had all the bright ideas last year but is critical to Project X, so he’s not allowed in the R&D team. He might actually make you a few million with his next crazy idea, but still I don’t believe the answer is to move him because of his track record.  That’s just the talent you see, rather than the talent yet to be discovered.

What to do?

Change the culture. Put values first and foremost, from the top down. Make the values public, caring, meaningful. Foster the independent growth potential of all employees, not just the rockstars you know about. Let those values help guide ROI and value judgements and where necessary produce examples of how those values could manifest and change decision making.

Example Values

We value supporting employee’s creativity and innovation over continual backlog work.

e.g. Rotate employees out of a sprint to do what they want, and show the team afterwards.

We value continuous professional development over ‘resting on your laurels’.

e.g. that conference they’ve been going on about, send them on it. Insist employees keep learning, and provide time for it.

We value telling the customer the project will be late over making teams work unreasonable hours.

e.g. The cost of recruitment, burnout, morale is not free. Quality reduces in tired employees. Demonstrating integrity, honesty and caring goes a long way.

We value repeated, sustained business with customers over impulsive or risky delivery schedules

We value paying employees their fair market rate over just what we can get away with

We value quality over quantity

We value the work you’ve not done over blindly following a request

We value face to face communication over email

We value focusing on getting a single job done over having many jobs ‘in progress’.

We value failure of a task over never having tried something challenging

We value our reputation for tight web security over any customer deadline

Where’s the profit?

What’s the cost if you don’t?

 

My next post shows a diagram of how I see the hidden world of values being used to drive a more focused set of work items aligned to values.

Advertisements

One thought on “Values Driven Development

  1. Excellent post. I’m happy to see talk about developers and environments from a human/creative perspective.

    “It’s not called a ‘walk’ its called a ‘sprint’” is something I can see myself quoting in the near future.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s