Over the past decade, Agile software development and software architecture practices have received significant attention from both industry and government. The complementary nature of Agile development and software architecture practices is also increasingly better recognized and appreciated. However, applying Agile development with a concurrent focus on architecture is still experimental and experiential rather than a proven practice based on sound engineering techniques. Challenges are exacerbated when organizations must deal with increased system software size and increased complexity in orchestrating larger engineering and development teams, and when they have to ensure that the systems developed will be viable in the market for several decades. In this presentation, we will examine tactics that can help identify and mitigate key risks of large-scale, complex software development when there is a need to use Agile development and architecture-centric practices in concert.
Ozkaya is a senior member of the SEI technical staff within the Architecture-Centric Engineering (ACE) Initiative in the Research, Technology, and System Solutions (RTSS) Program. Her current interests and projects are in developing empirical methods for improving software development efficiency and system evolution with a focus on software architecture practices, software economics, and requirements management. Her latest publications include multiple articles on these subjects focusing on Agile architecting, dependency management, and architectural technical debt. She also serves on the advisory board of the IEEE Software magazine and is a member of the technical faculty for the Master in Software Engineering Program at Carnegie Mellon University (CMU).Ozkaya holds master's and doctoral degrees in computational design, both from CMU.