search menu icon-carat-right cmu-wordmark

Architecture Best Practices for Project and Technical Leaders

November 2014 Presentation
Felix Bachmann, Jim McHale, Timothy Morrow

This TSP Symposium 2014 presentation describes a set of architecture best practices based on commercial and government experiences in software development.

Publisher:

TSP Symposium

This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.

Abstract

This TSP Symposium 2014 presentation explains that architecture development is one of the earliest, key identifiers of potential risks in a project's development life cycle. Architecture provides the foundation for the project's entire life cycle and is used to help address the important areas of a project such as design, schedule, estimates, testing, users' satisfaction, team structure, and training. TSP makes use of and expands on these areas. For example, an architecture development process that includes estimating architecture development effort based on quality attribute scenarios fits nicely into the initial conceptual design efforts. Taking an architecture-informed approach and inferring its implications and impacts for a project's development success is a key skill that leaders need in order to identify risks at the start of a project or determine a baseline for an existing project. This presentation describes a set of architecture best practices based on experiences working with commercial and government departments and agencies in the areas of software, system, enterprise architecture, and system-of-systems development. 

The architecture best practices focus on four areas: visual representations, specifications, processes, and acquisition. In these four areas, two levels of supporting artifacts are identified and integrated in a timeline to help a leader plan for a new project, support assessing a project's current health, and develop a baseline from which to identify areas for process improvement. The first level provides a minimalist framework that will work for a project of any size to provide an architecture-informed snapshot. The second level is more comprehensive and will lend itself better to larger projects.