For years I have told myself and others that there are two different types of software engineers. The ones who request and follow step by step instructions and the ones who prefer to be given a desired outcome and set loose to find the best way to achieve it. Today I want to challenge this perspective. After years of industry experience, working with hundreds of developers, I have come to the realization that Outcome Driven Development is the future because it drives superior results and it motivates even the most by-the-book engineers in a way that a detailed specifications document never will.
They say that all children have limitless imagination and potential. Yet somewhere along the way most of them get their hopes and dreams drained out of them through the realities of daily life. It is not that some children have hopes and dreams and others don’t. It’s simply that experiences along the way sap our ability to dream or imagine a brighter future. I have come to believe that this is just as true with software engineers. I have seen many who would prefer a detailed requirements document, but I have never come across one who doesn’t love solving problems and designing solutions on their own. Based on this experience I would say that those developers that rely on a detailed specifications document do so because their experience has shown them that it’s the only safe way to proceed in their current or past organization. I believe this comes from a toxic CYA (Cover your A$$ culture) where everyone is pointing fingers and documentation is the only way to protect your job and avoid a bad annual review.
The alternative approach is more collaborative and focuses on giving an engineer, or more often, a team of engineers a set of desired outcomes and then letting that person or team develop a solution that achieves the goals. This aligns with Agile Principle #11 which states:
Principle #11 – The best architectures, requirements, and designs emerge from self-organizing teams.
Outcomes Drive Profits
The goal of business is to provide enough value to a customer that they are willing to pay for your product or service. In order for a business to stay open it must be able to pay for itself while providing a meaningful profit to its owners. There are exceptions to this rule, for instance when a business is focused on social good, they trade profit for impact. The large majority of businesses however are singularly focused on providing value to customers to generate profits for the owners.
With that established, it should be obvious that everything a business does should either provide more value to the customer, therin generate more profits, or increase the profit of the owner directly through decreasing cost and improving efficiency. So who is it that decides the best thing for each person to be working on to achieve one of these two goals? In Traditional Waterfall Project Management the answer would be upper management or a project manager. In this model, the project manager details out exactly what needs to happen and then monitors it to ensure everything went according to plan.
This means that there are only a few people at the top deciding how a business is going to achieve the goal of increasing profits, and everyone else is expected to follow marching orders. This concept has worked in the past (See my article on The History of Project Management) but it drastically limits the potential of the organization.
In today’s world, democratizing this effort and allowing more people to take part in the strategy to increase profits has proven to be extremely powerful. This is the concept of Agile, where, instead of detailed requirements, teams are given desired outcomes and then empowered to find the most efficient and successful way of achieving the outcome. In the software industry specifically, there are always one hundred ways to accomplish anything. We can either let a singular person define the best way, or allow a team of highly skilled and experienced individuals leverage their creativity to find the best solution.
The team approach will always get you closer to your goal because the team members are ultimately the ones making the daily micro decisions around architecture and functionality. If the team is empowered and given a clear understanding of the desired outcome, they can focus their daily decisions around achieving the objective vs simply building another app or feature.
I have seen this on numerous occasions where a product manager tells a team to build a feature, then when the feature is released everyone, including the team, are disappointed by its adoption or impact. Instead of a product manager, or even a project manager, telling the team what to build, they should be giving the team direction and then empowering them to meet objectives. Here is a example to show the contrast.
Example 1: Build an app that can take mobile payments.
- Feature 1 – Login page
- Feature 2 – Manage Account
- Feature 3 – Process Payments
Example 2: Build a widget that can take mobile payments.
- Outcome 1 – X number of first time users in 30, 60, 90 days
- Outcome 2 – X number of return users in 30, 60, 90 days
- Outcome 3 – X dollars processed in 30, 60, 90 days
In the first example, we have what I would call a Feature Factory. This team has been tasked with turning out as many features as possible as quickly as possible without regard to their adoption, customer engagement, or profit potential. The second example is what I would refer to as a Value Creation System. This second organization clearly understands that the goal of business is profit and they hold everyone responsible for driving those profits higher.
With Outcome Driven Development, everyone is aligned on the goal, and everyone plays a critical role in growing the company. This brings me to the next point, when you get your teams focused on the overarching goal of the business, you drastically increase the employees buy in.
Outcomes Motivate Employees
Companies should be masters of outcomes. Let individuals enjoy the thrill of the journey. – NH
A world class company leads with a well defined vision. The reason vision is so powerful is that it inspires ownership. A good vision does not include a detailed project plan or list of features. Rather a good vision lays out an idealistic future state with the high level outcomes and objectives needed to get there. When this vision is distilled down the ranks effectively, you end up with a cascading matrix of desired outcomes.
This happens in most companies today, but somewhere along the way a level of management will feel that it is their responsibility to turn these desired outcomes into detailed plans. It is at this point downward in an organization that you will see demotivated employees putting in their hours, hoping to avoid attention by doing what they are told.
Agile organizations are different, they don’t allow management to translate the vision on behalf of the team. Instead, the goal is to clarify the vision by distilling it into desired outcomes, then to pass the vision and outcomes down to the team for final translation. Passing the ownership downward creates a paradigm shift for Traditional Project Management by assuming the team members are competent and capable of translating the outcomes into actionable items on their own.
Thousands of companies have made this paradigm shift over the last 20 years, especially in the technology industry where teams are made up of highly educated engineers who are often more qualified to translate vision into deliverables than their management. In many of these companies we see a revolution of highly engaged and motivated employees who both understand the bottom line and understand how their work impacts it.
In his 2011 book Drive, Daniel Pink presents the three key factors to employee satisfaction and engagement. These are:
- Autonomy: The ability to affect one’s own future and influence the future of one’s group.
- Mastery: The knowledge and ongoing affirmation of one’s own expertise.
- Purpose: The validation that one’s efforts contribute to something larger than one’s self.
Giving teams the ability to define their own solutions to achieve the desired outcomes is a perfect example of Autonomy in action. It also fulfills the need for Mastery through validating an employee or teams expertise by trusting them to achieve the given outcomes.
This shows that Outcome Driven Development enables two of the most critical factors for employee motivation. Let’s be honest, motivated employees create the best solutions, move the fastest, and achieve the most. For this reason alone I think it is clear that Outcome Driven Development is the Future and companies who do not adopt this concept will fail to adapt and remain competitive in the modern economy.
Motivated employees who are focused on increasing profits are important, but this by itself will not ensure your organization’s success. The third benefit of Outcome Driven Development however is the key to your organizations competitive advantage.
Outcomes Drive Innovation
When a factory worker is told to work on a line, they are seldom, if ever, encouraged to be innovative. This is because the innovation happened when the plant was being designed and the processes were being put into place, innovation in a single roll on the plant floor could interrupt the coordination of the whole plant. For years Traditional Project Management has taken this same approach. It teaches us to let innovation happen at a higher level of management and let the individual contributors focus on their designated tasks.
This might be necessary for the factory worker who lacks a formal education and does not possess a general understanding of business operations, but this is not the case of knowledge workers today. More specifically this is nowhere close to reality for the software development industry where the average employee is highly educated and creative. Relegating engineers, designers, system architects and other type roles to a predefined step in a process debilitates one of your company’s greatest assets. Peter Drucker, in his book on Management Theory, explains that manual laborers are expenses on a budget sheet, where knowledge workers are assets of the company. The best way to leverage those assets is to empower them to make decisions inside of reasonable constraints. This frees and motivates them to design and build innovative solutions that exponentially increase the value of the product or service.
The best way to empower and harness the innovative power of a group of knowledge workers is by giving them a challenge and then giving them freedom to come up with the best solution. This is where Outcome Driven Development comes in. If the business can focus on defining the desired outcomes, and not detailing the specific function, they can then enlist the creative power of their workforce to innovate.
Innovation comes from motivated and experienced employees being guided by desired outcomes.
Outcome Driven Development is the Future. At least in the highly complex and competitive technology industry. Companies who can create a compelling vision, distill that vision into objectives, and then allow the individual contributors on a team to define the actual solution will outpace organizations using the traditional command and control structures of Traditional Project Management approaches. As stated above: “Companies should be masters of outcomes. Let individuals enjoy the thrill of the journey.” If we can do this we will motivate our employees to accomplish more than we ever dreamed possible.
Stay tuned for my next article, which will include suggestions on how to implement a holistic Outcome Driven Development culture in your organization.