InfoQ

InfoQ

News

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.

Adobe Photoshop C3 Team Succeeds with Agile

Posted by Amr Elssamadisy on Mar 13, 2007

Sections
Process & Practices,
Architecture & Design
Topics
Stories & Case Studies ,
Agile
Tags
Adobe ,
Introducing Agile
"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.
  • This article is part of a featured topic series on Agile

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

re: Agile Practices? by Dave Rooney Posted
Re: re: Agile Practices? by Amr Elssamadisy Posted
Re: re: Agile Practices? by Dave Rooney Posted
  1. Back to top

    re: Agile Practices?

    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
    www.mayford.ca

  2. Back to top

    Re: re: Agile Practices?

    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?

    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

Jesper Boeg on Priming Kanban

In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

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.