aspose file tools*
The moose likes Agile and Other Processes and the fly likes Art of Agile Development - Practicing Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Art of Agile Development - Practicing" Watch "Art of Agile Development - Practicing" New topic
Author

Art of Agile Development - Practicing

James Shore
author
Ranch Hand

Joined: Sep 21, 2007
Posts: 46
As I said in my last post, Shane and I divided our book up into three parts: Getting Started, Practicing XP, and Mastering Agility. I thought that having a topic on each of these subjects might generate some interesting conversations. I'll be following the other threads and responding to them as well.

"Practicing XP" is the second part of our book. Here, we dive deep into a single agile method (Extreme Programming) and share all of the wisdom and practical tips we could muster. It's a lot of ground to cover, which makes this the biggest part of the book. It doubles as a reference, and judging by the traffic the review website got, I think this is the part of the book that readers will keep turning back to.

This is the pragmatic, detailed, "how to" part of the book. There are a couple of things that we did that I particularly liked. First, we wrote the book for the whole team--programmers, yes, but also customers and testers--so each practice starts with a description of who we're writing for with each practice. Then, towards the end of each practice, we talk about when the practice isn't appropriate and alternatives you can use.

We divided the practices into five chapters. Although the book focused on XP, I'd be happy to talk about any agile method here.

  • Thinking: pair programming, energized work, informative workspace, root-cause analysis, retrospectives
  • Collaborating: trust, sit together, real customer involvement, ubiquitous language, stand-up meetings, coding standards, iteration demo
  • Releasing: "done done", no bugs, version control, ten-minute build, continuous integration, collective code ownership, documentation
  • Planning: vision, release planning, the planning game, risk management, iteration planning, slack, stories, estimating
  • Developing: incremental requirements, customer tests, test-driven development, refactoring, simple design, incremental design and architecture, spike solutions, performance optimization, exploratory testing


  • [ October 30, 2007: Message edited by: James Shore ]

    James Shore, coauthor of <a href="http://www.amazon.com/Art-Agile-Development-James-Shore/dp/0596527675" target="_blank" rel="nofollow">The Art of Agile Development</a>. Website and blog at <a href="http://www.jamesshore.com" target="_blank" rel="nofollow">http://www.jamesshore.com</A> .
    Beppe Catanese
    Greenhorn

    Joined: Nov 07, 2006
    Posts: 27
    Hi James
    thanks for your time.

    I like the concept of post-release documents to enable future work (source your article "Two Kinds of Documentation")... it is for me, when I started reading/looking/hooking into XMP/agile, the missing link.

    Do you explode further the concept in your book? Which information/structure/guidelines? How to preserve legacy across releases and teams?

    I guess the tricky bit is how much time/effort would be allocated. Typically when a project is delivered 5 more are ready to start, and it's so tempting (developers you know) to start on a new ground with new challenges and a lot more to learn.

    Regards,
    Beppe
    Vinayagam Kulandaivel
    Ranch Hand

    Joined: Nov 26, 2004
    Posts: 43
    Jim,

    It's really very great to see your posts and your responses.
    Could you please list out some best practices to follow while using agile model.

    Regards
    Vinayagam
    Vinayagam Kulandaivel
    Ranch Hand

    Joined: Nov 26, 2004
    Posts: 43
    I have found the answer some what here The Seven Core Practices of Agile Work from Agile advice.

    Thanks & Regards
    Vinayagam
    James Shore
    author
    Ranch Hand

    Joined: Sep 21, 2007
    Posts: 46
    Hi Beppe,

    We go into a bit more detail about documentation, although my "Two Kinds of Documentation" essay was the inspiration for the material. Scheduling time for documentation should be done with stories, as with any other customer-valued work.

    Vinayagam,

    "Best practices" is a misleading term--there are no practices that are truly "best" in every situation. Our book has a collection of darned good practices that have been proven to work well together on real projects, and will probably work well for you in the right situation. I happen to know that explaining the practices in detail would take 400 pages, so I'll stop here.
    Ilja Preuss
    author
    Sheriff

    Joined: Jul 11, 2001
    Posts: 14112
    Originally posted by Beppe Catanese:

    I like the concept of post-release documents to enable future work (source your article "Two Kinds of Documentation")... it is for me, when I started reading/looking/hooking into XMP/agile, the missing link.


    Well, taking over a project that has near to 100% coverage for both acceptance and unit tests would already be a big improvement in comparison to any other project I had to take over yet...


    The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
    Vinayagam Kulandaivel
    Ranch Hand

    Joined: Nov 26, 2004
    Posts: 43
    Jim,

    Thanks for your time.

    To be frank, Agile/XP makes more dependencies and requires a gentle agreement with all levels of people involved in Agile/XP projects. Also need to consider about attrition in all levels, It may affects the delivery.
    But finally it assures a better and quality delivery as far as my knowledge it's better to implement agile slowley by module by module. So that every one will get knowledge and over the period will be expert.

    Best Regards
    Vinayagam
    Christophe Verré
    Sheriff

    Joined: Nov 24, 2005
    Posts: 14687
        
      16

    So that every one will get knowledge and over the period will be expert.

    What do you mean by this ?


    [My Blog]
    All roads lead to JavaRanch
    Vinayagam Kulandaivel
    Ranch Hand

    Joined: Nov 26, 2004
    Posts: 43
    Hi Christophe,

    Onece the people started using agile programing, they will become a expert over the period. I hope there is nothing complicate in my quote?

    Regards
    Vinayagam
    Christophe Verré
    Sheriff

    Joined: Nov 24, 2005
    Posts: 14687
        
      16

    Oh sorry, I got mixed up. I thought you were talking about modules of a project. I guess that they may get a good grasp of Agile if there's already an expert (like James!) in the team. Otherwise, they might think that they're doing it right, although they are not.
    Vinayagam Kulandaivel
    Ranch Hand

    Joined: Nov 26, 2004
    Posts: 43
    Yes, Jim will be the role model for every one here

    Regards
    Vinayagam
     
    With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
     
    subject: Art of Agile Development - Practicing