It's not a secret anymore!
The moose likes Agile and Other Processes and the fly likes The Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "The "F" Word" Watch "The "F" Word" New topic

The "F" Word

Mark Herschberg

Joined: Dec 04, 2000
Posts: 6037
I've noticed a tendancy among many developers to be afraid of people and companies which use the "F" word, Formal.
I think this is because there are many companies which have overused formal, rigid processes. All too often developers are required perform a task simply because that's what the playbook tells them. The problem however, is not with the formality of the process, but rather with the blind devotion to it. In companies with very informal processies, it's usually not well enough defined that there's a clear right and wrong way to do something, as defined by the process. Hence, you can't blindly cling to it.
What do others think? Is formal a four letter word?
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Is formal a four letter word?

It is, if it stops creativity, doesn't allow value to be added where possible.
i.e. as in You MUST do A,B,C,D and in exactly this order B,C,then D,A.
Some flexibility must be allowed at the developers discretion as long as the final product is seen to be good and it doesn't get overly-expensive and the "Team" does not have to make sacrifices for these bursts of creativity without being made aware of the pending benefits .
[ July 03, 2003: Message edited by: HS Thomas ]
Frank Carver

Joined: Jan 07, 1999
Posts: 6920
I find it somewhat ironic that programmers, who generally delight in the ulitimate formality of the languages they program in, so often distrust and misunderstand formal business processes.
I wouldn't write a program that just said "Do B, then C, then D, then A". I might pass in parameters, use "if" or "switch" to decide between options, apply processing to all elements of a collection, repeat some process while something is still true, etc.
A good business process can include aspects of all of those and more. As a programmer I much prefer a formal process if it is designed well.
I find something like:
"if anything has changed in the source or build process for a module, ensure that all the release tests have been signed off by a customer representative, and the changes are described in the change document, before delivery"
to be more realistic, more useful and more achievable (as well as more formal) than:
"do tests and documentation"

Read about me at ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
John Wetherbie

Joined: Apr 05, 2000
Posts: 1449
I think it is because people have been subjected (and I mean to use that word) to formal processes where it pretty much is "You: must produce this document/artifact whether it adds value to this project or not, you must have this meeting whether it makes sense or not, etc". So formal has come to mean rigid. I have no problem with a formal process as long as it can be tailored to the project such that you can drop some things and add others. Unfortunately, doing this makes some people uncomfortable. Now the process isn't "repeatable". Bad, bad, bad!
In my experience I have also found that management likes very formal, very specific processes but won't recognize that adding things to do (mainly documents, meetings, etc) means the project will take longer. I think that adds to the "fear" of "formal" processes.
Or maybe we're just a bunch of cowboy hackers! Except for the fact all I've been hacking lately are white papers and design specs.
[ July 03, 2003: Message edited by: John Wetherbie ]

The only reason for time is so that everything doesn't happen all at once.
- Buckaroo Banzai
Ilja Preuss

Joined: Jul 11, 2001
Posts: 14112
I guess that the animosity is actually provoked by another F word: "forced". Unfortunately, the too often seem to go hand in hand.
On the other hand, a team which is *forced* to use XP (or any other informal process) will likely learn to hate that, too.

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
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
Look through some of Alistair Cockburn's writing (recommend Agile Software Development) about the difference between formality and discipline. On his scales, XP is very informal, but highly disciplined. A useful way of looking at things. Formal is not necessarily bad. Probably expensive, but some times necessary or worth the investment.

A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Leslie Chaim
Ranch Hand

Joined: May 22, 2002
Posts: 336
This quote maybe a little off topic but I think that it's super.
Originally from Execution: The discipline of getting things done

Informality is critical to candor. It was one of Jack Welch's bywords. Formality suppresses dialogue; informality encourages it. Formal conversations and presentations leave little room for debate. They suggest that everything is scripted and predetermined. Informality dialogue is open. It invites questions, encourages spontaneity and critical thinking At a meeting in a formal, hierarchical setting, a powerful player can get away with killing a good idea. But informality encourages people to test their thinking, to experiment, and to cross-check. It enables them to take risks among colleagues, bosses, and subordinates. Informality gets the truth out. It surfaces out-of-the-box ideas - the ideas that may seem absurd at first hearing but that create breakthroughs.

I do agree with John who points out that formal has come to mean rigid, and with Thomas, that formality should leave room for creativity. And like Frank, I also prefer a formal process but the key-thing is that "if it is designed well".
Companies have overused formal, rigid processes . Yes Mark, but that is not really formal it's more like "bureaucratic" the kind of thing you do to compensate for the incompetent, and it's a viscous cycle.
A well-designed process promotes team collaboration and enhances creativity, but you got to have the right people for that, which all boils down to discipline.

Normal is in the eye of the beholder
Mark Herschberg

Joined: Dec 04, 2000
Posts: 6037
See, these are great examples of how the word can be misused

2. Following or being in accord with accepted forms, conventions, or regulations
3. Characterized by strict or meticulous observation of forms; methodical

There's a world of difference between definitions 2 and 3. For example one process may call for "group collaboration over the next 2 weeks" That's rather informal. It may work if the team works weel together; it may not. Another process may call for group collaboration by starting the week with a meeting and coming up with a plan for the next two weeks. It also involves a checkpoint meeting after 1 week. That to me is formal. It's not clear that this makes it any less creative. All it does here is force communications. If the group is working fine, those will be short, quick meetings. If the group does not, this will insure they at least get started.
I agree. Here's the link:
subject: The "F" Word
It's not a secret anymore!