Engineering Practices for Building Quality Software (Coursera)

Engineering Practices for Building Quality Software (Coursera)

Agile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive. In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

This is an intermediate course, intended for learners with a background in software development. To succeed in the course, you should have experience developing in modern programming languages (e.g., Java, C#, Python, JavaScript), an understanding of software development lifecycle models, and a desire to better understand quality aspects of software development beyond program correctness.
At the end of this course, you will be able to comfortably and effectively participate in various techniques and processes for building secure and high quality software.
Course 4 of 4 in the Software Development Lifecycle Specialization.

What You Will Learn

  • You will learn how to quantitatively measure design quality attributes.
  • You will establish feasible and testable scenarios for evaluating quality attributes in software architecture.
  • You will develop skills to ensure quality in developing code beyond correct functionality alone.
  • You will understand quality approaches to post-development stages of the lifecycle.

Syllabus

WEEK 1
Introduction to Quality Software
In this module, you will be introduced to the concept of quality as it relates to software.
Quality in Design
In this module, you will learn about a variety of quality metrics including how to calculate them. A discussion of design patterns follows, allowing you to gain a deeper understanding of the quality they provide and exposure to several important patterns.

WEEK 2
Quality in Architecture
In this module, you will create Scenarios in order to document and verify quality attributes relevant to software architecture, including usability, performance, and more. Then, you will examine one specific quality attribute and its implications: security.

WEEK 3
Quality in Implementation
In this module, you will explore a variety of quality aspects of the implementation stage of the lifecycle. You will also evaluate coding style guides and static analysis tools. Finally, you will analyze self-documentation in open-source code and identify the capabilities of version control and automated build tools.

WEEK 4
Quality in Testing and Deployment
In this module, learners will discover quality in the final lifecycle stages: testing and deployment. Learners will first be instructed on the importance of test planning, understand what it means to evaluate tests and identify the benefits of test-first process. Then, a variety of resources will give learners understanding into continuous pipeline tools, allowing the learner to evaluate their potential benefits (and drawbacks) for their own projects.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Agile with Atlassian Jira (Coursera) Coursera
Atlassian

Agile with Atlassian Jira (Coursera)

Agile teams use “just enough” planning and an incremental approach to accomplishing the work of the team. Every project and every team uses a custom agile methodology. This course discusses common foundational principles and practices used by agile methodologies, providing the student a flexible set of tools to use in any role (e.g. product owner, scrum master, project manager, team member) on any agile team.

Nov 23rd 2026
4 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Nov 23rd 2026
4 Weeks
Security and Privacy in TOR Network (Coursera) Coursera
University of Colorado System

Security and Privacy in TOR Network (Coursera)

In this MOOC, we will learn about TOR basic concept and see how they protect the security and privacy of users and resist censorship. We will examine how TOR realize the anonymity and utilize its service by downloading and using Tor browser software. A recent attack on TOR’s application flow control called sniper attacks is analyzed.

Nov 23rd 2026
4 Weeks
Microwave engineering and antennas (Coursera) Coursera
Eindhoven University of Technology

Microwave engineering and antennas (Coursera)

This unique Master-level course provides you with in-depth know-how of microwave engineering and antennas. The course combines both passive and active microwave circuits as well as antenna systems. Future applications, like millimeter-wave 5G/beyond-5G wireless communications or automotive radar, require experts that can co-design highly integrated antenna systems that include both antennas and microwave electronics. We will provide you with the required theoretical foundation as well as hands-on experience using state-of-the-art design tools. The web lectures are supported by many on-line quizzes in which you can practice the background theory.

Nov 23rd 2026
5-12 Weeks
Ferrous Technology II (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Ferrous Technology II (Coursera)

Steel, ever-evolving material, has been the most preeminent of all materials since it can provide wide range of properties that can meet ever-changing requirements. In this course, we explore both fundamental and technical issues related to steels, including iron and steelmaking, microstructure and phase transformation, and their properties and applications.

Nov 23rd 2026
5-12 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Nov 23rd 2026
4 Weeks
Competencias digitales. Conceptos y herramientas básicas (Coursera) Coursera
Universitat Autònoma de Barcelona

Competencias digitales. Conceptos y herramientas básicas (Coursera)

Los continuos cambios tecnológicos, sobre todo en aquellos aspectos vinculados a las tecnologías de la información y la comunicación (TIC) hacen que las personas tengan la necesidad de actualizarse de forma continua para que sus conocimientos no queden obsoletos. En este contexto, para las empresas se convierte en algo imprescindible disponer de profesionales que tengan las competencias necesarias para ejercer con éxito las actividades que requieren en su lugar de trabajo.

Nov 23rd 2026
4 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Nov 23rd 2026
5-12 Weeks
The Cybersecurity Culture Blueprint: A Proactive Approach (Coursera) Coursera
LearnQuest

The Cybersecurity Culture Blueprint: A Proactive Approach (Coursera)

In today's rapidly evolving digital landscape, the importance of cybersecurity cannot be overstated. Threats to organizations, both large and small, are on the rise, and the consequences of security breaches can be devastating. It's no longer enough to rely solely on technical solutions; a resilient cybersecurity culture is essential.

Nov 23rd 2026
4 Weeks
Learn CSS Variables (Coursera) Coursera
Scrimba

Learn CSS Variables (Coursera)

CSS Custom Properties represent a significant advancement for front-end developers, introducing the concept of variables to CSS. This innovation substantially reduces redundancy, enhances code legibility, and augments overall flexibility. Notably, CSS Variables distinguish themselves from their CSS preprocessor counterparts by seamlessly integrating into the Document Object Model (DOM), offering a plethora of advantages.

Nov 23rd 2026
1 Week
Cybersecurity Best Practices (Coursera) Coursera
Coursera Instructor Network

Cybersecurity Best Practices (Coursera)

"Cybersecurity Best Practices" is a transformative course designed for any learners whether they are just getting started with cybersecurity or are seasoned professionals looking for a refresher. This course uses real world examples and explains cybersecurity concepts in relatable ways to make it accessible for anyone while still challenging seasoned professionals to think of these concepts with a different lens.

Nov 23rd 2026
1 Week