[00:00:00.990] - Speaker 1
Companies started to realize that waterfall has an issue, they started to look at V model, a slight improvement in the waterfall model, because they realized that they need to make sure that every phase before it moves on is perfectly done. Or we need to put in some check and balances in the overall process so that we don't go wrong too much after every phase. So this came into existence in 1980s and it was proposed by Paul Rupp. So V model looks like this. Just like the alphabet V, where on the left hand side you can see the various stages, what is happening in the software. And on the right hand side, there is a corresponding verification and validation stage or the testing stage corresponding to each of the phases. So this was an addition which was done in the software development process. So for example, you can see here at the bottom of the V, there is coding phase. So that is where the central point of the software development processes. So at the coding stage, just to move forward, move upwards, coding has a corresponding unit testing phase. Low level design has a corresponding component testing phase.
[00:01:39.510] - Speaker 1
Each of the phases is defined with a corresponding testing phase. This is to ensure that when you are moving forward, we have tested that phase and made sure that this phase is complete in all this. So this case. So this was a pretty robust system at that stage, and it started to work in many cases started to work. But again, the problem remained. One of the problems or what of all was, if the customer's requirements are not clear, no matter how excellent your delivery processes, you'll not be able to do justice with the product because there's a problem is at the other end. So V model works extremely efficiently. If you have a situation where specifications are 90 % clear or even 80 % to 85 % clear, there are not too many changes which are going to come. This is an excellent model which works excellently. I've used it in multiple projects and they work really well. But this only works if the requirements are mostly known upfront. But most of the cases, this was not the case because not every by early 2000 or even late 1990s, most of the normal automation processes have already gotten over.
[00:03:37.300] - Speaker 1
Software industry started by automating the basic manual processes. Everything which is manual was converted into an automated process. But that was over till before even the 21st century, including the conversion of two digit year to four digit here, the Y2K problem. Then from 2000 onwards, people started to develop new products. That was a period when. Com was at the boom. Every website was a different a website. They were to be developed very fast and they were to be developed in such a manner that it may be dirty. But the idea was to develop it fast so that competitors don't come into it. So a lot of such websites were developed. So for that, Waterfall or Vmodel was completely outdated. So they wanted something which can ensure that the system is well understood by the customer also, so that you're always in sync with what you are understanding versus what customer is expecting. So then prototyping was introduced in the picture. So prototyping is something which a lot of industries are already doing, like robotic industry, car industry. They're all making prototypes before. In fact, the car industry goes a bit ahead. They create a car, actual car, and put into the car shows, auto shows across the world to show the perception of the people because there are general public involved.
[00:05:33.200] - Speaker 1
So prototyping is something which helps everyone to understand the requirements better. It's a visual modeling tool. So prototyping was introduced and during the requirements phase, prototyping was used. Even during the design phase, prototyping were used. So at the requirement stage, you may create mockups as we saw in the first chapter. At the design phase, you have a little more sophisticated, a little more working a prototype which you can show to the customer. So what you are doing is you are also now involving the customer and making sure that they are comfortable with what they are going to get. That helps in the accuracy of the system being developed. So this was a big improvement on the waterfall and the models. It started to involve customers a little more, and that helped in accuracy of the software. It also helps in completing the requirements, even though the customers themselves are not very clear. So this was a very useful a methodology which works pretty well. Even now, prototyping model is something which is very useful. But there are certain problems with this model also, as it's quite obvious is that prototyping is an expensive process. It takes a bit of time.
[00:07:19.390] - Speaker 1
It takes a bit of expertise to do this a pace. And most of the times what will happen is once you start showing the prototypes to the customer, sometimes customers start realizing what they need once they start seeing the product itself. That's a very famous saying in IT industry is that customer starts to realize what they need once they see the product. So the prototype phase can become pretty lengthy, and it can eat up a lot of resources during that phase. And that could prove to be very expensive for the project. That is one. Number two is, till the design phase, you are involving the customer, which is very good, but it is not ensuring customer collaboration beyond that point. So the changes can happen at any point in time. It can come at any phase. So till the time prototyping is on, you are safeguarding everyone against this change. But what happens after that? Again, we come back to the original problem of not having customer involved in the project. That led to the model called iterative models where everything was iterative. And it ensured that customers are involved with the project at every phase of the project and as many times as possible so that the gaps between the customer expectations and what you are doing are in the scene.
[00:09:23.040] - Speaker 1
Spiral was one of the models which was first proposed in the 1990s itself, but because of the person who actually proposed it, he never tried to provide more details about how it will work, what is the thought process behind it? This was just a paper or some very basic documentation which came into existence, and it was not followed up by more details about it because everybody is not.
Share with your friends: |