How we do it
We believe that the best technology solutions are built on solid business processes. That's why our approach starts with a review of your processes and completes by implementing technology to support improved operations. We use lightweight techniques that constantly show progress in every phase.
Our approach
Process Review
Every system is based on a set of underlying processes. However, most organizations attempt systems development projects without defining those processes or reviewing them for improvement. They miss opportunities to save significant money by reducing inefficiencies and typically find their projects in chaos. Our approach focuses on understanding and streamlining your business processes first.
We start by documenting your business processes in a way that everyone can understand using workflow diagrams, simple procedure manuals, and Use Cases. Next, we analyze the defined processes to eliminate any redundancies and unnecessary steps. Finally, we determine how technology can make the improved processes easier to accomplish.
The entire review usually completes in just a few working sessions. The result is a set of solid business processes and the right systems development initiatives.
Project Definition
Successful projects begin with clearly defined expectations. We work with you to establish an agreed upon set of outcomes and communicate them through a project charter. The charter is the central reference for all decisions made about the project and answers questions such as:
- Why does the project exist?
- What is the vision of a successful delivery?
- What are the constraints and risks that might impact the path to success?
- What features will be part of the delivered system?
- How will the organization benefit from this project (ROI)?
- Who are the project team members and what roles do they play?
Requirements Gathering
Requirements are simply the things that the system needs to accomplish. However, many consulting firms lose sight of this concept and conduct long, expensive efforts to gather requirements. They attempt to capture every detail of the system in volumes of documentation before implementing a single feature. We use a different approach.
Our goal is to provide you a functional system as quickly as possible, so we need to capture the high-level features in a lightweight manner. We do this by holding a workshop with your subject matter experts to write short stories on how each type of user will interact with the system. We also use storyboards and simple diagrams to give you a visual picture. The requirements are not rigid. We know you will have adjustments as you use the system.
Release Planning
A release plan is the roadmap for converting requirements into a working system while being mindful of project constraints. Instead of a single overwhelming release, we deliver the system as a series of small, progressive releases. Each release represents a set of related features that you help prioritize.
This approach has the following advantages:
- We show frequent and meaningful progress
- You work with the actual system as it evolves
- The most valuable features are implemented first
- We receive feedback from you early in the process
- Changes to the system are reflected immediately
- New features can be incorporated into subsequent releases
Implementation
Having your system built by people with the right set of skills and experiences means everything. You want individuals who can choose the correct architecture and implement features quickly and accurately.
We have designed, programmed, and delivered solutions ranging from intricate multi-tier administration systems to simple web-based applications. We have extensive experience with Microsoft technologies and complementary Open Source products.
We use Test-Driven Development and Continuous Integration to build your system feature by feature. This eliminates unnecessary code and lets us release a working version of the system to you at any point while continuing to develop new functionality.
