Category: Architecture-Centric Engineering

Longtime SATURN participant Eltjo Poort has posted a summary of SATURN 2017 on his blog. Eltjo was the winner of the inaugural Linda Northrop Software Architecture Award in 2016.

"This was my fifth SATURN conference," writes Poort, "and just like the previous years I returned home full of new ideas and inspiration, and with many useful new contacts. I am already looking forward to the 2018 edition in Plano, TX."

Read the whole thing.

Since 2010, the SEI and IEEE have been conferring two attendee-selected awards at SATURN. The IEEE Software SATURN Architecture in Practice Presentation Award is given to the presentation that best describes experiences, methods, and lessons learned from the implementation of software architecture practices. This year's award winner was Sebastian von Conrad of Envato for his presentation titled An In-Depth Look at Event Sourcing with Command Query Responsibility Segregation (CQRS). See presentation slides in PDF here.

The second award, the IEEE Software SATURN New Directions Presentation Award, is given to the presentation that best describes innovative new approaches and thought leadership in the application of software architecture practices. This year's award winner was George Fairbanks of Google for his presentation titled Functional Programming Invades Architecture. See presentation slides in PDF here.

In addition to reflecting the high regard of SATURN attendees, these awards also contribute to the maturation of the practice of software architecture by recognizing sound and innovative practices.

As the technical co-chairs for SATURN 2017, we're looking forward to welcoming you to the conference in a few weeks' time, and we're excited about the practical, forward-looking program that the hard-working program committee has assembled for the conference. We had many good sessions proposed and unfortunately had room for only a fraction of the submissions in the final program. However, we're sure you're going to find the sessions on the program relevant, engaging, and full of information to take back to work after the conference.

First, we have three terrific keynote talks to look forward to. Kevlin Henney will be speaking about the importance of detail in software development as he talks about Software is Details. Chris Richardson will talk about microservices as an architectural style as he tells us that There is No Such Thing as a Microservice!, while Jeromy Carriere will be exploring speed in software development in his talk, Velocity in Software Development: Why do Companies Slow Down and What Can We Do About It? Additionally, we're thrilled to have a talk from Ruth Malan, the recipient of this year's Linda Northrop Software Architecture Award.

We also have an excellent group of invited speakers. Kurt Stam will be talking about continuous deployment of microservices to be run on Docker and Kubernetes. Joe Yoder will talk about delivering fast with confidence while keeping your architecture clean. DDD expert Paul Rayner will tell us about EventStorming and how it can be used to map out an event-based story of how a software system behaves.

Beyond the keynotes and invited speakers, we have more than 50 peer-reviewed talks, plus training courses and the ever-popular Software Architecture Boot Camp sessions presented by SEI staff members.

These conference sessions explore a wide range of topics relevant to practicing architects, including DevOps, microservices, containers, serverless architectures, legacy systems, agility and architecture, cloud computing, continuous delivery, refactoring, technical debt, architecture evaluation, and technical leadership. All of the sessions have been carefully evaluated by our program committee and will provide practical, timely information to take back to work and apply immediately on your projects and across your organization.

We're very excited about the quality of the SATURN 2017 program, and we'd like to thank our program committee for their careful evaluation of the submissions and also to thank those who submitted session proposals, whether they were accepted for the final program or not.

We're looking forward to being part of this terrific event and of course gathering with our peer group of leading architecture practitioners in Colorado in May. We hope you can join us!

Jørn Ølmheim, Paulo Merson, and Eoin Woods
SATURN 2017 Technical Co-Chairs

Since 2010, the SEI and IEEE have been conferring two attendee-selected awards at SATURN. The IEEE Software SATURN Architecture in Practice Presentation Award is given to the presentation that best describes experiences, methods, and lessons learned from the implementation of software architecture practices. This year's award winner was Patrick Kua of ThoughtWorks for his presentation titled Evolutionary Architecture.

The second award, the IEEE Software SATURN New Directions Presentation Award, is given to the presentation that best describes innovative new approaches and thought leadership in the application of software architecture practices. This year's award winner was João de Sousa of Robert Bosch LLC for his presentation titled Going Bezirk: Things Plus Cloud Do Not Equal IoT.

In addition to reflecting the high regard of SATURN attendees, these awards also contribute to the maturation of the practice of software architecture by recognizing sound and innovative practices.

The technical program at SATURN 2016 this year includes a track dedicated to the Internet of Things (IoT). Attendees will not want to miss one special event in this track, to be held on Wednesday evening, May 4 at 6:00 pm, when Kent Meyer of Emcraft Systems will present Kids and IoT: An Integrated IoT Educational Platform.

Kent will discuss how one tech-savvy parent who is raising two "digital-native" children is working to prepare the coming generation for the changes and career opportunities that the Internet of Things is bringing to our world. This session will include the kids who are part of Kent's weekly workshops and their IoT projects, which include robots, drones, and Chromebooks. The future of IoT may just rest with these smaller humans, and SATURN attendees will have the opportunity to check out their work.

Here is a preview:

SATURN 2016 will take place May 2-5, 2016 in San Diego, California. Registration is open, and we hope you will choose to participate.

For two decades, the SEI has been instrumental in the creation and development of the field of software engineering known as software architecture. An architect whose skills and capabilities match a project's needs is more likely to be successful. So what are those skills?

Join SEI researchers and an industry colleague in a live-streamed discussion on What Makes a Good Software Architect?

Topics to be covered

  • John Klein and Andrew Kotov on Skills and Knowledge of Successful Architects
  • Ipek Ozkaya and Michael Keeling on Architects Design Trade-off Toolbox: Balancing Agility and Technical Debt

What attendees will learn

  • How the technical skills needed by a software architect change throughout a system's lifecycle and how this influences the architect's success
  • How architects should be the champions of product quality while making the right (and timely) design tradeoffs

Who Should Attend?

  • Architects
  • CTOs
  • Developers
  • Engineers
  • Testers
  • Business Analysts
  • Technical and Product Managers

Register at https://www.webcaster4.com/Webcast/Page/139/13716

With the emergence of an increasing number of conferences and professional-development opportunities in the field of software architecture, how is SATURN unique? Why should a software engineer choose to attend SATURN 2016?

SATURN is an annual gathering of software developers, architects, and thought leaders. At SATURN 2015 last April, 80% of the attendees had 10 or more years of experience and 56% were in leadership positions in their organizations. They gather to share experiences and ideas.

The relative experience of the SATURN community makes it uniquely qualified to evaluate the efficacy and practical utility of technology trends such as service-oriented architecture (SOA), microservices, and Internet of Things in a balanced way, avoiding reflexive promotion or advocacy.

"SATURN is about keeping the tribal history of software architecture and disseminating the fundamentals beyond current skills needed," says Len Bass, formerly of the SEI and of National Information and Communications Technology Australia (NICTA). "You will always want to know about the latest tools and the hottest methods, but more importantly, you will want to understand how to recognize the underlying concepts the next time a tool or method climbs the technology hype-cycle curve."

Such architectural knowledge building at SATURN provides learning and networking opportunities that have lasting value, greater than simply becoming familiar with the latest hot technical buzzwords.

The large number of experienced and technically savvy attendees at SATURN also affords junior developers or aspiring software architects the opportunity to network and learn from those with more experience, gain a solid understanding of techniques and methods that have been validated and proven to be effective, and find solutions to problems that others have solved in similar contexts. Knowledge sharing at SATURN happens through participatory sessions, tutorials, and open office hours with the creators of foundational techniques and methods.

SATURN has also evolved to be a conference where experience and research come together to forge new solutions to pressing problems, as a forum for articulating and exploring new ideas and leading-edge thinking. For example,

  • While software architecture training is now common in many global organizations, early adopters at SATURN began taking seminal software architecture courses from the SEI and others and sharing ideas, curricula, and experiences about developing software architectures in their own organizations.
  • Long before the coexistence of agile and architecture practices became a frequent topic of discussion in other technical venues, SATURN attendees were sharing their experiences and techniques for achieving agility at scale.

"We want SATURN to be thought of as the birthplace of new ideas and innovations in architecture-design practice," says Amine Chigani of GE Digital, a technical co-chair of SATURN 2016. If you are doing something new and interesting that you have successfully applied in a practical setting and that seems promising--even if it hasn't been proven yet--we want to hear about it.

Here are some examples of talks at SATURN conferences during the past few years that exemplify SATURN's balance of proven experience and new ideas that propel the discipline forward:

Proven experience:

New ideas:

DEV@SATURN

The DEV@SATURN (Design, Engineering, Vision) talks that we have added to the SATURN technical program this year are intended to reinforce the vision of SATURN as a forum for sharing experience-based insights and articulating new ideas and innovations. Patterned after the popular TED series of talks, DEV@SATURN talks will be short, concentrated bursts of experience, wisdom, and inspiration.

We seek talks that are

  • Visionary - They open a window that reveals or makes visible the future of software design or report on a breakthrough to a new idea or new solution to what had been an intractable problem.
  • Passionate - They are delivered by a speaker with a passionate commitment and need to share a paradigm-changing idea or insight.
  • Concrete - They tell specific stories about something that the speaker has done, such as an idea or lesson realized in the course of a project, a big problem and why it is important, a report of a personal journey that led to an insight or breakthrough, or something that everyone thought was impossible until the speaker discovered otherwise.

Please consider submitting a proposal for a DEV@SATURN or a longer talk, and if you have never attended SATURN before, please join our growing community and attend SATURN 2016.

Why the Internet of Things (IoT) as a special theme for SATURN 2016?
by Amine Chigani and Jørn Ølmheim

Over the past decade, SATURN has built a community of software architecture practitioners and researchers that is passionate about advancing the state of practice and quality of software development through software architecture. So who is better than this community and this conference to cut through the hype and discuss real architecture challenges and solutions to building IoT reference architectures, products, and services?

Now, why IoT and not some other theme?

The short answer is that it feels like everyone is talking about it. But the more intriguing motivation is the 2015 World Economic Forum identifying IoT and related technologies in its top ten priorities.

OK, but who is creating the hype?

Well, Gartner projects that around 50 billion devices, machines, and objects will connect to the Internet in the next 5 years. This is compared to a few billion people who are currently connected to the consumer Internet (and they are still a challenge to handle). A variety of large organizations such as ABB, Cisco, General Electric, Google, IBM, Intel, Microsoft, National Instruments, Siemens, and many others are focusing large resources in this emerging area. Venture capital is spurring a lot of IoT startups too. Unlike other waves of Internet technology transformations, IoT is touching both the consumer and the industrial sectors alike. One club where both of these worlds meet now is the Industrial Internet Consortium (IIC). After incubation on March 27, 2014 with only five founding members, the IIC now boosts more than 200 members from across the globe and is growing weekly.

