Monday, 21 March 2016

Making Money Through Science

Businesses exist to make money; their purpose isn’t just to generate revenue, but to create profits, now and in the future. Generating profits means delivering products or services that people want to buy. The creation of what people want is the entire purpose of delivery pipelines. (NB: The rest of this article will use ‘product’ to refer to both products and services.)

Generate an idea

Determining what people want is not easy, but it can be simple. The best way to determine whether people want to pay for something is to put it in front of them. Some companies do this by creating a completely finished product which has been fully designed, architected, and tested before a customer sees it. They want it to be perfect before showing it to customers and getting feedback. There’s only one problem with this approach: they can’t be sure what the customer wants until it’s in front of them. It’s entirely possible to waste an entire product or service delivery budget creating something nobody wants. It’s a huge risk, whose upside (if you’re exactly right) is often more than outweighed by its downside (what if it turns out the product doesn’t actually have a market?).

Hypothesise

The only time we find out if a product is valuable is when we get feedback from the customer. That means the faster we get feedback, the faster we can decide whether we want to continue, change, or cancel the product. The same is true when changing products – a change is only valuable once a customer is using it, and can provide feedback on it. (The corollary to this is that until a product is being used by a customer, it has absolutely no value.)
The logical extension of requiring customer feedback to find value is to work in ways that enable feedback as quickly and frequently as possible. Get your product in front of a customer, and see what the feedback is. Then adapt. This is also known as applying the scientific method to product development – generate an idea, form a hypothesis about the idea, create a means of testing the hypothesis, test it, draw conclusions, and adapt.

Image is CC-SA
In order to test whether your new approach works, make sure you measure what matters – how long does it take for an idea to come into the company from the customer, be developed, tested, released, and be back in front of the customers, happily being used. Don’t measure the time in each stage, as the customer can’t see them. The only thing the customer cares about is how long it takes to deliver a working, usable product, from end to end. And all you care about is whether that time is stable (with some degree of predictable variation), and whether your changes are improving it.

Test

Shortening feedback cycles means changing the way you organise product development. Rather than focus on who answers to who, and drawing it in an org chart, focus your teams on rapidly delivering products to customers. The focus should move from working on each phase of development to working on what customers need.
If you need analysis, development, and testing, then put them all together so they can figure out how to respond to customers quickly. If you write software, put in testing and deployment automation, so you can rapidly deploy small changes that customers see immediately. If you work on a large product, with lots of dependencies, start working on separating the components so development in one area doesn’t require testing and changes in a completely unrelated area.

Conclusion

You’ve changed your company. You’re now looking at how product development works, rather than on how people work on product development. And you have a measure you can use to determine success. It takes less time than it did before to deliver new features and products. They’re higher quality, and customer feedback is improving. Your measures indicate that you can get new features out the door in a predictable amount of time ( between X & Y days).
Your focus is no longer on production, but on flow. Keeping it there can be difficult, but it’ll significantly improve delivery, which will improve profits now, and in the future.

Adapt

Your first experiment worked. Now it’s time to see how you can continue to improve it. What factors contribute to product delivery timelines? After you’ve identified them, think about how changing them will change your delivery time scales, and whether a change in one area will impact another adversely. Focus on the areas that appear to be bottlenecks, and improve them until they stop being bottlenecks. Then repeat.


Feedback

Help me adapt. Leave a comment, or reach out to me on Twitter (@nrcantor) to let me know what you think and what you’d like to hear about next time.

I first wrote this article for the OpenCredo blog

Thursday, 17 March 2016

Fear Kills Improvement

I originally authored this piece for The Register. This is the original, unmodified version.

Fear is the Great Motivator

Fear is a great motivator. Fear pushes adrenaline. It primes our fight-or-flight response. It primes us for a confrontation. Fear shuts down our higher cognitive functions, priming us for a visceral response, on top of which we layer rationalisation. Fear ensures continued survival of our species in times of dire straits. When we are afraid, we have only our intuition and built-in responses to draw on. When we are afraid, we cannot accept feedback, respond to things which run counter to our expectations, or learn. And so, a culture in which fear operates is one in which no learning takes place. Fear kills change.
In the last 200 years, work has changed significantly. Most of us do not face daily threats to our continued existence. But our fear response remains. We still respond with adrenaline when threatened, or embarrassed; we still shut down; we still lose our capacity for higher reasoning and openness. And it kills improvement at work. It kills creativity. And it's common.
Needless to say, fear is a response borne of perception, not reality. There doesn't need to be a tiger in the bushes in order for us to think there's one there, and react accordingly. There doesn't need to be a threat to our continued existence for us to believe there is one. In a world where we are taught to define ourselves by how successful we are at work, how much money we make, how influential we are, and how people see us, threats to our continued existence do not have to be life-or-death. Job loss, income loss, prestige loss, or promotion loss all generate a similar response. And the idea that trying something, but not succeeding at it, is frequently tied to more than one of those losses, making us risk averse, and afraid of experimentation.

