Avoid Technical Extortion

tied-manHave you ever had the sick feeling of being held hostage by an outside expert? Perhaps you felt helpless that you couldn’t regain control of your project. Maybe you felt angry because the budget kept creeping upwards. You probably wanted a project-sized “undo” button!

In the course of a technical career spanning more than three decades, I have asked customers pay more than they expected for products that I delivered. They felt a bit ‘taken’ and I felt bad for putting them (or allowing them to put themselves) in that situation. We can find ourselves in this mess for a number of reasons.
[bctt tweet=”Are you being held hostage by your technologists?”]
Technical people tend to underestimate projects. It’s not that they don’t want to be accurate, but rather that estimating a complex project is difficult. It often feels more like a black art than science. I’ve seen it done well, fair, and poorly but I’ve never seen it done perfectly. Most experts agree that estimates are almost always wrong.

Another factor is impatience. As engineers, we like to give customers what they want right away, so we tend to rush the process. There is also a natural fear that if we don’t trim our bids to the bone we will not get the business. The net effect is that we sometimes disappoint customers later by failing to meet deadlines. Schedules slip and costs increase because development takes longer than planned.

Then there’s the whole client management challenge. We should always manage a customer’s expectations so that they are not surprised, but explaining to them that something they want will cost more or is “out of scope” can feel like intestinal suicide. We are not all people-pleasing cowards, mind you, but it can be very difficult to disappoint people. Avoiding confrontation, of course, is a great way to create unhappy customers later.

In addition to being the provider, I have also bought software, websites, and other technical products produced by others. I have been a victim and I know firsthand the pain of cost overruns, disappearing vendors, and shoddy workmanship. By and large, the vast majority of technical people you meet will have good skills, a genuine desire to please, and reasonable prices. That doesn’t mean that your project will succeed. As a buyer, you have a big part to play in creating a favorable outcome.

My hope is that the scar tissue that produced this article will help you to:

  • Plan better
  • Buy smarter
  • Succeed with projects

Understand the Transaction

time-vs-money
In order to properly manage the purchase you are making, you should understand the true nature of the transaction. Here’s what is about to happen…
You are going to trade money for skill and time. You may be thinking of the new website or software as a thing – a product. It isn’t. The engagement actually consists of…

  • a pile of hours
  • from a team of craftsmen
  • with a particular set of skills
  • who know more than you do.

The person or team you select does this for a living every day. You probably don’t. This knowledge gap makes them valuable to you but it also makes them dangerous. This dilemma is true of most skilled trades. The knowledge gap can hurt you just like a sword can cut the one who wields it. If you start your project with the understanding that you are leveraging skilled workers to achieve a shared objective, you will improve your odds of success tremendously.

Stop Dreaming


In your head, you imagine having a friendly chat with an enthusiastic designer who captures your every thought exactly right. They perform a Vulcan mind-meld to get the stuff you forgot to tell them and return sooner than expected with a beautiful product that meets all your needs.

This dreamscape could be the result of mixing ibuprofen with your martini but it will never happen. Such a project can only unfold in a magical world where you and your supplier are both perfect at:

  • Planning
  • Communication
  • Design
  • Development
  • Delivery

You see where this is going, right? In the best of projects, there will be flaws on both sides of the equation. This is why you should follow a project blueprint to better your odds.

Resist the temptation of Pollyanna thinking, “We’ll get lucky – everything will work out.” Instead, think, “What can we do to ensure the success of this complex project?”

Take the Red Pill


Instead of happy faces and bubbly champagne at the project’s end, many buyers experience just the opposite. Just as Neo decided to embrace the truth in The Matrix by taking the red pill, you should make yourself aware of what can go wrong technical projects. Here are a few of the ugly things that can happen:

  • The supplier disappears without delivering anything
  • The project is never finished
  • You cannot gain access to the product
  • You are forced to spend more than planned

Why It Goes Bad

You may have had the best of intentions, found someone through a warm referral, and everything started off great. So what went wrong? The sad truth is that of all the craftsmen available to help with your project, some of them are:

  • Dishonest – They will simply take the money and run
  • Incapable – They are better at sales than they are at their craft
  • Disorganized – They mean well, but things just get lost or forgotten
  • Unstable – Their personal life implodes and takes your project down with it

I was once hired to replace a programmer who just stood up and walked out one day muttering, “I can’t do this anymore.” Turns out he was recently divorced and finally snapped under the stress. It was sad for him but also for the client who had to pick up the pieces of their project.

A prospect with a well-known brand once asked me to bid on a project that had stalled because the developer could not be reached. After several weeks of unreturned emails and phone calls, they finally drove to her house only to find a cleaning crew in the last stages of preparing the home for sale. Gone without a word. No project hand-off meeting. No design documents. She was just… gone.