What Industrial Internet are you speaking of?

Oh! This IoT thing goes by many names. The folks at the Industrial Internet talk about an internet of big things spitting out exabytes of sensor data. In China, there is a reference to Internet+. Of course, Germany has to have its own initiative with a cool name: Industry 4.0. To be even more inclusive, Cisco goes as far as the Internet of Everything. By the time we hold the conference, we will have few more perhaps.

I see. Why should architects care?

That's a good question! Have you heard about the Industrial Internet Reference Architecture that recently came out of IIC? The European Union folks spent a couple of years coming up with their IoT Architecture too. Let's stop at these two examples without going into the plethora of reference architectures and platforms for IoT that are out there. How many of these architectures can the SATURN community call architectures with capital A?

So this is real for architects. There are many software architects and engineers who are in in the midst of the IoT hype, and have to guide business leaders and technology executives to make sense of emerging IoT platforms, products, and services. Many are leading efforts to architect and build the technology infrastructure and solutions to take advantage of the opportunities afforded by moving into a more connected enterprise. This is why we thought we would highlight this theme and see what we can say about it.

How do we intend to run the IoT track?

We will bring together software architecture practitioners and researchers to share and learn from real-world experiences tackling architecture challenges in the IoT space. Don't worry! This will continue to feel like an architecture discussion. We will organize the track in a way that addresses the following questions:

  • What architecture challenges do IoT problems highlight?
  • What are the key quality attributes of IoT solutions, products, or platforms?
  • What architecture patterns and tactics are best suited to address these problems and to achieve these key quality attributes?

The IoT theme is intended to provide a relevant, large-enough problem space for attendees to engage in deep discussions and learning about real-world applications of architecture principles. Building on the software architecture technology and best practices of the past 25 years, speakers will share novel design and architecture advances in machine-to-machine connectivity, time-series data, big-data analytics, containerization, microservice design, cloud-native development, platforms, user experience, and cyber security as well as other architecture topics that provide the foundation for IoT solutions.

We will put together a track that blends both methodology and practice, but with a little bias toward submissions that demonstrate the value of software architecture in the successful delivery of quality software solutions in IoT space.

How can you contribute?

Submit a session proposal to this track and share this blog with your network. If you stumbled across this blog post by searching for what is happening in the IoT space, then check out the SATURN 2016 Call for Submissions.

Now that you found this blog, bookmark it and come back again as we plan to keep the discussion going. So stay tuned!

Amine Chigani, GE Digital
Jørn Ølmheim, Statoil

SATURN 2016 Technical Co-Chairs

The 12th SEI Architecture Technology User Network (SATURN) Conference 2016 will be held at the Sheraton San Diego Hotel & Marina in San Diego, California, May 2-5, 2016. We are pleased to announce that the co-technical chairs of SATURN 2016 will be Amine Chigani of GE Digital and Jørn Ølmheim of Statoil.

The SATURN 2016 Call for Submissions is now open.

What's New for 2016

SATURN 2016 will feature the Internet of Things (IoT) as a theme for one of its four tracks. This theme is intended to inspire the SATURN architecture community to cut through the hype and discuss real architecture challenges and solutions to building IoT reference architectures, products, and services. For more about the decision to dedicate a track to IoT, see this post by Amine and Jørn.

This year's technical program is organized into four tracks: (1) Architecting for the Internet of Things, (2) Architecture Methods and Design Patterns, (3) Technology and Tools, and (4) Leadership and Business. More information about these tracks and about session types and lengths is available in the SATURN 2016 Call for Submissions.

All proposals must be submitted to the online submission system no later than January 15, 2016. Presenters whose proposals are accepted will receive free or discounted admission to the conference depending on the submission type.

Lots more information about SATURN 2016 will be forthcoming here on the SATURN blog and on the SEI and SATURN 2016 websites. We hope you will begin making plans to join us in San Diego next May and that you will consider being part of the technical program by submitting a proposal.

One of our goals every year with SATURN is to create a solid technical program that is informative, engaging, and lasting. When evaluating proposals for the program, the review committee uses the following guidelines to help decide whether a proposal is a good match for this year's conference. In these guidelines, the term "session" is used generically to describe any talks, workshops, tutorials, and so on in the conference program.

Informative sessions share meaningful insights with lessons that attendees will be able to apply directly with their teams after the conference.

  • Is the information proposed relevant to one of the topic themes in this year's conference?
  • Are there succinct lessons supported by real-world examples, research, or direct experience?
  • Is the topic of broad or general interest?
  • Can the lessons be applied beyond small sub-communities of practice?

Engaging sessions create an active learning environment that promotes information retention and generally gets attendees excited about the topics discussed.

  • Did the speakers have an impact on their organizations related to the lessons or insights proposed?
  • Do the speakers appear to be knowledgeable of the topics proposed?
  • Do the speakers have a history of successful, engaging, educational, energetic, passionate, or entertaining presentations?
  • Have the speakers shown an attention to detail in preparing their proposal?
  • For participative sessions and tutorials, will the proposed session create an effective learning experience for attendees?

Lasting sessions have appeal beyond current fads and attempt to weave new ideas into our overall understanding of how we develop software systems.

  • Does the proposed session advance the current state of practice?
  • Does the proposed session improve our depth of understanding in software architecture?
  • Does the proposed session present a unique or novel project experience?
  • Does the proposed session offer a unique or fresh perspective on "classic" topics?

Our intent in sharing this information is to help you to write the best proposal possible. Use these evaluation guidelines to tailor your proposals and help create the best SATURN Conference yet. Strong proposals will have some "yes" answers in each of the guidelines. Also note that these are only guidelines and not hard-and-fast rules. We are excited to see all the great ideas that are proposed!

- Amine Chigani
- Jørn Ølmheim
SATURN 2016 Technical Co-Chairs

SATURN 2016 will be held in San Diego, California, May 2-5, 2016. See the SATURN 2016 Call for Submissions to learn how you can submit an abstract to present your ideas at SATURN 2015. Please submit proposals for 15-, 30-, and 90-minute sessions to the online submission system no later than January 15, 2016. The technical committee will offer discounted conference attendance to those selected to be part of the program; specific compensation details will be posted on the SATURN 2016 website soon.

For those who were unable to attend the Software Engineering Institute (SEI) Architecture Technology User Network (SATURN) 2015 Conference, videos of many SATURN 2015 presentations are now available to view online

SATURN 2016 will be held at the Sheraton San Diego Hotel & Marina in San Diego, California, May 2-5. The SATURN Technical Committee will release the Call for Submissions for SATURN 2016 during the first week in September. We are opening the Call early this year to allow more time to submit proposals for the outstanding presentations you have come to expect from SATURN as the premier architecture conference for senior engineers. Watch for an announcement here soon!

Software engineering educators gathered August 3-5 at the SEI's Pittsburgh headquarters for the 12th annual Architecture-Centric Engineering (ACE) Workshop for Educators. The SEI hosts this event to foster an ongoing exchange of ideas among educators whose curricula include the subjects of software architecture and software product lines. The SEI's Grace Lewis and Robert Nord led the workshop, which was attended by 16 educators representing institutions located in the United States, Canada, Mexico, Peru, and Thailand.

Read more about the workshop on the SEI website.

If you would like to participate next year, please send email to get added to our mailing list for the event.

Software: Catalyst of Change

With the increasing reliance on and penetration of software into everyday lives, the need for organizations to predictably develop, acquire, and sustain high-quality software systems has never been greater. To address this need, the Carnegie Mellon University Software Engineering Institute (SEI) is pleased to announce that it will host its first Software Solutions Conference (SSC) at the Hilton Crystal City in Arlington, Va., from Nov. 16 through 18.

Review the conference program here.

The conference is designed to focus attention on emerging technologies and technical strategies for assuring quality, timeliness, trust, and affordability in current and future software-reliant systems. These technologies and strategies are vitally important to the missions of the U.S. Department of Defense (DoD), government agencies, and the industry that supports them.

Highlights of the technical program include

  • sessions in three tracks: Project Experiences, Research Topics/Emerging Technology, and Acquisition Practice
  • a broad range of presentations on key topics including legacy-system modernization, large-scale Agile development and Agile for defense programs, system complexity, system and software testing, high-assurance software for real-time systems, systems of systems, acquisition, risk, cloud computing, decision-support systems, computing at the tactical edge, DevOps in the federal government, measurement and analysis, software architecture, software sustainment, and technical debt
  • an expert-panel discussion about open systems architecture
  • joint presentations by SEI staff with DoD and government collaborators
  • a summary of the SEI research program by SEI Chief Technical Officer Kevin Fall
  • a question-and-answer panel discussion with senior SEI leaders
  • social events and opportunities for attendees to network with industry leaders, conference speakers, peers, and experienced innovators, and to influence the SEI technical research agenda.

Registration is now open. Discounted registration will be available to U.S. government and military personnel, employees of small businesses, and attendees whose organizations send three or more people to the conference.

To review the full conference schedule, go to http://www.sei.cmu.edu/ssc.

On Monday, April 27, before the start of SATURN 2015, a small group of 16 software engineers met to explore ideas around the emerging microservices architecture trend. Microservices have seen a rapid rise in popularity over the past year or so, and we thought it would make an interesting topic of discussion. Sam Newman's book covers significant ground and yet there there are still many nuances that we don't fully understand.

Since 2010, the SEI and IEEE have been conferring two attendee-selected awards at SATURN. The IEEE Software SATURN Architecture in Practice Presentation Award is given to the presentation that best describes experiences, methods, and lessons learned from the implementation of architecture-centric practices. This year's award winners were Jochem Schulenklopper and Eelco Rommes of inspearit for their presentation titled Why They Just Don't Get It: Communicating Architecture to Business Stakeholders.

Rick Kazman, University of Hawaii and Carnegie Mellon Software Engineering Institute, and Humberto Cervantes, Universidad Autónoma Metropolitana-Iztapalapa
Design is hard. Architects need insight into types of architectural drivers, guidance on selecting design concepts, and what drives certain design decisions to make good decisions by considering these consciously. Architects also need an approach to negotiate with management and stakeholders better to make these good decisions. In this tutorial session, Kazman and Cervantes presented an updated version of the 2006 Architecture-Driven Design Method 2.0 to address these concerns.

Michael Keeling, IBM Watson Group
The concept of design as a way of thinking comes from Herbert Simon in 1969. Companies would empathize with the user and work to solve their problems, but this approach had the unintended side effect of focusing too exclusively on the user interface, and there is more to design in software than the user interface. Software architecture is the perspective that holds all the perspectives together: users, business needs, and more.

