Skip to main content

If you don't have an IBM ID and password, register here.

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

Managing contractors

Four steps for working successfully with external service vendors

Scott W. Ambler, Prectice Leader, Agile Development, Rational Methods Group, IBM, Software Group
Scott W. Ambler is a Practice Leader for Agile Development within the IBM Methods group. He develops process materials, speaks at conferences, and works with IBM clients worldwide to help improve their software processes. Scott is author of several books, listed on his Web site at www.ambysoft.com. Scott is also a recognized Ratonal Thought Leader, whose homepage may be viewed here.

Summary:  Contracting is a reality of the IT industry. Effective contractor management, however, is not. This tip can help you improve your approach to working with contractors.

Date:  01 Aug 2001
Level:  Introductory

Comments:  

Very often you will find that you are unable to fully staff a project with internal resources. This may be due either to a shortage of people with the requisite skills (often called a skills shortage) or simply to a shortage of people. Either way, you need to contract all or a portion of your project to an external vendor. There are four basic steps to the contracting process:

Step one: Select a contractor

Identify one or more contractors who can meet your requirements. Your organization may have a formal search process that involves sending out requests for proposals to a list of approved contractors, or it may have no process whatsoever, requiring you to do all the legwork yourself. Regardless, you should be looking for several things in contractors:

  • They should have relevant experience and expertise in what you're trying to accomplish.
  • They should have a software process in place that they understand and follow. A process is more than a collection of binders that sit on a shelf gathering dust. If they do not have a process, then they're hacking -- so why pay a premium price for low-quality work?
  • They should be able to provide references for successful and not-so-successful accounts that are similar to your own. Yes, it is nice to hear good things about the contractor. But nobody's perfect, so I also want to find out where they've made mistakes in the past and how they rectified them. If a contractor can't be honest with you up front, then you shouldn't be doing business with them.

Step two: Define the commitments

The work that your contractor does is effectively a miniature project, so they should provide a project plan that defines the scope, estimate, and schedule for their work. You also need to come to a mutual agreement on what each side will deliver to the other. In order to produce what you need, they need your requirements for what they are building and a definition of your technical environment and processes. You will increase your project's chance of success by defining the commitments for both your organization and the contractor.


Step three: Maintain ongoing, regular communications

Do not get caught waiting for some mythical deliverable several months in the future. Instead, actively manage the contractor through status reports and inspections of work done. To manage the contractor, you need to maintain contact with them. Demand regular, at least weekly, status reports that describe their accomplishments to date, what is still in progress, and what has not been started. These should be measured in work days or work weeks, something that you can convert into money. Do not accept percentages as units of measurement -- a project can be 90 percent done for months or even years.

Your quality assurance (QA) group should be in regular contact with the contractor's QA group so that you are fully aware of the actual progress of the contractor's work. Yes, this is overhead, but it is an overhead that dramatically reduces the risk of contracting. Therefore it is money well spent.


Step four: Analyze the contractor's effectiveness

Throughout the process of managing the contractor, keep track of actual results versus the original plan. You will need this information in the future to determine whether or not you want to continue doing business with a given contractor. It will also prove to be useful if you take any legal action.

In my next two tips I'll describe common strategies that contractors may try in order to pull the wool over your eyes.

Note: This material was modified from Chapter 6 of Scott's book Process Patterns.


Resources

About the author

Scott W. Ambler is a Practice Leader for Agile Development within the IBM Methods group. He develops process materials, speaks at conferences, and works with IBM clients worldwide to help improve their software processes. Scott is author of several books, listed on his Web site at www.ambysoft.com. Scott is also a recognized Ratonal Thought Leader, whose homepage may be viewed here.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in

If you don't have an IBM ID and password, register here.


Forgot your IBM ID?


Forgot your password?
Change your password


By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)


By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services
ArticleID=86966
ArticleTitle=Managing contractors
publish-date=08012001
author1-email=scott_ambler@ca.ibm.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).