Thursday, March 29, 2007

Inventing a cool name

I love the internet. I was idly surfing tonight for inspiration for a cool project name. I found this article. It made me laugh, but also gave me a few good ideas. I hope it brightens your day too. :)
Inventing a cool name for a software process
The exciting new trend sweeping the nation is to invent your own software development process (bonus points if it’s agile; minus points if it simply adds or subtracts practices from XP), then put it up on the web and wait for it to be cited in offhanded sentences in books and half-researched articles:

"Some examples of popular agile processes are Crystal Clear, Scrum, , DSDM, and Spiral."


Typically, the book or article then totally fails to extrapolate on the characteristics of, or differences between, the processes it’s just casually tossed off. The reason is because most of the time, the details don’t matter in the slightest. The book/article isn’t listing these processes because the author wants you to go and actually try them out, for pity’s sakes! Most likely the author just wants to make him/herself sound vaguely knowledgeable.

So, if you’re inventing your own process and you want to get it mentioned in books and articles, the most important aspect by far is to give your brainchild a cool-sounding name.

A huge mistake that some process inventors make is to start by defining the process, and then only later try to think of a name that sums up – as succinctly as in a single word or two – what the process is all about. Trust me, this never works: don’t even be tempted to try it! A name which is tailored to a predefined process will sound awkward; never quite a perfect match. It’s a bit like screwing the Marmite lid onto a jam jar by mistake.

Worse than that though, names which are based on the process tend to be way too literal. If an author is trying to think of a name which matches the process, he’ll end up with something like Feature-Driven Development, or Dynamic Systems Development Method. Yawwwn. Metaphors are a much better way to go.
The most reliable approach by far is to first think up a cool name, grab its domain name before anyone else does, and then dream up the details of the process to fit the name. And remember to choose something highly metaphorical: nothing too literal. Scrum (even though it sounds a bit too much like “scrotum”) is a good, if hairy, example of a metaphor which was obviously chosen before the process was fleshed out.

Let’s meander through a fictional example. What would be a cool name for a development process? It needs to be the sort of name that:

(a) fits into a list of other software processes;
(b) looks the part... and yet
(c) stands out from the crowd.

How about “Coal”? Not nearly good enough. It suggests latent heat, slow-burning embers, or a process which takes millions of years to complete; not to mention getting stuck beneath thousands of tons of rock strata. That doesn't sound very agile at all.

No, the ideal name must be much more dynamic, especially if it’s to sit side-by-side with the really trendy agile methods. How about “Maelstrom”? That’s more like it! It suggests movement, iterations, order emerging from chaos, that sort of thing.

Let’s try it in a list of brethren software processes in a typical half-baked article on agility:

"Agile development is taking the development world by storm! The number of projects adopting agile methods is matched only by the number of agile processes springing up to answer the flaws discovered in the last-most-recent agile process that sprang up. Some examples of agile development processes are: Scrum, Extreme Programming, ICONIX, DSDM, Maelstrom, Crystal Orange, Coal, and Adaptive Software Development."

I don’t know about you, but out of that list, Maelstrom definitely seems like the most interesting and dynamic of the processes. Its very name oozes the vital essence of agility.

So, now that we’ve got an incredibly cool name for our new process, we need to extrapolate the process itself to fit the name.

Dictionary.com defines maelstrom as:
1. A violent or turbulent situation: caught in the maelstrom of war.
2. A whirlpool of extraordinary size or violence.

Visually, this definition suggests that our new process will have much in common with Boehm’s Spiral method. The Spiral method looks like this:

Figure 1-1. The Spiral Development Process


The premise is that you start in the middle, then spin around in ever expanding circles until you understand the requirements etc. If nothing else, it could add an aerobic element to your early morning stand-up meetings.

Of course, we don’t want our new process to be too similar to the Spiral method: there must be something to distinguish it besides just the name. So what we could do is make our spiral, whoops maelstrom, start at the outside and work its way into the centre. Pure genius. Besides, that’s much more like how a maelstrom operates in real life.

So, here’s what we have so far:

Figure 1-2. The Maelstrom Development Process, In-Progress

What other characteristics of a maelstrom can we work into the process? Well, whirlpools don’t really finish in the middle: like, the water’s reached the centre so the whole mechanism just stops. That wouldn’t be very agile anyway, as in the agile world software is never done. So we need to represent the fact that each new iteration starts again at the outside edge. Again, this differentiates us from Spiral, in which one whiz around the spiral represents several iterations.
Also, a whirlpool speeds up as it nears the centre. Ships that are caught in its relentless grip, once they’ve spun around its rotating maw a couple of times, stand no chance. Their fate is sealed. So we need to reflect that in our process by stipulating that the nearer each iteration is to a release, the more resistance there will be to change. In other words, there’s no way back. This might not seem very agile, until you realise that there’ll be lots more ships (aka iterations) following quickly on behind.

