InfoQ

News

Adobe Photoshop C3 Team Succeeds with Agile

Posted by Amr Elssamadisy on Mar 13, 2007 04:49 PM

Community
Agile
Topics
Stories & Case Studies
Tags
Introducing Agile ,
Adobe
"Better quality, plenty of features, fewer nights and weekends: what's not to like? ®" wrote Mary Branscombe in an interview with CS3 co-architect Russell Williams. Adobe has been successful in adopting an iterative development process and leaving waterfall, after several unsuccessful attempts. The difference this time around: someone who had successfully adopted iterative processes elsewhere championed their new way of development through the hard times.

By working iteratively, fixing bugs often instead of leaving them to the end, and integrating early, Adobe was able to produce better quality code, release enough functionality, and improve the working environment for developers.

The details of all of their practices are not discussed in the article, but a focus on (1) iterative development and (2) per-engineer bug limits (if any engineer's bug count passes 20, they have to stop working on features and fix bugs instead) are described as the main practices that enabled success. The article also implied that adoption of a practice is more than 'just do it' but involves being patient and persevering through the hard times.

Finally, having a champion who has 'been there, done that' is one of the most effective methods to achieve successful adoption of development practices.

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.
re: Agile Practices? by Dave Rooney Posted Mar 19, 2007 5:57 AM
Re: re: Agile Practices? by Amr Elssamadisy Posted Mar 19, 2007 7:56 AM
Re: re: Agile Practices? by Dave Rooney Posted Mar 19, 2007 8:39 PM
  1. Back to top

    re: Agile Practices?

    Mar 19, 2007 5:57 AM by Dave Rooney

    "...per-engineer bug limits..." passing 20? How bad was the product before? While this is a good example of a large company and significant product using some agile practices, it sounds like they've barely scratched the surface of what can be done with Agile. In fact, this sounds like one of those articles where a team tries a couple of practices and fails, and blames Agile for the failure. The difference in this case is that they consider their work a success. I suppose if more teams start using iterative, incremental delivery and strive to keep their defects in check then it's a good thing for software development. However, I wouldn't go so far as to say those teams are using 'Agile'. Dave Rooney Mayford Technologies http://www.mayford.ca

  2. Back to top

    Re: re: Agile Practices?

    Mar 19, 2007 7:56 AM by Amr Elssamadisy

    Dave, Wouldn't you say that working iteratively, addressing bugs quickly, and integrating often are all practices worthy of the 'Agile' name? Does it have to be a full process to be deemed Agile? Is Scrum 'Agile' if no technical practices are used? Amr

  3. Back to top

    Re: re: Agile Practices?

    Mar 19, 2007 8:39 PM by Dave Rooney

    Hi Amr, Like I said, working the way the interview described is a Good Thing. However, I'm not sure I like the notion that people will believe that's all they have to do in order to be 'agile'. It's as much about the values and principles as it is the practices. If the Adobe CS3 team succeeded with a minimal set of practices, then I suspect that the team's values and principles aligned with the generally accepted values and principles of agile development. A team whose values and principles didn't align would likely fail under the same circumstances. Don't get me wrong - I'm not an 'agile bigot', in fact I'm quite pragmatic in my approach to using agile practices. For example, if a teams wants to go full-tilt XP, then have at it. However, if they don't believe for whatever reason they can do that, I'm just as happy introducing the practices in smaller bite-sized pieces as the team becomes comfortable with them. Dave Rooney Mayford Technologies

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.