Software is quickly becoming integral part of human life as we see more and more automation and technical advancements. Just like we expect car to work all the time and can't afford to break or reboot unexpectedly, software industry needs to continue to learn better way to build software if it were to become integral part of human life.
In this course, you will get an overview of how software teams work? What processes they use? What are some of the industry standard methodologies? What are pros and cons of each? You will learn enough to have meaningful conversation around software development processes.
After completing this course, a learner will be able to
1) Apply core software engineering practices at conceptual level for a given problem.
2) Compare and contrast traditional, agile, and lean development methodologies at high level. These include Waterfall, Rational Unified Process, V model, Incremental, Spiral models and overview of agile mindset
3) Propose a methodology best suited for a given situation
Software development processes : Part 1
In this module and next one, we will learn about various software development processes at a high level to understand what is involved in each of these processes. In this module, we will cover Requirements and Architecture.
Software Development Processes : Part 2
In this module, we will learn about processes that are used to implement the software, verify and validate the software, deploy the software and maintain the software.
Software Development Models: Traditional Models
In this module we will learn about various traditional models like waterfall, RUP, Incremental, and Spiral models.
Software Development Models: Agile and Lean
In this module, we will learn about agile and modern techniques of software development. We will also learn about techniques that helps you learn faster about your market, your users, and your product.