Development Speed Examples
- Shipping fast and safe: Building a culture of low-risk learningIntercom believes in shipping code as quickly as possible to learn from production and iterate faster. Here are some of the strategies and tactics they use: • They foster a culture of iterative delivery and invest in their delivery pipeline to make deployments easy and quick. • While shipping fast is important, they also minimize risk by building resilience through observability, fast recovery, and reducing the blast radius of issues. • Engineers are available after shipping risky changes to monitor for issues and spot problems early. • They ship instrumentation first to understand code paths and scale before making changes. • They use Feature Flags to enable disabling changes quickly and safely. • They initially ship changes to a small subset of traffic to reveal edge cases while minimizing impact. • They ship changes to the read path first before the write path for easier rollback. • They document and share rollout and rollback plans to build learning material. • They constantly improve their processes to enable engineers to provide value while learning from production.
Development Velocity at Early StartupsEarly stage startups face unique challenges in achieving development velocity due to limited resources, lack of established processes, and uncertainty around product-market fit. However, by prioritizing customer feedback, focusing on core features, and leveraging agile methodologies, startups can accelerate their development velocity and gain a competitive advantage.
- How to Speed Up Execution: A Tutorial for Impatient PMs and EntrepreneursOr provides tactics for velocity: • Simplify - by finding ways to reduce the amount of information your team needs to know • Clarify & Excite - by providing your team with a clear understanding of the project's goals and how it will benefit them • Run a Pre-Mortem - to anticipate potential issues and plan for a smooth execution • Prioritize Correctly • Identify Dependencies/Bottlenecks • Beat The Drum • Celebrate Speed of Execution • Hack Your Own Productivity
- How we work: moving fast to ship customer valueThe first in moving step is to make sure you're talking to customers, trying to build the right solution for their problem, and ensuring those customers know about your product via distribution. After those steps are covered, you can focus on optimizing your development velocity by: 1. Using trunk-based development 2. Only shipping high quality product 3. Deploying without ceremony 4. Capturing changes in a changelog 5. Optimizing for developer autonomy
Development Velocity at Scaling CompaniesAs companies grow, maintaining development velocity becomes increasingly challenging due to organizational complexity, Technical Debt, and competing priorities. To overcome these obstacles, scaling companies must prioritize communication and collaboration, invest in automation and tooling, and continuously evaluate and optimize their processes. By doing so, they can sustain high levels of development velocity and drive innovation.
- Debugging engineering velocity and leading high-performing teams
- A primer on engineering delivery metricsJuan advises teams to adopt metrics that measure engineering delivery: the phase that begins when code is committed and ends when code is running in production. Four effective metrics are delivery lead time, deployment frequency, mean time to restore, and change failure rate.