Three Types of Product Consulting Engagements

Barring the long-term partner projects, I find there are three types of consulting engagements when you work for a product company:

Strategic: Getting the project off the ground

Tactical: Providing a solution to an isolated slice of the client project

Rescue: For the clients who thought about the first two engagements, rejected them, and then got stuck

An experienced product consultant will have experience across the full SDLC, but rarely for a single project. This is simply an observation and not positive or negative outside of the subjective context of the individual consultant.

Have you experienced another type of engagement? Post it here as a comment!

If you found this interesting, please share.

© Scott S. Nelson

Today’s LinkedIn Answers-Inspired Rant

In response to the following question on LinkedIn today:

R&D time – how do folks manage it? – similar to Google’s 20% research time – free form, scheduled, pros-con’s – approved projects…looking for suggestions.

<RANT>
The old rule of thumb was that a senior IT professional should be engaged in deliverables only 65% – 85% of the time (depending on budget and the intelligence of management). The “unproductive” time was when R&D occurred, along with training.

These days, most R&D I see happening is when it is built into a project plan (either through creative padding or selling the ROI in advance and within a short time frame).

What little R&D I do see happening between projects these days is structured by people too far removed the deliverable level. As such, the time lines are too aggressive and the focus towards mindless repetition of simple examples rather than understanding the technology by stretching it to see what it is capable and where else it will apply.

</RANT>

If you found this interesting, please share.

© Scott S. Nelson

An Alternative to RUP

I wrote this a long time ago on a Blackberry in a fit of frustration on a project…it still cracks me up

In an effort to reduce the strain on some clients who seem to have difficulty adopting the RUP process, I present to you an alternative methodology based on a model of what they’ve accomplished in the past and continue to strive for in the present.

First, schedule the project. Any project worth doing should have a deadline, and this needs to be set immediately after coming up with a catchy-yet-vague project name. Really import projects require the deadline to be set before the project is named.

Once a completion date is set, work backwards to build a full schedule. If the date is 6 months away, we know it takes as long to do QA as it did to code, so code freeze will be in 3 months. Everyone realizes that requirements need to be gathered, approvals gained, and designs considered, so let’s plan to do that at the same time. Just to make sure there is enough time to get it all done, give it 4 months. The math is clear: start the project last month.

Next, program something. Anything. We’ll find a use for it somewhere. Yes, we’ll give you requirements just as soon as we decide what the project is. And while you program, please create a design document to show that you used design. To make sure it is an accurate description, write it after you’re done coding. Also, please make all documents as boring as possible so others don’t waste valuable company time reading them.

Laugh maniacally to prove you are fully stressed. If you are stressed, then we have an accurate deadline. If you’re relaxed we obviously gave you too much time. If you’re just burnt out, you’re probably faking it. We have a perfect schedule, everything is on time, and if it’s not on time we can always change the requirements to be on time. We also reserve the right to change the requirements if we happen to feel like it. We’ll let you know critical changes during QA so you can add it in while you fix bugs.

Announce publicly the full functionality and the release date of the project. This should be done prior to QA. Also, to build public awareness and industry anticipation, announce that this service is availablet, program something. Anything. We’ll find a use for it somewhere. Yes, we’ll give you requirements just as soon as we decide what the project is. And while you program, please create a design document to show that you used design. To make sure it is an accurate description, write it after you’re done coding. Also, please make all documents as boring as possible so others don’t waste valuable company time reading them.

Laugh maniacally to prove you are fully stressed. If you are stressed, then we have an accurate deadline. If you’re relaxed we obviously gave you too much time. If you’re just burnt out, you’re probably faking it. We have a perfect schedule, everything is on time, and if it’s not on time we can always change the requirements to be on time. We also reserve the right to change the requirements if we happen to feel like it. We’ll let you know critical changes during QA so you can add it in while you fix bugs.

Announce publicly the full functionality and the release date of the project. This should be done prior to QA. Also, to build public awareness and industry anticipation, announce that this service is available now.

Test the application. Hey, we planned for QA early on, and we’re doing it! Be sure to only test the user experience, because this is all the public and our non-IT departments understand. If all of the data is wrong, that’s a production issue. The guys in production have nothing to do anyway, right?

Throw it away and try again. Nothing worked the way it was supposed to, no one uses the software, and we’ve identified a scapegoat (read “lead developer”). Bring in a consulting firm to fix it all. And remember, we have this process in place and we’ve used it before. It’s documented. So make sure the consultants follow this method.

Like any methodology, it needs a catchy acronym to be considered a real process, so lets look at what we do and see what it spells (we would never consider coming up with the acronym and then trying to make the process fit J):
Schedule
Program
Laugh insanely
Announce it’s finished
Test it
Throw it away.

So, there you go. As a viable alternative to the RUP process, I offer you…

SPLATT!

If you found this interesting, please share.

© Scott S. Nelson