Whitecap supports and adopts either Agile or traditional Waterfall, depending on the client & project. We generally structure our custom software projects into iterative phases, with each iteration consisting of stages as illustrated.
Agile principles are all about being collaborative, flexible and adaptive. It’s built on the premise that the world now changes regularly, and that means software teams no longer have years to bring new products to market. In that time, competitor offerings or customer expectations can change, and the team risks irrelevance. Agile minimizes this risk by helping teams collaborate together more by adapting to what the team needs to be successful. It does this by encouraging teams to regularly show off their work and gather feedback so that they can adapt to change quickly.
Much like construction and manufacturing workflows, waterfall methodology is a sequential development process. This means that as each of the eight stages (conception, initiation, analysis, design, construction, testing, implementation, and maintenance) are completed, the development team moves on to the next step in the process until the project is completed and launched.
Waterfall is a good methodology to follow and can be a more cost effective approach to development, provided the project is first well-defined and articulated in a discovery and design exercise that we call eRAD (see below) that precedes the development process.
Process Puts Clients First
Process has been integral to our success as a company. 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
Whitecap has established best practices for our work, involving project management, requirements analysis, system design and development. We willingly adapt these practices to each client’s unique needs.
More Communication. Less Confusion.
Communication is important in our industry and 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.
We were very satisfied with the (eRAD) process, it was worth every minute spent on it. So far your team has delivered even more than it promised. We are very excited about the project as are our other partners.
e-RAD: Requirements Analysis and Design
In order for any competent Software Developer to proceed with development of a proposed software solution, they need well documented system specifications and functional requirements. This is the first and arguably most important step in software design.
To accomplish this task Whitecap has developed a service we refer to as eRAD™. Whitecap’s eRAD™ (e-Business Requirements Analysis & Design) is both the process of discovery & design of a project, as well as the documented output from that exercise. To complete an eRAD Whitecap hosts a series of meetings between Whitecap’s software architects and our client. At these meetings, Whitecap will lead discussions on a host of topics including:
- Key business objectives – why this project is important
- Conceptual understanding of what is to be built and its purpose
- Detailed functional requirements of the software
- Integration requirements with other IT systems
- User interface design
- Branding and overall look and feel
- Identification of administration and operational issues
- Technical architecture
- Security requirements
- Hosting requirements
- Other considerations
A Whitecap eRAD™ yields the detailed specifications and functional requirements necessary for developing software. The process itself also greatly assists our clients in clarifying their ideas and needs as we go about the business of designing the software together as a team.
Our default approach – which we readily adapt to suit 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.