6

Don’t let developer toil affect the business value of your apps

 2 years ago
source link: https://devm.io/agile/developer-toil-apps
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Speeding up your software release cycles

Don’t Let Developer Toil Affect the Business Value of Your Apps

Michael Coté

03. Aug 2022


Michael Coté, Staff Technologist at VMware looks into how to address developer toil to speed up software release cycles, make developers more productive, and increase the business value of your apps.

It is no surprise that the world today is driven by apps. Organisations all over the world are basing their business goals on their capacity to integrate new apps quickly, and they need to constantly reimagine how they interact with and communicate with their consumers and employees 1in order to fulfil changing expectations.

To do this effectively, businesses need to operate at a high level of speed and agility. But in many cases this isn’t happening. The phrase ‘move fast and break things’ could not be further from the truth when it comes to how enterprises approach innovation today. In fact, according to Forrester Consulting, 48% of executives say they haven't changed their applications in a year or more.

One reason for this may be that organisations are dealing with a high amount of developer toil and technical debt. Developer toil is the repetitive, predictable, constant stream of tasks that support the creation of software and how it's run, but don't actually affect the features in the software that people use. Or in other words "any activities that don't directly create business value”.

Typically, developers spend too much time on processes that could be automated or even eliminated. Ironically, this toil builds up over time as their organisations prioritise shipping features rather than addressing these problems in their overall software process. While developers can change their software quickly at first, just like debt in real life, if this toil and tech debt are neglected, it takes over and consumes the organisation's ability to grow. This results in long, infrequent release cycles. A feature that seemed simple and once took just 15 minutes now takes weeks, even months to get in front of users.

Conducting a Developer Toil Audit

Anything you can do to speed up your software release cycle will improve the quality, resilience, and business value of your software. Continuously addressing developer toil provides a significant boost to your organisation's software capabilities. For one of VMware’s customers, addressing developer toil reduced the time taken to introduce a new feature significantly – from 400 hours to just 24 by doing a developer toil audit and addressing key factors contributing to this technical debt.

So how can organisations overcome developer toil? One way to do this is through a Developer Toil Audit. This is a systematic process for finding, valuing, and prioritising fixing waste in your software process. First, the process finds wasted time and process debt in how you build and release software. Second, the process then helps you justify delaying working on features in favour of eliminating and automating your software creation process. The result is speeding up your software release cycle. The more frequently you can change and release software, even with just small changes, the more opportunities you must learn what works and put those features in front of customers, employees, and other users.

The process of conducting a Developer Toil audit includes:

  1. Asking the right questions: A great way to uncover developer toil is to ask about people's struggles, frustrations, and even boredom in the form of a tailored question set. We advise using questions that are specific to your organisation in addition to general questions like "how long does it take to perform a full build?". For example, highly regulated organisations should ask about tasks involving compliance. Once the survey is completed, you can do some quick analysis to locate and prioritise developer toil.
  2. Combine into usable metrics: You now have a single metric for each type of developer toil. And by combining all the questions you create a single metric to track overall developer toil. Extra points for creating dashboards with visualisations! As with all such aggregate metrics, these are more directional than exacting - their job is to point you to problems that should be solved.
  3. Link these metrics to business value: A simple ranking of developer toil is better than nothing. However, before deciding which developer toil to address, we recommend linking each type of developer toil to business value created by fixing the toil. Put briefly, the value you get will be related to the time saved, and, thus, the ability to ship more features in the future.

The less time developers spend on toil, the more time they can spend on tasks that directly benefit the business. Another way of looking at this is plain old productivity: developers can now do more with the same amount of time.

Another important outcome is increased staff morale. The less time developers spend on boring, repetitive work – toil – the happier they'll be. Stronger employee hiring ability and retention are, or should be, a strategic imperative for any organisation that depends on software. Morale also increases software quality: happier people make better software.

Slow Down to Speed Up

With the survey results in hand, you should have a pretty good idea of which developer toil to fix. The last step is to do the usual product management prioritising to weight fixing these items with other tasks you could do. These are strategic decisions that product managers need to make. To fix toil, you need to stop shipping features to free up time. You need to slow down the business. At the start, before product managers have been empowered to make these kinds of decisions, higher level management should be involved to calibrate how much slow down you're willing to put up with for future agility. The calibration you're doing is this: if I fix one item of toil and ship just one feature (instead of two) this release cycle, then in the next release cycle I can ship four features. Humans are not great at that kind of bird in the hand versus birds in the bush thinking so you'll need to figure out what works in your organisation.

Through our experience as consultants working with product teams in different industries, we’ve used Developer Toil Audits to focus and motivate product managers and developers to fix toil and speed up their release cycles and, thus, improve how their organisations build software. This directly improves the business by adding more capabilities and capacity to deliver more features, even in the short-term. Each time you fix any technical debt, you gain more capacity and capabilities to create new features and improve your software. This is how you use a modern software culture to increase business agility. Or, put more simply: less developer toil leads to better software, and better software leads to better business.

Michael Coté
Michael Coté

Michael Coté, Staff Technologist, VMWare, studies how large organizations get better at building software to run better and grow their business. His books Changing Mindsets, Monolithic Transformation, and The Business Bottleneck cover these topics. He’s been an industry analyst at RedMonk and 451 Research, done corporate strategy and M&A, and was a programmer. He also co-hosts several podcasts, including Software Defined Talk. Cf. cote.io, and is @cote on Twitter.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK