Instructor-Led | Virtual or In-Person | 1 Full or 2 Half-Days | 25 Participants → Cross-Functional

Engineering Software With Quality (005)


Description
Is your engineering team struggling with escaped defects, customer escalations, or production issues? Does your development process seem hard to manage and cause frequent delays or missed deadlines? Software engineering is a wicked problem — one where the problem typically cannot be understood without attempting to solve it. But how can engineering teams tackle this type of uncertainty, especially in a fast-paced, rapidly changing, agile environment? In this course, you'll take a step back and look at the big picture of software engineering, including the leading principles, processes, patterns and practices used in industry today. You'll learn why it is important to guard certain aspects of your engineering activities, and how to make quality an integral part of the development lifecycle. Whether you are a cross-functional team, engineering guild, community of practice, or part of leadership, come and engage in quality engineering practices around software requirements, design, development, testing, operations and release management. By the end of the course, you'll have an appreciation for each team role and what it takes to build the right product and build the product right.
Content
  • Course Introduction
  • Introductions
  • Course Goals
  • Software Engineering Recap
  • What is Software Engineering?
  • Phases of Software Engineering
  • Software Process Models
  • Quality Engineering In Agile Projects
  • Roles and Responsibilities
  • Tracking and Visualizing Work
  • Definition of Done
  • Hands-On: Specifying Requirements with Quality
  • Requirements Specification in Practice
  • User Stories and Use Cases
  • Practical: Writing Good Requirements
  • Practical: Validating Requirements
  • Hands-On: Creating Software Designs with Quality
  • Software Design in Practice
  • Architecture and Design Patterns
  • Practical: Modeling Software Components
  • Practical: Validating Software Designs
  • HANDS-ON: Developing Software with Quality
  • Coding and Software Development in Practice
  • Object-Oriented Programming
  • API and Service-Related Patterns
  • Practical: Code Reviews, Inspections, Walkthroughs
  • Practical: Unit Testing
  • Hands-On: Promoting Quality Through Testing
  • Software Testing in Practice
  • Practical: Exploratory Testing
  • Practical: Test Automation
  • Test Automation Patterns and Anti-Patterns
  • Operations and Release Management
  • DevOps in Practice
  • Continuous Integration, Delivery and Deployment
  • Software Release Management
  • Compliance, Audits and Quality Control
  • Course Wrap Up
  • Lessons Learned
  • Future Directions
Completion rules
  • All units must be completed