Evolving competency is another area that we should address. Most processes operate on the premise that as the project progresses, the team’s knowledge and understanding of both the problem and the solution will evolve. Here’s another area where we can distinguish our process.

With Maelstrom, as each release gets to the centre of the whirlpool, it essentially "drops down the plughole" (getting the product out the door) and disappears into the end-user’s hands. The programmers never get to see each release again, which makes maintenance costs non-existent: a major advantage of the Maelstrom approach.

XPers might claim to have flattened Boehm’s cost-of-change curve, but Maelstrom goes one better: it’s actually reversed the curve!

So here’s the finished process diagram – ready to be copied and pasted into countless books and articles:

Figure 1-3. The Maelstrom Development Process


Finally, to virtually guarantee the casual citing of this process in future books and articles, we could define a whole series of Maelstrom-based processes, tailored to different kinds of projects. This is similar to the Crystal series which has Crystal Clear for small projects, Crystal Orange for medium-size projects, and so on.

With Maelstrom we could have Maelstrom Teacup for tiny, 1-person projects; Maelstrom Ship-Scuttler for medium-sized projects of 15-30 people; Maelstrom Pacific for big, big projects; and the ultimate, Maelstrom Big Scary Black Hole at the Centre of the Universe, for really big, monolithic government “sink-a-thons” for which million-dollar budget overruns are more or less expected.

Hopefully this article will spur you on to develop your own development methodology. There’s a process land-grab going on right now, so there’s still time to make your mark on the software scene. Good luck with your cool new process. To get you started, here are some potential cool process names to work with. Feel free to grab one and get started extrapolating your ideal process from the metaphorical opportunities abundant in your chosen name – but remember that for the purpose of getting your process regularly cited in pointless lists, the details don’t really matter, it’s the name – and the metaphor it implies – that count:

Octopus, Tiger Bright, Archipelago, Silver Blue, Inferno, Virile, Agile Dream, Kitchen Sink, Legless, Spaghetti Monster, Vorsprung Durch Technik, Cliffhanger, Coalface, Koolaid, Lunchbox, Spirogyra, Helix, Deoxyribonucleic Acid
In fact, genetics gives us a veritable three-course dinner of potential cool process names: Chromosome, Mitosis, Metaphase, Telophase, Interphase... hey, how about "Anaphasic Software Development"?

Or we could take our cue from Scrum, and use names from team sports formations: Huck, Huddle, Lineout, Halftime Oranges, that sort of thing. If you can find a sports-related name that also sounds like a slightly rude body part, then you just might give Scrum a run for its money.
But failing that, simply choosing an offensive body part or organ is also a worthy second best.
Good luck!

Saturday, March 24, 2007

Resignation

Working on our account must be good for your resume.

I found out this week that the Wunderman Project Manager has resigned. Clearly this is disappointing just because when you have someone good on the team it's a wrench to see them go.

The good news, I think, is that his departure isn't caused by working on our account. He has been offered something much bigger and better (i.e. more responsibility) elsewhere. No matter how attractive our project was, it was too good and offer to refuse.

And the other good news is that I am assured that the replacement, who has already been identified, has an excellent reputation and is equipped to handle the unique challenges of our account.

Apropos of nothing

I was visiting a friend today who happens to be part of the B car team.

We were talking about work and travel and I discovered that the B car team have priority on the company flights. This explains why I've gone backwards on waitlists. Essentially it means they can book flight with only two days notice and jump ahead of other would be travellers.

I also discovered that Wednesday is B car day, whatever that means. The implication of this is that a lot of the team travel back and forth on this day making it difficult for any non B car person to book flights.

So, in summary, don't travel on company flights on a Wednesday. And just because you have a seat when you book, don't assume you'll have a seat when you fly.

Monday, March 19, 2007

Eating elephants

There's an old question: "How do you eat an elephant?" and the answer: "One bite at a time."

This project is a bit of an elephant. It's huge, I mean really massive.

So we've broken the project down into chunks, which can be 'eaten' one at a time.

This means that we can manage these chunks more easily, because they become more manageable. It's easier than trying to control one huge beast.

It also makes it easier to define the project, again, because it's now made up of smaller elements.

This may sound like a small development but actually, the impact is considerable.

Thursday, March 8, 2007

e-learning

Had a great meeting with UpFront yesterday. For those of you who haven't encountered them, they're our supplier for dealer e-learning.

We have so many parts of the company preparing assets for delivery via all sorts of different channels that sometimes it can be difficult to keep track.

We were impressed by the e-learning tool, and especially by their turnaround times.

