Our Process

The Key to Success

Process Puts Clients First

Process has been integral to our success as a company. It has helped us to get organized and meet deadlines. To us, it’s all about customer service. It’s a way of making sure that we meet our clients’ expectations, in terms of the systems we develop for them and also in terms of cost, timing and open/honest project communications.

Flexible Best Practices

At Whitecap, we don’t have just one process and one way of doing things. We do have established best practices for our work, involving project management, requirements analysis, system design and development; however we willingly adapt these practices to each client’s unique needs. We try to make projects as painless as possible for our clients. The tools and methods we use enable us in executing each project to a successful outcome.

More Communication. Less Confusion.

We want our customers to be with us every step of the development process. Communication is important in our industry. We strive to involve our clients in all stages of a project so that they can make informed decisions. Our project management process helps ensure that the right people care about the right things at the right times through the course of each project.

Our Development Approach

Whitecap supports and adopts either Agile or traditional Waterfall, depending on the client & project. We generally structure our development projects into iterative phases, with each iteration consisting of stages as illustrated.

Agile Process Diagram
Waterfall Approach - Development Process

e-RAD™

Requirements Analysis & Design

In order for any competent Software Developer to proceed with development of a proposed system, they need well documented system specifications. Developing detailed and well-articulated requirements and system specifications is the first and arguably the most important step in software design.

To accomplish this task Whitecap has developed a quasi-standardized service we refer to as e-RAD™. Whitecap’s e-RAD™ (e-Business Requirements Analysis & Design) is the result and documented output of a “discovery” process that takes place between Whitecap’s e-business design team and our client, over a series of meetings. At these meetings, Whitecap will lead discussions for the purpose of discovery and design definition on a host of topics including:

  • Overall business objectives and concept
  • Functional requirements
  • Integration with other IT systems
  • User interface design
  • Branding and overall look and feel
  • Identification of administration and operational issues
  • Technical architecture

A Whitecap e-RAD™ yields the detailed specifications and functional requirements necessary for developing a sophisticated web site and software application. Also the process itself greatly assists our clients in clarifying their ideas and needs as we go about the business of designing the web site and software together as a team.

Our default approach – which we readily adapt to suite specific client and project requirements – involves the iterative development of larger systems. I.e. for applications where time to deployment would otherwise exceed 3-4 months we usually try to break the overall project into phases, where each phase involves the production deployment of some subset of the overall system. Our experience is that iterative development in this manner serves to enhance the feedback cycle for the project and helps ensure that what gets delivered is more closely aligned with continually evolving business requirements.

Within each project phase we follow a relatively traditional “waterfall” development model, as described in more detail below.

Elaboration

In this stage of the development process we determine (and document as required) detailed requirements not already defined as part of previously completed requirements definition (e.g. layout of page elements on specific pages, low level field edit rules, etc.). Also, we work out (and document as appropriate) the detailed design/changes for the application, database tables & components involved.

Proper user interface design is fundamental to successful web applications. This first stage of this project would involve requirements/design elaboration activities where we would clarify/refine documented requirements. We would also prepare “wireframe” page mock-ups for critical areas of the application where no pre-existing UI specifications exist. In creating these mock-ups we would rely on our understanding of the application requirements, our knowledge of general user interface design best practices and on our significant experience in designing sites for other clients in other industries over the past several years. These mock-ups will allow us to efficiently validate the design early in the project, before considerable investment of development time/effort.

System Testing

During this stage of development the applications would be periodically ‘released’ to the test environment for more formal and comprehensive testing by a Whitecap QA Analyst. Testing of the applications will be carried out using a variety of client browsers/devices. The QA Analyst will conduct testing based on prepared test cases and checklists based on the design documentation prepared during the Elaboration stages of the project.

Pre-Production Deployment
Once system testing is completed we would deploy the completed application suite to test servers in the production hosting site or within the client’s internal network.

Program & Unit Testing

In this stage of the development process a Whitecap development/testing environment would be set up that would duplicate the desired production environment as closely as possible. This would typically involve a test application server, and a test database server. The test system would then need to be loaded with representative data. The test systems would probably be setup at Whitecap although this is not an absolute requirement.

Training

Any necessary staff training would typically also be done subsequently to pre-production deployment.

Production Deployment

At the completion of the prior project stages the software would be ready for production deployment and would be loaded onto the production systems and configured for production operation. Data needed by the system would be loaded or manually entered at this point.

Beta Testing

Once deployed into production, if deemed appropriate by the client, a Beta testing cycle would commence, which would be coordinated by the client. During this stage the software would be beta tested using a limited audience of persons selected by the client. The client team would be responsible for the selection of beta testers and for generally conducting the beta test. Bugs in the software would continue to be identified and repaired as they were discovered.

Application Support

During this stage of the project the performance of the software applications would be monitored. Bugs discovered during the application “burn in” period would be repaired within the development and test environments and would be deployed to the pre-production then production environments.

Public Launch

Once production deployment (and optionally Beta testing) was completed, all general public user traffic to the site(s) would be transitioned to the new environment.

Curious?

Process is what sets our company apart. In 1997, we pioneered the e-RADTM requirements analysis process, and it’s something that we continue to be well-known for today. Some of our clients even use the e-RADTM as part of their tendering process – they get us to draw up a document and they use it to tender the job on the street. We think this a great idea, because we think good planning and good design is the foundation of a successful project.

Let's get started and take your business to where it needs to be.