InfoQ

Interview

Software Design Helps Being Agile

Interview with Rebecca Wirfs-Brock by Deborah Hartmann Preuss on Feb 04, 2009

Community
Agile
Topics
Design ,
Design Pattern
Tags
agile2008 ,
TDD ,
Technical Debt
Summary
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.

Bio
Rebecca Wirfs-Brock invented the way of thinking about objects known as Responsibility-Driven Design. She is lead author of the classic Designing Object-Oriented Software, and Object Design: Roles, Responsibilities and Collaborations. She is the design columnist for IEEE Software and past board member of the Agile Alliance.

About the conference
This is Deborah Hartmann at Agile 2008, with Rebecca Wirfs-Brock.
What is happening in your corner of the Agile world these days?
You say design is back. What's it replacing? Weren't we doing design?
What are the symptoms of ignoring design?
I've heard these from a number of coaches about people sprinting, and after the first couple of sprints they are going fast and then they start to crash.
Would you like to see us talking about the code base, on regular basis, the same way we talk about the process?
It's true because Frankenstein sort of appears gradually we become immune to it, we just say that's the way our code base is and this is how long it's going to take us to modify it and it slows us.
Will teams carefully adopting all the XP practices together solve this problem?
It sounds like it's about vision, about the practices support that vision, but if there is no vision, the practices aren't going to resolve that fact.
A lot of teams have a mentor or coach or Scrum Master, some kind of a person who is thinking about process. When it comes time for their reflection cycle - be it weekly or monthly - what questions can that person be asking to bring the developers into thinking about their code base, about the quality of their design?
We know that you get what you measure, right? So what are the debt points? What should we be measuring?
You talk about your tests needing to match and reflect your design expectations, so where should we be holding our design expectations? Are they documents or are they conversations?
You are kind of delivering debt, aren't you?
Customer might like to know about that.
Are the concerns the same for Greenfield projects and for Maintenance projects?
It strikes me that, as Agilists we talk about transparency, and being open with our customers, how many teams do you see that are open with their customers about technical debt?
Would you like that conversation to happen when the customer's present?
This is totally in line with value driven development and you obviously have this deep sense of concern for the value of the design. Where does that come from?
What are some of the patterns you saw when you were observing these SmallTalk developers, the ones who moved fast and keep good design? What did you see?
That's so interesting. It totally mirrors what Agile does out in the world of human communication. We want to increase trust among the collaborators, among the customers, the developers and so on and we are reducing the amount of documentation we have there by having clear communication, knowing who is responsible for what. Similarly inside the code - I mean tests are a form of documentation - you are saying that you don't have to have this exponential explosion of tests, if we know where the responsibilities lye.
If you don't want to micromanage code?
So, you are talking about behavior driven design?
The business behavior, not the geek behavior.
In the analogy I made, we have, for example in Scrum, a Scrum Master who is responsible to be thinking about the process and holding the vision for the process. Who should be thinking about holding the vision for the design?
So, design is back? Do you have some advice, before we finish, for some of our viewers who are thinking they would like to start tackling their technical debt?
show all  show all

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

Framework First by Dhirendra Negi Posted Feb 6, 2009 7:31 AM
How can I downlaod the video? by zhang yongji Posted Feb 10, 2009 7:04 AM
Re: How can I downlaod the video? by Floyd Marinescu Posted Feb 10, 2009 11:33 AM
  1. Back to top

    Framework First

    Feb 6, 2009 7:31 AM 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?

    Feb 10, 2009 7:04 AM by zhang yongji

    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?

    Feb 10, 2009 11:33 AM 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

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.