| Corporate
Vision and Strategic Direction
What is the corporate vision and strategic
direction of the company in general in relation
to the software development activity?
• Our philosophy is to leverage
legacy systems and existing software within
a robust application framework that responds
easily to changing business and technology
requirements and enables quick delivery
of new applications.
• To develop technologically Sound,
Scaleable, Robust Solutions using state
of the art IDE tools and applying open
architecture and advanced software engineering
concepts.
• Use a proven methodology, standard
implementation patterns and reusable software
components that increases reliability
and product quality. It also reduces cost
and keeps project teams focused on delivering
the best product. We monitor the quality
through using well-designed specifications
and ensuring that release schedules are
in sync with business initiatives. Our
team recognizes that the end product and
how it helps our client improve their
business practices will be the ultimate
measure of success.
Methodology
The company software development Methodology
includes the following steps and services:
Define:
Understanding our clients' business and
brand is the critical first step. We work
with you to clearly understand your immediate
business needs and long-term goals, the
competitive landscape and operating and
technical environments. The define phase
establishes the business case and lays
out the business requirements that are
to be accomplished. Industry patterns
representing standard business processes
and dominant workflows are analyzed to
provide context and direction for the
clients' immediate needs and long-term
goals. We agree on the business objectives
and create a strategic plan of action.
Together we define how the success of
the project will be assessed. We also
establish project scope, budget and a
detailed work plan. A project plan is
also developed that may group functions
and features into one or more application
releases. Collectively, the define phase
comprise the initial specification and
scope of work to follow.
Design: What
will the solution be? Who will use it
and how? What will it do? How will it
work? What will it look like? Once we
agree on project objectives, we define
the functional, technical, and creative
requirements. We document them and work
with you to refine them. The goal of the
design phase is to lay out the technical
blueprint, or framework, for the new application
- a key strategy to avoid costly defects
during programming. The main deliverables
from this phase are the object models,
technical design specifications, detailed
user interface design, working components
that comprise the infrastructure, systems
test plan, and a refined project plan.
One of the project team's first tasks
is to identify relevant design and implementation
patterns that can be integrated to meet
the needs of the application. To help
control the risk inherent in building
next generation applications, we address
infrastructure issues such as security,
connectivity and performance by building
a 'working slice' of the application that
validates proposed design solutions. The
'working slice' establishes a sound foundation
for subsequent development of the new
application. Finally, the project team
lays out a build plan that allows coding
and testing to proceed efficiently during
the development phases. The development
phase will include a series of incremental
releases. The build plan informs and refines
the overall project plan by showing the
detailed steps necessary to complete the
application development.
Develop:
The develop phase consists mainly of the
coding, assembly and testing necessary
to create a production-caliber application.
We use proven software engineering techniques,
team-based development tools, frequent
checkpoints and traditional code reviews
to ensure collaboration and high quality.
Since the scope and design of the application
were validated and approved in previous
phases, the team is well positioned to
deliver a fast and on-target release.
Short, incremental code, assembly and
test cycles are used to allow project
teams to constantly monitor the quality
of the application. Each project team
is also assigned a quality engineer to
coordinate testing efforts. The development
process is iterative, and facilitated
by our project Extranet. The result is
a working prototype of the deliverable
that is ready to be tested and refined.
The final 'Build' results in a stable
application release that is handed off
for further integration and/or user acceptance
testing. These stages depend on our clients'
staging and implementation processes.
Deployment:
We now build the final product. If required,
we integrate the solution with the clients'
existing systems. We test and assure the
functionality of the deliverable. We make
sure you understand how to manage and
maintain it. Our methodology assists in
the deployment of the application in areas
such as: education, documentation, release
management, system administration and
more. The goal is to empower our clients
to start realizing tangible business benefits
from new application both quickly and
efficiently.
Subsequent
Releases and Enhancements: Many
project plans are often based on incremental
application releases to allow early return
on investment and ease the burden of change
management. The project team simply loops
through multiple define/ design/ develop/
deploy cycles until the overall scope
of the application is achieved. For a
period after the launch, we'll monitor
and analyze how the solution performs
against the success criteria we defined
in the define phase. We also complete
documentation for the project and present
our thoughts on how to approach the next
generation of the solution. We can also
design and execute training sessions and
help your staff to support the new solution. |