InfoQ

InfoQ

Presentation

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.

Recorded at:
Recorded at

The Limited Red Society

Presented by Joshua Kerievsky on Jun 03, 2010 Length 00:58:07     Download: MP3
Sections
Process & Practices
Topics
Agile ,
Agile Techniques
Tags
Lean Software & Systems Conference ,
Refactoring
 

How would you like to view the presentation?

In case you are having issues watching this video, please follow these simple steps to help us investigate the issue:
1. Right click on the video player and select Copy log
2. Paste the copied information in an email to video-issue@infoq.com (clicking this link will fill in the default details in most email clients).
Note: in case your email client hasn't automatically picked up the email subject, please include in your email the URL of the video too.
3. Done.
We will investigate the issue and get back to you as soon as possible. Thanks for helping us improve our site!
Summary
Joshua Kerievsky discusses the need to reduce “red” periods of time while developing software. One is in the red when he spends too much time designing, or having compilation errors or the tests do not pass. Kerievsky demonstrates a method (Parallel Change) of reducing the red while refactoring code, and discusses another approach called Narrowed Change, and answers refactoring related questions.

Bio
Joshua Kerievsky has been programming professionally since 1987, and is the founder of Industrial Logic (http://industriallogic.com), a company specializing in Extreme Programming (XP). Joshua has been an active member of the XP and patterns communities, he wrote a book called Refactoring To Patterns and he created Industrial Extreme Programming.

About the conference
Lean Software and Systems Conference 2010 — the place to learn about Lean, Pull Systems and Kanban. Understand how established industrial engineering theory can apply to software development process. The conference will assist organizations that depend on software – from start-ups to those that build complex, software intensive products, systems & services – with the application of Lean Thinking throughout the enterprise.
What about ATDD? by Eetu Huisman Posted
Re: What about ATDD? by Joshua Kerievsky Posted
Responsive Design by Daniel Ribeiro Posted
Re: Responsive Design by Joshua Kerievsky Posted
  1. Back to top

    What about ATDD?

    by Eetu Huisman

    I found the presentation extremely (pun intended) interesting. I know I have sometimes used the parallel change "pattern" myself without even realizing how useful it could be in other situations.

    What I was thinking about (and I don't think any of the questions presented by the audience touched this) was how does this apply to acceptance test driven development. Acceptance tests are by definition written beforehand, because their meaning is to a) make the story more understandable for the team and to b) make sure that the requirements of the story are really met. They are typically "red" until the functionalities they require are implemented, thus the story is more or less "done".

    Maybe failing new (story) acceptance tests shouldn't even show up as red, but as yellow or something. On the other hand, they do tell that there is work in progress, which should be limited. If we create just one test at a time, we miss the big picture completely, which doesn't seem like a good idea, either.

    Is there something crucial I'm missing here?

  2. Back to top

    Responsive Design

    by Daniel Ribeiro

    Paralell Change is one of the design principles in Kent Beck's responsive design theme. It was also presented on a qcon last year.

  3. Back to top

    Re: Responsive Design

    by Joshua Kerievsky

    Hi Daniel,

    I've been using the term Parallel Change for at least 4 years now, talking about it in my Refactoring Strategies & Tactics tutorials (formerly called Patterns of Refactoring) and showing videos of these strategies in my Refactoring eLearning album (bit.ly/9T5S9I). So it may just be that Kent selected a similar name to mine. I have to read his stuff and see how close it relates to the technique I'm referring to.

    Here are a few more Refactoring strategies I've been writing about over the years:

    * Piecemeal Change
    * Gradual Change
    * Narrowed Change
    * Sequence Change
    * Evolved Target
    * Unified Methods
    * Graceful Retreat

    I will blog about these one day.

  4. Back to top

    Re: What about ATDD?

    by Joshua Kerievsky

    I don't think you're missing anything. If you do ATDD (or as we call it, Storytest-Driven Development), you will have work-in-progress and it will be good to work in such a way that you aren't "in the red" for very long periods of time, even though they will be longer than if you were just doing TDD.

    BTW, there was a time when we did ATDD all of the time and now we're much more selective about doing it.

Educational Content

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.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?