“Another change?” I asked. My business partner looked up at me and replied with one word: “Yep.”
It was 20 years ago, I was fresh out of UNH engineering school and six months into my third startup since high school. Our software company was just getting going and I had spent the last two weeks creating a detailed project plan for some new features. But we had just heard back from our first potential customers, and they had different ideas of what we should build.
We faced a classic challenge of every startup: we had to innovate quickly enough to survive, but we needed a disciplined approach to make sure we weren’t spinning our wheels. We needed a lightweight process that would be more responsive to the constant change we’d face for years to come, and helping with building high performance teams.
Enter Scrum.
Scrum has its roots in a 1986 Harvard Business Review article titled “The New Product Development Game,” in which authors Takeuchi and Nonaka compared their new concept of innovation to rugby, where the team moves the ball down the field as a tight-knit group.
Though the article was targeted at new product development of any kind, the concepts were adapted to software in the early 90s and today is the most widely-used project management methodology for software development projects. However, Scrum concepts can be applied to any type of new product development, letting you do more with less at your startup.
Here are the key concepts to help you strike a balance between the need to get a lot done and the requirement to stay organized.
1. Create a Prioritized To-do List
Called a “Product Backlog,” this list includes every feature you envision will be in your product. Priorities are set based on the demands of the business, not based on what might be “fun to build.”
The product backlog connects the needs and desires of prospective customers with the work of the product development team. The individual who is most in touch with the feedback of prospective customers is in charge of setting the priorities. This lets the needs of the business directly drive the technical team’s work.
2. Create a Single “Cross-functional” Team
A cross-functional team is one that can do a lot of different things, without having to rely on individuals outside the team. Typical cross-functional software teams include software engineers, designers, testers, etc.
In many early startups, the team is the entire company.
They key here is the team should be able to make stuff happen by combining their respective talents.
3. Work in Fixed-time Production Cycles
These are called “Sprints,” during which the priorities aren’t allowed to change. This lets the team get up a head of steam without worrying that what they’re tackling will suddenly be deemed unimportant half way through.
You pick a length of one to four weeks—based on how long you can wait before changing direction—and the team focuses tightly on a handful of new features.
For most startups, two weeks is about right. That gives you enough time for the team to get some momentum but it’s not too long to wait before changing direction.
4. Do Some Lightweight Planning
Do detailed planning for what will fit in the sprint, and no more. The team gets together and does a detailed project plan to break down the features into discrete tasks, but only for the next two weeks.
This usually can be done in a few hours. This leverages the value of planning without wasting time thinking about the next four months only to find that everything has changed two weeks later.
5. Aggressively Communicate
A “Daily Standup” is a 15-minute meeting where each team member explains what they accomplished yesterday, what they commit to getting done today, and anything that’s holding them up.
For example Jane might say, “Billy I’m ready to help you test that code you were working on yesterday. Will you have it done this morning?” The team communicates as necessary throughout the day to collaborate and “move the ball down the field.”
6. Review Results Frequently
At the end of the sprint a “Sprint Review” is a way to report on progress to stakeholders: investors, customers, advisors, and anyone in the company who is not on the team. This provides transparency and allows collecting much-needed feedback along the way.
It also imposes some positive pressure on the team. “We have three days until the sprint review” is much more helpful than “We have six months until the trade show.”
7. Continuously Improve
After the sprint review, the team spends 20 minutes talking about how things went by asking three questions: “What went well?” “What could we have done better?” and “What actions do we need to take to improve during the next sprint?”
The team incorporates this feedback into the next sprint and continues to get even more done.
Every startup, whether creating software another type of product, is faced with the same challenges. You need to create massive results with very few resources, but stay disciplined.
By applying a lightweight project management approach such as Scrum, business priorities are always front and center, your team can get a lot done, and you can react to the constant change in your startup.