Category: Architecture and Agile

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

Continuous software evolution and delivery refers to the organizational capability to innovate and release software in fast parallel cycles, typically hours, days, or very small numbers of weeks. This requires not only adoption of more agile processes in development teams or large investments in automated release pipelines, but changes in potentially the entire research and development organization in terms of technology and practices. Furthermore, automatic live monitoring and experimentation of different system alternatives enables fast evaluation and decision making. Finally, best practices and success stories should be documented and exchanged.

The Workshop on Continuous Software Evolution and Delivery (CSED), which grew out of the successful RELENG and RCoSE workshops, aims to bring together the research communities of the aforementioned areas to exchange challenges, ideas, and solutions to bring continuous software evolution and delivery a step further to being a holistic continuous process. The workshop will be run in a highly interactive manner to stimulate discussions, featuring presentations of practitioner abstracts and academic papers, as well as break-out groups focusing on lively interactions to identify challenges, existing approaches and potential directions for solutions.

For more information, see the CSED website.

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.

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.

Rebecca Wirfs-Brock, Wirfs-Brock Associates, and Joseph Yoder, The Refactory, Inc.

How do you make quality happen? Budget time for quality discussions and quality testing. During envisioning and requirements gathering, identify core qualities. The core goal of agile and lean was not just to go faster, but to get rid of waste. Quality can be a result of those processes, but you need to engineer for quality by architecting for quality and then testing for it. You'll also need to determine appropriate times when qualities can be tested and delivered.

George Fairbanks, Google
In this experience report, George Fairbanks discusses his recent experiences from assembling large bits of software. He reminds us of how sneakily dependencies become complicated through the analogy of the frog in a gradually heating pot of water. Architects could solve the complexity problem up front in a waterfall process, but how and when can they architecturally intervene in an incremental development process?

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.

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.

Agile-Related Links There's No Room for Deadlines: Allen Holub at Dr. Dobbs explains why a “culture of deadlines” can defeat an Agile team how the Agile Manifesto principle of working at a constant pace can produce better results. Slow Down to Speed Up - It's All About Delivery: In this video, Matt Anderson of the Cerner Corporation recommends using Lean concepts so that Agile teams can deliver more with less effort. The Hacker Way Meets Agile Architecture: Jason Bloomberg at DevXtra’s Agile Architecture Revolution contrasts “the Hacker Way” with The Enterprise and discusses how Agile architecture can bring them together. What Every Company Should Know About Agile Software Development: Eric Wittman MIT Technology Review’s View from the Marketplace urges organizations that want to maintain a competitive edge to adopt agile software development practices.

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

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.

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

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.

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.

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. Anthony Tsakiris of Ford Motor Company, Jeromy Carriere of eBay, Inc., and Michael Keeling of Vivisimo received this award in 2010, 2011, and 2012 respectively. This year's award winner was Simon Brown of Coding the Architecture for his presentation titled The Conflict Between Agile and Architecture: Myth or Reality.

Notes by Brendan Foote

Keynote Address: Learning to Surf

Mary Poppendieck, Poppendieck.LLC

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

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 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 Frank M. Rischner, Ian De Silva, and Brendan Foote

Keynote Address: WordPress.com and the Future of Work

Scott Berkun, ScottBerkun.com
Berkun is the author of the forthcoming A Year Without Pants, a reflection on his time working as a team lead for WordPress.com, and four other books. Before that, he was a Microsoft employee and worked on Internet Explorer and Windows. He saw a lot of differences between those two working environments, which his book aims to articulate. At WordPress.com, people are distributed globally (hence, no one has to go to work or "wear pants"). They also get to meet up in cool places like Athens.

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.

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.

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.

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:

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.

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.

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

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.