We’ve come to a point in our project where we have the end in sight, and its time to spend the remaining time converging our code on a working prototype. Unfortunately, one of the things we came to realize together recently, is that the way we are implementing our data collection needs a refactor, but that refactor would not only make a bunch of other processes easier to implement, but add a powerful new arbitrary historical analysis feature to the interface.
The thing is, this project is not a throwaway prototype that won’t go anywhere, it is a research project that will continue on into production at some point after we are done. It is important that we ship something but it is also important that we do the right thing. With this in mind, we spoke to our MSEE and his professor to ask them what we should do, and as long as things are documented well, they prefer the new direction, even if not 100% finished.
Such is software development. It is important to ship a thing (and get a good grade!), but sometimes it is more important to ship the right thing, and the only one who can make that call in the end, is the customer. Now the race is on to see if we can finish the new pivot!