It was interesting to see that the films we are using of our latest models have originated with UpFront. One of the main reasons I wanted us to meet was to try and develop a more efficient way of sharing assets. It's a little adhoc at the moment but with better planning we can influence the UpFront creative work so that their material can be used for more than just dealer training.

A lot of the language used in copy for dealer training could easily be used in other channels like the National Web Portal. The great thing about consistency between copy used for dealers and copy used online for customers is that hopefully when the customer meets the salesperson, they're talking the same language.

I was also very impressed with the nifty flash editor they have developed. If any of you have any feedback on this tool I'd be interested.

Comments

Sorry folks - didn't realise comments weren't allowed for non Google account holders. All fixed now - you can comment without creating an account. Much less hassle. :)

And thanks to Jane for pointing out the error of my ways.

Wednesday, March 7, 2007

Submitted names

Name suggestions so far are below. Your comments will be taken into consideration:

Vistaview - Looking to the future from a great height.

REVolution

Encite - Engage. Insight. Incite. In site

Nucleus - Every living thing has a cell structure. In the heart of that cell structure is the nucleus. The nucleus holds most of the DNA of the organism and is responsible for maintaining the integrity of the cell. Not unlike our NWP. It should embody ‘Feel the Difference’ and we will be responsible for maintaining its integrity moving forward. Also – it refers to things living and breathing – like the NWP should be.


Architect

Ford epub - Ford electronic publisher toolkit


Ford InPuT - Ford Internet Publisher toolkit

Fimas or Fims - Ford internet management system

Firefox PEWS - Pan European Website Solution

Kandoo

Saphire

Lynx

Frisbee

Firefly XP

Firefly Plus

Firefly +

Phoenix

KISS - Kickin' Internet Services Solution

First

Go

Live

Ford Portal

Sierra

Capri

Flight

Sirus

FordUp - because this tool will be used by Ford to Update and Upload information in the web

CristalBox - because it will be in this tool where we are going to change what our customers experience behind their screen (the Cristal box)

TIAB - To Infinity And Beyond


samWARE - Site Authoring and Management WARE

BATFINC - Best Authoring Tool For InterNet Content

Bware+ - brochureware plus

Sware - Site Management Ware

Tinternet - site management for dummies

Tangerine dream

Tangerine

Orange

Orange blossom

Tango

Mushroom


Magic

Mississippi

Phoenix


Orange bureau

Sunrise

AURORA - which means New Beginning in all languages

Tailwind

Browserve

Fawkes (Ford Advanced World-wide-web Key Enterprise System) - As you may know, the phoenix in the book "Harry Potter" is called Fawkes. Phoenix rise from the ashes to something new and beautiful. They can carry very heavy loads, their tears can heal open wounds and their voice brings confidence to the honest and good people. All of this (somehow - ok it is a strech) also applies to Firefly Next Gen.

Fatwire

Feelwire

Feel-Ford

Absolute genius

Out of the Blue

Big Blue

Cruyff

Goldfish

Optimus Prime

Gestalt

Chrysalis

Monday, March 5, 2007

Meebo widget

You may have noticed another change to the blog. I've added a meebo widget.

"What's a meebo widget?" I hear you ask.

Well it's a piece of code that enable the chat window in the top left of the screen to appear. If it says I'm online then you can chat to me. Obviously, you could pick up the phone, but I could be online when I'm out of the office.

If I ignore you then it could be because I'm not at work - or I'm in a meeting. Don't take it personally. :)

I know this probably won't get too much use but this took 5 minutes to set up. I think it's cool but then I love little technology tools like this.

Saturday, March 3, 2007

New bits, tidbits

You may have noticed an addition - Tidbits.

Google, once again, have come up with a useful tool. Google Reader is worth a look I think. It can be very tempting to stay and explore for a while but I'd only recommend this if you have developed the art of fast skim reading.

Google Reader is a new tool and it attempts to make it easier for you to track your areas of interest in the webspace. Check it out: http://www.google.com/reader/view/ but don't blame me if you get sucked in and find it difficult to escape.

Anyway, from the selection Google Reader served up to me I extracted a handful of interesting bits and bobs.

Blog, blog, blogging along

I am relatively new to this blog lark. I started a personal blog over a year ago. After playing with a number of themes and locations I'm fairly settled with a solution that I've used since September.

Blogger, the system used for this blog, is very easy to use once you get the hang of it. I don't think it's 100% intuitive but it gives professional looking results for the minimum of effort and starting couldn't be easier.

To create your own blog, go to: http://www.blogger.com/start and follow the simple instructions. I'm happy to help if you get stuck, just comment here. Problems that you're experiencing could be useful for other people going through the same. It's good to share. :)