3 ms·
> Software doesn't exist in a vacuum. Strip down everything to its bare essentials (i.e. just beyond the vacuum) and you have: a Programmer, a Software and (ma
by mekoka 6y ago
> Software doesn't exist in a vacuum.
Strip down everything to its bare essentials (i.e. just beyond the vacuum) and you have: a Programmer, a Software and (maybe) a User. The sentence above is a common trope that people believe justifies all the friction added between the Programmer and the Software, while attempting to optimize the process of putting it in the hand of the User. But I contend that deadlines are an unfortunate and provably unnecessary byproduct (see many open source projects) of that often wasteful process.
> Deadlines exist because people need to make plans and be able to rely on them
To make a plan you need a list of priorities and some time estimates. Some people just have a knack for turning these into artificial emergencies. The decision to build a new software feature can be taken in an organization by establishing how needed it is and vaguely describing the time it would take to build in terms of days, weeks, months or years. It's enough to know whether you want to spend some resources on it or not. Regardless of deadlines, people will work toward those time frames.
> which is how our entire society and economy function.
Only the parts of our society where such engagements actually matter function like this. In many other parts it's useless to follow such a model. Unfortunately some people observe it in one context and believe that it's a driver that can be blindly transposed onto another. So they start fabricating urgency where it doesn't belong. Meanwhile, it'll be ready when it's ready remains a successful model for many, even in our society and economy.