5 Software Development Lifecycle Analogies Ideas for Web Project anagers

By Max

The number one key skill for project management is communications. Communications must be concise, accurate, and clear to both internal and external stakeholders. One of the more difficult concepts to communicate, particularly in the professional service industry, is explaining complex software and web development processes and design paradigms to clients. As the key point contact for your clients you'll need to be able to explain intricate processes and issues in terms that your client can both respect and understand.

If you can't break concepts for clients, they're likely to form trust issues with the project manager, and eventually that mistrust will manifest into a lack of trust for your company. In professional services trust makes the relationship successful.

If you can't explain it simply, you don't understand it well enough. Albert Einstein

Over time I've found a few go to analogies that help explain various parts of the software and the software development life-cycle. In particular I've found in the "web world" clients at times have a marketing backgrounds with little to no knowledge about technology and key analogies can significantly improve conversations around technical issues and implications.

Project Management Scope & Planning Analogies

Building a house is a great analogy for project scope discussions and request for changes. Using this analogy is also really great for picking up an outside perspective from friends and family members on a particular situation. It's easier for people to related to something physical vs them trying to understand the "digital" world. Here's an example:

This is like asking me to repaint a room after we've already painted it.

Most people in their lifetime have had something painted. They also know that if they have the color changed they are going to have to buy all new paint, and pay for someone to repaint the entire room. For me it's great to explaining why I might charge for changing the entire layout of a page after it's already been completed.

Project Execution Phase Analogies

Depending on the software development process of your agency/company there maybe a lot of explaining or just a little explaining during the execution phase. Since most agencies tend to follow a more waterfall method it's more likely that your conversations around functionality and tricky concepts will not occur during the "build" phase of the project. They are more likely to occur during the planning and strategy/planning phase of the project. When the project manager is armed with a decent set of wire frames the analogies tend to have less of and impact because the concepts are far more tangible to the client. It's why I believe wire frames are really critical in web development or any sort of software development that's going to have a user interface.

If you're following a more Agile type of SDLC then the conversations are going to be a little bit different. Following the Agile process should mean than you're slowing adding on features, and this maybe conceptional easier for your client to understand.

Feature related analogies are going to need to be aligned with clients business, goals, and desires. So there's no real smoking gun for describing how terrible a giant drop down menu with 16 giants images is going to be, or how a page must contain a keyword in order for the search feature to return the page as a result.

With all of that being said I've found a few common area's that seem to continuously come up during the build phase of a project.

Web Application Performance Issues

Depending on what part of the site is slow there's various twists on analogies but if you're working with a non car person just always default to "bigger engine."

We're gonna need a bigger engine.

or maybe even:

We're gonna need a bigger boat...

or for clients that are car enthusiasts:

Pressflow is RUF for Drupal. Just like RUF takes a part Porsche, the Pressflow team takes apart Drupal and makes it faster by replacing components.

Web Application Security

This is pretty easy to explain these day's. That doesn't mean that there's a lot of effort put here.

The internet is pretty much the wild west, there's no real police force. It's just you and your revolver out there. There's no sheriff and you never know when the Jessie James Gang is going to ride into your application and try to take it out.

The basic fact is the most people could careless about security. Only the security nerds really care about it. In reality, no one cares about security until they get hacked and are on the front page of the New York Times. Then everyone is outraged at how poor security was managed.

Database Relationships

Pizza/Toppings

Books/Authors

Honestly I've never had to use one of these so I don't really have a great example for it off hand. You can use the relationships of pizza and pizza toppings or books and authors to describe relationships.

Maintenance Phase

Depending on the client and your companies maintenance contracts maintenance can get sticky. Especially in the agency type world where often there's legacy client application that go years without updates and clients refuse to pay for any upgrades, repairs, or updates.

Every once in a while you've got to give your site an oil change, new brakes, and various other parts.