Values | Principles | Practices
After years of working with software-intensive systems we found what values are most important to deliver high-quality products. From those values we derived principles and practices that we apply in our daily work.
The fundamental features that we strive for
- The principles
We believe in following the patterns that have been proven to work in our experience but also in other long-living systems.
Nothing goes to waste
All effective systems aim to minimize waste. Each step in the process should yield something beneficial, either immediately or in the future. The output of each phase ought to lay the groundwork for the subsequent phase.
The most interesting things happen on the borders
The most challenging but also the most rewarding part of system are the borders between its components. The process must be designed in a way that facilitates the communication and transparency between its elements. The most interesting ideas and solutions are born at the edges.
Every element has multiple functions
The most effective systems incorporate elements that serve multiple functions, enhancing their value and efficiency. This principle is equally applicable to software development teams. When each team member is engaged in various activities, it not only boosts their engagement and efficiency but also facilitates smoother communication flow.
There is an appointed time for everything
While it may be convenient to shut down and work in isolation, implementing feedback loops in the system is essential. There is a time for building, and a time for cleaning. Similarly, there's a time for planning and a time for reflecting on the work completed. Such a self-correcting system enables adaptation to changing environments and ensures that everyone is kept in the loop.
Patterns should scale
The patterns that everyone understands should be reusable at different levels within the system. Feedback loops can be applied at the level of an individual's work, as well as at the team level over the course of a few weeks. The same principle applies to patterns in software development.
The Practice
Following those principles we've developed a practice that allows us to deliver high-quality software in an efficient and predictable manner. We keep it simple and transparent so that everyone can understand it and contribute to it.
Learn more