I read a great article in The Economist this morning entitled 'Software that makes Software Better.' This article discusses the growing role and importance of development tools for improving the quality of software and talks about the growing challenge developers face.
This article is proof of how far we've come in the last half-century. We're seeing a number of trends converge and software engineers are struggling to keep up. Development times are shorter, team size is bigger, the criticality of the applications is increasing, the expectations for quality and reliability are greater, code has to be modular and re-usable, and on top of all this, developers are expected to learn how to use numerous, poorly integrated tools that claim to make everything easier.
I've had a number of engineers, especially those in the mil/aero industry, tell me that they spend a mere 20% of their time actually developing code. This may be slightly over-exaggerated, but a study conducted by the Standish group revealed that this number was closer to about 30%. The rest is dedicated to refining requirements, discussing work with teammates, documenting, unit testing, integration testing... you get the picture.
The good news is that we're making progress. As another study revealed, the Standish group "found that 35% of software projects started in 2006 were completed on time, on budget and did what they were supposed to, up from 16% in 1994; the proportion that failed outright fell from 31% to 19%."
LabVIEW is being used in larger applications, with larger code bases, and larger development teams. Of course, graphical programming inherently abstracts many of the common tasks text-based developers struggle with during development, and with a set of tightly integrated software engineering tools, we aim to automate and improve the experience of applying software engineering practices to LabVIEW. If you're interested in learning more about best-practices for software engineering with LabVIEW, visit ni.com/largeappsor go to ni.com/SoftwareEngineering to see a list of products that can help.