Value, Flow and Quality

The PMI Announcement

As a result of the news that the PMI have endorsed Agile Project Management I was doing some reading around the topic and came across this article.  The question posed seems like a very traditional project management question because it is asked from the basis that everything is delivered at the end of a project.  It doesn’t consider that a scope could be wrong, or the times are impossible or the costs are not enough. This is what project managers are taught and this is one of the reasons that so many projects fail, in my opinion.  To be able to predict an arbitrary date sometime into the future that is months, years or decades away is a nonsense.  Predicting how much money you might spend or what the scope might be during that period seems even more impossible to my mind.  And when you finally throw in poorly managed engineering techniques which diminishes the quality, you are always left at the end increasing time, budgets and reducing the scope. Without having built up any knowledge as to whether your predictions might be accurate or not people are committing to the parameters of time, cost and scope (quality is always high at the beginning of any project when it is just a thought in someone’s head, but diminishes when the reality of building stuff actually kicks in which is why the commitment of any project doesn’t really consider quality).

I know this is quite a glum scenario, but there you are.  It is still the most common scenario that I see in environments where projects are the norm and commitments are made to be concrete on the back of an approved project. I think the fact that the project is really the only construct discussed by the project management community is what creates this thinking – the clue is in the title!  I remember saying to a client a couple of years back ‘I guarantee 100% that you will NOT get 100% of the things you are thinking of right now on the date in your project plan that is over 18 months away.   But, how about we work with a little more uncertainty and we aim to deliver 60% to 70% between this date and this date approximately 18 months away so that we can get something into the field for a real trial with real customers, and we would have already got feedback on what we have been doing at regular intervals beforehand.  Which one would you prefer?’  The debate that this created was interesting, because people started to say: ‘well, it would be good to get something to play with before the end date and something we could show our customers’. Others were still very much: ‘well, we have to deliver everything on the date’.  So, I simply asked: ‘what is everything?’.  Stunned silence followed.

I know many of you will have been in similar surreal conversations in your work too, but it always strikes me as a little… well, stupid.  The proliferation of the idea that complicated projects can be predicted so accurately is absurd.  The XP game has demonstrated many times to many teams that even the simplest tasks (like blowing up balloons) cannot be predicted accurately until we have a few goes at it. If we try the same project over and over again, I guarantee we will get good at that project.

You get what you think about

I have come across this saying a number of times: Watch your thoughts for they become your words. Watch your words for they become your actions. Watch your actions for they become your habits. Watch your habits for they become your character. See your character become your destiny. I don’t know who this should be attributed to, but I do like it. In this context, it brings to my mind the fact that the focus of the project management community is focusing on the wrong things.

I remember when I got my first real budget responsibility as an IT Director.  It was a very significant sum of money and one of my more mature and long-serving colleagues took me aside and said: ‘Phil, always hit your numbers. Never underspend or overspend your budgets. This is the most important aspect of your job.  Hit your numbers and you will be fine.’  The young, idealistic me was a little taken aback by this advice. I thought the point was to deliver the projects and programmes, but apparently I was mistaken. How naive.

For me, the focus on trading time, cost and scope off against one another is the wrong focus.  I think managers should be focusing on Value, Flow and Quality.  Each of these words require many more posts to do them justice, but my intention here is to say that the project managers (or any managers involved in delivering products, services, systems, projects, programmes etc) should focus on creating these three things in their organisations.  I am not arguing that cost control is unimportant.  It is important. But, it is ridiculous to believe that this is the most important thing.  The biggest ‘cost’ of a business is a failure to turn ideas into valuable products and services that meet or exceed the expectations of customers.  Going further, there is an implicit cost of not delivering quickly.  For every extra day a feature takes to be delivered a day has been lost reaping economic benefit for that feature. This is the Cost of Delay and managers need to understand this.

Value is not fluffy

One argument I have heard on numerous occasions is that it is difficult to really understand the value of an individual feature or activity, and that’s why we focus on cost. We know how to deal with costs. Value is difficult to measure. This makes no sense to me. If it does to anyone who reads this, please try to enlighten me. I do want to learn.

