Cafésoft's Approach to Professional Services
Many companies do software development and system integration,
but do a very poor job of understanding the customer's needs, defining
a process for fulfilling those needs and communicating clearly throughout
the project. Without proven project management methods, it is unlikely
that you'll get the solution you want. How will you know: What the
solution includes? What are the milestones? What documentation needs
written? Who requires training?
To answer these questions, we use a structured approach to project
management that includes the following phases:
1. Requirements Specification.
Cafésoft engineers work with customers to define the business
problem, and define system constraints and performance requirements.
The resulting document uses plain English to describe the requirements
in functional groups and to prioritize their business urgency.
2. Requirements Analysis. In
this phase, Cafésoft engineers describe the system services
in more detail using industry standard Unified Modeling Language
(UML) use case notation to express the system's work flow. The document
is understandable by technical staff and business managers, and
can serve to define the contract for services. For complex projects,
it is sometimes necessary to create prototypes that answer key technical
questions.
3. Design Specification. This
document is an abstract description of the software and will serve
as the basis for its design and implementation. The Design Specification
maintains a clear relationship with the Requirements documents,
but is directed at software engineers. UML class and sequence diagrams
are used. If necessary, a draft or template of the manuals may also
be created.
4. Implementation and Unit Testing.
During this stage, the system design is realized as a set of programs
or program units. Unit testing involves verifying that each program
unit meets its specification, and automating those tests such that
errors caused by changes can be easily detected throughout the software's
lifecycle.
5. Integration Testing. The
individual program units or programs are integrated and tested as
a complete system to ensure that the system requirements have been
met. Releases are provided to the customer as defined by the project
milestones. This phase is iterative, involving a number of release
and feedback cycles at Cafésoft and with the customer.
6. Documentation and Training.
No system is complete until the administrators are trained to support
the system, the users know how to use it and engineers know how
to maintain it. Cafésoft provides complete documentation
on the system design, along with code-level documentation. Optionally,
end user training and documentation is also supplied.
7. Operation and Maintenance.
The system is installed and put into production use. Maintenance
involves correcting errors that were not discovered previously,
improving the implementation of system units and enhancing the system's
services as new requirements are discovered.
With this process, Cafésoft helps ensures the success of
projects in which we are involved. Of course, the customer must
be willing to dedicate the time and resources to step through the
process together or there can be no guarantees.
|