The lifespan of a planned application or website is an important (and often overlooked) requirements influencer. Many questions come to mind that appear to be technical in nature but have to be understood by the designer to optimize their design decisions on capabilities and known limitations of the target technology. Designs can never truly be technology agnostic and in my opinion if they are, then this fact will create gaps between design and implementation later on. So you better be aware of them.
Typical Questions to ask:
- Will the app be likely be superseded by something else within the next 6 months?
- Is another known technology catching up and soon more prominent than our current target technology?
- Do we rely on third-party tools/plugins that need to be maintained or maybe will render our application unmaintainable?
Amount for various cases where your design needs to be flexible enough to handle changes over time. These can include:
- Administration: more objects (users, items) are added over time. Does the app provide pagination? Search? How easy can they be plugged in?
- Load: processing times increase. How will the system display delays in page refreshes? Download times?
- Client requests: more functionality needs to be added. Is the design flexible enough to accommodate another button or menu item? Etc.
- i18n: multi-language support needed? Now? Later? Maybe?
- Accessibility: is it worth the effort?
- Support for MVP (minimal viable product) and incremental improvements?
In many ways the Maya calendar and it's associated 2012 phenomenon are a good example for design decisions based on lifespan. Who cared back then that after 5125 years the calendar would need to be reset (or cannot handle more combinations), like many software systems didn't take into consideration what is now known as the Y2K or Millennium bug which was caused by the practice of abbreviating a four-digit year to two digits for pure storage consideration, which nowadays in our abundance world of storage is really hard to follow. But hey, it costed an estimated remediatioin of $416.- in today's currency world-wide.
Take into consideration the lifespan of your app when designing it. Any negligence is careless design and may result in increased cost or even an unmaintainable or unusable product later on.
What are your experiences with lifespan?