Contract Work Means Work For you

How to make your project sustainable after the contract is over

Bobbi Fox, Library Technology Services, Harvard University

What I’m going to talk about

  • What is "contract work"?
  • Pre-planning
  • Defining the contract
  • While the contractor is on the job
  • Getting closure (maybe)

Definitions:

"Contract Work"
Scoped-out, limited work (the "project") performed by someone for a given amount of hours or length of time
"Contractor"
A person (or group of people) selected to do this work

Contractors may be working alongside your own developers, or working alone

Who am I?

A developer whose decades of experience includes working as:

  • a contractor;
  • a team lead with contractors on my team;
  • a maintainer/enhancer of contracted-for code

Caveat: don’t assume I’m talking about Harvard in my examples

... don’t assume I’m not.

Also: note that I am not a lawyer

I can’t believe I’m presenting after Calvin Mah again

But, personally, I don't think I look a day older than
"grandmother of a 17-year-old"

Who are you?

Minimizing Frustration

  • There's no such thing as a turn-key application
  • It always takes more time than you expect
  • You want to minimize on-going support work

Pre-planning

A Project

... it's more than the software you expect to be delivered

Pre-planning



There's No Such Thing As a Turn-key Application


Build a Bridge to Your IT Group!


Pre-planning: Talking to Your IT Group

  1. What technologies does IT support ?
  2. Are the operations people be willing/able to support the project?
  3. Are there development resources to handle updates/upgrades?
  4. Who will provide end-user support?
  5. Who "owns" the project going forward?(continuity)

Defining the Contract

More than just specifying what the application should look like and behave!

Think about

  • Minimum Viable Product
  • Technologies (language, hardware, operating system, deployment setup/system configurations)
  • Accessibility ...and I don't mean just WCAG 2.0
  • Version Control
  • Configuration
  • Tests
  • Logging
  • DOCUMENTATION

Thinking About Documentation

  • Installation/Deployment
  • Technical (why, not how)
  • User-oriented
  • What does end-user support need to know?
  • Should be part of each version that is delivered --
    NOT at the end

What you should expect from the contractor

  • Good knowledge of, and WILLINGNESS TO USE, the language(s) the work is to be done in

  • If using Open Source, or adding on to an already-built application:
    -- understanding that these applications may *also* get version updates, and coding accordingly

  • Understanding of any customization hooks that already exist

  • Willingness to expose not-yet-perfect code for review, if appropriate

While the contractor is on the job

  • Periodic code reviews: always a good idea!
  • Weekly or bi-weekly check-ins
  • Demos of work in progress
  • Periodic reviews of documentation

Uh-oh.

  • Early termination
  • Running out of time/money

Getting closure

  • There’s no such thing as a turn-key application
  • Continuing the project

This is Dave

We love Dave

Thank you!

Bat signal for Bobbi

bobbi_fox@harvard.edu
bobbi_SMR on GitHub
@bobbi_fox_SMR

Image Credits

Crying Child
from Darwin, Charles, 1809-1882 The expression of the emotions in man and animals (digitized by the Frances A. Countway Library of Medicine, Harvard University)
Bridge building
The Eads Bridge over the Mississippi River under construction in St. Louis, Missouri, in 1874 or earlier. (via Wikimedia Commons)
Face-Palm Queen
Queen_lewis_chessmen_fragment_2.JPG;Photo taken by Finlay McWalter. British Museum CC attribution-share alike 3.0 (via Wikimedia Commons). Modified from the original
Bobbi/Bat Signal
Created by Chris Traganos (@ctraganos) Used with permission.