In the agile community the word value is used a lot. In fact, in my experience it is overused and abused to argue for the things that people want to do rather than things that have real value (i.e. money/economic benefit). I hear the cries now: ‘What about other value types such as happiness of employees?’. Happy people has an economic benefit. Heskett et al postulated a model called the Service Profit Chain that links employees, customers and quality into a profit model. The challenge is creating a value model that works for your business that allows you to trade off different features, requirements and improvements in what you intend to deliver and the way you intend to deliver them. Please remember that any model you create can be refined as you learn more about how that model is being used. You might not get it right first time, but you can definitely have a good debate with your finance director about how you trade things off for the highest economic return.

Projects are short-sighted

One of the problems with projects is that they are inherently short-sighted.  A project manager is judged on their ability to deliver the project, however they do that. It doesn’t matter what state they leave any underlying IT systems, product architectures or people who were working on the project. Managing the assets of a business with a view for the longer-term is a philosophy that is promoted in lean, and is an important principle to be instilled in managers and should be considered when designing any organisational structures and philosophies. When I see organisations that are set up solely around projects and not the underlying components and systems I get nervous.  If more than one project manager affects a common platform without any need to care about the quality they leave behind and the ability for the next project manager to be successful then there is an issue. Projects do not promote flow.  They should be used more sparingly than they are.

Quality is not negotiable

One of the strongest statements that has come out of the agile community is that Quality is not negotiable. As I mentioned in a previous post you need to demand technical excellence. However, as I mentioned previously, when people think about quality at the inception of a project it is easy to think that your project is going to be of the highest quality, but reality bites when you get going. It is easy to have standards about your engineering when you are in the throws of thrashing out your requirements and design in a traditional project. But, why do we believe spending our time on requirements and design at the beginning of a project is more valuable and important than spending time of creating the right environment for building high quality software? Quality and productivity are inextricably linked. Poor quality now will slow you down in the future. Great quality now will increase the flow of value and improve speed-to-market over the longer-term.

A virtuous circle

Time, cost and scope are often called the Iron Triangle.  It sounds like a very negative phrase.  I prefer to think about something that creates a virtuous cycle.  Value, Flow and Quality creates a virtuous circle. This does not mean you are challenging the laws of physics as the article mentioned at the beginning suggested, but it does change the mindset about how you can manage your product, service and IT deliveries. The idea is to go as fast as you can possibly go. Managing projects to time, cost and quality hasn’t given us the ability to go as fast as we can go. If the PMI’s announcement starts to educate project managers to start thinking this way, then I believe it is a really valuable move for our industry. Time for a change? I think so.

The Quality Responsibility

A few weeks ago I was facilitating a session with a group of people responsible for delivering a software platform to support a number of very large institutions in complex markets.  The session was centred around how you could create more collaboration, predictability, communication and feedback into their delivery cycle and how the different groups and roles might better interact with each other to deliver higher quality, valuable software and solutions to their customers.  They have had problems meeting their commitments to-date and when they have delivered it hasn’t really met their customers’ requirements.  A common problem that we’ve all heard about many times now.

Their normal approach is full of hand-offs, long lead times between specifying something and seeing it in reality to provide real feedback, and very document rich to support people’s ailing memories across these long lead times.  During this session there was a real feeling of parochialism.  The Development Manager was arguing the QA needed to step up to do such and such.  The QA Manager was saying the Dev were always delivering sub-standard work.  Everyone was pointing at the requirements still being worked on.  And the designers and architects had such grand plans that weren’t achievable.  It was the classic example of the silo organisation.  The interesting thing is that all of their backs are against the wall because they have deliveries to hit.  My point to them was:  QA fails, you ALL fail.  Dev fails, you ALL fail.  Design fails, you ALL fail.  There was silence in the room and then the penny dropped.  They realised that they should be a team.

I read two blog posts yesterday that made me think about this situation.  The first was the TradableQualityHypothesis by Martin Fowler.  The second was Mike Gaultieri’s ‘Want Better Quality? Fire Your QA Team‘.  Both posts were ultimately about the ownership, accountability and responsibility of quality.  For some organisations they believe that quality is improved by spending more time on getting the requirements right.  For others it is about getting the design right.  For a lot it is about spending all the time on QA.  Not many firms actually believe (in my experience) that the developers are really the ones who can help because it has become for large enterprises a commodity – which is completely wrong.  However, for the teams and organisations who actually produce high quality work they understand it is about everyone systemically collaborating and working together to develop solutions.  Everyone is responsible for quality.  Interestingly, in Mike’s article, the extreme position of firing the ‘Quality’ team had the amazing effect of everyone else taking accountability and responsibility for the quality of the output.  It would be interesting to understand what actually happened and if it supported the hypothesis of Tradable Quality too.  My guess is that the Internal Quality was increased significantly as a result.

