• Português
  • 简体中文
  • English
  • Français
  • Deutsch
  • 日本語
  • Lietuvių
  • Español

Submitted Conference Content

Nom(s) et Prénom(s)

Mario Cardinal

JobSoftware Architect
emailmcardinal [at] mariocardinal [dot] com
Phone number514-581-1274
Entreprise/Organisation.Net Expertise
Ville (Pays)Canada
Type de conférenceConference > 100 attendees

Addressing Non-Functional Requirements with Agile Practices


Mario Cardinal is an independent consultant specializing in software architecture. He is known as someone who can extract the essence of a complicated situation, sort out the core ideas from the incidental distractions, and provide a summary easy to understand. He speaks regularly about architecture and agility at international conferences. Since 2004, he hosted the Visual Studio Talk Show, a podcast about software architecture. He also leads the architecture user group for the Montreal .Net Community and is the architecture track tech chair for the DevTeach Conference. For the seventh year in a row, he has received from Microsoft the Most Valuable Professional (MVP) award. Mario holds Bachelor of Computer Engineering and Master of Technology Management degrees from the Ecole Polytechnique in Montreal, Canada. He also holds the titles of Certified ScrumMaster (CSM), Microsoft Certified Technology Specialist (Team Foundation Server), and Microsoft Certified Solution Developer. He shares his free-time with his wife, Nathalie and their four children


A common challenge with agile software development is how to address non-functional requirements. A non-functional requirement specifies "how well" the "what" must behave. Also known as "technical requirements", “quality attributes” or "quality of service requirements", they focus on characteristics that typically cut across functional requirements such as usability, correctness, reliability, maintainability, availability, performance, portability, testability and many others. As you can see from that list, non-functional requirements are often referred to as “-ilities” because of the suffix many of the words share. Improperly dealing with non-functional requirements leads to the source code difficult to evolve or software with an unpleasant execution quality. During this session, you will learn the agile practices to transform these recurring concerns into self-contained quality targets that can be satisfied iteration after iteration, in a finite period of time. Overall, you will acquire a different perspective on how to connect requirements and architecture using agile practices


Minimal experience with agile software development (knowledge of what is an iteration, a user story, ...)

Bénéfices pour les participants

- Acquire a comprehensive overview of Agile Specifications process - Acquire a different perspective on how to connect requirements and architecture using agile practices
Go to the submission page!