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.
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.
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.
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.