"The ability to learn faster than your competitors may be the only sustainable competitive advantage." - Arie de Geus

Knowledge-heavy roles (such as IT or management) require learning in order to be effective, or help the company succeed. Learning through experience and mistakes is necessary in any role that brings about change, whether the goal is figuring out how to convert page views into sales, or transforming your business into a leaner, more effective organisation.
Knowledge economies are driven by learning - the converting of information into knowledge and understanding. Without learning, we cannot progress; without learning, our companies can't adapt; without learning, we are doomed to eventual replacement by companies with newer ideas that we couldn't test. And this is a problem, because it's culturally ingrained - we are taught not to speak out in class, if we don't know the answer; we are taught not to ask too many questions; we are taught to keep our heads down when we don't know the answer. We are taught to fear failure. And so failure gets swept under the carpet, never to be acknowledged, never to be embraced, never to be learned from.
Agile, Lean, Kanban, and DevOps all attempt to remove this fear by explicitly creating conditions where experimentation and learning are encouraged. All too often, however, the adoption of these processes fail, not due to failures in the processes, but due to their incompleteness. To see how important addressing fear is, all we have to do is look back to the theory that gave birth to every one of these movements - Deming's Theory of Profound Knowledge.

Deming, A (Very) Brief Introduction.

Edward Deming revolutionised Japanese manufacturing, starting at the end of WWII. He went into Japanese companies, spoke with Japanese executives, and told them that in order to succeed, they would have to start thinking of organisations as systems, where optimising the system and optimising parts of the system are not the same thing. Deming had 14 points for management; point 8 is
"Drive Out Fear: Encourage effective two way communication and other means to drive out fear throughout the organization so that everybody may work effectively and more productively for the company."
Deming recognised something that has been shown repeatedly through research - fear inhibits learning. Deming encouraged management to see mistakes as opportunities for learning, and failure as a stop on the path of progress.

The Value of Mistakes

Mistakes are inevitable. By punishing mistakes a company (explicitly with firing, or implicitly through reduced career or salary progression) doesn't eliminate them, it merely ensures that nobody will talk about them. And nobody will talk about the fact that nobody is talking about them. The entire organisation will collude in hiding mistakes in order to avoid feelings of embarrassment or threats (Argyris, Knowledge for Action). Any company in which failures are not openly discussed, in order to be learned from (without any sense of blame or shame), is not learning effectively.
Companies rarely explicitly punish failure. Instead, there are unspoken rules about the acceptability and impact of failure - fewer promotions, reduced raises, fewer hours, worse reviews. These unspoken rules leave no room for improvement, and must be changed for a company to start learning. Words won't change them. Changing unspoken rules requires action. Admitting failure requires vulnerability, so creating a culture that learns from failure also requires vulnerability, usually in the form of managers making their own failures, and learnings, more visible. Making it obvious that everybody makes mistakes, and only by admitting them can we learn from them. This, in turn, gives their employees the opportunity to experiment, fail, learn, and improve, more visibly.
The scope for improvement through vulnerability is downward facing, only, meaning that managers can start improving things by admitting vulnerability to their staff, but the only way to create organisational change is for senior managers to admit their failures, to themselves, to their peers, and to their subordinates.

Conclusion

Admitting failure isn't easy. It can make us feel vulnerable. The alternative is worse. The alternative is not admitting failure, not admitting mistakes, not learning from things we know are, or were, wrong. Companies which can't learn from mistakes stagnate, and eventually fail.
Fear and change are mutually exclusive. Any organisation that creates a place for one necessarily drives out the other. If we choose change, and adaptability, and learning, we choose an organisational life with difficulties, challenges, and hard work, in order to maintain a culture that embraces and reinforces learning, whatever the source. While it sounds difficult, it's the only life I'd choose.

Tuesday, 2 June 2015

Leave-taking and New Horizons

Over the last 2.5 years, I have worked with a number of charities, and had a fabulous time doing it. I've met some great people, with real passion for what they do, who are making a difference in the lives of the people they're helping. I was a part of that. I never delivered direct services. Instead, I helped them do better, more effective work, often through technology. It was my great pleasure.

And now it's time to move on.

I have done what I can, and found, looking back, that things were not working for me. The issues had nothing to do with our clients, or our mission. I leave behind some people who will continue to pursue working with charities with passion and drive. They will carry the torch, and continue to change the not-for-profit sector for the better.

I am moving to new opportunities, which I was too captivated by to pass up. While a lot of the work I've been doing over the last few years has been with small charities, I now have a chance to apply what I've learned to large organisations throughout London, the UK, and the world.

Many organisations have been caught out by the rate of change in technology, over the last 10 years. Traditional job roles, hierarchies, and silos, don't work when technology makes it easy to put something in front of a customer in a few minutes. The imperative to make sure everything is 100% perfect before releasing is being eroded by the idea that rapid change, and rapid recovery, is more valuable to customers. Monolithic projects taking 24 months are being replaced by very small iterations that take 12 hours. Releases which used to keep teams up late at night on a Friday, and over the weekend, are being replaced by releases which take 3 minutes and happen constantly throughout the day.

This is the future, and companies want it. They want to be able to be more responsive to their customers. They want to be able to make rapid changes. They want to be able to make changes in one system without affecting an unknown number of other systems. We will help deliver it. We help make that possible, with agile development practices, microservices, continuous integration, and configuration management, largely in cloud environments. That, alone, is pretty fascinating. And it requires changes in how companies work.

Change creates chaos. Poorly managed chaos results in failed projects, unhappy customers, and poor morale. Every change has ripples. The bigger the change, the bigger the ripples and the more likely to cause unforeseen problems. Unmanaged change has a tendency to fail, over the long term. While you can change individual processes, how the company thinks about those changes can stay the same. When the change agent leaves (a consultant, a local champion, or senior stakeholders), the old ways reassert themselves, slowly blunting (and often reversing) the changes. That's where I come in.

My new role will be to help organisations figure out what change they want to make, figure out who needs to be involved, and figure out how to achieve it. This will overlap with the technical changes that are being implemented. Working in tandem will make things more effective than either of us working alone. Together, we can change culture. Together we can change technology. Together, we can change everything.

Thursday, 21 May 2015

Working at the technical level

My preferred method of engagement with a client is with the senior team. I'm hoping to bring a new viewpoint and ways of thinking to them which, in turn, will allow/facilitate changing their organisation to be more data-driven, experimental, agile, and reflective.

Sometimes it's unclear where help is required. When this happens, we get called in at the easiest level - technology - because it has discrete problems which can be captured, quantified, and solved. And truthfully, a lot of what we have to offer is about addressing technical problems. We have lots of experience solving these sorts of problems, and they can often be done with little disruption to the rest of the organisation.

Working to address things at a purely technical level requires no change. The new solution, which works better than the old one, will be fit into the organisation in the same way and same place as the old solution; if it doesn't work in the same way, it will fail, and thus we will fail. While this clearly suits some problems, it doesn't resolve the challenges that brought us in in the first place. It solves what is essentially a symptom of problems created elsewhere in the organisation (or system). Solving problems this way, without understanding the entire system, and being able to test changes made on it, is tinkering. It ultimately leads to decreased performance; the old way of doing things had known problems, while the new way has unknown problems.

Given that sometimes everybody is brought in to work at a level that's different than where they can be the most use, how do you move from where you are, to where you want to be? The key, I think, lies in framing - asking questions that allow you to expose the areas that haven't been thought of. Talk to the team you're working with, and work to address their challenges, while at the same time helping them become more aware of what's happening around them, and how those things are impacting them. The more aware they become, the more likely that they'll talk to management, and ask them to speak with you about what's going on. Lather, rinse, repeat as necessary until you're operating within your preferred sphere of influence.

This is not a quick fix. It requires deep knowledge of the team you're working with, and an understanding of why things are the way they are (what's keeping them there, and what's stopping them from trying to change), and why they want to change things (what's pushing them away from where they are, and what's tempting them to change). This knowledge gives you a thorough understanding of the current and future environments, and you can start talking about change.

The goal here is not to push change, but to be the catalyst, the agent, of change. What you bring to the table is knowledge of a better, different way to do things, and what they bring to the table is themselves, and their domain knowledge. If things go well, what you leave with is a sense of satisfaction, and what they leave with is a burning knowledge that things can improve, and an idea of how it can happen. Once that fire is lit, it's nigh on impossible for someone else to put out. With that fire lit, you become an adviser, a mentor, a guide. Instead of trying to drag people to progress, you can point it out, and let people figure out for themselves how to get there.

Tuesday, 21 April 2015

Learning to change

We have been working with a charity, over the last couple of years, going through clarification of their strategy, applying an IT strategy, and a few IT projects. During this time, we have also been working to help them make systematic use of data, and the organisational change that goes with making that shift. This is, as far as I'm concerned, the cornerstone of good organisational practices, and the most valuable part of approaching IT from a strategic perspective.

This charity works with volunteers who come from the UK and spend several months overseas, as part of the International Citizen Service (ICS). Volunteers apply, interview, learn what country they're going to, get any vaccinations, work on the program, and continue involvement upon their return.

Satisfaction rates were lower than expected, due to a high volume of complaints around expenses. Expenses for the program are all paid, including travel and vaccinations, which can reach £500-1000. Volunteers frequently don’t have that kind of money, so timely expense repayment is crucial.

They originally thought the an automated expenses system would fix everything, at a cost of thousand of pounds per year. They couldn't figure out why people were unhappy - they told volunteers that expenses would be repaid within 4 weeks, and they were sure everything was being repaid in 4 weeks or less (2 weeks for the repayment team to verify expenses, and a payment run every 2 weeks).

When we dug into the data, we learned there wasn't any. Nobody kept track of when expenses came in, when they were signed off, or when they were paid, so nobody knew whether the process worked. They had defined a process, and assumed it worked.

Our first step was to create a spreadsheet to keep track of when expenses came in, and when they were paid. From this data, we learned that it took anywhere between 5 and 115 days to repay expenses. Normal repayment time was anything up to 51 days.

Screen Shot 2015-03-18 at 13.33.36.png


Armed with this data, we gathered everybody responsible for any aspect of expenses repayments in a room and mapped out what the process was supposed to look like, as well as what the process actually looked like. They identified 6 things that could be changed to improve the process, some of which could be undertaken by those in the room, and some of which would require external help.

Armed with the new ideas, we talked to the senior team about the changes that needed to be made, then implemented them and measured their impact by seeing whether the expense repayment time was reduced. Once those ideas were bedded in, new ideas came up, and more after that. From 5-50 days, the team reduced the repayment time 16-22 days, from start to finish. Reliably. And continues to work on it.

Screen Shot 2015-03-18 at 13.38.04.png

Once they understood how to capture the problem, and measure it, they were able to make the process reliable, and fast. Feedback started improving. Reported experiences were better.

The cost of this project was £0, plus time spent learning, which they can now share with the rest of the organisation.

This happens frequently when digging into 'IT' problems. Things which look like IT problems turn out to be something else entirely. This isn't unusual.

So, if approaching IT strategically isn't about software or hardware, what is it about? I define IT strategy as
the application of knowledge to organisational and stakeholder needs*, with the possibility of IT contributing to the fix, when the time is right
 No matter what needs you look at addressing it, ultimately, none of it matters if you aren't addressing end-users' needs. Focusing on stakeholder needs allows people to step outside their daily roles, seeing things across departments, and helping people understand that they're all working toward the same goals. It moves the conversation from 'accountability' to 'collaboration,' from 'What do I want?' to 'What do our stakeholders need?' With increased collaboration and understanding comes better prioritisation, and increased focus on the things that really matter.

At the end of the day, your organisation is only as effective as its ability to serve its users, whoever they are. Helping everybody focus on external user needs moves people from 'mine' to 'ours,' and helps them think about how their work contributes to the organisations purpose. Giving them the tools necessary to measure their effectiveness allows them to figure out whether what they're doing works, and provides an environment in which they can try to do things differently, and learn whether changes make things better. It becomes a short jump from this to working to constantly improve things, and when you've reached that point, you're set - it does't matter where an organisation starts; if it learns to constantly improve, it'll eventually be the best organisation of its type.



Thursday, 26 March 2015

Working with Apprentices (Part II)

Having recently published Working with Apprentices (Part I), I am now saddened to be taking a new tack - What happens when apprentices leave? This post will, as ever, try to be brutally honest about where I am.

I talk a lot about how to address things so they go well. What happens when they don't? Sometimes, despite doing everything you know how to do (and learning new things, to try to help more); despite building an environment where people are comfortable; where there's no fear of failure; where saying "I don't know" is seen as an opportunity for learning, not ridicule; where coaching is a given; and where advice can be sought for any problem, things don't work out.

We recently went through this with an apprentice. Things didn't work out. Clients were happy with his work, he was curious, resourceful, and imaginative. He helped address problems in new ways, and was very popular.  We worked with him for 18 months, and spent many days coaching, mentoring, teaching, and listening. We learned about his life, his problems, his challenges, and his plans to resolve them. We approached problems as learning opportunities, and to the full extent possible, worked with him to help him figure out how to resolve the issues that impacted him and us. We acted as a sounding board and raised red flags if something was a problem.

