Blog - LogicBoost Labs

Dev Time Mastery: How to Tackle Unpredictability in Early Startups

Written by Chris Staszak | Nov 22, 2023 12:44:31 PM

How Streamlined Development Processes Rescue Early-Stage Startups

Just because your early-stage startup has a small development team doesn’t mean you don’t need software development processes in place — quite the contrary. But not every process works for a company that size.

This article highlights a few process methodologies well-suited for early-stage startups and recommends tools that help make for a smoother implementation.

Now, if you’re wondering whether your company has matured to the point where these processes are a must-have, ask yourself these questions:

  • Have your delivery timelines slipped or become unpredictable?
  • Have challenges appeared in feature prioritization and dependency management?
  • Has cross-team coordination become difficult as your development team has grown?

If you answered yes to any or all of these questions, stop and read this article. But before we dive in, remember the best process is the one that works for your specific set of circumstances. This article explains how you can apply the basics, but we encourage you to refine your processes on an ongoing basis. Because if there’s any constant truth to software development processes, it’s that they rarely remain fixed. So, stay ready to adapt them to new challenges. Often, failing to adapt can be as or more debilitating than having no process at all.

Familiarize Yourself with the Options

Let’s cut to the chase: The three software development processes that we recommend early-stage startups pursue include:

  • Agile
  • Scrum
  • Kanban

For an in-depth analysis of each, check out this article.

Now, there’s a good chance that you’ve heard of these before. (Probably because developers have opinions on each of these bordering on religious fervor). But as we mentioned, any process is better than no process. So don’t overthink it when the time comes to choose one. You can always pivot to a different one as circumstances change or if what you picked doesn’t work for your organization. Run with what feels simplest, experiment, and stay flexible. Give any starting point a moment before prematurely jumping ship and moving on to another approach. A breakthrough could be just around the corner.

Tools at Your Disposal

You know what makes every project easier? The right tool. These tools can make quite the impact on your organization as you work to implement your development processes:

  • Trello: Use this if you’re building from scratch or want to avoid decision paralysis.
  • Jira: Use this if you have prior process experience, have convictions about the process you would like, or have the time to learn the tool inside and out.
  • Other: There are many other capable tools out there; if you have experience with them and they fit your needs, start there.

Also, be aware that other parts of your organization may benefit from or want to use process management tools. Coordinate with all your teams to see what could work best for everyone. Again, don’t try to force a fit, but if you can, adopting a single tool across most, if not the entire company, can be a significant efficiency advantage.

Lastly, remember that tools are just one part of the equation and will not solve all your issues. It takes capable product/project managers, willing developers, and buy-in from the executive team to make this work. If any of these factors are missing or inadequate, no process or tool adoption will overcome the issues that started this journey in the first place.

Starting Points

Based on three decades of startup experience, here are some recommended starting points for your organization. Pick the one that most closely maps to your current situation:

  • KISS (Keep it Simple): Run with Kanban (or something inspired by it) as a coordinated, super to-do list. Trello will be easiest here, but Jira is worth considering if you’re up for it.
  • More Ambitious: Run with Scrum and do the work upfront to get smart on Jira.

We won’t get too deep into the micro-mechanics of these. Those details must be shaped to meet your specific environment (see above).

Tips for Adopting Scrum

The Scrum approach can get complicated fast and overwhelm small teams unfamiliar with its adoption. Here are some helpful tips based on real-world experience to make your scrums more successful:

  • Pick a sprint duration. Two weeks is ideal in a high-paced, early-stage startup company setting. One week is too fast, while three weeks only accomplish marginally more output than two weeks.
  • Designate a single Scrum Master as the sole point of authority and coordination for executing the process.
  • Exercise caution when applying story points or similar estimation methods. If you’re ready, willing, and able to use these methods, feel free, but don’t overreach to start. Don’t treat story points as top for developers. Remember, your teammates are humans, not robots.
  • You will always under/over estimate work throughput. Some sprints will go sideways. The goal is not perfection but much-improved predictability.
  • Advice for when things go wrong:
    • Business emergencies happen, executives renege on their commitment to the process, unplanned dependencies materialize, and more. If your process derails or gets interrupted/overcome by events, end the sprint and regroup.
    • If you fall short of intended deliverables, study what happened (see retrospective below) and adjust. Were you too optimistic? Was the problem inadequate requirements, or were any critical dependencies misunderstood? Answering these questions will help make your next sprint better.

