The Software developer’s Trialema
20/03/2023 Shahar Levi
In software development departments, there is often a delicate balance between production velocity, production quality, and business outcomes. This balance is often referred to as the “Triangle of Production.”
Production velocity refers to the speed at which software developers can produce code and deliver new features. Production quality refers to the level of quality in the code, including its reliability, maintainability, and scalability. Business outcomes refer to the impact that software development has on the overall success of the organization, such as increased revenue or improved customer satisfaction.
The challenge in software development is finding the right balance between these three elements. For example, if a development team focuses solely on production velocity, they may sacrifice production quality and create technical debt that will slow down future development. On the other hand, if a team focuses solely on production quality, it may take longer to deliver new features, which can negatively impact business outcomes.
To strike the right balance, software development departments should prioritize communication, collaboration, and continuous improvement. By working closely with business stakeholders and maintaining a focus on delivering value, teams can ensure that they are creating software that meets the needs of the organization while maintaining high levels of production velocity and production quality.
Additionally, implementing agile methodologies can help teams balance these competing priorities. Agile emphasizes flexibility, collaboration, and rapid feedback, allowing teams to quickly adapt to changing business needs while maintaining a focus on quality and velocity.
What are you prioritizing in your organization?