At SATURN 2015, the software architecture community will put microservices on trial. Here is an abstract of this event, which will take place on Tuesday, April 28, from 5:00 to 6:00 pm:

Microservices architecture has emerged as a widely discussed style of building distributed web and internet systems. Proponents argue that this variant of service-oriented architecture (SOA) is well suited to address the challenges of cloud computing, scalability, increased flexibility, and complexity, among others. But haven’t we seen this all before? Is there really anything new and interesting about microservices architecture? Or is this simply a case of history repeating itself, like the last time service-oriented architectures were all the rage? Microservices architecture is hereby charged with being an attractive nuisance in the first degree. SATURN 2015 has recruited an expert panel of judges to debate the benefits and perils of microservices architecture and help you, the jury, learn the facts and determine the final verdict.

Seventh International Workshop on Managing Technical Debt (MTD 2015) October 2nd 2015, Bremen, Germany, in conjunction ICSME 2015 http://www.sei.cmu.edu/community/td2015/ Delivering complex, large-scale systems faces the ongoing challenge of how best to balance rapid deployment with long-term value. Theoretical foundations and empirical evidence for analyzing and optimizing short- term versus long-term goals in large-scale projects are needed. From the original description—“not quite right code, which we postpone making right”—various people have used the metaphor of technical debt to describe many kinds of debts or ills of software development. On one hand, the practitioner community has increased interest in understanding and managing debt. On the other hand, the research community has an opportunity to study this phenomenon and improve the way it is handled. We can offer software engineers a foundation for managing such tradeoffs based on models of their economic impacts. The workshop will be held in conjunction with the International Conference on Software Maintenance and Evolution (ICSME 2015), September 29--October 1, 2015, Bremen, Germany. For more information and to participate, see the Workshop Program.

As the field of software architecture has matured over the years, its concepts and terminology can be barriers to newcomers. In past years, the SATURN program was geared toward those who had attended SEI courses or had otherwise steeped themselves in the canon (a pretty hefty bookshelf). For those who had not yet done so, the SEI offered its introductory courses before the conference began.

This year, at no additional cost, the SATURN 2015 technical program includes a series of sessions intended for beginners, novices, and aspiring software architects. This Architecture Boot Camp will be held early in the conference program and led by experienced instructors from the SEI technical staff. You don't have to attend every Boot Camp session, and you can interleave them with the main schedule.

Women in Software Architecture
As part of National Women's History Month, Pittsburgh Urban Media salutes Dr. Mary Shaw, recipient of the National Medal of Technology and Innovation in 2014. Dr. Shaw is a leader in software engineering research whose work on software architecture helped establish it as a recognized discipline, and PUM's interview with her reveals how she got an early start in a field dominated by men and what she is most proud of today. We are pleased that Dr. Shaw will give a keynote talk at SATURN 2015, and we use this week's link roundup to highlight other women of the software architecture discipline who will also present at SATURN 2015. Discovering Alexander's Properties In Your Code: In this presentation from Smalltalks 2014, Rebecca Wirfs-Brock of Wirfs-Brock Associates explains how Christopher Alexander, the building architect, inspired the first software patterns with his patterns for buildings and architecture and why she thinks his latest work could influence how you code.

by George Fairbanks and Michael Keeling, SATURN 2015 Co-Technical Chairs

When we attend technical conferences, the sessions we appreciate most and remember long after the conference ends are those in which influential, creative thinkers share and explore ideas that excite them. If you have had this experience at conferences you have attended, you'll agree: when a gifted speaker expands minds by challenging well-worn assumptions and articulating groundbreaking ideas, you can feel the energy in the room.

Because we wanted this experience at SATURN 2015, both for ourselves and for our attendees, we invited some of the most influential thinkers in the field of software architecture to participate in the conference program. And not only did we invite a collection of people we knew would electrify a room with their ideas; we also asked them to curate their own sessions by inviting additional speakers who have inspired them. The result: we are pleased to introduce the Invited Speakers Series, new this year at SATURN 2015.

Billions and Billions Served: Real-Time Distributed Messaging

Dissecting Message Queues: Tyler Treat at Brave New Geek reports an analysis of several different message queues and describes the differences in throughput and message latency between brokered systems (such as NSQ) and brokerless systems (such as ZeroMQ). Graphs of his results may provide information about which type of system is best for different contexts and needs.

NSQ: A Realtime Distributed Messaging Platform: Bitly developers Matt Reiferson and Jehiah Czebotar have designed NSQ to "operate at scale, handling billions of messages per day." It serves as the backbone of an infrastructure composed of loosely connected services running on many computers. With no single point of failure, it has high availability, reliability, and fault tolerance. For use with any data format, NSQ is easy to configure and deploy.

The Fun of Experimenting with a More Advanced Microservice Application - Building a Slack "Done This" Tracker: Ad Van der Veer at Giant Swarm explains how he used NSQ as one of three components of a method to manage complexity in the architecture layer of a microservice setup.

Second International Workshop on Software Architecture and Metrics at ICSE

Florence, Italy, May 16, 2015
http://www.sei.cmu.edu/community/sam2015/

We are pleased to announce the program for the Second International Workshop on Software Architecture and Metrics (SAM 2015) featuring keynotes from Radu Marinescu and Tim Menzies, invited presentations on architecture quality and measurement, and interactive sessions to discuss progress on architecture and metrics, measurement, and analysis; to gather empirical evidence on the use and effectiveness of metrics; and to identify priorities for a research agenda.

The workshop addresses both academic researchers and industrial practitioners for an exchange of ideas and collaboration. The workshop will be held in conjunction with the International Conference on Software Engineering (ICSE 2015), May 16-24, 2015 in Florence, Italy.

For more information and to participate, see the Workshop Program.

The 12th SEI Architecture-Centric Engineering Workshop for Educators will be held at the Software Engineering Institute in Pittsburgh, Pennsylvania, USA, on August 3-5, 2015. The SEI hosts this annual event to foster an ongoing exchange of ideas among educators whose curricula include the subjects of software architecture and software product lines. The event is free of charge and open to any accredited, college-level educator.

This year's event will incorporate the SEI's course on DevOps from a Software Architecture Perspective. This course is helpful if you wish to adopt DevOps practices and continuous-delivery workflows. The architecture component of the course focuses on the relationships among application software, the deployment environment, and the supporting tooling.

At SATURN 2015, to be held in Baltimore, Maryland, April 27-30, 2015, the SEI will augment the three-day technical program with three one-day courses offered on Monday, April 27. SEI courses are created and delivered by recognized experts who have practical experience in the disciplines they teach. Our courses feature participatory tasks and real-world scenarios to enhance your learning

Big Data: Architectures and Technologies (instructors, Ian Gorton and John Klein) Scalable big-data systems are significant long-term investments that must scale to handle ever-increasing data volumes, and therefore represent high-risk applications in which the software and data architectures are fundamental components of ensuring success. This one-day course is designed for architects and technical stakeholders such as product managers, development managers, and systems engineers involved in the development of big data applications. More information Register now


Software Architecture Modeling
Last summer, a Mother Jones article by Tasneem Raja asked, "Is coding the new literacy?" The answer is yes and no, because the point is not to increase "the number of kids who can crank out thousands of lines of JavaScript" but "to boost the number who understand what code can do" and can think up good ways to apply it. To do this, computer science education must first undergo a paradigm shift, from "reinforcing the notion that code is just for coders" to leading with computational thinking, which CMU's Jeannette Wing defines as "solving problems, designing systems, and understanding human behavior."

In its list of "top 100 careers with big growth, great pay and satisfying work," CNN/Money calls "software architect" the best job in America. We'll be coming out in a week or two with details about the technical program at SATURN 2015, to be held in Baltimore, Md., April 27-30. One new component of the program this year will be what we are calling Architecture Boot Camp--a series of presentations intended to provide basic information about software architecture. These presentations would be great for someone who does not currently hold the best job in America, but aspires to do so.

Centralized Architecture
At Phys.org, Dr. Norbert Aschenbrenner recently wrote about the First Series Production Vehicle with Software Control. Siemens and partners are developing information and communications technology for electric cars, and their first production vehicle uses a central electronics and software architecture called RACE. This centralized architecture is intended to reduce development time and make it easier to add new functions later. This SATURN link roundup offers several recent blog posts and a podcast on the topic of centralized architecture. Selecting the Right Computing Architecture for Your GIS: Dave Peters at Esri Insider offers some advice on how to choose between centralized and distributed architectures. IoT Drives Business Decisions: In a podcast from the 2014 IoT Summit, Gary Butler, Chairman and CEO of Camgian Microsystems, and Gary Audin, President of Delphi, discussed two approaches to connecting the Internet of Things (IoT), centralized architectures and architectures distributed at the network edge.

Clouds at Hyperscale
For media services everywhere, January is the time to write summaries of the previous year and make forecasts about the next one. Lisa Wirthman of Forbes Magazine helps us transition to the new year with How the Top 5 Cloud Trends of 2014 Will Impact the Enterprise in 2015. The fourth of Wirthman's five trends is about the maturing cloud market in 2014 and the growth of a few cloud providers operating at a global scale in 2015. This SATURN link roundup offers a few recent blog posts on clouds at hyperscale. A Rare Peek Into The Massive Scale of AWS: Amazon Web Services has revealed the size and scope of its cloud, and Timothy Prickett Morgan at EnterpriseTech reports that it is really, really big. Morgan runs through some of the numbers and discusses the datacenter architecture of the AWS cloud. You can also watch AWS Senior Vice President Andy Jassy's keynote talk from the AWS Re:Invent 2014 Conference.

Date: January 21, 2015 Time: 1:30 PM ET - 3:00 PM ET Cost: Free

About the Webinar

Trends and New Directions in Software Architecture, by Linda Northrop 1:30 PM ET - 2:15 PM ET Software architecture has enormous influence on the behavior of a system. For many categories of systems, early architectural decisions can be a greater influence on success than nearly any other factor. After more than twenty years of research and practice, the foundations for software architecture have been established and codified, but challenges remain. Among other trends, increased connectivity, a shift to the cloud and to mobile platforms, and increased operational and market tempos have precipitated the need for changes in architectural practices and decisions. The first talk shares a perspective on the trends influencing the need for change, the related architectural challenges, and the applicable research and practices.

