4.4 How Programmers Use Documentation and

What Programmers Really Want:
Results of a Needs Assessment
for SDK Documentation
Janet Nykaza
Rhonda Messinger
Fran Boehme
Instructional Designer
Learning Solutions Group, Inc.
PO Box 1165
Portage, MI 49024, USA
+1 269 324 6067
Instructional Designer
Learning Solutions Group, Inc.
PO Box 1165
Portage, MI 49024, USA
+1 269 324 6067
Senior Manager, Net Solutions
and Employee Training
Rockwell FirstPoint Contact
300 Bauman Court,
Wood Dale IL 60191, USA
+1 630 227 8917
jnykaza@
learningsolutionsgroup.com
rcmess@
learningsolutionsgroup.com
fran.boehme@
rockwellfirstpoint.com
Cherie L. Norman
Matthew Mace
Manuel Gordon
(formerly with
Rockwell FirstPoint Contact)
AVP—Instructional
Design/Communication Manager
Financial Systems Training & Web
Bank One Corporation
Bank One Plaza - IL1-0780 /1ND-6
Chicago, IL 60670-0780, USA
+1 312 407 1219
President
Granite Solutions, Inc.
550 West Centre Ave
Portage, MI 49024, USA
+1 269 324 8231
Partner
Gordon & Gordon
139 Abbott Avenue
Westmount, QC H3Z 2K1, Canada
+1 514 934-3274
[email protected]
manuel@
gordonandgordon.com
Cherie_Norman@
BankOne.com
ABSTRACT
Categories and Subject Descriptors
This paper steps the reader through a needs assessment of
programmers that was conducted by instructional designers. The
assessment’s purpose was to identify what learning support
programmers need and want to successfully use a new software
development kit (SDK). The paper includes the challenges the
researchers encountered, the questions asked and the responses,
the types of individuals interviewed, and the conclusions reached
from the research. Recommendations also are presented. Those
responsible with developing documentation, training, and other
learning support systems for programmers may find this
assessment helpful. Marketing, product development and
customer support people may also find value in learning more
about the needs of this unique audience.
D.2.7 [Software Engineering]: Distribution, Maintenance, and
Enhancement---Documentation; H.1.2 [User/Machine Systems]:
User/Machine Systems---Human factors.
General Terms
Documentation, Human Factors.
Keywords
SDK documentation, API documentation, programmer
documentation, developer documentation, needs analysis, needs
assessment.
1. INTRODUCTION
This paper presents the results of needs assessment field research
about application developers working with a new software
development kit (SDK) designed by Rockwell FirstPoint Contact.
Instructional designers from Learning Solutions Group, Inc.
performed a needs assessment for Rockwell FirstPoint Contact
based on interviews, focus groups and site visits with 50 people.
Targeted individuals were programmers (customers, potential
customers, Rockwell FirstPoint Contact staff, and systems
integrators) who had used the SDK or who were potential users of
the SDK.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
SIGDOC’02, October 20-23, 2002, Toronto, Ontario, Canada.
Copyright 2002 ACM 1-58113-543-2/02/0010…$5.00.
This paper was first published in slightly different form by ACM.
–1–
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
The ultimate purpose of the needs assessment was to determine
how best to enhance the current training and learning support
provided for customers of the SDK. At that time the SDK was a
new, limited released product.
An on-site, one-day instructor-led training with an accompanying
PowerPoint presentation. The instructor was an application
developer who worked for a different department. The
PowerPoint presentation, with no instructor, was available
for self-training.
The needs assessment (also known as a needs analysis) focused
on:
Sample applications written in Visual Basic (installation CD).
The desired and required content of SDK documentation.
A CD-ROM course that introduced basic call center concepts. It
was developed for a wide call center audience, not for
programmers in particular, so 3CS SDK was not included.
The audience for SDK documentation (programmers): skill,
knowledge, aptitude, experience.
The most cost-effective way of supporting the programmers as
learners.
As well, programmers had access to the GUI-based application
designed by Rockwell FirstPoint Contact for use by call center
supervisors and administrators. This Administrator’s GUI gave
programmers a high-level, practical view of 3CS data entities and
what could be done with them.
The SDK was the first software development kit developed by
Rockwell FirstPoint Contact that interfaced with an openarchitecture environment. Learning Solutions Group had no
previous experience with SDK documentation and training. The
instructional designers, therefore, had no preconceptions about
what programmers wanted or needed nor did they know what a
company planning to sell an SDK should include in SDK
documentation and training. Instead, they worked with their
client, the Knowledge Center department of Rockwell FirstPoint
Contact, to find out first hand.
Rockwell FirstPoint Contact wanted to increase customer
satisfaction with 3CS SDK by facilitating its installation and use.
It was selling the first version of 3CS SDK to its customers and to
third-party systems integrators who wanted to develop their own
custom client applications on top of Rockwell FirstPoint
Contact’s 3CS product. The Knowledge Center had already made
the decision to enhance the learning support provided to
programmers using the SDK. They were considering access to
future support materials via the World Wide Web, but wanted the
needs assessment results, if appropriate, to drive this initiative.
As a result, the report was quite complete and remarkably fresh
and vigorous in its insights. This paper is an adaptation of that
report for a wider audience.
The department contracted with Granite Solutions, the first
systems integration customer for the SDK, to participate in the
needs assessment. To ensure impartial results and a more open
discussion environment for the assessment interviews, Learning
Solutions Group was contracted to perform the needs assessment
to determine what learning support materials were needed based
on the results.
How documentation and training is used by programmers.
The best delivery methods for various learning support tools.
The needs assessment was done for one particular SDK, so the
results cannot simply be applied to all SDKs and all companies.
Nonetheless, the authors believe the conclusions may be useful to
people responsible for developing, marketing, and supporting
SDKs, particularly the people responsible for documentation and
training. In addition, the research results demonstrate how much
useful information about an audience can be obtained by spending
time and money on empirical research. Finally, this paper can help
people who want to perform a needs assessment for their own
organization.
3. HOW THE RESEARCH WAS
CONDUCTED
Telephone and in-person interviews, focus groups and site visits
were used to find common trends and facts about the intended
audience of the SDK and how the SDK would be used. A total of
57 people were interviewed. They included:
2. BACKGROUND INFORMATION
Programmers working for customers.
Rockwell FirstPoint Contact develops solutions (products that
include hardware, software and services) for companies operating
call centers (also known as contact centers). A solution consists of
specialized telecommunications hardware, commonly called an
Automatic Call Distributor (ACD) or switch, and related software
and services.
Systems integrators with programming staff, or who also did
programming.
Rockwell FirstPoint Contact technical and management staff.
Additional information was gathered regarding what would hold
true for all SDKs and what was unique to the 3CS SDK.
One piece of software that interfaced with the ACD was called
3CS. This server product was an open-architecture environment
that interfaced with the ACD. Simply put, the 3CS was a real-time
database. The company developed a software developers kit,
called the 3CS SDK, to provide programmers with the ability to
write custom client applications that interacted with and used the
real-time data stored in 3CS.
The CAUSE© analysis method was used to analyze the content,
audience, use, structure and evaluation of the SDK.
3.1 CAUSE© Analysis
In conjunction with Granite Solutions and Rockwell FirstPoint
Contact, Learning Solutions Group researched how to best
enhance the SDK learning support system using the CAUSE©
method for analysis. This method examines the Content,
Audience, Use, Structure and Evaluation necessary to guide
learning and motivate users to apply what was learned.
Before the Knowledge Center became involved, other parts of
Rockwell FirstPoint Contact had developed the following support
materials that were included with the just-released, first version of
the 3CS SDK:
The original needs assessment goals were translated into the
CAUSE method as follows:
A 154-page Programmer’s Reference Guide (paper document).
This paper was first published in slightly different form by ACM.
–2–
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
Audience
Identify the typical users (that is,
programmers).
Audience
Identify prerequisites for programmers who
are developing applications using 3CS SDK.
Audience/Use
Content/
Structure
Content
Content/
Structure
What is your knowledge and experience with programming with
ActiveX? (The 3CS SDK was developed using Microsoft’s
ActiveX technology.)
What is the formal and informal education of the actual users (that
is, programmers) of the product?
Determine the typical user’s learning style
and preferred learning methods and supports.
How many users are there?
Evaluate what support currently exists for the
3CS SDK (current product Information,
internal web systems), how it works and how
it could be integrated into a total support
system.
Will all users be trained at once?
Identify the learning that will support the
company’s business goal of enhancing the
marketing and customer support services for
the 3CS SDK.
Is call center experience necessary?
What additional barriers do we face in addressing this audience?
How do you like to learn new software?
How do you like to have software supported?
Is experience with other Rockwell FirstPoint Contact’s products
necessary?
Is Visual Basic or C++ experience necessary?
Determine what should be developed and/or
improved to complement the current support
offerings.
Structure
Identify the best delivery methods for various
support tools. The learning support may be a
combination of delivery methods: CD-ROM,
printed reference and/or self-study tutorial
material, web-based, video.
Structure/
Evaluation
Determine the most cost-effective way to
support learners (programmers).
Evaluation
Determine how best to measure the learning
solution’s success.
3.2.3 Use
Learning support needs to fit with how the learner will use the
information. Do they need a laminated page that they can carry
with them? Do they need to have total recall of the information or
can they look it up? To determine this, the researchers asked
learners (programmers), system integrators and management the
following questions:
How will the information be used?
What are learners expected to do with the information?
What barriers stand in the way of learners using the information?
How frequently will the information be used?
3.2 Questions Asked of Interviewees
3.2.4 Structure
The questions asked of the interviewees are listed below, grouped
by CAUSE© analysis categories.
Determining the appropriate structure for learning and support
requires input from management, customers, integrators and
programmers. Adult learning theories can also be applied to the
mix. Ultimately, however, the format must work for the
programmers’ preferred learning style and time constraints. The
following questions were asked:
3.2.1 Content
Subject matter experts, product management representatives and
users of the SDK were asked the following questions to help
identify what information should be included in the 3CS SDK:
How long of a learning experience would you like?
Who are your 3CS SDK experts within Rockwell FirstPoint
Contact?
In what format do you prefer to learn? (Computer-based, self
study, presentation, workshop, or other.)
What content will improve the use of the SDK?
Why do you feel you would be most successful using this
method?
What new skills need to be learned to use the SDK?
What related knowledge needs to be learned?
Do learners need to memorize or know this information or should
they just be able to find the information in resources?
What information do you want to share about the SDK?
What specific points would you like to make about this
information?
3.2.5 Evaluation
A learning support system for a new product must be judged on
how quickly and easily the learners are able to find and use
information to make the product function the way they want. The
objective of the learning support must be articulated so that the
company can evaluate the success of the system. All interviewees
were asked:
Is there any specific terminology that the learners must know?
3.2.2 Audience
The audience is the computer programmer who will develop
custom applications using the SDK. (The audience may vary for
different SDKs.) To assess the audience, the following types of
questions were asked of management, systems integrators and/or
actual programmers:
How will you know if this learning support program is successful?
What changes will you see?
What form of evaluation will you do on the learning support
program?
Who in your organization will learn and use the information?
What is your knowledge and experience with call centers?
This paper was first published in slightly different form by ACM.
–3–
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
3.3 Interview Subjects
4. RESEARCH RESULTS
This table groups by job categories the fifty people who
participated in focus groups, interviews, and site visits. The
“Research Focus” column describes the type of information the
researchers gathered from those in the respective groups.
This section contains selected research results that the authors
believe may be useful to people responsible for developing,
marketing, and supporting SDKs—particularly those responsible
for documentation and training.
Interview Subjects
Research Focus
4.1 Necessary Content
Instructional Designers,
Training or Education
Managers
Overview of 3SC SDK project
Various groups interviewed identified the following content as
critical to using the SDK.
External Programmers
(experienced and junior
levels)
Observe programmer (without any
Rockwell or call center experience)
as they learn to use the SDK
Instructional support needs and wants
of audience
Documentation of the system requirements.
A comprehensive list of all parts of the SDK.
Instructions on installation.
Definitions of terminology, objects and entities, especially for
terms specific to Rockwell FirstPoint Contact.
One programmer had VB experience;
one did not.
Rapid Application
Developers, Engineers,
Computer Telephony
Integration (CTI)
Application Integrators
Application developer view of 3CS
SDK
IT Support Staff and
their Management
IT support’s view of learning support
systems
Upper and Middle
Management:
Understanding of:
3CS Senior Product
Manager
Customer Contact
Manager
CTI Application
Engineering Manager
Director of Product
Line
Director of Consulting
Services
Strategic Channel
Manager
Marketing Manager
Channel and Technical
Training
Salespeople with SDK
customers
A cross-reference to call center terms used by other companies.
An explanation or demonstration of call center activity and
functions.
Guidelines and directions for using Visual Basic or C++
programming.
An explanation or demonstration of ActiveX technology.
A description or demonstration of types of applications that can
be developed with the SDK.
Business goals of the product
Knowledge available for external
customers
Another SDK learning support
system
Business goals for 3CS SDK
Training and application
development
Systems Integrator’s attitude towards
the SDK
Marketing and business goals of 3CS
SDK
Support material necessary to
facilitate technical training for the
channel partners
Assessment participants felt that the learning content should:
Customer attitude towards 3CS SDK
In-house programmers consisted of two types: existing customers
of 3CS SDK, and potential customers. Interviews produced
surprising information about the intended user’s level of
programming knowledge.
Salespeople with potential SDK customers
Customer attitude towards 3CS SDK
Current cxustomers of
the SDK
Learning support improvements
based on their experience with the
SDK
Potential customers of
the SDK
Learning support improvements
based on their reaction to the
product’s introduction
Focus on how to do things, not necessarily why.
Provide simple samples that can be used in developing
applications.
4.2 Target Audience
There are two distinct target users of the 3CS SDK in the United
States:
In-house programmers employed by customers.
Programmers employed by systems integrators.
It was believed that these two US target groups would have very
different experiences, education and needs.
4.2.1 In-house programmers
Two-thirds of Rockwell FirstPoint Contact’s existing customers
of 3CS SDK were accustomed to its call center terminology and
equipment and were experienced programmers. They were
classified as high-level programmers with a high level of
Rockwell FirstPoint Contact call center experience. Only onethird of the customers interviewed had already completed an SDK
application.
The potential customers interviewed were mainly novice- to
intermediate-level programmers. Programming was usually only a
part of their job. Most had no formal Visual Basic or C++
programming experience. On the other hand, these customers
were already customers of Rockwell FirstPoint Contact, and had a
high level of call center experience. For this group, an orientation
to ActiveX technology was considered important. Also, it was
important to demonstrate specifically how things were done in
What they know about the SDK, as a
potential developer
International Training
and Services Managers
Understand the needs internationally
This paper was first published in slightly different form by ACM.
–4–
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
different programming environments (Visual Basic, C++ or both)
so that they could apply and learn from these samples.
with no call center experience felt comfortable attempting to
develop simple applications.
From interviews with the company’s business and marketing
people, the researchers got this description of the customer enduser:
Rockwell FirstPoint Contact programmers were given 3CS SDK
to develop an application. This group, who until then had not had
any experience with this SDK, were asked whether they thought
call center experience was necessary. They responded:
The end-user works in a call center, is a junior
programmer with 2 years of programming experience in
VB or C++ and possibly some call center experience.
No mention of the call center in the SDK— don’t know how to
relate call center to SDK.
The needs assessment, however, found that the SDK users may be
less qualified programmers than the company expected, or that
customers did not have the correct employees assigned to develop
applications with the SDK.
I had no confusion about call centers because I went through the
sample code.
I learned about call center through using the SDK.
Explanations of objects needed for those who don’t know call
centers.
4.2.2 Systems Integrators
The researchers were only able to talk to one systems integration
(SI) company: Granite Solutions. Accordingly, their report
described systems integrators based on information also provided
by system integration employees of Rockwell FirstPoint Contact:
Some explanation [needed] of call-center-related [objects].
It took [me] two weeks to start feeling comfortable, but you
[really] need six months of Rockwell FirstPoint Contact call
center experience.
Systems integrators employ high-level programmers who develop
applications for third parties or for resale/licensing.
Knowledge of the [overall product] should be a prerequisite for
using the SDK.
Systems integrators will most likely have programmers in their
organizations with programming knowledge in C++ and/or
Visual Basic, but these programmers may or may not have
experience with Rockwell FirstPoint Contact products or
with any other call center technology. (The one SI firm
investigated was not familiar with call centers and needed
guidance during on-site training regarding terminology and
call center architecture.)
The researchers gathered the following statistics regarding call
center experience:
33% of the customer programmers had low call center experience.
100% of the potential customers had excellent call center
experience.
4.3.2 Rockwell FirstPoint Contact Experience
Whether experience with Rockwell Call Center products was
necessary was not clear. Everyone that the researchers talked with,
including customers, had experience with Rockwell FirstPoint
Contact products. (The only exception was programming staff
from Granite Solutions.) It was found that call center terminology
varies from company to company.
The highest-level programmers may not be assigned to work on
the application but might be available for support of less
experienced programmers.
There is a wide range of systems integrators. Some, the
researchers pointed out, will need less initial orientation to the
3CS SDK and/or the programming environment. Ultimately, they
will be interested in more in-depth knowledge (than in-house
programmers), as they will be developing salable or customizable
applications. They will benefit from an introduction to the
features and benefits of the product. Good learning support will
be key for them as they will make or lose money based on the
time it takes them to develop an application.
Here are some of their comments:

Call center language is proprietary. It is not phone system
generic.

Need generic call center knowledge.

Most people work 100% of time on one type of switch, i.e.,
Rockwell FirstPoint Contact, [Competitor X]. Terminology
is drastically different [between competing switches].
4.3 Prerequisite Knowledge
The level of experience needed with call centers, Rockwell
FirstPoint Contact systems, Visual Basic and C++ programming
was examined closely during the assessment.
When Rockwell FirstPoint Contact employees who were actually
developing applications with the SDK were asked about the need
for product-related knowledge about 3CS, Administrator’s GUI,
the switch (ACD), and so forth, they said:
4.3.1 Call Center Experience
To test whether call center experience was necessary to use the
SDK, the researchers worked with Granite Solutions programmers
who had no call center experience.
Observation of these experienced Visual Basic programmers using
the SDK indicated that call center experience was critical. It was
not possible to understand the SDK in its then-current form
without a great deal of one-on-one guidance.
Viewing the current SDK PowerPoint presentation on their own
was not enough to overcome the hurdle of unfamiliar terminology
and architecture. However, after 1.5 hours of instructor-led
training using the PowerPoint presentation, even the programmers
This paper was first published in slightly different form by ACM.
–5–

Knowledge of the [product] is important—should be a
prerequisite for using the 3CS SDK.

