LogBook


2027/07/27 [Accelerate]

Product Development

Four methods that make up the lean methodology proved to have positive impact on team productivity, organization profitability, market share. Additionally they improved team culture and reduces burnout.

  1. Work in small batches – Features should be reduced in scope until the point where they can be released weekly. Features should be small enough to enable validation learning.
  2. Make flow of work visible – Team members should understand the product’s status and significance, from its business context to how it is received by customers.
  3. Gather and implement customer feedback – Customers should be engaged from the very start of product development. Their insights on quality, usability, and satisfaction must be continuously measured and addressed from day one.
  4. Team experimentation – Teams should have the autonomy to respond to this feedback and adjust the product direction as needed.

Making work sustainable

We aim to ensure sustainable long-term performance through appropriate methodologies, rather than exhausting human resources for short-term bursts of increased velocity.

Deployment pain – fear and anxiety that engineers feel when they push to production tells a lot about delivery performance. In companies where code deployments are most painful you will find the poorest software development performance, organization performance and culture. Developers not knowing how deployment work is a big red flag that indicates that deployment process is too obscured.

Teams that implement comprehensive tests and deployment automation, use continuous integration, trunk-based development, bake security into the development process, effectively manage test data, use loosely coupled architecture, can work independently, use version control for everything required to reproduce environments declare significant decrease in deployment pain

How to reduce deployment pain?

  • Build systems with deployment in mind, systems designed to be deployed easily into multiple environments. Systems that are build to detect and tolerate failures, where various components can be updated independently
  • Ensure production system state can be reproduced in an automated fashion from information stored in version control. Ensure no manual changes have to be make to production environment as part of the deployment process. Avoid configuration drift – difference in configuration between environments.
  • Ensure deployments are as simple as possible. Avoid deployments that require multiple handoffs between teams.