Refactoring
In December 2014, Andre Infante of CoinReport wrote about a Bitcoin developer's warning that the rapid development of Bitcoin software may be "introducing consensus bugs." In Peter Todd Warns of Potential for Accidental Bitcoin Forks, Infante describes how the pace and scale of refactoring may have created a fork in the development. If the fork is not corrected, the network may not be able to achieve consensus about official versions of events, which could wreak havoc for a payment system. This link roundup offers several recent blog posts and a conference presentation on the topic of refactoring. Sacrificial Architecture: Martin Fowler of ThoughtWorks, and author of Refactoring, explains why he hopes that in a few years you'll need to throw away the code you are creating today. Architecture Seams: Jean Barmash at Hello FooBar! expands Michael Feathers' term seam from the book Working Effectively with Legacy Code from code to architecture, then discusses how to exploit architecture seams in a large-scale refactoring project.

We are pleased to announce our two keynote speakers for the Second International Workshop on Software Architecture and Metrics (SAM 2015) which will be held May 16, in conjunction with ICSE 2015, in Florence, Italy. Radu Marinescu is a professor of software engineering at the Politehnica University of Timisoara, Romania. His research is focused on the areas of quality assurance, software metrics and refactoring. He strongly believes that research must ultimately flow into software products that will change the state of the practice in software companies. In 2014 he received the ICSME Most Influential Paper Award, after having received in 2009 the IBM John Backus Award for "having done the most to improve programmer productivity.” Tim Menzies is a full Professor in CS at North Carolina State University where he teaches software engineering and search-based SE. His research relates to synergies between human and artificial intelligence, with particular application to data mining for software engineering. Prof. Menzies is the co-founder of the PROMISE conference series devoted to reproducible experiments in software engineering.

WICSA 2015, the 12th Working IEEE/IFIP Conference on Software Architecture, and CompArch 2015, the 9th federated conference series bringing together researchers and practitioners from Component-Based Software Engineering and Quality of Software Architecture, are launching a unified call for workshops for the 2015 co-located event that will be held in Montréal, Canada, May 4-8, 2015. WICSA/CompArch 2015 workshops provide a unique forum for researchers and practitioners to present and discuss the latest R&D results, experiences, trends, and challenges in the field of software architecture, component-based software engineering, and software system qualities.

In a Huffington Post article titled “What Global Warming, Energy Efficiency and Erlang Have in Common,” Noah Gift says, “Hidden in the discussion of rising energy costs and consumption in datacenters is the selection of software language.” Gift’s emphasis is on how the constraints many languages have limit them to one processor and how the languages used to write software can affect the way that processors use energy. This inefficiency would seem to extend backward from running software to developing software. Nowadays, developers must contend not only with multiple desktop platforms but also with multiple mobile platforms, and do so in multiple languages. This week’s link roundup highlights some tools for simplifying the processes of developing across languages and platforms. Apache Thrift: The Apache Thrift software framework combines a software library with a code-generation engine, and the compiler generates code that can communicate across programming languages, enabling efficient development of scalable backend services. A white paper discusses motivations and design choices.

Second International Workshop on Software Architecture and Metrics Florence, Italy, May 16, 2015 Submission deadline: January 23, 2015 http://www.sei.cmu.edu/community/sam2015/ Software engineers of complex software systems face the challenge of how best to assess the achievement of quality attributes and other key drivers, how to reveal issues and risks early, and how to make decisions about architecture and system evolution. There is an increasing need to provide ongoing quantifiable insight into the quality of the system being developed to manage the pace of software delivery and technology churn. Additionally, it is highly desirable to improve feedback between development and deployment through measurable means for intrinsic quality, value, and cost. While there is body of work focusing on code quality and metrics, their applicability at the design and architecture level and at scale are inconsistent and not proven.

For pioneering leadership in the development of innovative curricula in computer science, Dr. Mary Shaw of Carnegie Mellon University received the National Medal of Technology and Innovation from President Barack Obama during a White House ceremony in November 2014. The SATURN 2015 program committee is pleased to announce that Dr. Shaw will deliver a keynote presentation at SATURN 2015, which will be held at the Lord Baltimore Hotel in Baltimore, Maryland, April 27-30.

Minimum Viable Architecture
In his Introduction to Minimum Viable Architecture, Savita Pahuja at InfoQ recalls an older blog by Kavis Technology that described the role of agile methods as serving a balancing function between the minimum viable product and the minimum viable architecture. Below are several recent opinions on this topic and a project that is putting the theory into practice. Less is More with Minimalist Architecture: Ruth Malan and Dana Bredemeyer wrote in the October 2002 issue of IT Professional that you should "sort out your highest-priority architectural requirements, and then do the least you possibly can to achieve them!" Good Enough Is Good Enough: Minimum Viable Architecture in a Startup: In a presentation given at the San Francisco Startup CTO Summit, Randy Shoup encourages startups to ignore the advice he's been giving for a decade on building large-scale systems.

The Watson Explorer The Watson Developer Cloud brings Watson to developers and the cognitive cloud to Internet applications. Watson offers a variety of services for building cognitive apps, including language identification and translation, interpreting meaning based on context, and communicating with people in their own styles. Here are some reviews and links to APIs and sample code. IBM's Watson Supercomputer Gives Developers Access to Cognitive Cloud: George Lawton at TechTarget provides an early review of the Watson Explorer’s unified view of enterprise information. The cloud allows the technology to be accessible for a greater variety of applications and improves the scale and time to market of those applications. IBM Debuts First Watson Machine-Learning APIs: Serdar Yegulalp at Java World previews the eight services that developers can access for building cognitive apps based on Watson’s machine intelligence service. He focuses on visualization rendering as the service least limited by data training.

Deep Neural Networks  “At some fundamental level, no one understands machine learning.” —Christopher Olah “Neural networks are one of the most beautiful programming paradigms ever invented.” —Michael Nielsen This week, we round up a few examples on deep neural networks (DNNs), a subfield of machine learning that deals with developing training algorithms and uses raw video and speech data as input. Replicating Deep Mind: Kristjan Korjus is working on a project to reproduce the results of Playing Atari with Deep Reinforcement Learning, by Volodymyr Mnih and colleagues of DeepMind Technologies. Mnih et al. presented a deep learning model that used reinforcement learning to learn control policies from sensory input and outperformed human experts on three of seven Atari games. Deep Learning, NLP, and Representations: Christopher Olah at Colah's Blog looks at deep learning from a perspective on natural-language processing and discusses how different DNNs designed for different language-processing tasks have learned the same things.

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.

How has something you learned or saw at SATURN changed how you develop software? Since the first conference in 2004, SATURN has been a place for software developers to share stories about our adventures in building software. Architects, managers, and programmers from across industries and the world came together once a year to share stories about our experiences applying software architecture-centric practices.

Consensus Algorithms and Distributed Systems Consensus algorithms for distributed systems represent a growing field focused on increasing the efficiency of these systems while decreasing their vulnerability to attack and component failure. These recent blog posts offer some theory and practice on consensus algorithms. The Space Between Theory and Practice in Distributed Systems: Marc Brooker at Marc’s Blog discusses the gap between theory and practice in materials on distributed systems, using consensus algorithms as an example. Much material exists on the theory end of the continuum; much exists on the practice end of the continuum. What’s in the middle?

One of our goals every year with SATURN is to create a solid technical program that is informative, engaging, and lasting. When evaluating proposals for the program, the review committee uses the following guidelines to help decide whether a proposal is a good match for this year’s conference. In these guidelines, the term “session” is used generically to describe any talks, workshops, tutorials, and so on in the conference program. Informative sessions share meaningful insights with lessons that attendees will be able to apply directly with their teams after the conference.

  • Is the information proposed relevant to one of the topic themes in this year’s conference?
  • Are there succinct lessons supported by real-world examples, research, or direct experience?
  • Is the topic of broad or general interest?
  • Can the lessons be applied beyond small sub-communities of practice?
Engaging sessions create an active learning environment that promotes information retention and generally gets attendees excited about the topics discussed.

The SEI Architecture Technology User Network (SATURN) Conference 2015 will be held at the Lord Baltimore Hotel in Baltimore, Maryland, April 27--30, 2015. We are pleased to announce that the co-technical chairs of SATURN 2015 will be George Fairbanks of Google and Michael Keeling of IBM. Based on your feedback in the hallways in Portland and from post-conference surveys, George, Michael, and the rest of the SATURN technical committee have designed SATURN 2015 to better meet your needs in a practitioner-oriented technical conference. The SATURN 2015 Call for Submissions is now open. As described in the Call, we will immediately begin a rolling-acceptance process for proposal submissions, so submit early to get feedback and improve your chances.

What’s New for 2015

Microservice Architecture Since James Lewis and Martin Fowler published their article on Microservices in March 2014, the microservices architecture pattern has been the subject of much debate in the blogosphere: Is there a good definition for it (or not), is it another form of SOA (or not), is it an answer to the monolith (or not), is it a fad or the next big thing? The following blog posts contribute to the discussion on some of these topics. Failing at Microservices: Please avoid our mistakes!: Richard Clayton’s Unrepentant Thoughts on Software and Management recently included a blog post about his team’s attempt to implement a microservice architecture, four reasons why it failed, and some recommendations for avoiding these problems. Microservices for the Grumpy Neckbeard: Chris Stucchio discusses what he sees as the two camps of the debate about microservices, the hipsters who see their many benefits and the neckbeards who are more suspicious, and describes an architecture that may serve to bring the two camps together.

By Jørn Ølmheim and Harald Wesenberg Statoil ASA We were fortunate enough to be able to participate at SATURN 2014. For Jørn, this was his first time at SATURN, while for Harald it was the fourth SATURN conference. As always, we knew that the quality of the conference content is high, and we were looking forward to a fun week with learning new and interesting ideas from other practitioners. In this group of excellent presentations and tutorials there were many that stood out, but to us George Fairbanks' talk on teaching architecture was definitely one of the greatest. Many of the more experienced participants at the conference recognized George's experiences of trying to teach the importance of architecture to the junior team members with varying degree of success, so we were well motivated for a discussion about how this can be done better. Many of us recognize the challenges of motivation and lack of commitment both from your peers and the company to spend time on such activities.

DevOps: Definitions and Misconceptions This month, Ben Kepes at Forbes reported on ScriptRock’s efforts to raise funding from investors to expand their operations in “To Help DevOps-ify The World.” Kepes opens with an explanation of how ScriptRock must first differentiate its product and services from vendors selling “DevOps in a box.” More agile software development in less time, however, may not fit neatly in that box. Here are some links to definitions of DevOps that include components that exist outside of the box. Defining DevOps Might Be Harder Than Defining Design: In the Under Development podcast series, Bill Higgins and Michael Coté explain DevOps, metrics, and “the processes used by designers vs. software developers vs. management consultants vs. wedding planners.”

Test-Driven Development: Dead or Alive? Back in the Spring, a single blog post sparked a debate that on the surface seems absurd. Is TDD actually useful and still relevant? The discourse that followed and is still following this discussion is spectacular and spans Twitter, blogs, and a series of video debates. We thank Michael Keeling of Never Let Down for bringing this debate to our attention. TDD is dead. Long live testing.: David Heinemeier Hansson, the creator of Ruby on Rails, discusses the death of test-driven development and the need to transition from unit testing to system testing. Is TDD Dead?: Martin Fowler engages Hansson and Kent Beck in a series of video conversations on the topic of test-driven development and its impact on software design, including confidence, test-induced design damage, and cost.

by Rey Hernandez Sony Network Entertainment International @DeveloperRey Many times in a project, software or otherwise, the people working on the project become so entrenched in the methods they find familiar that they allow roadblocks to get in the way of project completion. All too often those roadblocks lead to missed deadlines, cut corners, general reduction in team morale, and ultimately a product that does not meet customer expectations. In his keynote at SATURN 2014, Joe Justice of Team Wikispeed and Scrum Inc., treated us to a refreshing view of project management that illustrates how teams can be extremely productive, with high morale, and great customer satisfaction.

The Cloud The Future Looks “Foggy” for Cloud Computing: Greg Otto at FedScoop reports on cloudlets and cyberforaging, potential solutions for bandwidth problems at the edge of the cloud, from a talk given by the Software Engineering Institute’s Grace Lewis at the Federal Cloud Computing Summit. Virtual Machines, JavaScript and Assembler: In a keynote presentation at the 2014 O’Reilly Velocity ConferenceScott Hanselman “explores the relationship between the cloud and the browser, many languages and one language, how it might all fit together, and what comes next.” SMBs Tie Cloud Computing To Increased Revenue: Charles Babcock at InformationWeek reports on research by Oxford Economics and Windstream Communications that found that small and midsized businesses credit cloud computing with increasing revenues. The Uneven Future: 2 Telling Views of Cloud Adoption: Bernard Golden at CIO gives three reasons for the uneven growth of cloud computing.

by Anthony Tsakiris Ford Motor Company Architecture development activities as presented in books, articles, and classes are sometimes “heavy” – that is, they require a lot of time and people resources relative to what is available. That’s my view from an automotive embedded-control-systems environment. An argument can be made that that’s what it takes, but there’s another reality that time and resources are truly in short supply. It’s difficult to get stakeholders who are busy with multiple projects and production concerns to commit big chunks of their time to an activity like a Quality Attribute Workshop for a new project.

by Russell Miller Vice President of Technology Services at Impulse.com Co-host of Architectural Concepts podcast At SATURN 2014 there were a number of excellent sessions on DevOps and Continuous Delivery; one of those was Dianne Marsh’s keynote entitled, “Engineering Velocity: Continuous Delivery at Netflix.” Dianne is the director of engineering tools at Netflix, a company that has led the way in terms of continuous delivery. Dianne’s main objective for the talk was to share details and philosophy from Netflix that the audience could consider for application in their organizations as a means to improve their velocity. She did a great job achieving that objective.

Internet of Things Being Forgotten in the Internet of Things: Nick Malik at Microsoft Developer Network’s Inside Architecture discusses a complication in European citizens’ new “right to be forgotten” and proposes a solution. Nest: A Small Company and a Big Disruption Enabled by Cloud: Gery Menegaz at IBM’s Thoughts on Cloud explains how the Nest Learning Thermostat made innovative use of cloud technology to turn a profit, help power companies solve a problem, and satisfy a government mandate. Microsoft Backs Open Source for the Internet of Things: Patrick Thibodeau at Computerworld reports that Microsoft has joined the AllSeen Alliance to help promote an open source code framework to standardize device communications. Internet of Things Done Wrong Stifles Innovation: Frank Palermo at InformationWeek considers the “dark side” of the Internet of Things. How will the IoT address security and privacy?

June 12, 2014—From August 4–6, 2014, educators from leading institutions will gather at the SEI's Pittsburgh headquarters for the 11th annual Architecture-Centric Engineering (ACE) Workshop for Educators. The SEI hosts this annual event to foster an ongoing exchange of ideas among educators whose curricula include the subjects of software architecture and software product lines. The event is free of charge and open to any accredited, college-level educator.

Introducing new software languages, tools, and methods in industrial and production environments incurs a number of challenges. Among other necessary changes, practices must be updated, and engineers must learn new methods and tools. These updates incur additional costs, so transitioning to a new technology must be carefully evaluated and discussed. Also, the impact and associated costs for introducing a new technology vary significantly by type of project, team size, engineers’ backgrounds, and other factors, so that it is hard to estimate the real acquisition costs. This blog post at the SEI blog presents research conducted independently of the SEI that aims to evaluate the safety concerns of several unmanned aerial vehiclesystems using the Architecture Analysis and Design Language (AADL) and the SEI safety-analysis tools implemented in OSATE.

Portland, Oregon native and well-known writer and blogger Scott Hanselman spoke at SATURN 2014 this year ("JaveScript, the Cloud, and the New Virtual Machine") and, while there, he interviewed Len Bass for The Hanselminutes Podcast: Fresh Air for Developers. Len is a senior principal researcher at NICTA in Australia. During his long and distinguished career at the SEI, Len was co-author many seminal publications in the field of software architecture including Software Architecture in Practice. In the podcast, Stories of Computer Science Past and Present with Len Bass, Len shares stories from his 40+ year career in software.

Sixth International Workshop on Managing Technical Debt Co-located with 30th International Conference on Software Maintenance and Evolution (ICSME 2014) Victoria, British Columbia, Canada September 30, 2014 http://www.sei.cmu.edu/community/td2014/ Technical debt is a metaphor that software developers and managers increasingly use to communicate key tradeoffs related to release and quality issues. The Managing Technical Debt workshop series has, since 2010, brought together practitioners and researchers to discuss and define issues related to technical debt and how they can be studied. Workshop participants reiterate the usefulness of the metaphor each year, share emerging practices used in software development organizations, and emphasize the need for more research and better means for sharing emerging practices and results.

Notes by Ziyad Alsaeed, edited by Tamara Marshall-Keim Transparency: An Architecture Principle for Socio-Technical Ecosystems Felix Bachmann and Linda Northrop, Software Engineering Institute Felix and Linda shared their experience as a team in the XSEDE project. They presented compelling evidence of the need to have transparent architecture and architectural practices in socio-technical ecosystems like XSEDE. XSEDE is a virtual, high-performance computer system that allows interactivity for scientists (e.g., biologists, mechanical engineers, environmentalists) all over the world to run their experiments. Experiments are usually of the types that need super-powerful computing capabilities. The system is distributed over a wide distance, and engineers or developers have different global and local priorities. Due to the size of the project and the high complexity, architectural guidance was necessary to ensure the success of the project. Felix’s and Linda’s team responsibilities are to help the team make the right architectural decisions, coach the team on how to incorporate architectural practices, and research missions.

Notes by Ziyad Alsaeed, edited by Tamara Marshall-Keim Can You Hear Me Now? The Art of Applying Communication Protocols When Architecting Real-Time Control Systems Todd Farley, BAE Systems, Inc. BAE Systems deals with architecting real-time control systems. These systems are usually complicated and distributed. Also, the lifetimes of projects are usually very long. So BAE must always answer this question: Which process should they adapt? The problems they face tend to fall into three categories:

  • motion control systems (~robots)
  • computation-intensive algorithms
  • user interfaces

Notes by Ziyad Alsaeed, edited by Tamara Marshall-Keim BI/Big Data Reference Architectures and Case Studies Serhiy Haziyev and Olha Hrytsay, SoftServe, Inc. Serhiy and Olha shared their experience with the tradeoff between modern and traditional (non-relational and relational) reference architectures. They looked into the challenges associated with each approach and gave tips from real-life case studies on how to deal with big data reference architecture. As a reminder, they visited some of the known big data challenges:

  • Data is generated from many and different sources.
  • As data grows, it becomes complicated and heterogeneous (velocity and volume) until it’s no longer manageable.

Notes by Ziyad Alsaeed, edited by Tamara Marshall-Keim Under N: Acceptance to Delivery in N Hours Umashankar Velusamy, Verizon Communications, Inc. Umashankar started the presentation with a simple question: Are all deliveries the same? Humans take about 9 months to “deliver” babies. Cats and dogs take about 2 months to do so. So not all deliveries are the same. In the software industry, the same thing applies—different deliveries take different amounts of time. However, we tend to apply a one-size-fits-all solution to everything. Umashankar asked another question: Does it make since to wait 2 weeks or even 2 months for something to deliver, when it takes only 12 hours to deliver? It’s definitely doesn’t make sense, Umashankar answers.

Notes by Scott Shipp, edited by Tamara Marshall-Keim CORBA to Web Services Migration Using Model-Driven Approaches and Offshoring Georg Huettenegger, Credit Suisse Huettenegger discussed challenges and lessons learned from migrating one of the world's largest and most successful CORBA SOAs to a web services SOA. Credit Suisse is an integrated global bank. It delivers all the possible services that a bank could offer. Credit Suisse employs more than 45,000 people from 160 nations. The current Credit Suisse SOA is "nice, yet limited." Where it is headed is not good. It has over 2,500 CORBA service operations, there are 20–30 Mill CORBA calls per day, and there are about 400 consuming applications. With such a large scale and with such widely distributed employees, maybe Agile is not the way to go.

Notes by Scott Shipp, edited by Tamara Marshall-Keim Impact of Architecture on Continuous Delivery Russell Miller, SunView Software, Inc. First, context: This was a greenfield, from-scratch project for a nontrivial social-monitoring tool. It was also their first attempt at the native cloud. It was a pilot for a truly agile project. Go to http://livepulse.co to see a beta version. Miller uses the term “continuous delivery” (CD) as defined in Jez Humble's book Continuous Delivery. It leverages continuous integration, automated testing, and automated deployment. Releases are frequent, small, and predictable. For example, take Amazon drone delivery. It eliminates waste, and customers do not have time to cancel the order. It also provides quicker feedback from the customer. So CD vs. the traditional release model is similar to drone delivery vs. freight train delivery. "This is a good metaphor for lean vs. legacy."

