Parallel Development Teams

applications-developmentSometimes when building a business the question becomes how to move some plans faster forward, particularly when doing so would require fully utilized resources to be used in two places at once. Obviously, this is not sustainable. Adding more resources to a development project itself will not usually achieve much, since they will often spend a lot of their time coming up to speed, slowing down the team at the same time. This phenomenon actually has a name – The Mythical Man Month!

There is another solution – at least in our case. We have three areas of development. They are Server, Embedded Hardware and Embedded Software. The two embedded activities are being done by the one team, and the Server is done by another team. The marketing people have suggested that we release our second and third products soon after the first product, bringing them forward by six months. This leads us with a resource issue.

Due to the nature of the server team and code reuse, we have worked out that the best thing to do is to ensure that they are familiar with the future requirements, but to let them continue development on the core product. Then, when they have completed a number of milestones, we can then schedule some time for the new product.

This leads us to the embedded team. The team is working really hard on the main product, and we really don’t want to interrupt them, since that is destined to be our main source of income for the coming year. But getting work done on the new product is also really important to us. So, what can we do? Well, it turns out an associate has some hardware that will almost perfectly meet our requirements already designed. Sure, it will cost us a bit more on a per unit basis, but we get a piece of hardware that is basically ready to go, and just needs to be packaged. And even with the higher per unit cost, the device will be cheaper than we had planned because we are able to do some cost engineering due to different requirements from our main product.

The embedded team will still need to write code for the device, but it will be really similar to the existing code. This process of outsourcing will allow us to enter the market more quickly, and according to our marketing people, save us at least a year of poor sales due to seasonal effects.