InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Interview: Software Design Helps Being Agile

Posted by Abel Avram on Feb 05, 2009

Sections
Process & Practices,
Architecture & Design
Topics
Design Pattern ,
Agile ,
Design
Tags
Technical Debt ,
agile2008 ,
TDD

In this interview made by InfoQ’s Deborah Hartmann during Agile 2008, Rebecca Wirfs-Brock talks about software design, the need for good design and the technical debt that might accumulate slowing down the development process. The conclusion is that agile developers should not disregard design.

Watch:  Software Design Helps Being Agile (37 min.)

Many people new to Agile emphasize the need for code testing and delivering unit tests along with the code, forgetting about the need to maintain code design over time and the design complexity they might introduce. Ignoring code design will have negative consequences over time.

One of the signs showing damaged code design is the team’s inability to evaluate how much the implementation of a new story will take, because it is not clear where the new code is supposed to be fit in. Another sign is that new functionality is added with reduced velocity.

Perhaps the most important result of not having nor maintaining a good design, according to Rebecca, is the technical debt. While it is OK to deliver a product with a certain amount of manageable technical debt, it is not desirable to let it accumulate too much because it will affect the future of the product and its maintenance.

The conclusion of the interview is that agile developers should consider some software design upfront and should add new functionality following design patterns.

  • This article is part of a featured topic series on Agile
Framework First by Dhirendra Negi Posted
How can I downlaod the video? by yongji zhang Posted
Re: How can I downlaod the video? by Floyd Marinescu Posted
  1. Back to top

    Framework First

    by Dhirendra Negi

    You have to have a framework first, which can act as a replacement of design for the next set of stories. I assume this is the way we can cut down on design everything and code next strategy.

  2. Back to top

    How can I downlaod the video?

    by yongji zhang

    Very slow , I can't listen one whole sentence.
    But ,I 'm really want to view this video.

  3. Back to top

    Re: How can I downlaod the video?

    by Floyd Marinescu

    Very slow , I can't listen one whole sentence.But ,I 'm really want to view this video.
    I'm sorry but we don't have these for download, but why don't you print the transcript right below it so you can read it?

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.