A Suggested Meeting Structure

Use this meeting structure (managed by the Scrum Master), which assumes two-week sprint windows, to keep things moving efficiently:

Meeting/Duration

Day(s)

Run of show

Sprint Planning

Two hours

First Monday of the sprint
  • Review backlog
  • Assign tickets to the upcoming sprint
  • Note schedule changes or other items
    • Holidays
    • PTO
    • Other

Daily Standup

10 minutes; assuming 3-5 developers, allowing for flexibility depending on team size

Tue–Fri the first week and Mon–Thu the second week (8 days total)
  • Establish goals for each team member like:
    • What did you do yesterday?
    • What do you plan on doing today?
    • Can you identify items that are blocking your progress?
      • If the solution to a blocker is simple and you can fix it quickly, do that on the spot. But, if the issue requires more than a minute or two to resolve, at the end of the standup, dismiss anyone who isn’t needed for that conversation and try to resolve the issue before entirely disbanding the standup. In all other cases, the Scrum Master notes blockers and coordinates follow-up discussions as necessary.
    • This meeting should be uptempo.

Sprint Review

Two hours

Final Friday of the sprint
  • Each team member shows their work to the audience. Sometimes, this can be tricky, but with practice, it gets easier. Of course, everyone loves to see new features and capabilities, so you can invite a broader audience to the sprint review, as described next.
  • Invite an appropriate set of team members from sales, marketing, customer success, executive team, or similar functions to the meeting as passive observers. This makes knowledge transfer more efficient. However, the Scrum Master should ensure invited observers remain just that, only allowing for short and clarifying questions. Don’t turn this into a critique/product planning/design meeting. The Scrum Master can coordinate those inputs in another space and time.
  • Depending on your release process(es), decide whether to deploy the sprint work product. This may mean updating a staging environment, followed by QA, with an eventual production deployment. Again, this step should be situation-specific. You can talk about CI/CD another day.
  • Push all the buttons on your tooling to confirm the sprint is complete and all tickets are in their proper and expected state.

Sprint Retrospective

30 minutes

Final Friday of the sprint
  • Schedule immediately following the sprint review. If the review runs short, jump directly into the retrospective.
  • Ask Sprint Review passive observers (see above) to leave before the retrospective starts.
  • Have each team member share what did and didn't work and what could have been improved. This conversation should be constructive, not a rant session.
  • Discuss any notable misses and how to avoid them in the future.
  • The Scrum Master takes notes and arranges post-retrospective coordination for any corrective measures you agree to make.

This meeting schedule requires 6–8 hours per team member for each two-week sprint. Make sure to account for this in your overall planning.

Scrum Master and Product Manager Coordination

The Scrum Master and Product Manager should be in near-constant communication. This proactive engagement helps prioritize decisions, improve requirements gathering, and fend off other issues that would otherwise introduce daily distractions and decision/meeting fatigue to the development team.

To ensure that communication happens, the Scrum Master and Product Manager should maintain a weekly two-hour meeting for backlog grooming and preparation for upcoming sprint planning. The goal is that when the biweekly sprint planning meeting occurs, the most important things have already been sorted out, and the conversation can focus on the immediate tasks at hand.

Within sprints, the Scrum Master will likely need short conversations with team members to understand specific technical issues, dependencies, etc. Have these conversations when needed while remaining mindful of unnecessary distractions. Importantly, you can track and control those distractions more easily when you empower the Scrum Master to coordinate those conversations.

Conclusion

There is no one-size-fits-all approach when it comes to software development processes. To that end, we've worked to avoid being too prescriptive. This review is also quite condensed, not covering topics like how to handle disruption, examples of failed implementations, and others. But that is information for another article. Still, use what you've read here as a launching point for you to explore further. Ask yourself questions like:

  • Which of these items worked for you?
  • Which didn’t?
  • What do you think is missing?
  • What do you disagree with?

The ability to reflect, ask these questions, and take corrective action is at the heart of a thriving, predictable software development process. So, give your organization the time and space to go about this process thoughtfully and use the work as an opportunity to learn along the way.