At Don’t Panic Labs, we strive to instill individuals with the mindset of “think like an engineer”. By this, we mean that developers should be thinking more than just how to write good code; they should be considering as many aspects as possible regarding their project. This could involve learning more about how their application will be used and about additional technologies that could be leveraged to make their application the best it can be.
But sometimes the excitement of starting a new project can get the best of us. The pent-up energy of knowing that a new project is beginning can occasionally make us leap before we look. Although enthusiasm is always a welcome trait, it can also lead to problems if time isn’t taken to fully understand the project.
For example, a Nebraska Global-sponsored Design Studio project for the 2010-2011 academic year was tasked to develop an interface that would be used to control office lights. Using technology from Z-Wave, the team set forth developing the system. However, they started to tackle this project without gaining a good understanding of the Z-Wave wireless protocol and hardware specifications. As a result, they ended up scrapping their first semester of work and started over. Since the team deemed the original architecture unmaintainable, they felt it would take less time to correctly build from scratch than attempt to fix what they had already built.
On the flipside, learning early on what will and won’t work can save quite a bit of time by getting a project started in the right direction. A good example of this comes from one of our summer intern projects.
Geek Seeq is a project that is developing a software solution used to locate people within a designated area (like an office). Instead of walking around trying to find a specific person, this application will show you approximately where they can be located. At the beginning of the project, the team had to determine which type of receiver would be used to identify each individual.
They first looked at radio-frequency identification (RFID) tags, but found them to be too cost prohibitive. Next, they discussed using GPS tracking but quickly found out that line-of-sight to the satellites was impossible since this product is primarily for indoor use. Lastly, they investigated the use of Bluetooth technology. Since nearly every phone has a Bluetooth radio, the team felt they could leverage that existing hardware. That made Bluetooth the best choice.
This extra effort spent to get the facts around the project requirements can save time and energy. Plus, the added benefit of the knowledge gained during the research process may be useful down the road. No learning experience is a wasted experience.