Notes by Ziyad Alsaeed, edited by Tamara Marshall-Keim Expanding Legacy Systems Using Model-Driven Engineering (MDE) William Smith, Northrop Grumman Kevin Nguyen, Northrop Grumman Kevin Nguyen and his fellow engineers faced a common problem of dealing with legacy systems. At their environment (Northrop Grumman), they are dealing with rigid defense systems. Kevin tried to adapt a model-driven engineering approach in his work to achieve his goals. The team used conceptual software architecture to help understand customer requirements. Next, they refined the requirements into a CSCI architecture of software and hardware. Then, they tried to expand the CSCI architecture into CSC architecture (more detailed and lower level models). Finally, the team tried to convert that into a detailed design for the software unit. They went through these steps following a basic procedure of software-design life cycle.

Notes by Scott Shipp, edited by Tamara Marshall-Keim Metrics for Simplifying and Standardizing Enterprise Architecture: An Experience Report for an Oil and Gas Organization Alexis Ocampo (Ecopetrol) Jens Heidrich (Fraunhofer IESE) Constanza Lampasona (Fraunhofer IESE) Victor Basili (University of Maryland, Fraunhofer CESE) Some data about Ecopetrol S.A.

  • largest petroleum company in Colombia
  • One of four largest Latin American oil and gas companies
  • 1M barrels will be produced 2015
  • Top 40 world oil and gas companies
How can IT contribute? They have been working on answering this question for several years.

Notes by Scott Shipp

Past, Present, and Future of APIs for Mobile and Web Apps

Ole Lensmar, SmartBear Software

Ole Lensmar is from Sweden and has been in the API space since the late '90s. He has created one of the most popular API testing tools in the world SoapAPI. He also is the CTO of SmartBear solutions.

Once upon a time, people tried to connect distributed systems with

  • DCE/RPC
  • CORBA
  • COM / DCOM
  • J2EE / RMI

The international software architecture community has responded to this year's SATURN technical program with another year of strong registration for the SEI Architecture Technology User Network (SATURN) Conference. SATURN, now in its 10th year, will be held at the Marriott Downtown Waterfront in Portland, Oregon, from May 5 through 9, 2014, and registration is still open. Currently 180 people are registered to attend, and it is likely that this year's conference will come close to or exceed the record attendance of 207 in Minneapolis in 2013. We are excited to inform you about two late additions to the technical program.

Date: March 27, 2014

Time: 10:00 a.m. ET - 12:30 p.m. ET

Cost: Free Join SEI researchers in a live virtual event offering insights into how to use architecture practices more effectively to build better systems efficiently and productively. SEI Fellow Linda Northrop will kick off the event with an introduction and overview. Register now.

Topics to be covered:

  • Ian Gorton on Software Architecture for Big Data Systems

Post-conference surveys and informal feedback have indicated that SATURN attendees value the opportunity to network and to share experiences and insights with peers and colleagues each year at SATURN. In response, the program committee this year has built into the program an Open Space event, which will run concurrently with the rest of the conference. "Open spaces have no set program or agenda," says Technical Chair Michael Keeling. "The idea is that participants will bring what excites them. This can help participants make the conference what they want it to be. I expect this will be a critical part of the learning experience we have at SATURN."

We are offering a special incentive for students to attend SATURN, the SEI conference on software architecture and design topics. The Carnegie Mellon Software Engineering Institute (SEI) Architecture Technology User Network (SATURN) is a professional network of software, systems, and enterprise architects from around the world, representing industry, academia, and government. Each year the SEI sponsors the SATURN software architecture conference. SATURN 2014 will be held in Portland, Oregon, May 5-9, 2014. SATURN attracts an international audience of practicing software architects, industry thought leaders, developers, technical managers, and researchers to share ideas, insights, and experience about effective architecture-centric practices for developing and maintaining software-intensive systems. SATURN is designed for practitioners who are responsible for producing robust software architectures as well as for those who view software architecture as critical to the achievement of their business or organizational missions.

The SATURN 2014 schedule was officially published to the conference website last week. Creating the program schedule for the core conference turned out to be much more challenging than I expected. I think this was an unintended side effect of having so many great submissions. The biggest problem for me was trying to overcome the impossible task of creating a schedule where I get to see all the talks I want to see! There are just too many amazing presentations. As a conference organizer, I can tell you that this is a great problem to have.

Looking at this year's program, I truly believe that you cannot go wrong with any course of sessions that you pick. So rather than talk about the highlights as I see them (I think the entire program is awesome), allow me to share some strategies for how you might build your perfect SATURN conference experience. Again, you really can't make a bad decision, so ultimately it's all about understanding what you want to get out of the conference.

by Neil Ernst, SATURN 2014 Tutorials Chair We have a great tutorial line-up this year that I would like to share. Since tutorials at SATURN are half-day sessions, they provide the presenters time for an in-depth exploration. I think attendees of SATURN 2014 will be particularly impressed by the breadth and depth of our program. On Tuesday, May 6, we have five tutorials scheduled.

  • George Fairbanks, Google, and author of Just Enough Software Architecture, will cover “Architecture Hoisting” (T1), techniques for moving responsibility from the code to the architecture.
  • Stephany Bellomo and Rick Kazman, from the Software Engineering Institute, in Tutorial T2, will introduce deployability and DevOps techniques, then discuss architectural approaches and patterns to reduce build time and shorten the feedback cycle.
  • In the afternoon sessions, Len Bass, of Australia’s National IT Research Centre, will discuss the implications of DevOps on system design (T3). For example, how does moving to a continuous-deployment approach change how the architecture is designed and implemented? This makes a nice complement to the earlier tutorial from Bellomo and Kazman for those desiring a full menu of deployability fare.
  • Pradyumn Sharma (@PradyumnSharma) of Pragati Software will cover NoSQL databases (T4). If you’ve been hearing this term for a few years now and need to really get a good sense for the landscape, Pradyumn will cover the fundamentals for you, basing the session on real-world examples.
  • Finally on Tuesday, Eltjo Poort (@eltjopoort) of CGI will cover the CGI Risk and Cost-Driven Architecture approach (RCDA) in T5. He will discuss how CGI has used RCDA to implement lean and agile architectures in their global software business. RCDA is a recognized architecture method in The Open Group’s architect certification program.

For the first time at SATURN 2014, which will be held in Portland, Oregon, May 5-9, 2014, the SEI will offer a new one-day course titled Big Data--Architectures and Technologies. The course will be available to SATURN attendees on Tuesday, May 6 and will be taught by SEI instructors Ian Gorton and John Klein. This course is designed for architects and technical stakeholders such as product managers, development managers, and systems engineers involved in the development of big-data applications. It focuses on the relationship among application software, data models, and deployment architectures and how specific technology selection relates to all of these.

Jerome Pesenti, vice president of Watson Core Technology at IBM, will deliver the closing keynote at SATURN 2014 on Thursday, May 8. Jerome was the co-founder 13 years ago of Vivisimo, the innovative search-solutions company. Before Vivisimo, he was a visiting scientist at the Carnegie Mellon University School of Computer Science, carrying out research on document clustering, data mining, and artificial intelligence. He is a Carnegie Science Entrepreneur and Pittsburgh 40 Under 40 awardee. He is an alumnus of the �cole Normale Sup�rieure in Paris. His academic degrees consist of a BS in philosophy from the Sorbonne, an MS in cognitive science from the University of Paris VI, and an MS and PhD in pure mathematics from the University of Paris-Sud. For more information about SATURN 2014 or to register, visit the SATURN website or contact the SEI.

Jerome Pesenti

Joe Justice, of Scrum Inc., and Team Wikispeed, which built a 100+ mpg car in less than three months for the X-Prize using Agile, Lean, and Scrum, will discuss this project in a keynote address at SATURN 2014 on Wednesday, May 7. Joe is a consultant at Scrum, Inc., TEDx speaker, and coach for agile hardware and manufacturing teams around the world. He is the founder of Team WIKISPEED, an all Scrum, volunteer-based, green automotive-prototyping company, with a goal to change the world for the better. Justice consults and coaches teams and companies on implementing Scrum at all levels of their organization, in software and physical manufacturing.

Joe Justice

UPDATE: Joe provided us with the title and abstract for his talk.

Title: For Maximum Awesome

Bill Opdyke, who is best known for having done the first in-depth study of code re-factoring as a software engineering technique, will deliver the opening keynote address at SATURN 2014 on Wednesday, May 7. Bill is currently an architecture lead/vice president at JPMorgan Chase, where he focuses on architectural issues related to web and mobile retail banking. His doctoral research at the University of Illinois led to the foundational thesis in object-oriented refactoring.

