Friday, April 16, 2004

Database Outsourcing

Nonprofits rely on information to guide programs, manage relationships with clients and constituents among other things. This information, often referred to as data, is an organizational asset that must be handled carefully so that it is useful. Database technology has become a common way for nonprofits to handle information, Due to the complexities of technology in general and databases specifically, nonprofits find they are challenged in how to select, use and maintain databases. One solution to this challenge is to outsource a portion of the database work to experts who can be helpful.

Nonprofits can outsource database support in a variety of ways. For instance, a volunteer or a software developer might create a custom database; a consultant might help select or implement a commercial software package; a freelance programmer might write complex reports; or a database hosting service might manage servers.

The process of selecting or building a database can be divided into seven areas, each of which could be outsourced:

1.needs assessment (including the build vs. buy decision)

2.system selection (if buying)

3.custom database development (if building)

4.implementation support

5.database customization, report development, and other enhancements

6.staff support (help desk, training, and documentation)

7.system support (database management, server management)

This article discusses areas that contrast buying versus building a database, specifically, system selection when buying a database and custom database development when building one.

The issues involved apply to every phase of database outsourcing:When should you consider outsourcing?

1.What should be included in the project?

2.Who should be involved in the decision?

3.What kind of expertise is needed?

4.What are the benefits of outsourcing?

5.What are the risks of outsourcing?

System Selection

System selection is the process of identifying which software product an organization should use for its database. An organization should undertake a system selection project after it has made the decision to look for commercial software rather than build its own database (for a discussion of the buy versus build decision see "Should Nonprofit Agencies Build or Buy a Database?") Using the information gathered during the process of deciding whether to build or buy a database, the organization can determine its needs for selecting a database and establish criteria to compare competing vendors.

The consultant's role is to help the organization envision how it will use a new database; prioritize its needs; distinguish mandatory requirements from its wish list; compare its list of requirements to what vendors can offer; assess the financial and human resources required to buy, implement, and support a new system; and, in the end, make a decision.

When should an organization consider outsourcing a system selection project?

It makes sense to seek help with system selection when:

1.The organization lacks the time and/or technical expertise to evaluate vendors.

2.The organization wants to draw on the experience of someone who has matched similar organizations with systems in the past and already knows what's available.

3.The organization needs help choosing between competing options.

4.The organization needs impartial help in evaluating and prioritizing its needs.

5.The organization lacks experience with other systems or ways of working.

6.The organization wants guidance that is free from office politics.

What should be included in an outsourcing project?
A system selection project can include any or all of the following:

1.interviewing key staff, board members, and volunteers to understand long-term goals and daily operating needs

2.identifying and prioritizing mandatory and optional features

3.creating a qualified vendor list

4.assembling a request for proposals (RFP) and evaluating responses

5.identifying technical infrastructure requirements

6.specifying integration requirements

7.developing scripted scenarios so all vendors show comparable features; for instance, when comparing fundraising databases, each vendor might be required to create two donor records, merge them and add some joint gifts, then separate them and show the effect on the gift records

8.identifying required resources, including budgets, staffing, policies, procedures, and training

Who from your organization should be involved in the project?

Begin by appointing a respected, neutral staff member to oversee the project and serve as liaison to the consultant. The liaison could be a knowledgeable staff member who does not have a vested interest in any particular outcome. The liaison should have sufficient stature to make recommendations to senior management. The liaison does not need to have a technical background. However, it's critical that this person be given the time to oversee the project (which may require shifting duties temporarily), and have a personal interest in seeing the project through.

Next, convene a selection committee representing each of the major groups that would enter data or receive reports from the system, such as fundraising, membership, marketing, finance, client intake, and information technology.

When you hold software demonstrations, invite all interested staff and volunteers. They should be given an opportunity to provide comments to the selection committee, preferably in writing. The selection committee's job will be to evaluate the demos, check references, compare costs, and make a recommendation to management. The internal liaison should oversee the decision-making process, though the consultant may facilitate the process. Under no circumstances should the consultant make the final decision -- the organization must control this.

Expertise required from a outsourcing partner:
1.experience helping comparable organizations solve similar problems

2.objectivity and communication skills

3.experience assessing business processes, database requirements, and organizational effectiveness

4.experience turning business needs into scenarios for software demos

5.experience working with committees and facilitating group decision-making

6.experience with a variety of database solutions

Benefits of outsourcing a system selection project:

1.getting it done: organizations are frequently not able to allocate the necessary time, or they lack the skills to manage the project and compare options

2.creating a sense of urgency: paying a consultant tends to make the project a priority for everyone, particularly senior management

3.getting access to expertise that the organization lacks

4.having an objective facilitator run the project

5.getting an unbiased assessment of the strengths and weaknesses of the systems under consideration and how well they'll meet the organization's needs

Risks of outsourcing a needs assessment

1.The natural resistance to change can be heightened by what's perceived as "interference" from outsiders.

2.The consultant may not understand the unique culture and needs of your organization.

3."To a person with a hammer, everything looks like a nail." The consultant may have a bias toward one solution for all problems. If the consultant has a relationship with a particular software vendor, that vendor's product may be the only recommended solution.

4.For smaller projects or decisions, the cost of bringing in a consultant may exceed the benefit.

5.When considering this or any consulting project, be sure that you get to meet the people who will actually do the work, not just the charming sales people.

6.The consultant can facilitate the decision, but should not make the decision. If this happens, the organization may not feel the ownership and commitment necessary to follow through with implementation.

7.The consultant's expertise cannot take the place of having a staff member serve as advocate and champion of the process.

When buying products or services it always pays to check references. In this case, you need to get a sense of the consultant's style, approach, flexibility, communication skills, ability to diagnose problems and come up with workable solutions, and ability to meet deadlines and work within a defined budget.

Custom Database Development

Custom database development is undertaken when an organization has decided to build its own system rather than buy commercial software. It requires a detailed description of required features, reports, interfaces, and workflows; and the creation of a database that combines the required functionality with a user interface that staff find intuitive.

When an organization should consider outsourcing database development

Because database development is so expensive and time-consuming, it's important to make sure that this is the best approach. Before you start building a custom database, be sure you've compared the cost and functionality of commercial software. Will a custom solution provide mandatory functionality that commercial databases lack or significantly reduce up-front and long-term costs?

An organization should consider outsourcing database development when it has decided against buying a commercial database, and any of the following statements are true:
Staff lack the technical expertise in database design and programming.

1.Staff have the expertise but there aren't enough of them to get it done.

2.The project is urgent, and needs to be done without affecting the technology staff's current priorities.

A database development project can include any or all of the following:

1.developing a clear project scope and timeline
2.staff interviewsworkflow analysis and process mapping
3.detailed specifications for every field, table, screen, report, and interface needed
4.development of one or more prototypes of the system for testing of a functioning system that meets the specifications

6.staff training


8.ongoing modifications, upgrades, maintenance, and training

Who from your organization should be involved in the project?
This type of project requires strong technical skills and knowledge of your organization's long-range goals and daily operations. Database development therefore usually requires cross-functional teams made up of staff members from different groups within your organization. You'll need one or more people at a management level who understand the goals and management reporting needs of the affected departments. You'll also need one or more staff members who understand the minutiae of daily operations. In addition to providing their own expertise, team members must be able to represent the needs of their peers. Finally, if you have your own technical staff you'll want to involve them in the project. They'll help translate between departmental staff and the database programmers, clarify technical issues, and specify any technical constraints or interfaces to other systems.

Expertise needed from a third party

Fundamentally, this is a technical project. It requires experience mapping processes, turning functional needs into technical specifications, and creating databases of similar complexity. Ideally, the programmers will have worked with similar types of databases, but this isn't mandatory as long as they demonstrate (in meetings with you and in prior work with other organizations) that they understand the issues involved and can meet the full range of requirements.

In addition to technical skills, the programmers must be able to communicate effectively with your staff and with your project liaison; help you make sure the project stays within scope, on time, and under budget; and turn what may start as vague wishes into an effective, functional product.

Benefits of outsourcing database development

Most nonprofits do not have sufficient technical skills on staff to allow development of sophisticated databases. Also, as with the needs assessment, the primary benefit may be creating a sense of urgency and getting the project done. You're accomplishing that by hiring the technical and project management expertise needed to make the project a success. In addition, you're getting a new set of eyes that can help you envision new ways of managing your data and analyzing your programs.

Risks of outsourcing database development

Any custom database development project can suffer from a variety of ailments: a slowly enlarging scope, timeline, and budget; eternal dependence on the programmer who created the system; and lack of documentation and training for the database.

Third-party developers can exacerbate these problems. Staff may come to feel that it's too much trouble or too expensive to call the programmer when something isn't working. Instead, they'll find ways of working around the database, resulting in shadow systems that undermine the usefulness and authoritativeness of the main database.

In addition, when the developer turns its attention to other clients, smaller fixes and problems in your database may not be addressed in a timely manner. There's also the danger that the developer could leave the company you've been working with, or the company could go out of business. Worst of all, the developer may fail to understand your organization's culture and needs, resulting in a failed project. When you hire a database developer, think of it as a long-term relationship, not a one-time project.


Database projects tend to require sustained periods of intense work followed by long periods of relative stability. Projects like this, which require specific technical skills for a defined time period, lend themselves well to outsourcing. While outsourcing database projects can be expensive, it's often cheaper than hiring a staff member with equivalent skills. A good consultant or developer can help you make decisions and solve problems that have stymied your staff. If you approach outsourcing projects strategically, involve staff appropriately in decision-making, understand what you're buying, and compare alternatives, outsourcing can save time and money.

Free Evaluation