It's easy to be agile with a small codebase, it becomes much harder with a large one. The more time I spend around software development teams implementing a microservice architecture, the more I see just how agile an approach it can be because rather than one big codebase, we have many smaller ones.
Some of the most dangerous words I hear in my consulting travels are 'we're building a framework'. It's a compelling idea but it never works out well. Reuse of components is good, but you need them to be useful before they can be reused
Nimbus is an easy to use API for the Azure Service Bus to make the development of Microservice and distributed applications easy.
The value in agile software development is in releasing software to users more frequently and learning in order to build the right thing. The practices help us get there, but aren't the end goal in itself.
After spending time working with a lot of companies building software I have a lot of ideas on what makes the good ones successful and it all comes down to how fast they can innovate. This is going to be a major theme here for a while.