Q&A: Agile Vs. Formal Methodologies

This is an answer to questions posted here. You can read more answers from that link.
  1. Agile Vs. Formal Methodologies
    1. Is "Agile" just another trend that is slowly turning into a more accepted and practiced methodology?
    2. Is this the beginning of the end for "Formal" Methodologies?
    3. What role, if any, as VSTS played in the struggle of Agile methodologies to become more "mainstream"?
    4. When would you use Agile or Formal Methodologies?
    5. What about "hybrid" culture where Agile and Formal mix together rather than going the full on extreme path of "one or the other"?
Is "Agile" just another trend that is slowly turning into a more accepted and practiced methodology?
 
Agile Practices have long been practiced in the world of Software Development. If anything, I'd say they have always been mainstream (to a certain degree, in many companies) and just now are starting to pick up the "buzz" and become a trend. The new "Agile" word simply tries to put together a set of practices and mind set that works better for most projects than not thinking about them together. Stuff like Coding standards, unit tests and daily builds have always existed, stuff like pair programming have been done to a degree in any company (have you ever set with a colleague trying to solve a tough problem?). Agile simply tries to take those things, name them and realize that we'd be better off acknowledging their power and using them more rather than less.
 
Is this the beginning of the end for "Formal" Methodologies?
Hardly. There's always a place for both, but I suspect that most projects will use a mix of both over one or the other.
 
What role, if any, as VSTS played in the struggle of Agile methodologies to become more "mainstream"?
Team System helped bring the idea of Agile to the mainstream .NET community. That's a wonderful thing, because now we have something that the Java Developers have had for along time - the idea of Agile methodologies embedded into our tools. Unit Tests, MSF Agile, extreme programming, they are a few clicks away rather than a few downloads away. That's a big plus for Microsoft.
On the other hand, team System is not quite there yet. It's TDD Support is less than perfect and the notion of XP and MSF Agile is still not there fully, but we are a long way from Kansas Already, and it will just get better from now on.
 
 
When would you use Agile or Formal Methodologies?
Unless you are working on a project with Fixed Price, Scope and Time, Agile is a good way to go. Even if you do Hardware & Software integration, the software part can be done in an Agile manner (so can the hardware, but that's a different topic).
 
What about "hybrid" culture where Agile and Formal mix together rather than going the full on extreme path of "one or the other"?
99% of the projects I've seen come from a :formal background and implement Agile practices incrementally. For example, doing daily builds, then adding unit tests, then adding TDD, then adding Rolling Wave Planning etc..
If it fits your team more than going all the way , I'd say go for it. One of the main notions of Agile is making the methodology fit your team, and not the other way around. If it can work better for your team with more documentation and more meetings, do it. But stick to your guns for at least some amount of time (an iteration or two) and then decide what to change, if at all.
Share this post: Email it! | bookmark it! | digg it! | reddit!
Published Monday, May 15, 2006 11:28 AM by RoyOsherove
Filed under

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Monday, May 15, 2006 8:14 AM by Pawel Pabich

# re: Q&A: Agile Vs. Formal Methodologies

Great questions, I'm looking forward to all answers.
Monday, May 15, 2006 9:04 AM by AndrewSeven

# re: Q&A: Agile Vs. Formal Methodologies

I wonder if its time to start using a different term for non-agile project types.

The agile methods have an informal feel to their activities, but they are still formal about what activities should (must) be undertaken.

Planned, formal plan, death march ;)
Monday, May 15, 2006 11:01 AM by Bob

# re: Q&A: Agile Vs. Formal Methodologies

I think a death march is more about unrealistic expectation than methodololgy.

I think the bigger competition is Agile or Formal Methodologies vs. cutting corners and putting out a less then quality product. At least in in-house projects. Its hard to convince developers to switch to unit testing from hardly any testing because there is no time. And I think its hard to get managers to switch because its easier to blame one of the programmers when the project fails than to adknowledge they over promissed or even worse they're boss over promissed.
Tuesday, May 16, 2006 3:59 AM by Arnon Rotem-Gal-Oz

