Welcome to the software development process and methodologies course. Kevin and I will be teaching this course. My name is Praveen and I'm very excited to be one of your instructors for this course. I am an adjunct professor at University of Minnesota, and I have been in the software industry for more than 20 years, currently working as a consultant in the industry, helping organization and teams get better developing software. I also want to welcome you to our course. My name is Kevin Wendt and I'm a teaching specialist in the Department of Computer Science and Engineering here at the University of Minnesota, and I'm currently working on my doctorate in Software Engineering Education. I've worked in the industry but now I'm in my dream job, teaching Computer Science. Well, before we learn about software development process and methodology, Kevin why should anybody learn about software development process and methodology? Well, that's the big question. Software Engineering is one of our most complex things that humans have ever done, and that includes all other types of engineering. Civil Engineering is hard. Civil Engineering in software is harder. Think about building the Hoover Dam. It's an incredible thing. It's an incredible amount of work. But if they got halfway through building it, and they saw a huge crack in the concrete, they'd be able to identify and fix that. And if it was completely done and water were flowing straight through the middle, people would know it's not working. The thing about software is that, it's intangible. We can't see it, we can't see when we've made mistakes; and it's hard to see for sure that it isn't working right, especially at the grand scale. And just to make it a little bit harder. Anything we do to help us see that it's working right, could be wrong itself. If the program is wrong and the tests are wrong, we don't even know there's a problem. That's what makes following engineering process so important. We have a lot of what I call codified common sense. Of course I would do that. It makes sense, it's almost obvious. But even if you know you should do something, when you're dealing with such a massive endeavor, you could still miss things. Not due to carelessness or negligence but just because it's impossible to keep everything in your cognitive model when dealing with something this complex. And that is why it's so important to learn about the process and follow it. It gives you the roadmap to success. You will not use everything we teach you every time. You may not follow any of the software development life cycles as we present them, ever. What you as a software engineer will do, is take these templates, these plans, these processes, and make engineering decisions necessary to adapt them to your needs, to your project's constraints. But that's not very "engineer" of me. What about cold hard numbers? Praveen, there has to be statistics on this. Well, there are. Actually, Standish Group of Chaos, they release a report every year, and in 2015, they reported that about $81 billion are wasted in canceled projects. And they have another stat like in 2015, 19% of the projects failed. That means that either the project was canceled before it could finish or, project was finished, but people did not find use of it. So, one in every five projects failed. And if you don't believe the numbers, there is a website called Catalogue of Catastrophe, and the link is here, where, by year, they have listed all the projects that failed in those years. And they were major project failure that everybody knows about. And even in my experience, I have similar experience that very few projects really reach the business outcome that organization is looking for, and I am sure you have a similar experience, Kevin. Can you share your experience? I do. Two out of the three multimillion-dollar projects that I was working on when I was in the industry, they have all failed. One of them failed in requirements, but the other one did not fail until Beta rollout, where it was actually with customers. A multimillion-dollar project failed once it was in the customer's hands. So hopefully, you understood the importance of learning about software process and methodologies. Hopefully, this will help you, your team, your organization, and the industry.