|
Mentoring Preparation
If you schedule a mentoring session with one our developers
make sure you communicate your goals for the session to the developer. We'll
let you know what we'll expect you to have accomplished prior to our arrival
and what information we'll need from you in order to prepare for the session.
We'll also let you know if we think your objectives can be accomplished within
the time allocated.
Generally, when we've done mentoring in the past we've found
the biggest obstacle to getting anything accomplished is how much the customer
has prepared to begin working. If the purpose of retaining us for mentoring
services is to work on your applications, then we need you to be as prepared
as possible to work on your application in order to be successful.
The following text describes in general terms what we'd like
you to have ready prior to our arrival based on the type of mentoring you are
seeking.
Executive Overview
For all types of mentoring we'd like to receive what is
commonly referred to as an "Executive Overview." The Executive
Overview should describe the general purpose of your application and the
business needs your application addresses. This provides us with general
answers to the questions of "How?" and "Why?" which helps
us to stay focused on your needs and also helps us to keep you focused. If a
list (complete or incomplete) of system requirements has been created we'd
also like to have this available to us.
Requirements Gathering and Specification Development
If the purpose of the mentoring session is to assist you
with requirements gathering and specification development, we'd like you to
have a team organized that includes at least one person from every department
that will either use or be affected by the application. If the application is
a vertical market application you may want to include a few customers in this
group. We'll meet with this group to develop use cases for the application
that will ultimately be used to create an object model for the application and
a functional specification. To view a sample object model, click here.
(Requires Adobe Acrobat Reader.)
Database Design
If the purpose of the mentoring session is to assist you
with Database Design, we'd like you to have a complete specification available
to us. If possible an Object Model that shows the business objects your
application will require and the relationships between the business objects is
also very helpful. We prefer to use Xcase
for database design work, but will work with other database modeling tools if
you require us to do so. We'll assist you with creating Entity Relationship
diagrams that are easy to read, clearly illustrate relationships and that are
a genuine aid in both understanding your application and in creating your
application. To view a sample data model, click
here. (Requires Adobe Acrobat Reader.)
Application Development
If the purpose of the mentoring session is to aid you in the
actual development of your application and to get you started moving in the
right direction, then we'd like you to have an Executive Overview, Functional
Specification, Object Model and Entity Relationship Diagrams available to us.
Having this information available greatly reduces the amount of verbal
knowledge transfer necessary for us to begin working on your application and
helps us to start being productive from the moment we arrive. We can work
without any of this information and on very small projects and tasks their
absence if often not a problem. For large applications the absence of this
information can often result in our staff spending a lot of time just trying
to understand your needs.
Component Development
We are often asked to develop small pieces of applications,
complete difficult areas of functionality or to create framework level classes
that better suit the needs of an application. These scenarios often require
much less information. For these types of tasks we generally prefer to receive
a clear statement of exactly what you'd like us to create. In addition we'd
like the following information, if applicable:
-
the names of the existing classes and class
libraries in your application that require modification,
-
entity relationship diagrams that only show the
necessary tables,
-
or small object models that illustrate the
desired interfaces for the objects you wish for us to create.
|