# re: Q&A: Agile Vs. Formal Methodologies

You also need Hybrid methods when the circumstances force you to use formal methods (but you know you can benefit from agile practices) - e.g. the example you gave of fixed price/time project (fixed scope is a fiction :) ), when the organization has formal culture/certificate (like CMMI or ISO certification) or when the customer demands detailed plans and documentation etc.

Arnon

Tuesday, May 16, 2006 4:30 AM by Matan Holtzer

# re: Q&A: Agile Vs. Formal Methodologies

"Unless you are working on a project with Fixed Price, Scope and Time, Agile is a good way to go." -
Every VSTS presentation I've been to starts with defining the "problems" that VSTS, by employing Agile methodologies, is adressing. These problems are, quite simply, never being able to end a project while keeping it On Time, On Budget and On Scope.
I thought that these are the problems that arise naturally when working on a project with "Fixed Price, Scope and Time"...

How can these two notions coexist?
Tuesday, May 16, 2006 6:55 AM by Arnon Rotem-Gal-Oz

# re: Q&A: Agile Vs. Formal Methodologies

Matan,
The problem with fixed priced projects is that the customer usually requires a detailed plan as part of Terms and conditions of the bid.
More so, they (usually) want detailed documentation, only allow partial access to end-users etc. etc.
The (unfortunate) end result is that it is next to imposible to have a pure agile project.

Also regarding VSTS - MS claims that even MSF for CMMI improvement is an agile methodogy - this is what Ken Schwaber (SCRUM) had to say about about MSF
Agile:"
Dear CrossTalk Editor,

In the December 2005 issue, the article “Agile Software Development for the Entire Project” by Granville Miller, Microsoft, describes how the agile process in MSF can make the agile described in the Agile Manifesto <www.agile manifesto.org> much easier to implement without all of those difficult changes that many others have experienced. He describes how these reflect the fine engineering practices at Microsoft that have led the MSF version of agile to already be a year late.

It has taken more than 20 years for parts of the American manufacturing industry to adopt lean thinking. Agile, which has many parallels to lean manufacturing, will also take a lot of effort and time. Change is always an effort, and only the dramatic benefits of agile make it worthwhile. Efforts by people like Granville Miller to water down agile by redefining the intent do not help. Efforts that add more process miss the point; process is defined by self-managing teams within frameworks. Decisions are made by these teams working closely with customers to maximize benefit and optimize results.

At the start of the agile movement, we were warned that the larger commercial interests would attempt to water it down to fit their existing tools. We should expect to see other similar fits such as from IBM (through RUP in the Eclipse Foundation) and others. The refinements suggested by Granville Miller do a disservice to everyone working on agile.

Ken Schwaber

Signatory to the Agile Manifesto
Founder of the Agile Alliance
Co-Author of the Scrum Agile process
ken.schwaber@controlchaos.com " (http://www.stsc.hill.af.mil/crosstalk/2006/02/0602LetterToEditor.html)
Thursday, May 18, 2006 10:17 PM by Scott Ambler

# re: Q&A: Agile Vs. Formal Methodologies

At http://www.agiledata.org/essays/differentStrategies.html I compare and contrast a collection of agile and traditional/formal methods. Too many people look for the one best answer to their question, in this case "What is the best approach to software development?" Unfortunately, the answer is "It depends on the situation". That's why I wrote the article comparing the various methods, so that people not only know that they have a choice but that they get some direction as to the differences between them. The article isn't perfect, none are, but it's pretty good IMHO.

Hope some of you like it.

- Scott
Saturday, June 03, 2006 4:23 PM by silk and spinach

# carnival of the agilists, 18-may-06

Welcome to the May 18th edition of the Carnival of Agilists - providing you with a commented digest on what's been said in the agile blogsphere during the last two weeks

Leave a Comment

(required) 
required 
(required)