Decide now to plan well and take precautions so that none of these things ruin your project.

Select Partners, not Vendors

handshake
Some people treat suppliers like a vending machine. Insert money. Pull lever. Expect candy. When the Snickers bar doesn’t fall out, they start kicking the machine. The truth is that between the time you insert the first coin and you finally get your product, not only will the candy have changed several times but your own desires and expectations will too. That’s the nature of creative, complex project work. Things change. If you can grasp that idea going in, you’ll be way ahead of the game. As an educated buyer, you will be more able to manage your own expectations as well as those of the delivery team.

Here are some handy places to find technical talent:

  • UpWork.com
  • Guru.com

Some tips for selecting potential technical partners:

Ratings

Pay attention to the supplier ratings. These numbers tell you the reaction of other customers to the supplier you are considering. If they have a 70% rating, that means that 30% of the customers didn’t like them. That’s a high percentage of problems. You might consider using someone with few or no ratings when there is a big difference in price. If you do, be prepared to screen them for the right skills.

Attitude

If the supplier gets uppity during an email exchange with you, imagine what they will be like when you owe them money! Don’t put up with anything less than patient, professional demeanor from a potential supplier.

Deposits

This may be buried in the description of the professional or firm, but you’ll want to know how they generally handle the money. Asking for a deposit up front is not uncommon and it makes sense when you stop to consider this: You are a complete stranger to them and your ability to pay as well as your integrity are complete unknowns.

Reputation

If you are not using a system that contains direct customer feedback like the ones above, check the Better Business Bureau for complaints against the firm. Also search for the person or firm name in your favorite search engine. You may find material online in LinkedIn, Facebook, or their own blog that gives you insight.

Appreciate the Craft

Why are projects so hard? Well, four different variables have to come together in perfect harmony for them to work, as shown in what’s called the “iron triangle.”

Let’s look at a simple task to see how these four things work together. Suppose that you are asked to fill thirty jars with jellybeans from a big tub. The skill required is moving jellybeans. An easy job, right? If you can keep them out of your mouth, that is (which leaves me out).

The Scope has been nicely quantified as “thirty jars.” You probably have some idea how long this will take. That estimate will form the schedule or Time component. If you charge $10 an hour for this type of work you can come up with the Cost of the job. Piece of cake, right? Scope, Time, and Cost are all taken care of. How about Quality?

What? Only a moron would screw up quality when filling jars with candy! Not so fast. Let’s ask a few clarifying questions before we submit our job quote:

– How big are the jars? Are we talking Bama-style jelly jars, Vlassic whole pickle jars, or the kind of jar the Samaritan woman was carrying when she met Jesus? The difference in volume and weight is considerable.
– How close to the top of the jar is considered “full?”
– Are the jars already empty and clean or is jar preparation required?
– Is the climate dry or do we have sticky beans?
– Will the jars have lids?
– Do the jars have labels? Are they preprinted?
– How big are the jellybeans?
– Are you providing a scoop? How big?
– How big is the tub holding the jellybeans?
– Can I reach into it comfortably?
– Will I be standing up or sitting down?
– Do I have to wear gloves? Who buys those?
– What are the hours of the packing plant? Do I need a badge to get in?

About now you’re thinking I’ve lost my mind, so let’s get to the point: If a simple task can have this many unknowns (variables), how many do you think your technical project has?

The devil, as they say, is in the details. This is why we ask so many questions when a project begins… because jellybeans are a terrible thing to waste.

Manage the Scope

The scope is the list of features, functions, pages, tasks, etc. that must be developed for your product. The phrase “scope creep” refers to an expansion of work (new feature, change of design, etc.) without an agreed upon expansion of budget and schedule to accommodate the work. Here are the main ways to control your scope so that your project doesn’t get away from you:

Write it downDBdiagram

A written spec doesn’t have to be an encyclopedia, but it should be more than a page of bullets. When you approach suppliers with a one-page wish list of features, they know that a ton of Q&A lies between them and a real product specification. Remember the jelly beans job? You’ll want to be specific but not ridiculous. When in doubt, however, lean toward the ridiculous. Your job will cost less.

Exclude things

Making an “out of scope” list is a good way to control cost. Record things that were (or were not) discussed but that you do not want the designer spending time on. Designers are creative people who love to “improve” things, so unless you rule something out it might just end up on your bill. You asked for a “restaurant locator” and the designer assumed that she had to sort results by name as well as distance. Did you want to pay for the name sort work?

Phase it

You don’t put up a building all at once. First the site is prepared, then footers are dug, then concrete is poured, etc. Your project is no different. Break the work up into visibly measurable phases that can be reviewed for quality and completeness.

You probably assume that the supplier will take care of all the unmentioned details. Meanwhile the supplier assumes that you’ll pay more if the work expands – intentionally or unintentionally. The scope in the jelly bean example was pretty easy to follow at first. When we started asking detailed questions it got a little murkier. If the scoop size changed, that could increase or decrease the work involved. Your website project needs more clarity than the jelly bean job. State who is responsible for:

  • Installing the software
  • Choosing the colors, font, and font size
  • Slicing the graphics for use on the web

Who will load the products, write the copy, etc? Write down everything you can think of and assign it to either your team or the developer’s team. Do this before you solicit bids for the job or you will not get comparable bids and the apples-to-oranges confusion will make you start over.

Note: You will add or change something during the project. When you do, be prepared to sign a Change Order that specifies an associated change in project cost. This is a fair and expected practice.

Manage the Schedule

Your may want to give the developer a deadline. “I want the site up by March 31.” The developer has a different idea. They want to estimate the design and development of each feature, add time for testing and then give you the date that they think it can comfortably be delivered. If you don’t have a big event looming that creates a real deadline – like a trade conference or IPO – it’s best to let the developer give you an estimated date. This helps them own the schedule and they will work harder to meet their own deadline than yours. Here are some other tips to tame the scheduling beast:

Use Phasescal-deadline

Yes, we mentioned this in the scope section but it applies differently here. The smaller your phases of development are, the easier they are to estimate. Better estimates produce more accurate deadlines.

Add a Buffer

If the developer tells you it will be ready on March 31, assume that you can let actual customers use it sometime after that. This protects you from schedule slippage causing a crisis and allows time for you to do final testing and get little things cleaned up. Have you heard of a “punch list?” It’s the list of items to be finished or corrected at the end of a project. Residential and commercial builders have them and you will have one too. Make time for dealing with these final spit-and-polish items before going live with your product.

Measure Velocity

As each wave of results is presented, compare the actual time used against the original estimate. If the developer ran long in Phase 1, chances are they will also run long in Phase 2. Don’t use this knowledge to beat up the developer, but rather to reset expectations for the next deadline.

Be Flexible

Adjust the schedule for a win-win scenario. If you press too hard, the supplier may cut corners which will lower the product quality. Worse yet, they may decide you are unreasonable and quit. Imagine what that will do for your deadline.

Manage the Cost

The old phrase “time is money” actually applies pretty well to development projects. Remember the project triangle – scope and time and cost have a relationship. The budget for your job, ideally, should be based on comparing several fixed bids from qualified suppliers. These suppliers should produce their bids after examining your detailed scope document and asking you follow-up questions. Let’s assume you’ve applied the tips from the scope section already. Here are some practical tips for managing the cost of your project:

Add a Buffer

Leave room for mistakes to be made. Remember that neither you nor your supplier is perfect in all the areas required to execute a perfect project. Add 20% to the numbers you are given so that you don’t have a heart attack when the developer asks you to buy a different component than originally planned, loses a team member, or experiences a family emergency.

Pay on Delivery

Do not agree to pay on a schedule – to fork over so much per week or month. The passing of time on the calendar is not what you are buying – it is delivered value. This is why planning is so important. If you divided the project into visible, measurable phases then you already have a rough payment schedule laid out as well. It is acceptable to make a deposit when beginning the work. Remember that the supplier doesn’t trust you any more than you trust them. Having a good faith deposit of a modest amount up front allows them to commit resources to your project without fear of getting stiffed.

Hold Something Back

The last payment – 10 to 20% – is made only after the entire product is delivered, tested, and proven to perform as expected. Don’t give in to whining or badgering about this. If you pay in full before taking delivery of the finished product you have your main leverage. The escrow tools built into sites like UpWork really help with this.

Manage the Quality

Once you have taken control of the scope, the schedule, and the budget you have left the developer with very little wiggle room. If, heaven forbid, they have underbid the job they may take shortcuts which lower the quality of the work. The quality shortfall may be visible or it might be in areas that you cannot readily inspect such as the security framework or efficient performance design. Consider doing one or more of the following to check that your project is being delivered with high quality:

Validate the Sourcequality-ribbon

If there is significant coding in the product, plan on having a third party inspect the code to ensure that it meets basic industry standards. Many hours (and the related dollars) can be wasted trying to fix or extend code that is badly written.

Test for Speed

If performance is critical, plan tests that exercise the product in order to demonstrate that it meets your response time requirements.

Test for Volume

We routinely hear about a major website that went down during the holiday crunch. If your site could experience a big spike in traffic, make sure you test using tools that simulate a high volume of online transactions.

Don’t Over-buy

When architects and designers get together, they want to make sure that the product is simply the best thing money can buy. The problem is – it’s your money. Corral the folks in the think tank and make sure they know what your design goals are and what the pecking order is for approving the design. Here are some buzzwords to watch out for during the design phase of your project:

Feature-rich

Sure, it’s nice if I can sort a list of results by any column that is presented to me, but how many different sorts do I really need? Yes, I like being able to change the color scheme in the application, but does that have anything to do with how the application meets my business need? If your designers insist on throwing in bells and whistles, make sure they get prioritized below items that are essential for the audience you are serving. A tilting 3D wall of pictures may be fun to play with, but as a website visitor (the person who matters) I can get through the photographs on your site just fine with a simple slideshow.

Uniqueconway-castle

“Our website has to be unique,” you say. “We don’t want to look like anyone else.” Well, you certainly don’t want to look like you copied your competition’s website. But you probably don’t want to pay through the nose for an ultra-cool design that looks unlike anything else in the universe. If you have that kind of money, you’re probably not reading this. Pick out a good-looking template and then add a nice picture from your stock. This combination will give you a unique site and a professional online image. The adjectives “unique” and “cool” tend to drive up the price.

Scalable

It’s true that people hate to wait and you do want your application or website to run efficiently. That doesn’t mean that you have to design a system worthy of Amazon.com. A logical database design, efficient code, and a decent server will allow you to deliver the goods. Don’t try to solve the problems you’ll have five years from now using today’s cash flow.

Don’t Under-buy

Just as you don’t want to drain your cash now building a system to last ten years, you also don’t want to create something that will need a major overhaul next summer.

Software

Make sure the database that supports your application is logical and flexible. With a brief tiny-carexplanation of the symbols, you should be able to understand your own database diagram. It should contain terms you recognize and express relationships that are meaningful to you. Ask needs-driven questions like, “What happens if we add a new payment method?” and “How many product categories can we have?”

Maintenance

The product is not just for customers – it’s for you too. You will have daily or weekly interaction with the system. Make sure that the screens you need are provided and that they are as logical and efficient as the functions your customers get.

Websites

I see ad after ad for web designers where the customer wants “a few pages of HTML.” They are setting themselves up to repeat that need in a few months because they can’t change it themselves. Most companies building a new website will benefit from a content management system (CMS). This is software that allows you to make changes to your own website. You should be able to add and delete pages as well as change the content of existing items. You will still need a designer for graphical tasks like creating online coupons for your summer sale, but you should not have to call them to load a new product or change your phone number.

Cover Your Assets

If you have a good relationship with your supplier, it’s easy to forget about basic business safeguards. Like life insurance, it’s better to make sure you have it than suffer regret. This is especially needed when your new partner is in a remote location.

Website NameVault

You can spend a lot of time and money promoting a website. Being forced to change the name would be a huge setback. Try to own the account where your website name is registered. Your website name is also known as the ‘domain’ name. If you don’t, at least make sure that you have a written agreement that the name belongs to you and that it gets turned over to you upon termination of the supplier relationship.

Hosting Account

The hosting account is kind of like the lot where your house (website) sits. It’s best for you to own the lot too, but often times you rent it from your provider. Make sure that you can gain emergency access to your account where your assets reside.

Security

Design access controls into your system that allow users to do only what they are authorized to do. Make people who write their passwords on sticky notes eat them.

Non-disclosure

If there is anything sensitive about the information (formulas, client lists, etc.) you will be sharing with your supplier, make sure that they sign a non-disclosure agreement. There are free versions floating around.

Copyright

Put a copyright notice on all your materials. Putting this in the footer of the website will cause it to display on all the pages.

Trademark

File a trademark with the patent office (uspto.gov) for your name and/or logo. There’s no point spending years and many dollars building a brand that you do not own.

Images

If your images are unique and available for purchase, use technology that displays a watermark on them whenever they appear on the website. Thumbnails don’t need the watermark – only the larger image that people examine prior to purchasing.

Backups

This should be a no-brainer, yes, but I still hear horror stories of companies losing their data to a hard disk crash or hacker attack. Make sure you have an automated backup that runs nightly and see that the backup media leaves your building periodically as fire protection.

One Reply to “Avoid Technical Extortion”

  1. Hi Mike,

    Very well said, and there are quite a few instances when a non-technical entrepreneur or project owner face such kind of situations. A similar situation arises while developing your own Web Application or product and as a non-technical project owner these 18 tips may come handy to save you from a technical extortion, check out 18 Tips for Non-Technical Webpreneurs – http://www.webassicpark.com

    Cheers
    Linda.

Comments are closed.