As organizations transition to agile processes, quality assurance (QA) activities and roles need to evolve. Traditionally, QA activities have occur late in the development 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. Since agile teams incrementally deliver working software, this provides an opportunity to engage in QA activities much earlier, ensuring that both functionality and system qualities are addressed at the most appropriate times. Agile teams embrace a “whole team” approach. Even though special skills may be required to perform certain development and QA tasks, everyone on the team is focused on the delivery of quality software.
Prioritizing and implementing necessary functionality keeps an agile project moving forward. However, it is also important to focus on system quality at the same time. Otherwise, qualities can get shoved aside or wistfully imagined as emerging along with the architecture. This session will show you how you can interject quality specification, design, and testing efforts into your project and be more agile about it. I will introduce agile techniques and patterns of practices that support the definition and delivery of system qualities. We will also discuss the role of QA and architects in agile teams and how they ensure that important qualities are addressed in an agile manner that emphasizes architecture capabilities such as usability, security, performance, scalability, internationalization, availability, and accessibility.
Our speaker, Joe Yoder is well known in the Software Patterns community, and is perhaps best known as the co-author of the Big Ball of Mud pattern which illuminates many fallacies in common software architectures. He has taught, mentored, consulted, and managed various software projects for many years, including applying patterns, designing architecture, creating adaptive object models, utilizing agile methods, developing frameworks, refactoring existing systems, object oriented software development in Java, C#/.NET, Smalltalk and C++, and web design and cloud services.
Joe is a frequent speaker at conferences such as Agile, CBSoft, JAOO, QCon, PLoP, OOPSLA, ECOOP, SATURN, and SPLASH. He thinks software is still too hard to change. He wants do something about this and believes that using good patterns and putting the ability to change software into the hands of the people with the knowledge to change it seems to be one promising avenue toward solving this problem. He currently resides in Urbana, Illinois.