What could be significantly different about phases of SDLC for modern app from traditional software/other apps?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/331898

  •  29-12-2020
  •  | 
  •  

Question

As per the classical SDLC phases of planning, defining, designing, building, testing, deployment and maintenance what could be quite unique in the scenario of modern or contemporary apps. By modern apps i mean all modern apps that are being used on mobiles/smartphones and tablets and also those that are used in drones, smart watches or a part wearable technologies.

Was it helpful?

Solution

Short answer: nothing. If an application is a - what you call it - "modern app for mobiles/smartphones and tablets" or a "traditional app" is independent from the available software development paradigms or the phases of the SDLC which can or should be applied.

That does not mean any kind of software can be developed with any process in an equally efficient manner. But the main criterion for distinction is not "modern" vs. "traditional". The main criteria are "what is the intended deployment and update cycle", and "what are the possible consequences of a software failure". For example, an onboard software for a spaceship or satellite or Airbus needs obviously a different QA cycle than a simple computer game for kids, available as a smartphone app or web application on your favorite game site.

The fact these are the main criteria has not changed the last 50 years. The only things which have IMHO changed are

  • the availability of very quick deployment and update channels for most kind of software (for "traditional" and "modern" apps as well)

  • the availability of development and testing tools which allow more rapid development cycles (for "traditional" and "modern" apps as well)

  • the broader knowledge about the importance of rapid development cycles and the knowledge why heavyweight, "waterfall-like" approaches often fail (for "traditional" and "modern" apps as well)

Especially web application systems can be updated much more frequently than 20 years ago, but also any other kind of software which is distributed or updated over the web, which is today virtually 99% of all programs, even the parking assistant software in your car, or the firmware of your web-enabled printer. And, of course, any "modern app" on your smartphone, or your "traditional" web browser installed on your PC.

OTHER TIPS

I would say that the biggest difference is that a lot of software never enters a maintenance phase now. It's not universally true, but for a lot of software products, particularly web based software as a service products, as soon as a deployment is made the SDLC begins over again. We've accepted that software is never done and dropped the maintenance phase.

Licensed under: CC-BY-SA with attribution
scroll top