We at the SEI are excited about the Team Software Process (TSP) Symposium, which we are holding in Pittsburgh, Pa. November 3-6, 2014. The theme of the symposium is “Going Beyond Methodology to Maximize Performance.”
By this, we mean that the technical program goes beyond the core methodology of TSP to encompass a broader range of complementary practices that contribute to peak performance on system and software projects.
As part of our strategy to expand the scope of the symposium and bring in more architectural thinking to those who have adopted TSP and are using it, we’ve added several architecture-related sessions to the technical program. We at the SEI have seen how successful combining TSP and architecture-centric engineering approaches can be in the project we undertook with Bursatec, the technology subsidiary of the Mexican stock exchange.
Our experience has demonstrated repeatedly how important it is for a project to get the architecture right in order to develop a quality product at the end. Even when projects don’t pay attention to architecture, they are making architectural decisions; however, the failure to consider the long-term consequences of such decisions can result in an escalating and debilitating accrual of technical debt. The tutorial that we will offer at this year’s symposium, Strategic Management of Technical Debt (Neil Ernst, Ipek Ozkaya, and Robert Nord), will introduce and explore a way of thinking about the consequences of not being deliberate about architectural decisions. It will also arm attendees with strategies for managing technical debt so that they can take advantage of time-sensitive opportunities, fulfill market needs, and acquire stakeholder feedback.
Three SEI staff members who have led architecture and TSP work, including the leads for the Bursatec project, will present Architecture Best Practices for Project and Technical Leaders, sharing the key concepts that managers need to know to be sure their teams are using architecture effectively. They will share insights and behind-the-scenes tips about not just execution, but also making sure that management is positioned to make the project team a success.
Another architecture-related talk at this year’s symposium will cover legacy-system modernization. We know that there are many existing systems that, while almost good enough for today’s needs, are beginning to age, perhaps as a result of increasing technical debt. There are options in such cases—throw it away, incrementally improve it, shift to a new platform, and then modernize. The SEI team delivering Architectural Insights into Planning a Legacy System Migration—Phil Bianco, Michael Gagliardi, and William Wood—will share experiences and insights from having participated on projects modernizing large legacy systems.
Pat Donohoe of the SEI will offer an introduction to software product lines. Product lines are a great solution for dealing with families of related products. They provide a better way to manage common software assets than “clone and own,” a too-common practice that leads to a variety of defects and unanticipated consequences. In addition to improving quality, product lines provide economic advantage through common ownership of important assets. As with legacy-system migration, there is a range of ways to adopt product lines, and the SEI has a done a lot of good work in the field over the years.
Peter Feiler of the SEI will also give a talk related to architecture, titled An Incremental Life-Cycle Assurance Strategy for Critical System Certification. Feiler’s work addresses the early introduction of defects that are detected late in the life cycle. In safety-critical domains such as avionics, we have seen studies from organizations that make critical errors during the requirements or design phases and don’t discover them until integration. Formal architectural modeling through languages such as the Society of Automotive Engineers (SAE) standard Architecture Analysis and Design Language (AADL) can enable detection of such defects much earlier in the life cycle. For example, we can capture architecture models for multiple suppliers, integrate the models, and detect problems in some cases more than a year earlier than would have been possible with a traditional approach.
We hope that you will consider attending the symposium and these great presentations about applying architectural thinking to your software-development projects.