Today I ran in a local 10k race and was reminded about how so many things that are true in training apply to work. I’ve been training consistently for a few years and it just requires time on the legs, and real a willingness to adjust. That adjustment is what struck me today as a parallel to some experiences working on LabVIEW.
I was thinking back to when our team was working on the LabVIEW project. The LabVIEW project is very different than purely software development environment Projects since in addition to all the “software elements”, the LabVIEW project also manages a distributed system of real-time, FPGA and embedded targets. A group of people, some of the smartest I know, had brainstormed for close to 2 to 3 months on the structure of the project tree and it’s look and feel. There were multiple hardware teams that we consulted throughout the process. All said and done, through the entire development process I recall we completely re-did the project 4 times. A couple of those included not only the look and feel but also the internal architecture.
As we developed each iteration we held internal usability sessions and some with existing customers. Each time we would uncover some new twists. Some people might say you should define everything completely upfront and then develop it. I’m not of that school of thought, especially for things that don’t have good existing examples are new ways of doing something. The LabVIEW Project was such a thing. It needed to be like Visual Studio, Eclipse and IT systems management tools. It’s a tool to manage a mixture of hardware and software that added some complexity to it’s design. We followed an approach of defining, rapidly prototyping and iterating. We defined as much as we could for each iteration with the knowledge we had, applied lessons from each iteration and then had more to guide our decisions on subsequent iterations.
This did have an impact on our schedule for the release but it was important to take the time to get to a point where we felt it covered the core needs of our customers. Re-writing parts of the Project through development did add stress to the process but in hindsight and based on the feedback from the majority of customers making use of Project the release the rework seems well worth the effort. I’ll try and post images of the different iterations so you can see the changes, since I just started back at NI last week it might take a little time to remember where those files are.