Sailware

The Feature Treadmill

The software development of a product which has started seems to rarely end or be complete. Defining software as complete or good enough is hard to do apparently. Complete and good enough usually mean it doesn't need anything thing else to function as intended. A lot of software has rich feature sets but seem to never be done adding new ones to the list. You would assume most paid software now days is done by how functional it is, and how long their feature pages are, but you get new notifications about some new additional feature all the time.

I often wonder how we got on this endless treadmill of features and add-ons. Software teams often use methodologies which move goal posts every few weeks. These goal posts representing some big team deliverable. Over several weeks the team members sprint from one goal post to the other. Usually there is very little downtime between them. It is exhausting and very little time to reflect.

Cloud services have allowed for servers and databases to be continuously expanded with contracts giving big discounts for large uses. The constraint of physical hardware limitations are an old problem and beyond clients imagination of their hardware limitation. It's easy to scale and expand your software to the limits of your imagination and design without being bound by the physical limitations of users computers.

Could it be the subscription model which everyone applies? Does the subscription model cause the feeling of constantly having to deliver "new" or "more" since someone is continuing to pay? Does it feel like you deserve more "new" or "more" since you continue to pay?
In the past, the internet was much slower and software came in a different form. It had different design methodologies, different hardware limitations, and different cost. People had a different expectations. You hoped the product you purchased and would worked and was complete.

It's a small reflection of what I remember versus how I view it now. Change is inevitable and the times are different. Constraints and mentalities have changed with the software. One thing that hasn't changed is the desire for complete software.