In my last blog post, the last sentence said:
[The length of time needed to complete an ADR] will vary on the team and the change needed, but is one way to align the team to move nimbly, not just quickly.
Why did I separate out moving quickly from moving nimbly?
What the heck’s the difference, and why does it matter?
When you picture someone moving quickly, you may associate that with rushing. I know I do. I picture trying to get all the kids out the door to the car to get them to school on time, or attempting to ensure three kids get to soccer and ballet on time.
When you picture someone moving nimbly, they are generally quick of pace, but even if they aren’t, they glide with a sort of confidence that isn’t found otherwise. They may hop from rock to rock, crossing a creek, but they’re sure of their footing and sure of the next rock.
That’s moving nimbly.
Put another way, a buffalo stampede moves quickly. You don’t always want that. What you do want is to be sure of your footing, and to take the right step at the right time. That’s how you move nimbly.
That’s where alignment comes in, and why an Architectural Decision Record is so important to gain alignment (and to move nimbly).
Alignment: a position of agreement or alliance
You may not always agree; and in fact if you’re using an ADR right, you’ll have periods where people disagree before they realize that they’re just seeing the same set of events in a different way. But the part of alignment I want to focus on is alliance.
Everyone may not agree with the best course of action, but everyone agrees on the goal, and aligns themselves with that goal and the chosen course of action, even if they don’t agree with it.
This is where the ADR comes in.
An ADR allows you to put the zeitgeist to paper. This is important because not everyone sees the same events the same way. If you put the business and architectural and team considerations into an ADR, you’ll uncover how other people think when they give you feedback, and you’ll learn what is important to others.
They’re the ones you’re trying to get alignment with. That’s how software is made. With other people. Without everyone being aligned, you won’t get much done.
You want to produce better software, faster. You want to move nimbly. You want to gain alignment, as it allows you to move nimbly. Gaining alignment allows you to produce better software, faster.