Registration for the tenth annual SEI Architecture Technology User Network (SATURN ) 2013 software architecture conference is now open. SATURN 2014 will take place at the Portland Downtown Waterfront Hotel in Portland, Oregon, from May 5-9 and will feature keynote presentations by leaders in the field of software architecture:

  • Joe Justice of Scrum Inc., and Team Wikispeed, which built a 100+ mpg car in less than three months for the X-Prize using Agile, Lean, and Scrum: (see http://tedxtalks.ted.com/video/TEDxRainier-Joe-Justice-WikiSpe)
  • Jerome Pesenti, Vice President of Watson Core Technology at IBM and former co-founder of Vivisimo, the innovate search solutions company
  • Bill Opdyke, Architecture Lead (Corporate Internet Group) at J.P. Morgan Chase, who is best known for having done the first in-depth study of code re-factoring as a software engineering technique
Also participating in SATURN this year will be Diana Larsen (http://futureworksconsulting.com), who will facilitate an Open Space event that will run concurrently with the conference and provide a valuable forum for networking and sharing of ideas and solutions. Register now for the SATURN 2014 software architecture conference.

1st ACM International Conference on Mobile Software Engineering and Systems MobileSoft 2014

http://www.sigsoft.org/mobilesoft2014

June 2-3, 2014 Hyderabad, India
Co-located with ICSE 2014 May 31- June 7, 2014
http://2014.icse-conferences.org
Important Dates !!! EXTENDED !!!

Submission: January 27, 2014

Notification: February 24, 2014

Camera: March 3, 2014

Conference: June. 2-3, 2014

Many types of software systems, including big data applications, lend them themselves to highly incremental and iterative development approaches. In essence, system requirements are addressed in small batches, enabling the delivery of functional releases of the system at the end of every increment, typically once a month. The advantages of this approach are many and varied. Perhaps foremost is the fact that it constantly forces the validation of requirements and designs before too much progress is made in inappropriate directions. Ambiguity and change in requirements, as well as uncertainty in design approaches, can be rapidly explored through working software systems, not simply models and documents. Necessary modifications can be carried out efficiently and cost-effectively through refactoring before code becomes too "baked" and complex to easily change. This blog post at the SEI Blog by Ian Gorton of the SEI, the second in a series addressing the software engineering challenges of big data, explores how the nature of building highly scalable, long-lived big data applications influences iterative and incremental design approaches.

As the pace of software delivery increases, organizations need guidance on how to deliver high-quality software rapidly, while simultaneously meeting demands related to time to market, cost, productivity, and quality. In practice, demands for adding new features or fixing defects often take priority. However, when software developers are guided solely by project-management measures, such as progress on requirements and defect counts, they ignore the impact of architectural dependencies, which can impede the progress of a project if not properly managed. This blog post at the SEI blog by Rod Nord and Ipek Ozkaya of the SEI describes a first step toward an approach they developed that aims to use qualitative architectural measures to better inform quantitative code-quality metrics.

Jeromy Carriere of Google, member of the SATURN 2014 Program Committee and previously featured speaker at SATURN, dug through presentations from previous years at SATURN and put together a list of some he found valuable:

Invited talk: Games Software Architects Play (Phillippe Kruchten) "The life of a software architect is a long (and sometimes painful) succession of suboptimal decisions made partially in the dark." Phillippe takes us on a tour of some of the ways that we make bad decisions: cognitive biases, reasoning fallacies, political games. Sadly, each example resonates with me, and not just because I've seen them in other people. Architects have to rely on intuition, but we also need to know when and how it fails us.

Architecture Practices for Agile at Scale: Strategically Managing Technical Debt to Improve System Quality

The Cyber Security and Information Systems Information Analysis Center (CSIAC) invites you to attend this webinar. This event requires registration. Presenter: Robert L. Nord Date and Time: Wednesday, December 11th, 2013; 12-1 pm EDT Registration Required Practices designed to expedite system delivery, such as prototyping or agile development, can paradoxically lead to unexpected rework costs that ultimately slow down later deliverables and degrade value over time, especially as the scale of the system grows. The term "technical debt" describes an aspect of this tradeoff between short-term and long-term value in the software development cycle.

Experience reports and case studies are some of the most effective learning tools available to professional software engineers today. For decades, software engineers have improved the state of practice by sharing stories of their harrowing adventures and triumphant successes. Taking the time to share lessons from our past experiences not only helps us to avoid repeating the mistakes of the past but also spreads the most effective practices widely. This is why SATURN has included experience reports in the main conference program since the start.

While hearing about others’ experiences is important, there is only so much that you can learn by listening to others talk about what they did and what they learned. Learning from experiences of your own is an essential part of growing as a professional software engineer. This is especially true for software architecture, an area that requires a broad understanding of theory and practice.

Everyone can be part of the mobile adventure!

Visit our website for more details:

http://www.sigsoft.org/mobilesoft2014
1st ACM International Conference on Mobile Software Engineering and Systems (MobileSoft 2014) June 2-3, 2014 Hyderabad, India Co-located with ICSE 2014 May 31- June 7, 2014 (http://2014.icse-conferences.org)

First International Workshop on Software Architecture Metrics at WICSA 2014 Sydney, Australia, April 7, 2014 Submission deadline: January 12, 2014 http://www.sei.cmu.edu/community/sam2014/ Architecting complex software systems faces the challenge of how best to assess the achievement of quality attributes and other key drivers, how to reveal issues and risks early, and how to make decisions on architecture improvement. Software architecture quality has a large impact on this effort but is usually not assessed with quantitative measures. As the pace of software delivery and technology churn increases, organizations need guidance on how to meet business goals of their software. There is an increasing need to provide ongoing insights into the quality of the system being developed.

Mobile apps and smartphones are only one instance of today’s mobile computing technology
From a systems and software architecture perspective, mobile devices and sensors are being integrated into IT solutions and re-shaping the way that systems are built. We call these systems mobile-enabled systems. In these systems the mobile device is not simply a “unit” but rather a “node” that is part of a much larger system. The impact that mobility has on software architecture and how the software architecture research community can help address many relevant issues will be discussed in the Workshop on Architecting Mobile-enabled Systems (AMeS), thus providing new insights on the key challenges faced by architects of mobile-enabled systems. The workshop will be held in conjunction with the 11th Working IEEE/IFIP Conference on Software Architecture (WICSA 2014), April 8, 2014 in Sydney, Australia. For more information and to participate, see the Call for Papers.

SATURN 2014 marks the 10th Software Engineering Institute (SEI) Architecture Technology User Network (SATURN) conference--the largest conference dedicated to software architecture in North America. Since 2003, an international audience of practicing software architects, industry thought leaders, developers, technical managers, and researchers have gathered at SATURN to share ideas, insights, and experiences about effective architecture-centric practices for developing and maintaining software-intensive systems. SATURN 2014 will take place in Portland, Oregon from May 5--May 9, 2014.

Fifth International Workshop on Managing Technical Debt Co-located with Empirical Software Engineering International Week (ESEIW 2013) Baltimore, Maryland October 9, 2013 http://www.sei.cmu.edu/community/td2013esem/The technical debt metaphor is gaining significant traction in the development community as a way to understand and communicate the issues surrounding the delivery of increasingly complex software-reliant systems that demands better ways to manage the long-term effects of short-term expedients. However,

"...there is a plethora of attention-grabbing pronouncements in cyberspace that have not been evaluated before they were published, often reflecting the authors' guesses and experience on the subject of Technical Debt." - Spinola et al. 2013

From May 19–26 2013, many SEI staff members participated in the International Conference on Software Engineering (ICSE), the premiere venue for research in software engineering. The conference was in its 35th year, and ran over seven days in downtown San Francisco. You can find post-conference materials here, or here. This blog post discusses some of the activities of SEI staff in the Architecture Practices initiative. ICSE is a great opportunity for SEI technical staff to present emerging results, listen to other researchers, engage with industry practitioners, and continue the SEI’s leading role in the software engineering research community.

This September, the SEI will be coming to Los Angeles to offer two onsite professional development courses, Documenting Software Architectures and Software Architecture Design and Analysis. Successful completion of these two courses fulfills two of the four requirements toward the SEI Software Architecture Professional Certificate, which can help you gain the skills and acquire the experience to enhance your career.

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 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.

Notes by Ian De Silva

Introducing Agile in Large-Scale Projects

Vladimir Koncar, Ericsson Nikola Tesla Drago Holub, Ericsson Nikola Tesla Zoran Kokolj, Ericsson Nikola Tesla Emina Filipovic-Juric, Ericsson Nikola Tesla Josko Bilic, Ericsson Nikola Tesla
In this talk, Koncar described his team's experiences using agile on a large-scale telecom project at Ericsson. This hardware-dependent project was estimated to be about 10 million lines of code, requiring the work of 100 developers for two years. Because of hardware-plan instability, uncertain requirements, and sensitive time to market, agile was the development methodology of choice. In particular, they used Scrum with long-term, cross-functional teams.

Notes by Brendan Foote

Design and Analysis of Cyber-Physical Systems: AADL and Avionics Systems
Julien Delange and Peter Feiler, SEI

Architectural decisions affect nonfunctional requirements, which are critical to the safety of systems. Rework costs increase the later a defect is detected in the software development life cycle. In Delange’s experience, a $10,000 architecture-phase correction can save $3 million! These errors can be caused by mismatched assumptions in embedded software. One anecdote is a train on which the doors wouldn’t close, so the conductor stepped outside to push them closed. But the system assumes the conductor is inside, so the train automatically took off. Dual core laptops also violated many assumptions that developers had made up to that time. To put it glibly, if we can’t get iTunes right on dual core machines, how are we supposed to make safe airplanes with even more complicated hardware?

Notes by Brendan Foote

How to Build, Implement, and Use an Architecture Metamodel

Chris Armstrong, Armstrong Process Group, Inc.
Armstrong discussed the architecture-description standard UML model, showing how an architecture description expresses an architecture, fulfills the concerns of stakeholders, and more. He uses the difference between raw accounting data and the common views the way, say, a CFO would need to because of the way that an architecture is standardized by the RFC 42010 (that is, what subset of the entire UML model is particularly useful?).

Notes by Frank M. Rischner

Architecting Long-Lived Systems

Harald Wesenberg and Einar Landre, Statoil Arne Wiklund, Kongsberg

Statoil uses environmental-monitoring software for monitoring the impacts of their oil business on the environment. Statoil struggled to build a system that would live for a long time. Making sure there is no impact on the environment, how do we build a system that lives for 70 years and adapts to changes?

  • Don't monitor the major events like oils spills; monitor the little things and their impacts on the environment.
  • Use agile projects, since there are a huge number of unknowns in the unknowns.
  • Use stacking capabilities and business capabilities. Those business capabilities are driven by value, are measurable, and provide actions. Each capability is a small enterprise-architecture element.

Notes by Frank M. Rischner, Ian De Silva, and Brendan Foote SATURN 2013 Keynote Address: 15 Years of SOA at Credit Suisse: Lessons Learned and Remaining Challenges Stephan Murer, Credit Suisse Murer works for Credit Suisse, which finds competitive advantage in creating their own systems, rather than outsourcing that work to software vendors. The company handles a large-scale user base, with almost 67,750 users in 550 locations.

SATURN 2013 covers many topics in a variety of areas relevant to software architecture and delivering quality systems; but there might be one topic that you are passionate about that is missing. Or SATURN coverage of a topic may not be as deep as you would like, and you may want to share and learn more. This year, SATURN will provide the opportunity for you to explore topics of your choice at the Open Space on Wednesday May 2, 4:15-5:15 PM.

Got something to say about software architecture? Here is your chance! The program for SATURN 2013 includes a "Lightning Talks" session on Wednesday, May 1, 2013�at 4:15 pm. The session will be a rapid-fire series of five-minute talks on any topic related to software architecture. Do you have a story about a project success (or maybe a not-so-successful project)? A method or technique that you use? A tool that you have developed? An opinion about one of the hot technologies? A reaction to one of the earlier presentations or keynotes? This is your chance to brag, share, or just get something off your chest.

The international software architecture community has responded to this year’s SATURN technical program by setting a new attendance record for the SEI Architecture Technology User Group (SATURN) Conference. SATURN, now in its 9th year, will be held at the Marriott City Center in Minneapolis, Minnesota, from April 29 to May 3, 2013, and registration is still open. Currently 181 people are registered to attend, breaking the previous SATURN attendance record of 166 attendees in 2011.

In 2009, a popular blogger published a post entitled “SOA is Dead,” which generated extensive commentary among those who work in the field of service-oriented architecture (SOA). Many practitioners in this field completely misinterpreted the post; some read the title and just assumed that the content referenced the demise of SOA. Quite the opposite, the post was inviting people to stop thinking about SOA as a set of technologies and start embracing SOA as an approach for designing, developing, and managing distributed systems that goes beyond just the technology. Unfortunately, even though SOA is still alive and widely adopted, a belief still persists that SOA can be purchased off the shelf. This post at the SEI blog highlights recent research aimed at clarifying this misperception for architects, as well as identifying the elements that constitute a service-oriented system and the relationships between these elements.

As program chairs for SATURN 2013, we would like to provide you an overview of the presentation program (note: information about keynotes by Stephan Murer, Scott Berkun, and Mary Poppendieck, the invited talk by Philippe Kruchten, and tutorial highlights is already available in other blog posts). We received many high quality submissions covering the topics of front-end architecture, back-end architecture, methods and tools, and technical leadership. In total we got contributions from more than 40 companies and organizations across three continents.

In Felix Bachmann's tutorial at SATURN 2013 on Monday, April 29 titled Architectural Coaching, you will learn the essentials of how to successfully coach an architecture team in designing a software system that fulfills what the stakeholders want within the given constraints, such as budget and time. You will learn about the importance of a product vision, the architecting process, and the soft skills required to lead a successful team. In group exercises, you will work with a team to produce the product vision, which gives the team direction and motivation.

In his tutorial on Tuesday, April 30 at SATURN 2013 titled Pragmatic Solution Architecting with Risk- and Cost-Driven Architecture (RCDA), Eltjo Poort, lead expert on solution architecture at CGI (formerly Logica), will present a solution-architecture approach tailored to today's complex architecting environment. RCDA combines practices from enterprise and software architecture. Its risk-and-cost focus centers the approach on concrete drivers and helps teams to explain their architectural choices to managers and other business stakeholders in terms that they can understand.

Fourth International Workshop on Managing Technical Debt at ICSE 2013 San Francisco, California, May 20, 2013 Invited Speaker: Steve McConnell http://www.sei.cmu.edu/community/td2013/ On May 20, 2013, we will be conducting a workshop in conjunction with the International Conference on Software Engineering (ICSE 2013) in San Francisco to scrutinize the diverse issues that are related to technical debt and the software development lifecycle.

When a system fails, engineers too often focus on the physical components, but pay scant attention to the software. In software-reliant systems ignoring or deemphasizing the importance of software failures can be a recipe for disaster. This blog post at the SEI Blog�is the first in a series on recent developments with the Architecture Analysis Design Language (AADL) standard. First published in 2004 by SAE International, AADL is a modeling notation that employs both a textual and graphical representation. AADL provides modeling concepts to describe the runtime architecture of application systems in terms of concurrent tasks, their interactions, and their mapping onto an execution platform.

Development organizations use AADL to conduct lightweight, rigorous, yet comparatively inexpensive analyses of critical real-time factors such as performance, dependability, security, and data integrity. Use of AADL helps alleviate mismatched assumptions between the hardware, software, and their interactions that can lead to system failures. This podcast, an interview with Julien Delange and Peter Feiler of the SEI, covers the latest developments in AADL.

If you are a practicing or aspiring software architect, the SEI Software Architecture Technology User Network (SATURN) 2013 Conference offers courses, presentations, tutorials, and talks providing technical advice and knowledge around four architectural themes:

  • Front-end architectures: impact of living on the edge
  • Back-end architectures and application hosting: go to the cloud or stay on the ground?
  • Methods and tools: go with the flow or go your own way?
  • Technical leadership: hard skills and soft skills
SATURN 2013 will be held in Minneapolis, Minnesota, April 29 through May 3, 2013. Register for the SATURN software architecture conference before March 10 at� to save $300 off the regular registration fee. SATURN will feature thought-provoking and inspiring keynote and invited talks from leaders in the fields of software architecture and software development:

Date:February 27, 2013

(Part 1)
Time:
1:30 - 3:00 PM ET

Cost: None
Register now.

About the Tutorial
SOA is not an architecture. SOA is not a system. SOA is a way of designing systems, an approach to system development, an architectural style, a design paradigm. As an architectural style, SOA can be described in terms of components and connectors. The main components are the services, service consumers, and SOA infrastructure. The connectors are predominantly message-based document exchanges. In essence, SOA is an architectural style and an approach to software development that goes with the style. You do not "build a SOA," you "build a service-oriented system."

The SEI often works to transition mature technologies and processes to the broad software engineering community, and to accelerate the adoption and impact of software engineering improvements. In that spirit, the SEI has made all of its SOA Migration, Adoption and Reuse Technique (SMART) resources freely available. These resources comprise all the SMART training materials, processes, and artifacts. SMART is a family of techniques created by the SEI to help organizations make better decisions about service-oriented architecture (SOA) adoption. Learn more in this article about SMART on the SEI website. To download the SEI's SMART Family resources, please visit http://www.sei.cmu.edu/architecture/tools/smart/index.cfm.

Philippe Kruchten will deliver an invited talk at the SATURN 2013 software architecture conference, which will be held at the Marriott City Center in Minneapolis, Minnesota April 29 through May 3, 2013.

Philippe Kruchten has been a software architect for 35 years, first at Alcatel and then at Rational Software (now IBM), working mostly on large technical systems in telecommunication, aerospace, defense, and transportation. In 2004 he became a professor of software engineering at the University of British Columbia, in Vancouver, where he teaches software project management and entrepreneurship and conducts research on software processes--what does it really mean to be agile?--and on software architecture, including architecture knowledge management, technical debt, and complexity. He is the founder of Agile Vancouver, a senior member of the IEEE Computer Society, and a professional engineer in Canada. He has given presentations and tutorials all over the world, including Agile Conferences, Scrum Gatherings, the Java and Object Orientation Conference, and the International Conference on Software Engineering. See more at http://philippe.kruchten.com.

Registration for the ninth annual SEI Architecture Technology User Network (SATURN ) 2013 software architecture conference is now open. SATURN 2013 will take place at the Marriott City Center in Minneapolis, Minnesota, from April 29-May 3 and will feature three keynote presentations by leaders in the field of software architecture and project management, including Mary Poppendieck, Scott Berkun, and Stephan Murer; and a special invited talk by Philippe Kruchten. Register now for the SATURN 2013 software architecture conference.

Fourth International Workshop on Managing Technical Debt at ICSE 2013 San Francisco, California, May 20, 2013 Submission deadline: February 7, 2013 http://www.sei.cmu.edu/community/td2013/ The submission deadline for the Fourth International Workshop on Managing Technical Debtis fast approaching on February 7. We just learned that Steve McConnell, expert on technical debt, accepted our offer to be a featured speaker at the workshop.

Here is the fourth and final installment in our series of blog posts at the SEI blog that provides lightly edited transcripts of remarks by SATURN 2012 panelists on the theme of “Reflections on 20 Years of Software Architecture.” The session was moderated by Rick Kazman of the SEI, and panelists were Linda Northrop of the SEI, Doug Schmidt of Vanderbilt University, Ian Gorton of Pacific Northwest National Lab, Robert Schwanke of Siemens Corporate Research, and Jeromy Carriere. Read the post, Reflections in Software Architecture: Presentations by Jeromy Carriere & Ian Gorton.

QoSA is the premier forum for the presentation of new results in the area of software architecture quality. It brings together researchers, practitioners and students who are concerned with software architecture quality in a holistic way. As a working conference QoSA has a strong practical bias, encompassing research papers, industrial reports and invited talks from renowned speakers. The best contribution of the conference will receive the ACM SIGSOFT Distinguished Paper Award. To learn more, see the full press release about QoSA and the award.

Mary Poppendieck, award-winning author and expert on Lean software development, will deliver a keynote address at the Carnegie Mellon Software Engineering Institute's annual software architecture conference. The SEI Architecture Technology User Network (SATURN) 2013 Conference, which will be held April 29 through May 3, 2013, in Minneapolis, Minnesota, will feature three keynote addresses by leaders in the field of software architecture. Here is a press release announcing Mary Poppendieck's keynote address at SATURN.

Mary Poppendieck

Important Dates

Paper Submission: February 7, 2013 Acceptance Notification: February 28, 2013 Camera-Ready Copy: March 7, 2013

Background

Service-Oriented Architecture (SOA) and service-oriented systems, which are built using the SOA paradigm, are now in the stage of widespread adoption, at least according to Gartner's Hype Cycle of Emerging Technologies. Due to the fact that some of the standards for service integration have stabilized, and driven by IT cost savings, organizations are starting to incorporate external software services into their systems, some of which are hosted in the cloud. From a provider perspective, many commercial companies such as Oracle, SAP, Intuit, and Netflix either have cloud-based offerings of their products or run their business completely in the cloud. The special theme of the 5th edition of the PESOS workshop is "Service Engineering for the Cloud." Cloud Computing is shaping the way that organizations acquire and use systems — software-as-a-service (SaaS) model — and how they develop and deploy systems — platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS) models. Even though cloud platforms and infrastructures are typically designed to scale on demand, the question is whether this automatic elasticity translates to all services deployed on them.

To help developers make the most of the Architecture Analysis and Design Language (AADL), two SEI researchers published Model-Based Engineering with AADL (Addison-Wesley Professional 2012), about which we blogged here in October. The book has been selected for Intel Corporation's Recommended Reading List for the first half of 2013. Intel says

Our Recommended Reading Program provides technical professionals a simple and handy reference list of what to read to stay abreast of new technologies. Dozens of industry technologists, corporate fellows, and engineers have helped by suggesting books and reviewing the list. This is the most comprehensive reading list available for professional computer Developers.

Fourth International Workshop on Managing Technical Debt at ICSE 2013 San Francisco, California, May 20, 2013 Submission deadline: February 7, 2013 http://www.sei.cmu.edu/community/td2013/ On May 20, 2013, we will be organizing a workshop in conjunction with the International Conference on Software Engineering (ICSE 2013) in San Francisco to scrutinize the diverse issues that are related to technical debt and the software development lifecycle. We invite practitioners and researchers to join us in discussing early findings, future directions, experiences, and results. We are seeking papers on practical experience with technical debt, and approaches to evaluate and manage technical debt. The details of the call for papers and other logistics are at our workshop site.

Here is the third in our series of blog posts at the SEI blog that provides lightly edited transcripts of remarks by SATURN 2012 panelists on the theme of “Reflections on 20 Years of Software Architecture.” The session was moderated by Rick Kazman of the SEI, and panelists were Linda Northrop of the SEI, Doug Schmidt of Vanderbilt University, Ian Gorton of Pacific Northwest National Lab, Robert Schwanke of Siemens Corporate Research, and Jeromy Carriere of X.commerce/eBay. Read the third in the series, Reflections on 20 Years of Software Architecture: A Presentation by Robert Schwanke, who reflected on four general problems in software architecture: modularity, systems of systems, maintainable architecture descriptions, and system architecture.