Programmers need [product] specific knowledge; call center
experience would help too. Experience [will be necessary for
them] to do it on their own. Will be frustrating for
companies without that knowledge.

Don’t need to know a lot about 3CS [SDK] to use it. Used
the Administrator’s GUI to try to figure out what was going
on behind the scenes. Also used compiled test applications.

3CS is a graphical model of the [switch]. If you know stuff
about [the switch] and you know the entities you are fine.
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
The Administrator’s GUI will help you see what the SDK can
do.

Outside of the USA, there are many programmers for which
English is their second language. For these programmers,
reference documentation and on-line help is the preferred
structure. Instructor-led classroom training is more difficult for
them to learn from because of the speed of speech and the
differences in accents. In reference documentation and on-line
help, plain English without colloquialisms is important.
If you understand the [switch], what is in the programmer’s
reference guide is not too hard to understand.
4.3.3 Visual Basic or C++ Experience
The level of experience with Visual Basic and/or C++ was
considered. All of the company’s client application programmers
were using Visual Basic. When those who were actually
developing SDK applications were asked about the need for
Visual Basic knowledge they said:
4.5 Programmer’s Reference Guide
The first version of 3CS SDK was shipped with a Programmer’s
Reference Guide, a 154-page Microsoft® Word formatted
document written by one of the SDK product developers. About
six pages were devoted to introductory information, including
ActiveX concepts. The remainder of the manual consisted of
documentation of the objects, as well as the properties, methods
and events associated with each object.
Need good knowledge of Visual Basic – intermediate or
advanced. Good knowledge of programming [needed], but
[programmers] with no call center will have trouble too.
Call centers are specialized knowledge. Need that knowledge to
understand [call] flow and make sense of it. Programmers in
telecommunications needed it.
The researchers concluded that much more documentation was
needed: see section 5. Recommendations for details.
Programming knowledge can be minimal, call center knowledge
a must.
4.6 PowerPoint Presentation as Standalone
Document
Note that the first release of the SDK was intended for a Visual
Basic programming environment. While it could be used in other
environments, development focus and support was initially for
Visual Basic.
The researchers gathered
programming knowledge:
the
following
statistics
A Rockwell FirstPoint Contact systems integration manager on
the 3CS SDK project developed a Microsoft® PowerPoint®
presentation that he used to train customers on-site. The
presentation was on the installation CD-ROM so a new user could
view it on their own if they tried to learn the SDK without the onsite training.
about
33% of the customer programmers used the SDK in a non- Visual
Basic/C++ environment.
The remaining presentation topics included:
3CS Architecture.
42% of the potential customers had excellent Visual Basic
programming experience.
COM and ActiveX.
3CS SDK relationships.
57% of the potential customers had low to moderate Visual Basic
programming experience.
Object-oriented (ActiveX) terminology,
properties, methods, and events.
4.4 How Programmers Use Documentation
and Training
as
objects,
3CS entity types, such as trunk groups, ANI, DNIS, applications,
agent groups, agents, and supervisors.
Applications developers want to learn only as they need the
information, the researchers observed. They want need-to-know
information, not nice-to-know information. Because of this, few
users are interested in long tutorials or hours in a classroom. They
want to begin coding immediately and be directed to the specific
help section that answers their specific coding problem.
Details of the 3CS API, such as connecting, getting a collection,
getting an entity, monitoring real-time data, and making
configuration changes.
In sum, the slide presentation contained conceptual and how-to
information that would go typically into a Developer’s Guide (as
opposed to a Reference Manual). The presentation was developed
to deliver on-site to customers. Questions and clarifications were
addressed during the presentation. To use this tool as a standalone learning support, the researchers concluded additional slides
and more information would be needed.
In-house programmers may develop applications intermittently,
putting aside the SDK as other jobs take priority. The 3CS SDK is
probably only a small portion of their job responsibilities.
Additionally, there is a lot of turnover in call centers so that new,
inexperienced people will always be learning how to use the
product. For this reason it is important that learning support be
available all the time in the form of on-line help, Web and CDROM based training, and telephone support. Because these
learners are coming in and out of projects, they may need more
guidance to reorient themselves.
Two programmers at Granite Solutions with no call center
experience viewed the presentation on their own to see if they
could understand the SDK. One of them spent about 10 minutes
viewing the slides. The other spent about 20 minutes. Their
comments were:
Presentation was okay…. Needs more examples of methods,
properties.
Systems integrators, on the other hand, may want intensive
training initially so that a person can dedicate a large chunk of
time to developing applications. They need a greater depth of
knowledge and are more dedicated to developing applications
quickly, because applications are a source of revenue. For this
group, speedy and easy access to the necessary learning support
can be the difference between profit and loss.
This paper was first published in slightly different form by ACM.
such
All terms need to be defined and embellished.
There were… slides that helped a lot: the ones on architecture
and the ones that showed examples.
–6–
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
People that entered an application into a contest had this to say
about the presentation:
was a build that became more complete chapter by chapter, to
develop a complete application.
[The] PowerPoint presentation needs to be one of the tutorials.
Here are comments from programmers regarding these samples:
[The] PowerPoint presentation was more often referred to than
SDK reference guide. Only problem was it didn’t go far
enough. How to get events and deal with them was not
included.

[Samples] were pyramid-like rather than broken into simple
concepts. Hard to follow...embedded too much information
into the sample.
[Samples] are useful when you become experienced, but wasn’t a
starting point. However, would leave example programs that
are there; they will be helpful if you want to do a complex
program.
4.7 Call Center Training CD-ROM
The 3CS SDK shipped with a CD-ROM course on basic call
center concepts; in other words, it contained information on the
domain of the SDK. The course was intended for a wide audience,
not for programmers in particular. It had very good graphics,
audio, animation and instructional design. It was useful for a
person with no call center experience as it explained the most
common terminology and the overall call center architecture (but
not the 3CS SDK) using the company’s own terminology.
4.10 Desired Learning Structures
Whether or not a person is an experienced programmer, the
researchers observed there were some learning structures that
commonly appealed to most programmers. Almost unanimous
was the agreement that programmers will not read manuals from
start to finish but will refer to them if they have a problem.
The programmers at Rockwell FirstPoint Contact did not watch
the CD-ROM but had quite a bit of call center experience. A
programmer at Granite took about 1 hour to view the CD. Some
comments from those who viewed the CD-ROM included:
The researchers asked Rockwell FirstPoint Contact IT employees,
whose job was to provide customer support on software and
hardware issues, about support needs for technical people in
general:
[Course knowledge] testing requires correct answers before you
can go on.
Technical people … don’t like to be challenged on their technical
skills
Can’t get definitions individually – all definitions and screens are
in one pdf file.
99% are mad if they have to ask for help.
If a technical person has a problem he or she would check things
in this order:
No mention of SDK.
4.8 On-Site Training with PowerPoint
Presentation
The researchers observed a one-day training session for new users
of the SDK, in which the programmer who developed the training
spent about 1 3/4 hours running through his presentation. After
this time, the programmers (SDK users), who previously had
struggled to understand the SDK, felt a lot more comfortable with
it. They especially appreciated the slides that explained the
architecture of the various components of the product (including
the 3CS, the 3CS SDK, the Administrator’s GUI, and the switch
itself) as well as the object architecture.
The instructor explained some performance considerations, which
would be important for a programmer to know as well.
The goal of the on-site training was to have the programmers
develop a simple application that can be up and running within a
1/2 a day. After the presentation, the instructor worked one-onone with one of the programmers and within a 1/2 hour had a
simple application developed. He led the programmer step-by-step
through the installation and setup—key areas where the
programmer had trouble doing it on his own.
1.
Go to search directly - need plain text and strings for
key words. If they don’t like a help file, they will never
go [back] to it again.
2.
If more than one person were working on the project,
they would try to get help from them.
3.
Go to manual (if it doesn’t have a date) and look in
glossary. If the manual has a date that is too old, they
will assume it’s out of date and not use it.
4.
Go to user group.
5.
Go to product web site.
6.
Go to company [product] web site.
7.
Call for help - last choice.
The younger programmers just want to soak up information. They
like a self-directed learning environment where they can pick
the information and learn at the level they prefer. The more
experienced people want the information quickly. Both like a
cookbook. No one reads a manual.
Programmers were asked about their own preferred learning style.
Here were their responses:
Actually leading the programmer through the steps involved in
developing the application gave the programmer a lot of
confidence that he could do it on his own.
Context sensitive help (F1): Linking help text with their
development tool. Position cursor and it will jump off to a
help text.
4.9 Code Samples
Include drill down on each event. Gear the learning more for VB
and/or C++ instead of making it generic like it is now. I
would develop in Visual C++ to have more control. Most
users wouldn’t want the sophistication of Visual C++ as [it]
requires more programming knowledge.
A set of sample applications was included on the installation CD
in the initial 3CS SDK distribution. Six of them were Visual
Basic applications, organized in folders labeled Chapter 1 to
Chapter 6., with accompanying README files. The sample code
Have a robust sample set for me to review.
This paper was first published in slightly different form by ACM.
–7–
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
Like to dive right in [don’t read manual] - likes documentation
online with links - used to [online] help in searchable
format.
4.12 Suggestions To Reduce Learning Curve
Want to get updates and patches online.
The goal of the learning support was to have programmers begin
to develop applications within 2 weeks (60-80 hours) of working
with the 3CS SDK. Because most programmers that were
interviewed needed more time than this to be successful, the
researchers asked them for suggestions on how to reduce the
learning curve. Almost universally, the programmers asked for:
Search for a tutorial on a topic. Need to get little jewels. Need a
way to build a little application. No more than 10 lines of
code on an example.
A robust, yet simple, sample set of common useable applications
that includes and documents the code. [Many suggested the
samples have 10 lines of code or less.]
Don’t want a video to educate me.
Samples that are at a production level so customers can just install
and use them.
Online (knowledge bases).
Paper.
The researchers concluded that programmers like to learn by
doing. For example:
Commentary with the source codes explaining why it was done
this way.
They want robust samples that they can use as is, or modify and
incorporate into larger applications. They are not interested
in long tutorials or videos.
Some advanced samples would be helpful (like the one that is
already in the SDK).
They like online help that will get them answers to their specific
questions.
Short tutorials of basic functions, including screen shots and
demonstrations. These would be small, confidence-building
exercises.
They want real solutions to their problems. For example, many
suggested providing codes that they can cut and paste into
their applications.
Context sensitive help (F1) based on text and strings.
A dictionary with definitions and cross-reference to generic
terminology.
4.11 Suggestions for Good Support on a
Product
Documentation for the novice developer who has no experience
with the SDK or call centers. An overview for a nontechnical audience.
Programmers made many suggestions for how to provide good
support on a product, including:
Autorun SETUP. If SETUP]doesn’t work, they will look at the
jewel case insert or Readme file.
5. RECOMMENDATIONS
The first version of 3CS SDK included reference documentation.
The researchers recommended that future SDKs also include:
Insert in Jewel Case: Readme file with setup and installation
instructions, system requirements.
An overview of the SDK and its components.
Uninstall instructions.
Specific steps for installing and using the SDK, which can be
accessed as needed.
Phone number to call for support.
Help tools for understanding and applying terminology and
programming.
Web page address for support.
PDF manual with hyperlinks.
The following tables shows the recommended contents of each of
these three supports and options for providing them:
Windows help file from within VB - with How To’s.
Simple steps to take in programming.
Troubleshooting suggestions.
Tutorials that build an application step by step.
Tutorial on proper way to develop a module so that you can do
error trapping.
5.1 Support
Documentation all online.
Web page support, including:

Error definitions that will actually explain how to
address a problem.

FAQ.

Discussion forums.

Full text searches.

Web pages available from the CD as well as the web.
This paper was first published in slightly different form by ACM.
Contents
–8–
Structure options
This version provided by Gordon & Gordon: http://www.gordonandgordon.com
Contents
Description of SDK
components
Purpose of SDK
SDK’s uses – what it can do
for the customer
Intended users of SDK
Prerequisites for intended
users
SDK limitations
Success stories
Available applications
included with SDK or for
sale or license
Structure options
5.3 Help tools for use with SDK:
Written document, print
and/or electronic formats
Separate CD-ROM multi
media presentation
Microsoft® PowerPoint
presentation
Facilitated presentation
Web-based presentation
Web site
Combination of the above
Contents
Sample code
Glossary with synonyms
FAQs
E-mail addresses, phone
number directory for support
Annotated code and other
libraries
Searchable knowledge base
Technical support
5.2 Specific steps for installing and using SDK
Contents
Narrative and visuals for:
How to’s
What if’s
Examples of well
commented short sample
code (10 lines or less)
Useable applications
Debugging
Where to go for help
Structure options
Written document
CD-ROM resource files
On-line searchable files
Synchronous on-line help
(monitored/facilitated site)
Asynchronous on-line help
(email to trainer/facilitator
with one day max turn
around)
Chat room and discussion
forum for users
The Roles of the Authors
The authors are:
Structure options
Janet Nykaza and Rhonda Messinger, the instructional designers
from Learning Solutions Group, Inc. who led the needs
assessment project on behalf of Rockwell FirstPoint Contact.
Written document
CD-ROM presentation
Microsoft® PowerPoint
presentation
Facilitated presentation
Web-based presentation
Tutorial
Help
Video
Chat room
On-line help
Combination of the above
Fran Boehme and Cherie Norman, the manager and senior
instructional designer from Rockwell FirstPoint Contact’s
Knowledge Center, who were responsible for providing the
documentation and training enhancements for the 3CS SDK.
Matthew Mace, president of Granite Solutions, Inc., who had
been contracted by Rockwell FirstPoint Contact to provide
support for the 3CS SDK documentation and training needs
assessment effort, and ultimately in designing and
implementing the web-based learning support system.
Manuel Gordon, a technical writer and a partner in Gordon &
Gordon, who wrote much of the content for the learning
support that was developed as a result of the needs
assessment.
This paper was first published in slightly different form by ACM.
–9–
This version provided by Gordon & Gordon: http://www.gordonandgordon.com