Category Archives: From the Trenches

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.

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

Workshop on Managing Technical Debt at ICSE 2013

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.

Managing technical debt is a broad concern of software engineering that blends research and practice. This can be seen from the program that covers topics such as models for measuring and optimizing technical debt, economic models, tool support, managing dependencies, empirical studies, and use of the metaphor and related techniques in practice. To encourage interactive discussion, brainstorming, and community building the workshop will consist of short presentations from the accepted papers. These short presentations will provide a basis for the participants to investigate further open research questions and challenges in practice. It is for that purpose that the program includes sessions dedicated to open discussion.

We invite members of the software engineering community to join us. The details of the program and other logistics are at our workshop site.

– Robert Nord, SEI

Steve McConnell to Speak at Fourth International Workshop on Managing Technical Debt (ICSE 2013)

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

Steve McConnell

Steve McConnell is CEO and Chief Software Engineer at Construx Software. Steve is the author of Software Estimation: Demystifying the Black Art (2006), Code Complete (1993, 2004), Rapid Development (1996), Software Project Survival Guide (1998), and Professional Software Development (2004). His first two books won Software Development magazine’s Jolt Excellence award for best programming books of their years.

Continue reading

Mary Poppendieck, Expert on Lean Software Development, Will Keynote SATURN 2013

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.

Mary Poppendieck

Here is a press release announcing Mary Poppendieck’s keynote address at SATURN.

 

Call for Papers, Fourth International Workshop on Managing Technical Debt at ICSE 2013

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.

Continue reading

SEI Podcast Series: An Architecture-Focused Measurement Framework for Managing Technical Debt

Managing technical debt, which refers to the rework and degraded quality resulting from overly hasty delivery of software capabilities to users, is an increasingly critical aspect of producing cost-effective, timely, and high-quality software products. A delicate balance is needed between the desire to release new software capabilities rapidly to satisfy users and the desire to practice sound software engineering that reduces rework. In this podcast at the SEI website, Ipek Ozkaya discusses the SEI’s research on the strategic management of technical debt, which involves decisions made to defer necessary work during the planning or execution of a software project.

Links: Ipek Ozkaya on Technical Debt, Agile, and Architecture

In this interview with Ipek Ozkaya of the SEI at the techdebt report blog, Ipek discusses definitions of “technical debt,” the connections between technical debt and Agile development practices, SEI research in the management of technical debt, measurement, and other related topics.

Readers will also be interested in this post at the SEI blog titled “Strategic Management of Architectural Technical Debt” by SEI Principal Researcher Douglas C. Schmidt (who was a keynote speaker at SATURN 2012). In this post, Doug reprises Ipek’s talk on the strategic management of technical debt at the SEI-hosted Agile Research Forum.

Ipek Ozkaya is a senior member of the technical staff at SEI who works to develop empirical methods for improving software development efficiency and system evolution with a focus on software architecture practices, software economics, and requirements management. Her latest publications include multiple articles on these subjects focusing on agile architecting, dependency management, and architectural technical debt. Ozkaya serves on the advisory board of IEEE Software.

Rapid Lifecycle Development in an Agile Context

This blog post at the SEI blog describes research on providing software and systems architects with a decision-making framework for reducing integration risk with Agile methods, thereby reducing the time and resources needed for related work.

The research explores the implications of decisions made over the course of the software and systems lifecycle. It examines when these decisions are made and the time when the implications surface to validate the following hypotheses:

  1. The fundamental early decisions made during the pre-engineering and manufacturing development (pre-EMD) phase have an impact throughout the lifecycle.
  2. The implications of the early decisions often surface in the final stages of the lifecycle, downstream from development.

Read the full post here.