Abstract: As organizations transition to agile processes, Quality Assurance (QA) activities and roles need to evolve. Traditionally, QA activities occur late in the process, after the software is fully functioning. As a consequence, QA departments have been "quality gatekeepers" rather than actively engaged in the ongoing development and delivery of quality software. Agile teams incrementally deliver working software. Incremental delivery provides an opportunity to engage in QA activities much earlier, ensuring that both functionality and important system qualities are addressed just in time, rather than too late. Agile teams embrace a "whole team" approach. Even though special skills may be required to perform certain development and Quality Assurance tasks, everyone on the team is focused on the delivery of quality software.
Description: Prioritizing and implementing necessary functionality keeps an agile project moving forward. But in a sprint to deliver features, agile teams can overlook software qualities. By focusing only on functionality, the security, scalability, performance, and reliability concerns can get shoved aside or wistfully imagined as emerging along with the architecture. But what if you need to pay more attention to system qualities? How can you interject quality specification, design, and testing efforts into your project and be more agile about it? This talk introduces agile techniques and patterns of practices that support the definition and delivery of system qualities.
I will show how to write Quality Scenarios in an Agile manner that emphasize architecture capabilities such as usability, security, performance, scalability, internationalization, availability, accessibility and the like. I will also address the when, where, and how on Quality Scenarios. This will include how to identify, profile, and outline the relevant quality characteristics.