Brian de Haaff recently wrote this article about chaotic leaders and points out a few negative points that chaos will lead to. A good article in itself, yet I do miss the improvements that can be made… at the end of his article he mentions in a few lines the improvements.
We are all capable of achieving great things. But to fulfill that potential, people deserve a committed, trustworthy leader who will offer guidance, not confusion — stability, not chaos. So commit to helping your team reach big milestones. Solve problems instead of constantly pivoting and changing course.
IMHO these are valid points, yet how do you start actually implementing changes to move away from chaos?
Within the world of software development it starts with a clear and consistent vision for what your product should do, or what problem it solves. For some products and organizations this can be quite easy, yet for others it is really hard to define that vision. A product driven organisation differs also in that approach with a customer driven organisation; in the really short version you decide on the functionality of the product within a product driven organisation. In a customer driven organisation you in essence build what your customers want you to build, usually resulting in custom software. I know it is not as black and white as I describe it here, yet IMHO these are the foundations. And it is easy to fall into the trap of building custom software for customers to please them, yet that comes at a cost of more chaos if you have multiple customers to deal with and project deadlines.
How to avoid that? Be more like product driven organisations; set a clear goal and boundaries for the product. The boundaries, everything that you choose not to do, is more important than the actual functionality. This is also one of the foundations of lean. There are multiple abbreviations that come to mind, yet the one standing out is YAGNI: “you ain’t gonna need it”.
When it comes time to building new features and stay away from chaos is to let the development team come up with the best solution for the provided problem within a previously set budget. If the team is well aware of the vision for the product, they can come up with a good solution that fits the product. Besides this, ask your product’s users for early feedback on delivered functionality.