Some good advice in here that resonated with my own experience.
If you really believe that software is subservient to the outcome, you’ll be ready to really find “the right tool for the job” which might not be software at all.
There is no “right” architecture, you’ll never pay down all of your technical debt, you’ll never design the perfect interface, your tests will always be too slow. This isn’t an excuse to never make things better, but instead a way to give you perspective. Worry less about elegance and perfection; instead strive for continuous improvement and creating a livable system that your team enjoys working in and sustainably delivers value.
People talk about innovation a whole lot, but what they are usually looking for is cheap wins and novelty. If you truly innovate, and change the way that people have to do things, expect mostly negative feedback.
The important piece that gets forgotten is that Agile was openly, militantly anti-management in the beginning
Boom! A great way to start. Now we’re off:
The project manager’s thinking, as represented by the project plan, constrains the creativity and intelligence of everyone else on the project to that of the plan, rather than engaging everyone’s intelligence to best solve the problems.
And then a summary of where we’ve landed in the history of Agile:
It turns out that prioritizing individuals and interactions is a hard concept to sell. It’s much easier to sell processes and tools.
It turns out that working software is harder to produce than unrealistic plans and reams of documentation.
It turns out that collaborating with customers requires trust and vulnerability, not always present in a business setting.
It turns out that responding to change often gets outweighed by executives wanting to feel in control and still legitimately needing to make long-term plans for their businesses.
Where Agile ended up is the antithesis of its vision. You either die a hero or you life long enough to become the villain.
The iron lays in the attempt to scale a concept anchored in the small scale.
Trying to scale a methodology that focuses on individuals and interactions will inevitably lead to problems – and erode the original value of the methodology.