Using the $600k of funding Israeli startups can access, they have basically three software development team options. Here’s what they look like when budgeting 50% toward product development over 1 year. Of course, you can double this if you want to go all-or-nothing.
- Centralized Team: An in-house team with 3.5 developers.
- Distributed Team: One in-house team lead with 4.3 outsourced developers.
- Lean Startup Model: 6 outsourced developers.
While there’s a lot to be said for the Lean Startup Model, it’s likely to be a stretch for many startups wishing they could source everything locally.
The Distributed Team stands out as well-suited to Israeli startups not only for adding 50% development capacity — but for giving your in-house developers experience with developing software teams. You’re giving your in-house developer a career path with a ground floor opportunity. If your startup is successful, they’ll be your best candidate for advancing internally from developer to team leader to engineer and engineering manager. From there, they could continue on as a project manager, technical director, or Chief Technical Officer.
And all of this aligns technically…
Conway’s Law asserts that “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.”
But an organization’s structure can change over time. Many early-stage startups have little to no structure.
Knowing the requirements of and the scale at which your software needs to be developed – founders can plan to grow into a matching structure. This requires some basic reverse-engineering. At first, it relates to the type of software you plan to develop. Will your software follow a release model to support several platforms or do you plan on just one release version supported by a program of Continuous Delivery/Deployment? If you know this, then you’ve defined a significant portion of the work processes to which your software development team will need to apply.
Your development team’s efforts will be facilitated by aligning to one (or more) branching strategies. Moreover, these can start simple (GitHub Flow or Trunk-Based Development) and can increase in complexity as needed (GitLab Flow, GitFlow, or OneFlow).
This covers a lot of ground, do you think we missed anything? Please let us know what you think! We’ll be expanding on many of these points in some upcoming blogposts that you may find especially interesting – particularly if you’ve served in the IDF.