I’m not necessarily espousing that all teams need to fire their QA departments, but I am very much of the mind that all of the roles and responsibilities need to be blended into a one-team mentality whereby everyone succeeds or fails on each others’ quality and performance.  The key thing for me is that Managers and Directors need to understand that they will damage their future business unless they really understand this.  As I said in my last post, Demand Technical Excellence, or you will all have a case of high dynamic complexity and lots of finger waving when the IT platforms grind to a halt.

Demand Technical Excellence

Understanding Complexity

In his book Solving Tough Problems, Adam Kahane describes 3 types of complexity: dynamic, generative, and social.  Dynamic complexity describes the time and distance between when a cause is in introduced within a system and when the effect is stumbled across.  The closer the time and space of cause and effect the lower the dynamic complexity.  Generative complexity is the subject of how well known a problem is and how many time that problem has been solved.  In other words how predictable and familiar a problem is.  The final complexity type, social complexity, is about how aligned people and groups are in terms of assumptions, beliefs, values and objectives.  A well-functioning would ordinarily have low social complexity because people understand the values and objectives of the groups and take the time to share assumptions.

In emergn our jobs allow us to work with teams, projects, programmes and business units who are all looking to solve complex organisational issues that contribute to delivering products and services.  The techniques we deploy from the agile and lean philosophies are geared towards lowering these three areas of complexity.

IT is Business

My main interaction within enterprises are with IT Directors, CIOs, leaders of business change and other Product/Service Directors who have responsibility of delivering new or improved products and services to their customers.  One of the similarities of all our clients is that their businesses are highly reliant on IT deliveries and the quality of the software that forms the fabric of their operations.  In fact, most modern organisations are now so reliant on IT that any IT transformations are really business transformations.  This is quite a problem for a lot of businesses because a lot of people still see them as separate.  The old thinking of ‘we need to outsource software engineering/IT as it’s not a core part of our business’ needs to be re-looked at or, at the least, needs to be understood better so it can be managed better.

10 Years of Agile

I have been visiting a number of our clients over the year who are undergoing major transformations in their IT systems to better support their business need for increasing speed-to-market, lowering the total cost of ownership and creating better customer experiences.  This is a very common set of objectives and most companies are turning to agile and lean for solutions.  Over the last weekend, 33 people from the world of agile got together to celebrate the last 10 years since the agile manifesto was introduced and to discuss the next phase of evolution.   The first area that has been mentioned in every write up of the event is ‘Demand Technical Excellence’.  In my role prior to emergn I was responsible for tens of millions of pounds of software and I recognise this point to be so important.  I am often astounded (and dismayed) by the lack of interest by my peers in the need for excellent software craftsmanship and standards.  Even more discouraging is the belief that this problem can be outsourced to a company whose fulltime occupation is to deliver software yet fail to show the levels of quality you would expect.  This belief is often a bout of wishful thinking and sometimes comes with the belief that the harder someone stamps their foot and demands quality the more likely they are to get it.  My view is that if you want quicker speed-to-market, lower cost-of-ownership and better customer experiences then you’d better invest in quality.  Focusing on lowering the cost and speed of change of your software platforms will have a huge economic benefit for a business and will allow your customers to participate alongside you to develop excellent features that they really, really want.  For me, this renewed focus from the industry is an excellent outcome of the event.

So what?

My advice for enterprises is that they’d better hire people who really care about and understand software and their business, and know how to really manage and monitor the software being delivered and how it is delivered by outsourcing partners. Relying on wishful thinking and contracts that ‘protect’ them will not be enough to remain at the top of increasingly competitive environments.  This is a case of high dynamic complexity.  Poor software engineering has massive implications to a company yet the effects of the cause are noticed years later and for years to come and across many areas of an organisation.  This means the problem is not a simple one to solve, but one that will have a material benefit for a long time to come.

