Incremental software development methodologies can be traced all the way back to the 1950s, but it wasn’t until 2001 that “The Agile Manifesto” created a comprehensive and landmark account of agile development and why it’s a better, lighter approach to creating software faster.
Ever since then, developers have been using agile methodologies to improve the speed and flexibility of software development through operational improvements, but most other groups within the same company have not adopted a similar philosophy.
Conceptually we’ve bottled up agile as being for software developers, as if speed, flexibility, and complexity weren’t also issues held within every other departments of fast-paced software companies. When software developers are using agile methodologies, but nobody else is, developers become like the clique group of school kids who share a foreign language nobody else understands.
This has caused us to limit the potential for agile frameworks, because they're only implemented operationally, but not strategically. It’s like a wooden boat full of rowers. They might have seamless coordination and full visibility into the work of their colleagues, but they can’t see the captain’s orders up on deck.
From a developer’s perspective, this makes the direction given by leadership seem ill-timed, disjointed, and contradictory. Developers may begin to think their VPs and C-level executives are pulling them in too many different directions. In actuality, turbulent seas require constant and sharp adjustments to reach the end of the storm in the right direction and position. This creates rapidly changing orders that reach our boat’s rowers in inconsistent clumps through a series of messengers that often distort the original meaning or delay delivery.
What our boat needs is a glass deck, where the programmers can see directions given by the captain directly and respond in real-time. We need an agile company, not just agile software development; a company with middle-managers instead of middle-men. By eliminating the messenger phenomenon, companies can become faster, leaner and more responsive strategically while gaining more confidence in the company’s leadership and direction.
So how do we get a glass boat? Get your boss (and your boss's boss) on board with agile. Make it a company-wide initiative, instead of a developer one. Once you have people on board, there’s a few key processes you need to implement to align software development with company strategy.
- Part of the reason management feedback on strategy is so untimely is because developers and managers aren’t working in the same sequence. If management operates in the same sprints the developers do, the team will get strategic input just in time for the next sprint.
- After each sprint the Product Owner needs to re-adjust the backlog based on strategic priorities. This means each sprint needs to have strategic objectives identified for it ahead of time, so you can quickly identify which backlog items are now the most important as priorities change.
- Communication from the VP & C-level often come to the development team in slow-moving e-mails or powerpoints, which creates a disconnect between strategy and execution. Providing specific new weightings and new objectives only once-per sprint will give teams more instant and clear direction.
- Last, but certainly not least, the glass boat is all about instant visibility all the way through the command chain. This means instant and highly automated reporting both for information moving down the chain of command and for information moving up. Just as the top of the company needs their strategies implemented quickly, feedback from the bottom needs to be consolidated and presented to the top so they can make informed decisions.