Before the creation of Agile, what were the most used models in Software Development?
I am writing a thesis on the various ITS software (like Jira) used to implement these models and I want to put a paragraph about the most used models before Agile and its derivatives.
- 81,699
- 39
3 Answers
If I understand your question, you're interested in SDLC that were before the emergence of the Agile, i.e. not only the agile manifesto 2001, but also the agile methods that were promoted individually by the authors of the manifesto (e.g. XP, Crystal, etc...).
SDLC time travelling
Before Agile, in late 90's, the most popular SDLC was probably the Unified Process, the first variant of which was the Rational Unified Process (RUP), designed by the founders of UML. It was already iterative and incremental.
Note that RuP was preceeded by the Booch method and OOSE in the early 90's. But these were quite new and not yet promoted by industry leaders.
Before, in the early 90's you had the Vee model or V-model and their variants. These SDLC were quite popular and were adopted by governmental agencies around the world, because they were meant to enable the construction of very large and complex systems, made of components (software, but even hardware or organisational measures), with emphasis on quality assurance and system integration. Note that in some agencies, nowadays Vee is still in force, but with variants that allow components to be developped using agile practices.
Another common SDLC in the late 80's was the so called spiral model. The idea was to have successive cycles of development to refine the software. But I would claim that this view was more academic, the development process of each cycle following the steps of the waterfall.
Before, in the 80's and before, the most common SDLC was the waterfall model with its mantra "Analyse, Design, Implement, Test" (to be understood: in strict sequence).
What is SDLC by the way ?
Note that SDLC means "Software Development LifeCycle". This describes the approach used to structure development projects and the successive stages of software.
SDLC is not about the practices or methods that are used:
- For instance, both waterfall and v-model SDLC were used in conjunction with modelling methods like Yourdon, or Gane & Sarson, which were more related to the programming technologies (structured programming with strong separation of data and code) than to the SDLC.
- Even in waterfall, some authors recommended the use of prototyping to validate the analysis and design before starting to code.
- The Rapid Application Development for example used some interesting practices such as joint design workshops with the users and rapid prototyping to ensure short feedback loops. But these practices were embedded in a waterfall (or spiral) model.
- There are some standards (e.g. software used in medical devices), which still impose a V-model, but standard specialists now read this as process requirements and not SDLC requirements).
- 81,699
Before the Manifesto for Agile Software Development, you had people using Scrum, DSDM, Extreme Programming, Lean Software Development, Adaptive Software Development, the Crystal methodologies, and more. Key people from several of these methods (before the Manifesto, they were calling them "lightweight" or "adaptive" methods) were meeting at different conferences and ultimately at Snowbird where the Manifesto was written. The Manifesto for Agile Software Development is an abstraction or an identification of common ground and common values and principles that capture why people felt that these methods were having success on various software-intensive projects that they were used on.
Before the Manifesto for Agile Software Development, you also had people who were trying to apply traditional project management techniques to software. But these techniques don't typically work well when applied to work that is not predictable and repeatable, which the bulk of software development is. It also doesn't take advantages of the economies of software development. Even though it's not a good fit, people attempted to use these techniques to apply discipline and control projects that were overrunning planned costs and schedules.
In short - not much has changed. However, there's a name and an entire industry of training, consulting, books, conferences and more built up around the name "Agile". That's new because of the Manifesto - it simply gave a name and built concepts around a bunch of otherwise disjoint work in improving the methods of software development.
- 85,641
- 18
- 207
- 307
Like Christoph already explained SDLC is independent from a software development methodology which is still not what agile practices bring to the table. Agile is primarily process oriented. For the sake of the argument let's go with development processes.
The most popular method was, and to my estimate still is, none.
At most of the places I worked any adopted methodology has been an afterthought. And often they just pretended, picked some aspects that did not require them to change their ways and moved on. People were sent on a course, some half-hearted pledges were made and everything went back to normal.
It looks like this has changed to some degree over the last 10 years or so, Scrum is pretty ubiquitous today. Or at least that's what everyone wants you to believe, still a lot is window dressing. It is hip to be agile and you don't have to change much before you can claim you are applying agile practices. Most of the times it is just that: some agile practices in a given environment that did not fully embrace agile principles.
Most software businesses started out with a business person and a coder (sometimes one person) who just banged away, solving problems as they emerged. The coder just made what the business asked for. And often this "method" is hard to beat too.
- 18,652