These three ultimate aims serve as “stretch goals” that enable the improvement of software development and delivery. Notably these are aims and directions, not destinations. In the spirit of continuous improvement, you always have room to improve and are never “done”. You are either continuously improving or regressing.
The world of technology is changing continuously. This means implementations, tools and technical practices vary almost infinitely. However, the overall goal of any practice or implementation in lean software engineering should be aligned with moving projects and teams in the direction of these aims.
1. Clear Continuous Feedback: Meaningful feedback about changes that are delivered quickly and continuously. A person, or a coding agent, can only safely move as fast as they can comprehend the impact their changes have on a system.
2. Great Development Experience: Frictionless interaction with the tools, frameworks, and platforms used to create value. Friction is a tax on every change, slowing down people and coding agents alike. Well-designed tools and workflows let developers do their best work; the same investments pay off for coding agents.
3. High User Satisfaction: Users enjoy using our products, tools and services. Solutions are focused on solving their problems and we listen to their feedback. A focus on providing user value is essential.