Transcript for:
Understanding Software Engineering's Evolution

Hello friends welcome to gate smashers In this video I'm going to explain software engineering definition And its evolution See you will get the definition of software engineering at many places You will get many different definitions But one of the best definition is It is a systematic, disciplined, cost effective technique for software development That means For software development it is a systematic That means it is a step by step approach And the meaning of disciplined over here That we are following the rules And we are working on regular basis It is not that we worked today and then for next 10 days we have stopped working Then we will again start working, no There is a proper deadline We have to work between deadline We have to work in a disciplined way Cost effective That means the technique that you are using Cost is an important factor in that It is an important parameter It is not that you are working over the budget, no You have to work under the budget As well as you can add one more constraint in it Time Because time is also a very important parameter Your work should be completed within the time only So it is the combination of all these techniques for software development And look what is the second point over here That software development is not related to how to code That means how you have to code, no It is a whole approach I will tell you in a simple language That actually what they are talking in software engineering They are not talking about coding Over here there are only talking about the complete approach The approach that you are following step one that is your idea Step 2 requirement Feasibility study, planning after planning you did the implementation You did the design you did the implementation after that You did the testing Maintenance is there Product delivery all the steps that are coming You are combining all the steps and making it an approach That approach is also known as Engineering approach That's why the next definition is Engineering approach to develop a software is known as software engineering So over here the meaning of engineering approach is not that The work done by engineer is known as engineering approach No What is the meaning of engineering approach Step by step you are doing some work systematically From first step till last step you are achieving your goal step by step That is known as engineering approach If I explain you this with a real life example Then there is a very basic example Branded versus non branded See if we talk about branded Branded companies do their work in a proper way Like from the place which I belong to Over there modified jeeps are available Now what are the mechanics do They remove the engine of old Jeep They install broad tyres They make a very good body And they bring it into the market Now they brought into the market Neither it is tested And let's suppose it is okay and on the other side we have branded Like we have Mahindra Thar Jeep company is there Toyota's SUV You will get many cars of this type And over here I'm not talking about any skill or degree That on one side there is a mechanic and on another side there is an engineer I am just talking about the approach What is the approach of non branded things They have build and deliver method That means they have made a thing and delivered it And after that even if it works for 2 kilometer Or it works for 200 kilometers It is possible I am telling this from my personal experience That you used that Jeep locally a bit But if you take it on a long drive it is finished And on the other side if you talk about branded Then they have followed all the steps properly in branded Even after product delivery See if it has been 5 years since you purchased the car Still what opportunity you have Let you go to the showroom They are still providing the maintenance services It is okay they will charge for that But still proper maintenance services are provided So that is actually called the approach From idea to maintenance From maintenance to regular updating Actually all those steps Engineering approach So that is only about software engineering So if anyone asks you software engineering That do you have to development in this do you have to do coding in this That is one phase That is one phase that OK I have to do this work But software engineering is all about how you are following step one till the last step How you are growing That is all about the software engineering Then see over here if we talk about the next thing which is its evolution There it is not that the software engineering is today's term Or it is the term of 10 to 20 years before You can say that the term software engineering originated between 1945-65 Origin will only happen when software development will start So at the time of World War 2 development related to this was started NASA and many organizations at big level IBM company They had started working on it on their own level But at that time no one was talking about engineering The work was going on a simple software development And all are following build and deliver kind of method Which is also called build and fix method Okay you have made a thing And you gave it in the market And it is possible after that problem may come, and the problem will come Because we have not followed all the steps You have just given a thing to complete the task Obviously such thing will create a problem Let us possible that your work is done initially But it will not be effective for long term So that is the origin of the software engineering And in starting there were many famous NATO conferences Where actually first time software engineering was named After that if we talk about 65-85 This. Is known as software crisis Why is it actually called as crisis I am telling you that point only That branded and non branded In one you can say that I am following a complete approach But at that time there was no approach They were simply following the build and deliver kind of method That OK I have got some work I tried to wrap it up quickly And delivered it to market And gave it to my client Now what was the problem The problem was that At that time the maximum crisis time The software that were made at that time From those software actually only 2% software were used That means if hundreds softwares were made at that time Then from that only 2 were used properly And approximate 45-50% were not delivered That means they were not used And you can say that rest of them are what They are simply scraped Scraped that they are simply finished It's budget, it's cost That will be over run Let's suppose you had the budget of 1 billion And you have already spend 1 billion And your software is still not completely made Or time constraint You had to make within the time and you consumed that time Over time is done So this were the constraints Complexity were there There were many factors Due to them Just 2% software They only were actually used And one the best example of this is OS/360 this was IBM product Operating system 360 To develop And the person who was heading all this In his own he has written That it is a multi millionaire failure project Why? Because he had not prepared any design earlier No coherent design was prepared Directly they started working on that Did the coading part implemented it And bought it into the market That was totally your failure So this failure It is due to not using the approach properly Now see again and again I'm talking about approach It does not mean that if you will follow the approach than 100% there is a guarantee That you will be successful, no But the probability of success will be more That is the main point But if you are not following the approach The probability of failure is actually more It was not that after this the crisis were over Or it was reduced, no After that also it continued In this torus project is also quite popular 10-12 years were spent working on it A lot of UK pound were spent on it But still at end it was given in the scrap Many US products also They had tried to make autonomous system They had work for 11:50 years on that also But its budget was over run So due to that That also was given in the scrap So it is not that only during this time after that also it was there At this time you can say that from 100 only 2 were used You can say that the risk had failed So obviously that is known as the software crisis phase After that the time of Internet came After 1990 the time of Internet came And during this time all the softwares that were there Even if we still talk The most famous is your windows Microsoft Windows That is a system software Which we also call as operating system It also came during that time And in the Internet phase web browsers we're quite famous They were developed a lot Then came the time of mobile In mobile they started lightweight Lightweight means one software is running on the PC Now we want lightweight We want lightweight platform on which we can develop lightweight softwares So that do software can run properly on mobile Then after that the current time You can say after 2010 The time is of AI, machine learning, deep learning Where we are using the concept of self learning in software Where it is trying to learn by itself Like a human being So the evolution is going on this way Now what is one of the best thing in this evolution That is most of the software are now free That means earlier they were proprietary Company had made they had kept with themselves But now most of the softwares are free Due to which people can work They can work on that particular thing and learn how to work So this is actually an evolution Of software engineering Some points can be asked on this in your exams college university exams or even in placements Thank you