Given all of that, how did things end up where they did?

The truth is, I'm not sure.

The details of the case don't particularly matter, other than to say that by several measures, in spite of all the good stuff, parting ways was a reasonable choice, and nobody would have been surprised if it had happened 12 months before.

But it sucks. I work for a charity that intentionally hires people who may have had difficult backgrounds. People who may not have worked before, who may have difficult home lives, who may need help, and who have not inconsiderable challenges. Not everybody who comes to us faces those challenges, but they're not uncommon in the demographics from which we recruit. Part of what we do is to hire people as apprentices, and teach them how to become people-focused IT consultants.

At what point do you say, 'In this case, we have failed. We are not the right people to provide the help that's required?' The truth is, perhaps we could help him, if we did something differently, or were persistent. Perhaps if we'd spent a bit longer, approached work a bit differently, framed things slightly differently, given him more/less autonomy/responsibility/freedom/training, we wouldn't be sitting where we are now. But there's a conflicting truth that we must face, as well. It's the same one every charity faces - time we spend working with one person is time we can't spend working with someone else. Charities that we could be working with aren't being helped, because we can't schedule meetings reliably, can't count on having someone there who we need, and can't give them the focus and attention they need.

Assuming the goal is to meet the needs of our staff and our clients, maximise our impact, minimise our harm, and help as many organisations as possible get a better understanding of IT, then we have to recognise that sometimes things don't work. We choose to draw a line, which says, 'At this point, we are no longer working toward the same goals, and we are no longer a good fit for each other.'

I can no longer help this person, but perhaps this will serve as a wakeup call, and perhaps he will finally help himself. At this point, that is my sincerest hope, and I'd love to see him again, someday, when that has come to pass. Hope, in the face of adversity, is why we do what we do. So we don't say goodbye. Instead, we say, 'Until next time,' and we hope that our paths cross again.

Tuesday, 17 February 2015

Working with Apprentices (Part I)

When I tell people about that we recruit people with no IT experience and teach them to be IT consultants, they frequently ask what it's like working with people without experience. After doing it for a couple of years, I can honestly say, it's no different than working with anybody else. This is frequently a surprise to people who think people without experience won't know how to behave or how to do anything. They think we'll have to be firm, or 'cruel to be kind,' to get results and to keep them from dropping off the apprenticeship.

We understand this view, but don't subscribe to it. We don't want to be the same as other companies, so we don't treat them the same as other companies. Ours is a company where we value autonomy, mastery, and purpose. We use a cardwall to ensure everything that needs to be done is visible to the whole company; break things into pieces to give us a chance to iterate and constantly improve; don't judge other's behaviour; and ensure we always focus on the area that needs our attention the most.*

This changes things. In an organisation that keeps information hidden, people can't learn how to behave, or what to do, without making mistakes, or being told (which frequently takes the form of 'behaviour management'). By opening up the needs of the organisation so everybody can see them and can choose what to work on, we ensure that even people with no experience can find something to do that needs to get done, and which they're willing to take on. This appeals to their desire to achieve mastery, and their autonomy, and we do it for everybody.

Our process comes with risks. Sometimes people get lost. They don't know what to do, or they don't know how to structure their work so it's achievable. Our job (regardless of experience level) is to help people figure out what needs to be done, and how to make it possible. Sometimes that's me asking apprentices questions, and sometimes it's them asking me questions. It's a give and take based on equality and respect, where experience and length of service mean less than empathy and learning, and the more you know, the more likely you are to spend your time helping people who know less.

Sometimes people make mistakes. Mistakes are inevitable, if you're learning, and pushing boundaries. For us, the important thing is to learn from those mistakes - to reflect on the process that lead to the mistake, rather than who is responsible for making it - so we can do things differently in the future. We approach every project, every task, every need as the current step in an iteration. Learning is an ongoing process which never ends. Our apprentices start out shadowing more experienced consultants and working on a service desk. Over time (6-9 months), they pick up enough experience to run their own small, supervised projects. In the next 9 months, they start running projects on their own and mentoring new apprentices. Within 18 months, they go from knowing nothing about IT to running their own projects and taking responsibility for the results, challenges, and learning.

It is my sincere privilege to watch them grow and change, learn and improve, and to embrace and unleash their own potential. They learn to look within themselves for their self-worth, and I couldn't be prouder of them for it.


*How we do these will (probably) be explored in later posts. As with everything else, this is an ongoing work in progress.

You can read my follow-up post here.