1

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.

  • I can't see much of a difference between "legacy" and "modern" software here - the main thing that has changed or is in the process of change is the cycle runs much faster, the increments are smaller and the concept of "ready" has somehow changed to a constantly moving target, given that such software can be updated "on the fly" with everything being online. – tofro Sep 24 '16 at 7:40
4

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.

1

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.

  • Well, I guess you probably mean "you do not see maintenance as a separated phase any more", not "software maintenance does not happen today". However, I don't believe there was "a time where most people thought maintenance is a separated phase, and today people think differently about it". At least, not in the time period since I did software development, which is more than 30 years. – Doc Brown Sep 24 '16 at 14:04
  • @DocBrown yes. That's what I meant, but I can tell you that I've met many people who still think of maintenance as an entirely separate thing where software is "done" and one poor bastard is left to fix the mistakes of his predecessors. Or worse, entire teams dedicated to this "maintenance", often brand new dev that for some unknown reason isn't treated like new dev. The mindset still exists. – RubberDuck Sep 24 '16 at 14:07
  • Depends. If you're developing software in-house, for internal customers or as a product sale, I agree 100%. Creating one-off software for a 3rd party should better have some concept of "project concluded"... – tofro Sep 24 '16 at 14:59
  • And that's why I said it's not universally true @tofro. – RubberDuck Sep 24 '16 at 15:01
  • 1
    @RubberDuck: absolutely insane. :) But it works when the client is just another department if the same organization and politics get in the way of new features, but not maintenance. Crazy, but it works. Very crazy though. – Greg Burghardt Sep 24 '16 at 16:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.