Software Development Process and Methods
Our process is scaled, iterative, and agile. Our experienced software engineers develop systems using a technique we call Glassbox Software Development Process. We focus on best practices, develop with structured agility, and allow our clients visible access to what we’re doing as we work to serve their goals.
Macro Viewpoints: Vision, Roadmap, and Releases.
Our process is best understood as a series of overlapping agile levels - the Vision, Roadmap, Release, and Iteration levels. The work we do each day is part of a specific Iteration within a Release. Releases are planned via a Roadmap to achieve the Vision. Our Glassbox Software Development Process is designed to provide clarity and transparency at every level.
- Purpose: Gain a shared understanding of the project vision
- How: Identify a high level vision and strategy
- What is the core problem and business opportunity?
- Who are the key stakeholders / end-users?
- What is the envisioned benefit to the end users and business?
- What are pain points / side-effects of doing nothing?
- What is the budget / timeline?
- What is the high-level IT solution approach?
- Possible Artifacts: Business Case, Project Charter, Proposal/SOW
- Who is involved?
- Key Directors and/or Managers
- Product Owners
- Technical Lead
- What do they do?
- Take the existing understanding of the strategy/product/project and technologies and agree on a project vision, high level goals, key dates, and technical approach.
- Creation of a plan that illustrates major releases, tasks, pilots, milestones
- High level themes for the next few releases
- Simple list of main areas of focus
- Leverage Vision, Use Case Model, Requirements Specifications
- Shows approach and progress towards strategy
Release and Iteration Levels
Within the macro lifecycle, each release is broken down into three Phases - Inception, Construction, and Transition. Each Phase contains one more iterations. While all iterations share a generally common workflow regardless of the Phase, certain Activities may specific to iterations in a given phase or may receive special emphasis. The goal of each Phase is to complete a particular milestone. The phased iteration approach is based on the Unified Process development model.