Chapter 2. Effective Software Delivery
The architecture you choose generally has to deliver over several different timescales.1
You want to see at least some benefits in the short term, because a large up-front investment with no immediate reward makes people nervous.
In the medium term, you want to reach the sweet spot where your architecture enables you to be effective. For me, effective software delivery means you can:
-
Regularly deliver real business value
-
Maintain appropriate service levels
-
Adapt to change so that you are always working on the most important things
-
Provide people with an environment where they get to spend most of their time on meaningful work
-
Keep risk to an acceptable level
But beyond that, what about the long term? In much of my career, the long term has generally meant a big-bang rewrite and the rebranding of the system as “legacy.” This is, however, costly.
So, can you avoid having to start over?
This chapter will discuss all these aspects of becoming a high-performing and effective software delivery organization, in the specific context of microservices. I will introduce the tools, techniques, and processes that will help you be successful in each aspect, and the ways you can assess—or hopefully measure—how well you are doing.
These are all things I’ve spent the last five or six years wrestling with, first as a Principal Engineer for the content publishing platform at the Financial Times and then as a Technical Director with a focus on engineering ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access