April 15, 2008
Jumpstart your outsourcing with tips, free consulting, and new tools to track developers
by Gordon Graham, Editor, SoftwareCEO
Outsourcing R&D is a common practice in today's software biz. This issue, we bring you a group of resources
to help sharpen up your outsourcing — and three of them are free.
Any successful outsourcing project depends on the fit between the client and the remote team; in effect, a proper
match. Here's a match-making service that's normally $497 but is now free until the end of April.
Next a seasoned software CEO gives us five principles for managing any outsourced project... principles that are
so solid, they apply to managing any project of any sort.
If you're outsourcing, you probably wonder what's really going on over there sometimes. Here are two new automated
tools to help monitor distributed software teams, plus a free version of one.
Free jumpstart for finding outsourcing partners
We've written before about
Steve Mezak and the outsourcing resources provided by his firm
Accelerance.
Pay attention, anyone at the start of another outsourcing project. For the month of April, Mezak is offering
the Outsourcing
Jumpstart Program for which he normally charges $497, absolutely free.
What's the catch? None we can see.
On the webpage, you fill in a form to specify how many programmers you need, for how long, and for what type of
engagement... and you can answer "not sure" to any of these questions.
Then you give your target start date, a brief description of the project, your preferred development process (Agile,
CMMi level, Microsoft-certified, etc.), and even how much daily time overlap and English proficiency you want
from a remote team.
You send off your form, and in less than 24 hours Mezak shoots you back profiles of the three to five partner companies
that he judges are best-suited to your needs.
And best of all, they've already been pre-vetted by his firm.
"We searched the world and did the extensive due diligence required to find the best vendors so you don't
have to — saving you months of unrecoverable time and money," he says.
"We narrowed down hundreds of potential vendors, and accepted only the ones that demonstrated the highest
levels of technical competence, performance, and integrity."
As part of this special offer, you also get the "Accelerance Vendor Selection Guide" and a free one-hour
consultation about making your choice.
"Now you can dramatically increase your contacts with pre-screened and reliable software development teams
around the world, and it won't cost you a cent," says Mezak.
"This free Offshoring Jumpstart program will remove most of the barriers to making effective use of a global
software development team."
If you're thinking about outsourcing, but not quite sure where to start, jump on this deal now.
Tips on outsourcing development
Greg Burnell is the CEO of 6th Sense Analytics,
a company with an interesting product for monitoring remote development teams. (More on that in the next section.)
In the past, he's been involved in several software firms with developers around the world, including
Worksoft, Teamshare (now
Serena Software), and Togethersoft (now
Borland).
"Any time you disperse your team and put them on different continents and in different time zones, it's a
challenge," he says... a challenge that his new service is designed to solve.
When we chatted with Burnell about his offering, he also shared these practical tips on managing any outsourcing
project.
Outsourcing success tip #1: Assign enough resources at home to manage the remote team
There's no free lunch with outsourcing.
"People are constantly surprised there is an implication on the domestic team to manage these offshore projects," says
Burnell. But he warns that you still need someone at home to manage any remote team.
"There is a common paradox when you're growing fast: You are cannibalizing your high-end resources to manage
your new resources. And the offshore team doesn't function quite as independently as everyone expects they will."
If you're not prepared for that, it can give the whole outsourcing experience a bad feeling.
Outsourcing success tip #2: Write the clearest, most detailed specs you can possibly write
One of the best ways to enjoy a smooth outsourcing experience is to write great specs.
"Specifications take on an entirely new meaning," says Burnell. "They can't be ambiguous; you have
to have very explicit, very specific, very detailed, very articulate specifications to make sure you are communicating
very clearly to your resources what you want built."
Instead of R&D complaining that clients or product managers didn't give clear directions, now the shoe is on
the other foot. It's up to development managers to spell out explicitly how you want things done.
That includes sharing a great deal about your in-house coding standards, design philosophy, architecture, expectations
for comments, or anything else you routinely share with an in-house developer.
Outsourcing success tip #3: Don't expect a lot of domain knowledge from a remote team, especially
at first
If you're working in a vertical market in the western world, Burnell and others caution that you can't
always expect a remote team to have a lot of specific domain knowledge.
After all, your sector may not even exist in their country.
For instance, for-profit medicine just doesn't exist in countries with universal healthcare. (If you saw
the movie Sicko, you know what we mean. Director Michael Moore was constantly asking people, "So where
do you pay? What do you mean, you don't have to pay?! You must have to pay?!")
Not having much domain knowledge means not knowing the jargon for that sector, not knowing the normal workflows
or use cases that you understand so well, maybe not even being able to visualize how your software will be used.
Over time, if you continue to work together, your remote team may get over this hump if you explain things patiently
to them.
"These things kind of heal themselves over time, but that first project really needs to come out of the box,
that can make or break the relationship," says Burnell.
Outsourcing success tip #4: Contact the remote team on their schedule, not yours
Outsourcing success really comes down to communication, says Burnell.
"Honestly, you just need to communicate better. You will be working at 12-hour time differentials, so encourage
people to make themselves available either early in the morning or late in the evening.
"A flexible working model really becomes paramount. You can't work 9 to 5 on U.S. time and then try to keep
things rolling overseas. You could have a lot of people sitting on their thumbs while you sleep."
The bottom line: You need to communicate clearly, regularly, and at the right time of day for your remote team.
Outsourcing success tip #5: Review deliverables from your remote team quickly
"If you think about what software is, at some point something comes flying back this way, and you
have got to have the infrastructure to evaluate those outcomes, and you have to do it in a pretty timely way," says
Burnell.
"It becomes a very key thing to make sure you're set up to evaluate the outcomes intimately to make sure you
are getting what you expect," he adds.
This means a good QA process set up for reviewing these deliverables. And having what Burnell calls "very
interactive” project management teams; this has to be a primary task for them, they have to be engaged.
"Ultimately when it comes to software it's about building what you're supposed to build, so you need a good
round-trip process for getting questions answered quickly."
If you simply dump another module into the pipeline for your overloaded QA team, you may create delays that demotivate
your remote team. Figure out how to handle their deliverables quickly.
Allocate enough resources, create clear expectations, use lots of patience and good communication, make yourself
available, and give quick feedback... these sound like great principles for managing any project, not just an
outsourced one.
Monitor developers with 6th Sense Analytics
"So... how's it going over there?"
If you're doing any form of outsourcing, you probably wonder what's really going on with your remote team. You're
not about to ask your overseas developers to start filling out timesheets... but wouldn't it be great to get some
objective metrics on how each member is actually doing?
In fact, wouldn't it be great to see that for all your developers, no matter where they sit?
"We're software guys, and we believe in software," says Todd Olson, CTO of 6th Sense Analytics in Morrisville,
N.C. "But the industry has always treated software development like a black box. We don't run any other parts
of our business like we run software.
"It's been a dark room with the lights off, and it shouldn't be that way. Management still has to make decisions,
and to make good decisions, we need good data."
To help get better data, his company is at the forefront of a new category of software that does automated, real-time
reporting on developer productivity.
"6th Sense Analytics delivers IT and business teams up-to-the minute, fact-based insight into the status of
projects. We help our customers successfully deliver software on time and within budget," goes the blurb.
And this isn't just some new fad, or another project management system, or a fancy way to collect on-screen timesheets.
Running as SaaS, 6th Sense analyzes an evolving code base to do automated reporting on developer productivity.
So developers and managers never have to lift a finger doing reports or filling in timesheets.
The system automatically pulls data from three sources and compiles metrics to give managers a comprehensive view
of what's going on in their project.
These sources are:
- Programmers' desktops, and not just keystrokes, but higher-level events within the IDE, such as when they're
debugging, editing files, or whatever
- Ticketing systems for managing bugs and fixes
- Source control systems for monitoring who works on what.
The hosted service interoperates with many other tools
and development environments, as shown on this page.
All the data is pulled into metrics and published in clear-cut charts and graphs.
What do developers think of being evaluated this way?
"It's quite transparent to them, it doesn't ask them any questions, it doesn't engage them. That was one of
our objectives," says Olson.
"We get reactions all over the board. We get some visceral 'Big Brother, now-you're-watching-me-all-day-long
stuff' but the negative reactions tend to be mitigated over time."
So managers can get a rich new set of metrics they've never seen before, without asking developers to lift a finger
or fill in any reports.
For its services, 6th Sense Analytics charges $500 per developer per year.
And
here's an intriguing ROI calculator that shows how little gain it takes for this service to pay for itself.
To find out more, you can request a 30-minute demo of the system.
We predict we'll be hearing a lot more about this category in future, as companies continue to look for better
ways to manage development projects, both at home and away.
Monitor developers with EyeQ
And now there's a second system for automatically gathering developer metrics, called EyeQ from
SourceKibitzer in
Tartu, Estonia.
SourceKibitzer is an open-source collective, with EyeQ as its first commercial offering.
"This service helps multi-location and virtual software companies easily learn what is happening in the team,
even if its members are located in different offices, work in different time zones, or talk in different languages," goes
the blurb for the service.
The software runs essentially as SaaS, although the company is starting to do on-site installs for bigger customers.
To gather metrics, it crawls the source code in the customer's repository.
The service gathers the following metrics for each developer:
- Contribution size, the amount of code produced
- Activity, the number of components, and frequency of mods
- Know-how, the breadth of knowledge of the project
- Team friendliness, how much they work and share with others
- Density of comments
- Complexity.
Then EyeQ creates a PDF report every two weeks showing personal and team activity, plus a number of metrics and
charts to compare the results to team, company, and industry averages.
You can see a quick slide show here, or
see sample reports and find out more about these
metrics in the tour.
The full version of EyeQ costs €30 to €50 ($50 to $80) per month per developer, so tracking a team of
15 developers would cost in the neighborhood of $1,000 a month.
And now, the new LITE version is free for up to five developers.
Beyond that number, the LITE version is €20 ($32) per month per developer, so tracking a team of 15 developers
would cost about $320 per month.
"We wanted the key metrics and indicators like developers' know-how and contribution size to be easily available
for any company, no matter what its size, budget, or business model," says company co-founder Mark
Kofman.
"And we think EyeQ LITE can really help with that vision."
The LITE version runs as SaaS and monitors only one code branch. Kofman suggests that you cover your team's most
important work, such as the integration branch, like trunk
in Subversion or
HEAD in CVS.
Kofman plans to visit Silicon Valley at the end of May, so that's a chance for ISVs on the West Coast to meet him.
Or call him at Skype (id: kofman) or e-mail him at mark.kofman@sourcekibitzer.com.
With its free offer of monitoring five developers, EyeQ LITE could well be worth checking into.
|