On turnkey software development projects, StoneHenge Partners
follows a process methodology that we've refined over several years
-- and continue to refine with every engagement. This flowchart
illustrates that process at a high level for a generic project.
For any specific project, some of these roles, steps and
elements may not apply. But we take them into account every time;
that is, we ask "Do we need to do this?" in advance, rather than
lament "I wish we had done that" later.

The steps shown here are pretty standard: Scope, discover,
design, develop and deploy. Through each step, we look at the
project through three lenses:
- Project: When will this project be
finished, and who will build it? Typically this role is
performed by the project manager.
- Product: How should this "thing" be
built? Typically this role is performed by the solutions
architect.
- User: Why will the end-user want to
use this "thing"? Typically this role is performed by the
information architect.
This thing we're building is labeled a "product" even though it
may be an enhancement, re-design, data migration or other
non-product software project, because that makes a distinction
between the project and its deliverable -- the end result.
Our Project Management Methodology covers all the things a
project manager needs to do regardless of the type of project being
executed or the software development methodology being followed.
These project management tasks include:
- Cost Management
- Risk Management
- Scope Management
- Resource Management
- Communications Management
- Quality Management
- Time Management
- Procurement Management
- Integration Management
Our Software Development Methodology defines what phases are
necessary and in what order, what activities should be undertaken
in each phase, and defines the roles and responsibilities in each
phase. Typical phases within a software project are:
- Scope (aka Envisioning or Initiation)
- Discover (aka Requirements or User Experience)
- Design (aka technical design)
- Develop (aka Testing)
- Deploy (aka Closing)
Throughout our process, there is a set of deliverables at the
end of each step. This modularity keeps control in the hands of the
client; you can step in at the end of any step, pick up the
deliverable, and move into the next step yourself. Clients who have
strength on the developer side but lack experience in design or
management, for example, can step in at Step 4, Develop, with
little loss in momentum.