Companies that have moved forward with agile and lean transformations including rolling out Scrum, Kanban and other people/process oriented changes are making good strides forward which shouldn’t be ignored.  However, without the investment in the quality of software and improving the technical excellence competency, the transformation can only go so far and any investments in whizzy new strategic architectures will probably end up in the same place.

Agile Teams as Hotspots

Over the past few weeks I have visited a number of our clients to discuss how their Agile Enablements are progressing.  For me, it has been a hugely enjoyable experience to see and hear of the transformations taking place and the energy and value that has been created.  However, often it is not the response from the teams that is most telling of progress, rather the reaction of senior managers.  The reason that I say this is that senior managers get more than they bargained for by embarking on their agile journey.  The normal promise for any improvement in delivering software is Faster, Better and Cheaper, and most people have learned to live with improvement along one dimension against a trade-off along the others.  However, after only spending from as little as a few weeks to a couple of months with a coach learning the basics of running an agile team the key difference that people notice is the energy and drive of the people involved.  This is when the reaction of the senior managers brings a smile to my face.  They claim that their teams seem to be having fun.  Fun at work!?  How can this be?

Every person seemed to have a renewed interest in the value that they are delivering for their business partners and customers.  This is a repeating pattern that we find when we coach teams.  It has to be more than the Hawthorne Effect.

Is having fun an acceptable practice at work?

It got me thinking about the work Lynda Gratton has done on Hot Spots.  Her book is about how groups of people can come together to deliver amazing results.  It’s a book that explores “Why some companies buzz with energy and innovation – and others don’t”. She starts the book by saying that you know when you’re in a hot spot.

“You feel energized and vibrantly alive.  Your brain is buzzing with ideas and the people around you share your joy and excitement.”

This is what the senior managers were describing to me and I wanted to find out how the lessons and practices described in the book compare to and support agile.

Throughout the book the following equation is referred to:

Hot Spots = (Cooperative Mindset x Boundary Spanning x Igniting Purpose) x Productive Capacity

Bringing together and fostering cooperation that spans across and beyond organisational boundaries to work on a problem that supports a brighter vision of the future seems like a reasonable recipe for success, and the book explores a lot of examples and practices that support this.  However, it was the final element of the equation, Productive Capacity, that really piqued my interest in regards to the comparison with agile.  5 practices were identified that described how teams could increase their productivity and support more complex Hot Spots:-
1.    Appreciating Talents
2.    Making Commitments
3.    Resolving Conflicts
4.    Synchronizing Time
5.    Establishing a Rhythm

When I read on to understand these practices in a bit more detail I realised that these directly complement agile practices and principles.

A Rose By Any Other Name

Running an agile team (correctly!) directly supports the Productive Capacity practices required to create a Hot Spot.  Agile brings together people across organisational boundaries who have often not interacted in any meaningful way before.  This is the first step to appreciating other people’s talents.  The basic agile framework describes a number of key ceremonies that:

  1. get everyone making commitments publicly and not having commitments thrust upon the team through Release Planning and Iteration Planning (One volunteer is worth ten pressed men);
  2. synchronize everyone’s times to ensure participation in all the key planning and feedback sessions such as Show and Tells, Retrospectives, Planning games and Stand Ups;
  3. and establishes a cadence for releasing solutions.

The final link between agile and the practices behind Productive Capacity is in resolving conflicts – this can sometimes be the hardest part.  Running a project in an iterative way that is ‘planning driven’ and takes constant feedback will highlight problems (or opportunities) – daily.  It is the job of the team to address these problems and remove blockers.  Conflicts will arise and must be tackled.  These problems have always existed – agile highlights them.  The best teams that I have seen embrace the feedback and work together to resolve conflicts to continually improve.  When you can combine these practices with agile’s non-negotiable approach to quality you get really amazing results.

There are many examples of Hot Spots in her book – some of them are IT related, but most of them are not.  The Agile Values – communication, feedback, simplicity, courage and respect – supports a company’s ability to bring together high performing teams that create Hot Spots of innovation and performance.  If you could really have Faster, Better and Cheaper being delivered by people who are energised, motivated and committed to achieving your goals, wouldn’t you do it this way?  I know a number of organisations who believe the answer to this question is now a resounding ‘Yes’.