Skip to content
Menu
Box Thoughts
  • Home
  • About Me
  • LinkedIn
Box Thoughts
July 18, 2014

Incremental changes versus New versions.

There is a sea change occurring in the software world where the legacy Microsoft Windows, Adobe Photoshop, and AutoCAD model is being up-ended.  Each of these systems is relatively well known in part for their software release schedule.  They produce software in versions that are not simply upgrades of the previous one.  (To be fair, Photoshop is significantly down the path of changing this.)  Each time a new version came out you would have to pay full market for it even if you owned the most recent version.

Then you have the other side – the OSX, Android, SaaS model.  In this you buy the base system and maybe (maybe) pay a monthly or annual fee for on-going support.  When the next version is available it is pushed out as an incremental upgrade.  There’s no paying full market unless you happen to buy a new device or instance.  Fragmentation may occur but it isn’t due to the developer intentionally trying to upsell you the next version (theoretically).

This brings us to you and how you intend to design your applications.  Are you doing things incrementally or in fixed versions?  It matters  because it’s not simply a business model decision (theoretically) but it’s also a technical decision.  Incremental changes means that it is much harder to change the core engines and experience of your solution.  When you make core changes it may mean leaving some users behind.

Versions allow you to make drastic jumps from release to release and treat each like an independent product (for better or worse).  Independence between versions creates an amazing amount of flexibility in the decisions you have to make and your ability to introduce change.

Decisions are key – in version 1 you can decide to stay very simple and not build out a robust and dynamic database model; version 2 you can learn a lot and completely revamp the way the database is handled (for example); version 3 may move to an entirely new database system (SQL to Hadoop for example).  This flexibility makes designing each product simpler because you only have to think of the now (and maybe an upgrade process (maybe)).

Incremental releases mean always thinking about the past, now and the future at the same time.  You lose a lot of your flexibility in the decision making process.  But (theoretically) you gain consistency year to year.

There are other differences of course, but this is meant to highlight a key decision you need to make in your development lifecycle.  Don’t short change it because it will impact the next 10 years of your software lifecycle.  Too often it’s made quickly without understanding the impact.

Share this:

  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on X (Opens in new window) X
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • More
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to email a link to a friend (Opens in new window) Email

Related

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • Commercial real estate and Proptech are the antithesis of winner-takes-all industries
  • A tool for making shift management and occupancy easier
  • Seasonality matters in your CRE data
  • CBRE’s 2025 Americas Occupier Sentiment Survey report is a full encapsulation of the current corporate real estate conversation.
  • So what?

analysis bias change change program collaboration Communication CRE culture data decision making demand design experience failure fear finance flex flexibility future growth hybrid idea innovation leadership managing mandate metrics modeling office personal planning portfolio productivity program management quality relationships risk strategy success team technology trust WFH work Workplace

©2025 Box Thoughts | Powered by WordPress and Superb Themes!