You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Re-adding stuff to backlog after aggressive cleanup.
Pivoting strategy right after creating it.
Refactoring infra after growing.
Adding words to messaging because it's too terse.
Adding back removed features.
Fixing bugs after releases.
Waiting too long to scale sales / support.
Letting someone go soon after hiring.
Ignoring competitor move.
Rejecting a lucrative, distracting deal.
"If you’re not rejecting lucrative deals that don’t align with your strategy, then you don’t have a strategy. If you’re not rejecting relationships that don’t align with your core values, you don’t have core values."
"But money is not more important than strategy, and it cannot be more important than your values, otherwise you’re saying that you don’t actually have either one. There’s always a way to make more money—a different product, different industry, or breaking the laws or being unethical. There’s a reason why you’re taking the path you’re currently on."
Goal setting philosophy should be consistent (whether success is 70%, 100% or 150%).
Combine narrow and open-ended questions in customer discovery.
For discovery, the best thing we did was ask people to pull up their calendars.
Lean into early founder-led sales, even for a PLG product.
"When you do founder-led sales you’re not just learning how to sell your product, you’re learning how to tell a story. This is essential to sell the vision to investors or to candidates you’re trying to hire."
"For many years, companies have worked hard on identifying their WHY if they weren't mission/ purpose-driven and market it via their EVP (Employer Value Proposition) but I believe there is a new era coming for the “How” post-covid 19."
You absolutely must trust your team to scale as a leader. Even more importantly, though, I hope you appreciate that merely trusting your team is abdicating from one of the most important parts of your role: helping your team succeed. Errors are a natural part of work, and inspection allows you to maintain trust through errors.
An outcome is typically defined by a quantitative metric—a number that is both meaningful to the business and measurable by the team. It creates autonomy and accountability.
Too often, teams forget to explore the opportunity space at all. They jump straight from an outcome to a list of ideas.
When we help our teams frame the opportunity space, we share our knowledge and expertise and we learn how our teams are thinking about the problem space.
If you personally want to grow as fast as your company, you have to give away your job every couple months.
A week ago, someone might have told you they hate their Legos and want to get rid of them. But as soon as you hire someone else, they suddenly want to hang on to all of them.
Hiring is a network effect. The first 100 people you hire will define the next 200.
Some guidance remains unaffected by the passing of paradigms, the evolution of technology or the scaling of development: break your software into small, cohesive parts defined by clear interfaces and sound implementations, all the while striving for simplicity.
You’ve got to really be clear on the goals and objectives of the company and ensure you and your senior team have clarity.
The 10 by 10 rule means that every day, you’re going to say that “why,” 10 times in 10 different ways.
Build the structure of the company so that the message scales – the way you do that is by having your senior team know what their job is on scaling the message.
Software delivery is an exercise in continuous improvement, the best keep getting better and those who fail to improve fall further behind.
Ideally we should reward developers for solving business problems with minimum amount of code, even better by not writing any code or deleting code.
Metrics of software delivery performance:
Tempo
Lead time (fast feedback loop, faster fixing of problems and improvements).
Deployment frequency (proxy for batch size which reduces risk and improves efficiency).
Stability
Mean time to restore (failure is inevitable, it's important how fast we can recover).
Change fail percentage (how many changes lead to outage that requires hotfix, rollback or fix-forward).
Software deivery performance implies:
Organizational performance.
Non-commercial performance.
Ability to discover faster.
Start with culture, which can be measured as well.
Pathological - fear, witholding of information.
Bureaucratic - following process is above fulfillment of mission.
Generative - focus on mission and good performance.
Generative culture implies good software delivery performance and organization performance
Continuous delivery has positive impact on generative culture, delivery performance, quality and even identification with the organization and work life balance.
Build quality in, issues should be detected as soon as possible to minimize impact and costs of fixes.
Work in small batches, it should be super simple to push out changes.
Automate manual testing and deployments, deployments should be painless for the devs.
Pursue continuous improvement.
Everyone is responsible for delivery, no segregation of development, testing and operations.
Everything as code stored in version control system, especially configuration of apps and system (IaC).
Continuous integration, short living branches integrated to main branch and immediately built and tested.
Continuous testing throughout development process on every commit. Test reliability and quality test data is super important.
Security deeply integrated into development process, security people members of teams, shifting from reviewers to tool makers.
Loosely coupled architecture, independence on other teams in terms of development, testability and deployability.