Category Archives: Architecture and Agile

SATURN 2014 Line-up of Tutorials

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.

Continue reading

Joe Justice, Founder of Team WIKISPEED, to keynote at SATURN 2014

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

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

Title: For Maximum Awesome

Continue reading

The Importance of Software Architecture in Big Data Systems

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.

Using Scenario-Based Architecture Analysis to Inform Code Quality Metrics

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.

Best of SATURN: A Curated Selection from Jeromy Carriere (Google)

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.

Continue reading

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

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.

Continue reading

Workshop on Managing Technical Debt at ESEIW 2013

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

Continue reading

SEI’s Architecture Practices Work Showcased at 35th International Software Engineering Conference (ICSE)

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.

Continue reading

SATURN 2013 Awards Conferred

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.

Continue reading

SATURN 2013 Keynote: Learning to Surf, Mary Poppendieck (notes)

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.

Continue reading