This program is designed for Software Quality Control and Assurance Manager, Project Manager and Software Development Team Member who is interested in increasing the likelihood of project success. The course looks at software quality control and assurance processes and practices, as well as support disciplines such as software project management, software configuration management and release management. Successful software quality assurance is the result of the combination and integration of these practices, and complements SE practices.
Video Duration Time: 6 Hours 31 Minutes and 11 Seconds
Click on the Promo Video to view the introduction of the “Software Quality Assurance” learning video.
There are 18 well organized, high impact yet easy to follow Lectures. A test for Software Quality Assurance Certification is available upon finishing the course.
Contact Us for more information and licensing options.
Ernie is an Adjunct Professor of Computer Science. He holds a Masters in Software Engineering and Doctorate in Education from Seattle University. He is also a ASQ Certified Manager of Quality and has worked a Consultant in Quality Software Practices.
Ernie sets the stage and goals of the Course during this introduction.
Success? What defines success, how to measure success and what culture is needed to instill success? You will learn all about the key attributes for success and setting the stage on how to implement these into a successful quality program.
What concepts, way of thinking and ideas are integral towards achieving quality within the context of a project. Who is responsible and for what is also covered in the Lecture.
Various real world stories of successful quality are told by Ernie to help us re-frame our thinking about quality.
This lecture examines the terms and concepts in more detail. For example, the Baseline, Branch, CMMI, ITIL, Project Parameters, Refactoring, Death March and other terms and concepts are covered in the Lecture.
Individual and organizational competencies are discussed in this Lecture, Ernie pays close attention to leadership skills, team communication, systems thinking, ethics and knowledge sharing throughout this Lecture. Each competency is also measured in terms of the Capability Maturity Model (CMM). Ernie also talks about "Levers" and how to use certain "Levers" in reducing the resistance to change in organizations. Understand what the differences are between "Pulling Change" and "Pushing Change" models and how to use one or the other when motivating your people towards meeting quality goals.
Continuation of Competencies Lecture.
In particular, Ernie explains the "Exchange Model", "Organizational Currency", "Open and Closed Loop", "Systems Thinking" in helping you to motivate your team and moving your organization forward and achieving your project quality goals.
Conclusion of Competencies Lecture.
Overview of standards as the foundation of Quality. Ernie gives an overview of ANSI, IEEE, ISO, ITIL, CMMI, PRINCE2, ISO 9000 series quality system models. Included in this overview is the Quality of Service Strategy, Design and Operations.
In this Lecture Ernie describes how software quality practices are applied within the framework of the Software Life Cycle. He examines Project Management, Development (Requirements, Design, Development and Implementation) through Release and Support. Ernie also guides you through the different Life Cycles models including Waterfall, Spiral, Iterative and Adaptive/Agile.
In this continuation of Lecture 9, Ernie touches on some of the lesser known Life Cycle models, such as; Dynamic System Development Method, Evolutionary Project Management, Feature-Driven Development (FDD), Lean Software Development and Microsoft's Solutions Framework.
He also mentions how to select the Life Cycle that is best for your project!
The "Iron Triangle" of Project Management is examined where cost, scope and time need to come together and quality exist in the middle. Ernie explains this concept as it specifically applies to the unique characteristics of software; its development and release. Best or preferred Project Management practices are discussed at length within the context of the production of software and within the scope of the "dynamics" of a software project.
In this Lecture, Ernie discusses the role of the Project Manager and the characteristics of the role. He also discusses project tools and their features. The reasons for project failure are examined in the broader context of what pitfalls you will want to avoid in your projects.
What should we do once our project is done? Well, for one we want to take a project retrospective. Ernie discusses how to take retrospectives and how to apply them to your future projects. Additionally, Ernie discusses agile practices and how to bring those practices into your project.
In the Lecture 15 which is the final lecture on Project Management, Ernie discusses the adoption of project management practices to specific industries, such as, Construction, Engineering, Government, Utilities, etc. He also looks at the adoption of innovation over time and from a product perspective and "Projectification" that is moving knowledge into your projects. Project Based Organizations (PBO) are sited as examples along with several studies.
What drives quality in projects, products and organizations? What are the elements, ingredients and characteristics of quality? What are the dimensions of quality or in other words, what needs to be measured? What about planning for quality? What are the aspects of a quality plan? All of these issues are discussed by Ernie in this Lecture.
What are the outputs from your quality efforts? What is the cost of quality? Cost of non-conformance? Ernie takes a look at these as he talks about your Quality Management System in this 2nd part of Software Quality Assurance.
Reviews and inspections allow us to analyze our software within the context of our quality system. Ernie explains how to conduct Design Reviews, Formal Inspections and Code Inspections as a part of your project's quality control system.
The purpose of testing is to make quality visible. As a form of quality control, testing is a component of quality control. Ernie talks about the 12 testing principles and how to use these principles in developing your test plan. Ernie also distinguishes between testing and debugging. Ernie discusses top down versus bottom up, black box versus white box and static versus dynamic testing. Test requirements, test criterion, test coverage and test cases are further discussed in this lecture. Unit, module, system, integration, acceptance, regression and smoke testing are explained within the context of a comprehensive test plan.
Ernie discusses testing tools and techniques.See how these tools and techniques are used to test Commercial Off The Shelf (COTS) software, security software, data warehouse and web based systems. The goal is to take a risk-based approach and work towards an area of coverage. Web proxy, web server configuration tools and web hacking tools are also covered in the lecture along with defect tracking tools.
How do we estimate our testing effort? Ernie explains that in order to do this we first must recognize our testing effort as a system. Time, effort, reliability, size and productivity are examined as a part of the system of testing. What are the trade-offs in minimizing versus maximizing quality control? How do we estimate the scope and size of your testing effort? Ernie explains this by citing examples.
What are some of the advances in testing to improve software quality? What lessons can we learn from software attacks and how can we apply these lessons to our software testing? What is gray box testing, structural completeness, functional completeness? What are bug hunts and bug fests? What is social testing? What are the software test pain points? What are test data patterns and paths, tear downs, and mock objects? What is the tourist test metaphor? Ernie answers each of these questions in his coverage of Advances in Testing.
What constitutes a software quality professional? What are the typical roles and responsibilities of each role? What are the educational and certification requirements for each role? What is ITIL and how does this coincide with the qualifications of the software professional?
In this Lecture, Ernie explains how metrics are used in your software testing. He identifies what the core metrics and measures are that you need to take into consideration. Ernie looks closely at different systems of metrics, including; Defect Severity Classification, the Quality Index and other effective measurements such as quality, time, effort and reliability metrics in driving effective metrics in your software testing efforts.
Software configuration management provides another opportunity for software quality assurance and therefore compliments it. It is a means by which we keep track of our software items and their relationship to documentation, equipment, versions, baselines, builds and releases.
Release Management is another related discipline to Software Quality Assurance that provides you with another opportunity. When to release, getting ready for a release, the release itself and after the release are all discussed by Ernie. Functionality, milestones, defects, checklist and sign-offs are discussed in terns of answering the question: When will the software be ready to release? Daily builds, baseline management, support readiness, labeling and documentation are all discussed as a part of the release. You will learn about stability, capacity, transparency and adaptation as a means to monitor your release once it is deployed to your end users.
In this Lecture, Ernie brings together the concepts and disciplines previously discussed by citing successful examples of Software Quality. He points out how the Boeing 787 Airplane Health System works to ensure high quality in its system. Another example Ernie discusses is Cisco's Unity product that utilizes agile practices to ensure high quality of software. Re-factoring is discussed as another example of how to improve software quality. Ernie points to Empirical Software Engineering and Measurement (EMS), Foundations of Software Engineering (FSE) and Distributed Development Study, all initiatives of Microsoft, as additional examples that have advanced the quality of software.
"The History of A Closed Bug" is the final example Ernie discusses. The example gives you an understanding of what you can do to improve your quality process based on common behavioral patterns used by software quality professionals.
In the final lecture, Ernie takes some time to draw conclusions upon what he discussed in the previous lectures. Caveats are examined in terms of how you can re-framed your thinking around how to achieve software quality. Best and preferred practices are re-visited for you to use in engaging your colleagues in the software quality process. Finally, the most important body of knowledge on software quality is examined by Ernie for you to draw upon and further expand your understanding of software quality assurance.