Want more...Agility

Posted by on in Blogs
Are there any of today's software development teams that aren't using some form of agile method? Dictionary.com defines agility as "the power of moving quickly and easily" and "the ability to think and draw conclusions quickly".  Both of these definitions fit perfectly with what developers (individually or in teams) need more of in their projects.

Early computer software methodologies involved so-called "heavyweight" or "ad hoc" methods. When I worked at TRW in Los Angeles in the 1970's we used the "Work Breakdown Structure" for software and hardware engineering management, planning, scheduling, and costing.  These beginning methods worked well for the large, long termed projects.  Before the introduction of object-oriented programming (OOP) languages and object design, the Waterfall Model was the most commonly used methodology. As OOP and component-based programming paradigms took hold, we needed methods that fit better with the interative and RAD software development that OOP allowed.

The 1990's, thankfully, saw the rise of the "agile methods". There were many different methodologies created to add more agility to software development.  Some of these methods were unique to software development.  Other methods were derived (or conscripted) from other manufacturing industries. The tipping point for software agility arrived in February 2001 when seventeen of our industry's top luminaries met in Utah and created the Manifesto for Agile Software Development.  The Agile Alliance, a non-profit organization, soon followed.  In 2005, Martin Fowler, one of the original signatories on the Agile Manifesto, wrote a spectacular article, "The New Methodology", detailing "the reasons for agile methods, focusing not so much on their weight but on their adaptive nature and their people-first orientation".

Agile methods for programming and data include:

The following articles and videos offer interesting perspectives on Agility and Agile Methods:

More agility in theory should lead to software engineering productivity and quality successes. How can we measure the level of agility for large and small teams?  Here are a documents and articles that cover measuring agility:

Where are the Agile Success Stories?  Here are a few links:

At Embarcadero Technologies we use the Scrum agile methodology.  Using Scrum has helped us be more predictable in our product releases coupled with an increase in product quality.  Different Embarcadero projects are comprised of mini-teams and use 3 and 4 week long sprints.  One of the things we have learned is that while Scrum is a good fit for software product milestones and releases,  development of end user documentation development usually trails one or more sprint completions.  In our experience, the use of online Wikis for documentation has a good fit with Scrum - the documentation team can put placeholders for sprint backlog items and product backlog entries and fill them in as the sprints progress.  Some best practices for and the impact on user documentation in agile projects are discussed in the following articles:

We are proud to have three professional ballet stars in our extended family (Carolyn Judson Urso - Texas Ballet Theater, Elise Judson - Houston Ballet, and Lucien Postlewaite - Pacific Northwest Ballet).  Watching the agility, beauty, and grace of the ballet dancers is an awesome sight. The coming together of years of study, practice, musical composition, choreography, movement vocabulary, costumes, makeup, beauty, partnership, the illusion of flight, and that magical something extra produce the top ballet performances and performers. Former professional ballet dancer and software developer Carin Meier has written a wonderful blog post about the relationship between agile software development and ballet - "Agile Software Lessons from Ballet".

What agile method do you use in your team and/or organization?  If you have success stories or best practices, you can add comments to this blog post or post links to other articles.


About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    Robert Sunday, 31 July 2011

    Agile (Scrum) is a new needless religion. To be honest, the software development worklow is the same as 10 years ago. Fast coding with litle testing. I assume that Delphi 7 was developed wihout Agile? Resulting best quality. I can't say that from Delph 20xx/XE. Particularly the Help system.

  • Guest
    CR Sunday, 31 July 2011

    @Robert: 'I assume that Delphi 7 was developed wihout Agile? Resulting best quality. ' Ha! People weren't saying that when D7 was released - search the archives of non-tech on Google Groups...

  • Guest
    Jennifer Kuiper Monday, 1 August 2011

    Can't help but wondering whether there will be any focus on C++Builder, David. Everything seems to point at Delphi 64 right now. :(

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: