SEI Insights

SATURN Blog

SEI Architecture Technology User Network (SATURN) News and Updates

Notes by Ian De Silva

Software Development Improvement Program: Enabling Software Excellence at a Hardware Company

Sascha Stoeter, ABB

ABB has historically been a hardware company, but it has been slowly increasing the amount of software development it does since the 80s. It is a distributed company (in 34+ countries) with software embedded into products such as controllers. Each team has its own set of tools to support development efforts.

Notes by Ian De Silva

Lean and Mean Architecting with Risk- and Cost- Driven Architecture

Eltjo Poort, CGI
Solution architecture includes more than just the software; it may include business processes, information systems, technologies, and the environment. Solution architecture approaches fill the gap between enterprise architecture approaches and technical architecture approaches. Enterprise approaches are weak on transformation and implementation, while technical architecture is weak on cross-technology stakeholder concerns.

Notes by Brendan Foote

All Architecture Evaluation Is Not the Same: Lessons Learned from More Than 50 Architecture Evaluations in Industry
Matthias Naab, Jens Knodel, and Thorsten Keuler, Fraunhofer IESE
Matthias has evaluated many systems' architecture, ranging from tens of thousands of lines of code to tens of millions, and primarily in Java, C++ and C#. From this he distills out commonalities in the various stages of the evaluations. To start with, the initiator of the evaluation was either the development company or an outside company, such as a current customer or a potential one. The questions being asked also varied--whether wondering if the architecture is adequate for one's solutions, what the impact would be of changing the system's paradigm, or how big a difference there was between a system and the reference architecture.

Notes by Brendan Foote

Keynote Address: Learning to Surf

Mary Poppendieck, Poppendieck.LLC

We've always had to ability to think in different ways by pretending to "stand in someone else's shoes." But without even trying, we are using two different modes of thinking: type 1, the fast, reflexive, intuitive mode; and type 2, which is slow and thoughtful.

Notes by Frank M. Rischner

Architecture Patterns for Mobile Systems in Resource-Constrained Environments
Grace Lewis, Jeff Boleng, Gene Cahill, Edwin Morris, Marc Novakouski, James Root, and Soumya Simanta, SEI

First responders, soldiers, and other front-line personnel work in resource-constrained environments. It is necessary to use mobile systems in those environments. The systems are limited in performance and battery life. This talk is about architectural patterns. The first pattern Lewis talked about is the Data Source Integration Pattern, which means the data source is on the server. Some of the operations on the data are very power consuming, so we don't want them on the mobile device. The user defines the filters on the mobile device and sends them to the server. The second pattern is the Group Context Awareness Pattern. The users don't go out in the field alone. The users' devices are connected to the same controller, so all devices show the same view. Since the users are not in the field alone and probably operate in a close area, only one device needs the GPS has to be turned on. This model is a layered MVC pattern. Rule sets apply to the mission and are interchangeable. The third pattern is the Cloudlet-Based Cyber-Foraging Pattern. Cyber-foraging has been around for a while; the most known application is probably Siri from Apple. The Cloudlet-Based Cyber-Foraging base is on a VM manager.

The SEI is conducting a survey to understand more about the extent to which architectural concerns play a role in agile software development. In particular, the goal of this survey is to understand some of the existing practices used to quantify architecture. This topic is of growing importance. As successful agile techniques are applied to larger and larger projects, they require increased visibility into the architecture of the system. Your participation is important to allow the SEI to correctly characterize the nature of the problem and to understand some solutions that people have found useful.

Notes by Frank M. Rischner

The Design Space of Modern HTML5/JavaScript Web Applications

Marcin Nowak and Cesare Pautasso, University of Lugano
Whenever we create a web application, we have to decide where the application runs, either on the server side or on the client side. When using HTML5, we push everything but the data to the client. In the example scenario, the server is treated as the database, and the browser is seen as a terminal. There are several Model View interaction patterns: Model View Controller Pattern, Model View Presenter Pattern, and Model View ViewModel Pattern, which is the most flexible one of the patterns. Most recent movements apply the "Model View *" pattern, which leaves out the controller.

Notes by Ian De Silva

The Conflict Between Agile and Architecture: Myth or Reality?

Simon Brown, Coding the Architecture

Agile is about working in small increments, getting feedback, and improving the process or product. Architecture is about structure and vision. There is no conflict between agile and architecture because every software project has an architecture. There is, however, a conflict in the approach and team structure.