The Software Development Life Cycle – SDLC (we’ll simply call it the “Cycle”) is a way to get
– from an idea about a desired software
– to the release of the actual software and its maintenance.
The effectiveness of an Internet company and hence the happiness of its users fully depends on:
– how effectively each stage of the Cycle works and
– how effectively the stages interact with each other.
Today we’ll cover a model of the Cycle called “Waterfall,” which is used in 99% of all start-ups because it’s the most straightforward way to develop software. (In fact, if you ask a programmer, “What model of SDLC do you have?” and he or she answers you “What?”, then it’s a Waterfall.)
We are going to go through each stage of the Cycle and will learn:
– the practical side of each stage,
– the relationship between different stages.
At the end of this LONG lecture, we’ll look at a high-level overview of how the Cycle works (The Big Picture of the Cycle).
Don’t worry if you don’t understand all the material right away. We’ll be covering A LOT of things, and some of them are not easy to grasp just hearing about them for the first time. You can:
– Read the material again
– Google it
– Send me an email
I’ll try to minimize remarks like “In some companies it’s called this or works this way, and in other companies it’s called that and works that way.” It’s impossible to embrace such a variety, but if you grasp the main principles, you’ll be able to easily connect what you’ve learned here with the reality of your present (or future) software company.
So, let’s say “Hi” to
2. Product Design
4. Testing and bug fixes
Here is a flowchart (Maintenance is not included intentionally, later on you’ll find out why):