The Digital Software Project Process,

Requirements Gathering & Project Planning

For any digital solution, our strategist(s) will conduct a discovery consulting process to pin down requirements and document desired user experience. We undertake this not just relying on our experience and insight, but by interviewing key stakeholders, conducting, as needed, (a) focus group(s), (an) advisory board(s), digital surveys and polls.  During this step, we ask challenging questions to get at needs and visual esthetic. Once requirements are understood and accepted, various documentation, including a Project Plan and Timeline, is issued to summarize our understanding; these documents serve as the reference for all further activities, so it does require client review and contribution. We also craft wireframes (functional mock ups) to help all understand visual hierarchy and functionality expectations.

Architecture & Design

A digital solution typically combines visual impact with user experience and functional abilities.  Databases will be implemented to support the functional capabilities of the solution.  After discovery, various Sandbox experts architect (or develop a technical framework for) the digital solution and complete visual design.  Appropriate consultations with the project sponsor explain and seek clarifications around architecture.  Our visual design approach delivers 1 or more concepts (depending on our Proposal or Contract stipulations), which are refined through 2 allocated periods of client input, to a finished design. Client sign-offs are part of the process.

Implementation & Development

In many of its larger projects, Sandbox Software utilizes elements of the Agile development methodology. This approach breaks a project schedule into brief concentrated sprints of activity (typically, 2 or 3 weeks in duration); after each sprint, the client is provided a concrete set of deliverables to be evaluated and revised.  The Agile methodology also allows redirection of subsequent functional specifications/requirements based on learnings from the previous sprints, and a re-prioritization of project activities.

To start a project, all desired requirements are listed in a document known as the Product Backlog.  Features to be developed during a sprint are selected from the Product Backlog and placed in a Sprint Backlog.  Once finalized, the Sprint Backlog is unchangeable and handed over to the developers who carry out a Sprint (a set period of time for development). During a Sprint, daily “Scrum Meetings” are held to manage risk.  At the end of the Sprint, the client is provided with access to the product at which point the priorities and expectations for the next Sprint can be adjusted.

Agile Development solves many of the problems experienced using traditional development approaches because it provides:

  • Client satisfaction through early and continuous delivery of website functionality
  • Improved risk management
  • Flexibility in priorities and requirements
  • Client control over project budget and priorities
  • Improved transparency and client collaboration

For smaller projects, a more conventional development approach is used, warranting steady development against the project requirements.  In this model, functionality milestones are set, and review times are established in the project schedule.  Functionality is progressively built, and as a consequence, it may not be until the end of the project that a full review environment is made available.

Formal Quality Assurance

Near the end of every project’s life cycle, Sandbox Software develops and executes a Test Plan in order to ensure the accuracy and stability of the system. At the same time, Sandbox Software confirms that all requirements within the scope of the project have been met.  A number of testing approaches are used, including walk-throughs, regression tests, unit tests, usability tests, penetration tests and performance tests.

Deployment, Operation & Maintenance

Sandbox Software provides assistance in the deployment of any digital solution it creates, trains your team on system use, and can provide maintenance of the system on an ongoing basis.