3 Strategies for Developing Team-Based LabVIEW Projects
“It takes one woman nine months to make a baby, but nine women can’t make a baby in one month.”
Adding more developers to a project doesn’t always increase efficiency. In fact, additional developers often create the “too many cooks in the kitchen” effect and decrease project efficiency. This effect is articulated by Brook’s Law, which states that “adding manpower to a late software project makes it later.”
This phenomenon can occur on any project, not just late ones, because:
- It takes time for people to ramp-up and contribute to a project in a productive manner
- Communication efficiency tends to decrease as you add more people to a project
- Tasks cannot be infinitely subdivided
Consider development using the National Instruments LabVIEW graphical development environment. While LabVIEW includes a variety of features that reduce development time compared to other programming languages, you can negate these efficiencies by adding development resources without an appropriate structure and plan. This is especially true of projects using graphical programming languages because tracking and merging code changes pose unique challenges not found in traditional text-based languages.
Because of anticipated inefficiencies, companies often decide to use a single development resource for LabVIEW projects, causing a lengthy development time. However, proper LabVIEW-specific project management processes actually grant efficiencies and reduce time to market while minimizing the downside of having a team size larger than one.
There are several obvious benefits to having multiple development resources on LabVIEW projects. First, multiple developers, used correctly, can accelerate time to market. With proper structure and process, the gains are nonlinear. For example, it is possible to finish a project in six months with two developers that would normally take one developer two years.
Second, multiple resources create redundancy that keeps a project on track when people must be shifted to new projects, an employee needs sick or vacation days, or a significant life event occurs for a team member. When done properly, the development company and customer ultimately save time and money and gain personnel redundancy. With the right strategies in place, you can not only mitigate the risk of decreased efficiency, but sometimes maintain or even increase efficiency as resources are added.
Our latest white paper discusses the following practical applications of project management to achieve these goals:
- Select a predetermined workflow with defined roles and requirements
- Use a LabVIEW architecture that avoids merging changes in source control
- Develop and communicate a unified project life cycle
By implementing the strategies outlined in the paper, you can increase efficiency and decrease development time with your medium-to-large LabVIEW projects, even when adding more resources.