4 ms·
Except there is no finish line. I currently work on an application that is 10 years old, where's the finish line? Its not done in PHP, anyways it has parts that
by devs1010 15y ago
Except there is no finish line. I currently work on an application that is 10 years old, where's the finish line? Its not done in PHP, anyways it has parts that were done very sloppily and "against the grain" and the organization is still paying for it with a higher cost of maintenance.
- st0p 15y agoBut did it bring the organization more revenue? In the past I've done some things in PHP that were horrible hacks but did help the whole company forward. Doing them right in the existing code base would mean rewriting a lot. Especially one of those hacks has gotten it's revenge on me when making it more flexible later, but in the meantime it did bring us substantial rewards. To this day i'm still not sure what would be better: telling my boss "sorry, but if we want feature y, it will take 2 months (but it will we done right)" or "yes we can do that in 2 days but don't expect the code to be pretty"
- Legion 15y agoAll code is an exercise in living with imperfection. The trick is finding the sweet spots in the scale of imperfection vs. time, which aren't linearly correlated (eg. you can spend a lot of time gold-plating something and make only small gains in reducing imperfection, while on the other end of the spectrum, sometimes investing a little bit of extra time can yield large gains in reducing imperfection). I'm sure some programming book somewhere has said that in a much more elegant fashion.
- devs1010 15y agoMaybe at the time but I'm sure they have cost thousands of dollars in dev hours later on that evened it out
- shingen 15y agoThere absolutely is a finish line: as in, launch the product. In fact, there are countless finish lines in business and product development. You're constantly running a new race every development cycle. Trends change, competitors change, the entire landscape can change. Sometimes you're going to find yourself flat footed, and you're going to have to start a whole new race to launch a radically altered product. It'd be like saying there was no finish line for the iPhone version 1. Of course there was, they had to actually ship it. And every product iteration has a new race to run and a finish line to meet to put the product on a shelf somewhere to be purchased. The same is true with iterating software of any sort, whether you're talking a micro level finish line (adding a feature to Gmail or Firefox 10.1), or a macro level finish line (shipping a completely revamped Firefox version or launching a radically new email concept with GMail beta). Getting from point A (inspiration, idea, task) to point Z (task completed) = finish line. Try never having a finish line on any task, product, business, etc, and see what happens.
- devs1010 15y agomy point was that there is a maintenance stage that extends well beyond the 'finish line' of a dev cycle especially for a web app