InfoQ

News

Ruby x Agile: The shift from machine-performance to human-performance

Posted by Sam Aaron on Aug 30, 2007 07:56 AM

Community
Agile,
Ruby
Topics
Methodologies,
Programming
Tags
ROI

This article is the second in the Ruby x Agile series, documenting a set of six short videos exploring the relationship between Ruby and Agile methodologies. Our first article covered why Ruby and Agile are a good combination.

The videos feature a discussion between Ruby creator Yukihiro Matsumoto (Fellow, NaCl), self confessed ‘Agile agitator’ Kenji Hiranabe (CEO, Change Vision, Inc.) and Ruby proponent Shintaroh Kakutani (Service Providing Div. Programmer, Eiwa System Management, Inc.)

This part of the series starts with a discussion of the perceived focus shift from optimising for CPU efficiency, to optimising for programmer efficiency:

“Previously, CPU time was indeed precious but now human time is more precious and the focus has shifted to making human activity easier.”

They discuss the relationship between that as society’s increasing dependence on IT, and the associated programming cost. They conclude that the notion of using human power to save CPU time will become prohibitively expensive, and that the solution isn’t to increase the number of programmers, but to use better tools and practices:

“If we shift focus and work on the human side [of computing], no such number of programmers would be needed. I think that this concept is present in movements such as XP/Agile or Rails.”

“There has been a shift from machine-performance to human-performance.”

However, Matz believes that the only area left today where CPU efficiency should be prioritised is super-computing.

The video concludes with a discussion of the differences between the processes involved with traditional and agile software development. They describe that the traditional workflow iteration consisting of market research and planning, order, deliver, release (illustrated in first figure) takes between a quarter of a year to three years to complete. They believe that if you break the synchronous ordering of these workflow units into smaller asynchronous chunks, (illustrated by the inner loop in the second figure) it is possible to complete a full iteration between 1 week and 3 months.


Traditional Process

 

"This turn around takes a quarter to one year or more, perhaps even as much as three years."
Agile Process

 



“When we transfer from this model (first figure), to this model (second figure), then this is Agile itself. The key to this is the synchronisation or match between strength of language, process and business.”

 



When asked to clarify what he meant by the concept of the “inner loop”, Kenji replied with the following deconstruction:

  • Agile (as a project) is a collaborative team of business and IT towards the shared goal, which represents “inner”.
  • Agile (as a process) is a series of short iterations, which represents the loop.

For more information you can watch the corresponding video in this series. The videos are in Japanese with English subtitles.

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.

No comments

Reply

Exclusive Content

Rob Windsor on WCF with REST, JSON and RSS

WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Join Rob Windsor as he introduces WCF 3.5 and its new native support for non-SOAP services.

Christophe Coenraets Discusses Flex 3, AIR, and BlazeDS

Christophe Coenraets discusses Flex 3, Flex Builder, AIR, BlazeDS, Adobe and open source, integrating Flex with existing applications, and integrating RIAs with search engines and browsers.

Debunking Common Refactoring Misconceptions

Danijel Arsenovski attempts to dispel some of the myths around refactoring and how it applies to .NET developers.

REST Eye for the SOA Guy

In this presentation, recorded at QCon San Francisco, CORBA guru Steve Vinoski explains REST from the view of someone who comes to SOA from a traditional, RPC-oriented background.

Choose Feature Teams over Component Teams for Agility

Feature teams are key to scaling agility for large teams. In an excerpt from "Scaling Lean and Agile Development," Larman & Vodde show how feature teams resolve traditional problems & raise new issues

Billy Newport explains Virtualization

Billy Newport talks about virtualization, eXtreme Transaction Processing (XTP) and WebSphere Virtual Enterprise. He discusses hardware, hypervisor, JVM, application and data virtualization.

Virtualization and Security

While virtualization provides many benefits, security can not be a forgotten concept in its application.

Introduction to Agile for Traditional Project Managers

This session is specifically aimed at traditionally trained project managers who are new to Agile, and who would like to be able to relate the PMI's best practices to their Agile equivalents.