InfoQ

News

Presentation: Natural Laws of Software Development - Deriving Agile Practices

Posted by Abel Avram on Aug 17, 2008 02:08 PM

Community
Agile
Topics
Adopting Agile ,
Agile Techniques
Tags
Requirements ,
agile2008

In this presentation filmed during Agile 2008, Ron Jeffries and Chet Hendrickson derive Agile practices from the natural laws of software development. They don't just say "Be Agile!", but they explain why Agile practices make perfect sense in the software development world.

Watch:  Natural Laws of Software Development (1h 30 min.)

Ron and Chet say that, usually, in business, nothing goes according to the plan, but in all other businesses, except software development, they know before hand they are not going to meet the deadline, and proceed accordingly. We need to provide the same ability to have predictability. It is not possible to have predictability if one is given all the specifications and attempts to complete an entire project before a deadline is met because nobody knows for sure how much of the project has been done. Instead, if the project is approached step by step by doing chucks of it, one could figure out if the project is in graphic or not.

Ron and Chet continue by saying that if we deliver Running Tested Features, then the business management can have predictability, early releases, and will request high value features first, which in end will be a return of investment. Businesses need incremental software development: "if they have it, they can manage it, make more money with it, understand what's going on with it."

Defects may be accounted as negative features. Not knowing what they are means not knowing for certain where we are in the development process. An important cause of defects is misunderstanding the requirements, which happens easily when a team has to deal with all of them at once, instead of incrementally receiving and addressing them. Requirements are well understood during conversations person to person. User stories come handy because they open the conversation which conducts to confirmation. The end result is clarity, the clear understanding of requirements.

In that manner, Ron and Chet derive in their presentation all Agile practices as inherent effects of the natural laws of software development.

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.
Was It Chat's Fault ... by Shane Mingins Posted Aug 17, 2008 11:25 PM
Re: Was It Chat's Fault ... by Deborah Hartmann Posted Aug 18, 2008 12:57 PM
Live "slides" by Deborah Hartmann Posted Aug 18, 2008 1:05 PM
  1. Back to top

    Was It Chat's Fault ...

    Aug 17, 2008 11:25 PM by Shane Mingins

    that Chet has been renamed to Chat?

  2. Back to top

    Re: Was It Chat's Fault ...

    Aug 18, 2008 12:57 PM by Deborah Hartmann

    Lol. No, he's still Chet. But it's surely his fault. Thanks :-)

  3. Back to top

    Live "slides"

    Aug 18, 2008 1:05 PM by Deborah Hartmann

    I love that they hand-created their "slides" in real time. Sometimes the "simplest thing" takes some fancy technology. A good marriage of simple and complex, imo. Thanks, Ron and Chet!

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.