You may hear that "VSTS is an ALM tool" when talking with a Microsoft rep or techie. This is not a misrepresentation but what they often mean is that "VSTS is an SDLC tool". Unfortunately marketing got their hands on this acronym and IMHO got it all tangled up. Lets deconfuse the two very distinct things:
SDLC == Software Development Life Cycle; this includes everything to do with DEVELOPING a software application, including requirements, architecture, coding, testing, configuration management project management
ALM == Application Life Cycle Management; as the name suggests includes everything that is part of the Application Lifecycle. When does the life of an apps start? No, not in development, it starts somewhere in the business as an idea, a need, a challenge, a risk. When does the life of an application end? No, not at the end of development, but when the application is no longer used by the business - potentially many years after the initial development.
I use the following slide to deconfuse confused folks:
These days the SDLC is typically iterative in nature, but so is the Application life Cycle! As the business responds to an ever changing environment, we start yet another ALM cycle to update, enhance the application and redeploy so the business can realise the benefits.
It's really that simple.
Great visual. I was looking for something like this and this is the first that nails what I was after, however only MS products. What context can this be put into? IT support services(interna;l)? Would it change when extrapolated to business contexts where an application is the product they sell.
Thanks for sharing your thoughts and knowledge with the audience, its very helpful for me as well as other who are looking for this kind of stuff.
can't see the image... trying to explain this concept and would love to see how you represented it
The basic difference between ALM and SDLC is not known to many, basic but very important, as you said I can say SDLC is part of ALM, and ALM is a bigger idea that starts with concept development and ends with application end. So, if there is version change in an application, is it end of ALM or a stage in its lifecycle, for me a stage ...maintenance stage.
TFS has come along way since 2007. Today I believe it is a ALM tool in that it can be used to do everything from capturing the user stories from the business and provide cohesion all the way through the test cycle and on into deployment.
Thanks for taking a stab at this distinction. I do have to disagree though. The SDLC has always been defined as the disciplines of software development from cradle (business concept) to grave (end-of-life activity). Therefore, I am still confused at the distinction between ALM and SDLC. If I look at your image, it tends to support my vision of what ALM is; an integrated suite of tools that supports the SDLC.
I like your comment about the iterative nature of the SLDC but that has been the case since at least 1984 when Barry Boehm defined the spiral model.
Thanks again for your take. I'm still trying to figure out what this ALM thing means.
I was going to day something similar to "TimWdt", specifically that as software developers and testers our domain needs to expand outside what is defined as SDLC above and to the whole lifecycle (defined as ALM above).
Not however the OP was 2007, while TimWdt and my comments are 2014. There has been a (positive) change in sensibilities of what software dev/test own, so the SDLC/ALM distinction may have made sense back then, but less so today