We are experienced in both Waterfall & Agile Methods and Coding Standards. The Agile methodology treats the time-to-market as the most important feature while Waterfall methodology treats the collective feature set as the most important. Our team can adapt to work in either method, depending on your situation and requirements.
Waterfall Software Development Model
The Waterfall Model is the most common version of a Software Development Life Cycle (SDLC) for software development. It is called the Waterfall Model because it defines a rigid and linear development method, where each phase is completed before the next one is started and there is no loop back. It follows the principle of doing things right the first time. Every time.
This model is preferred when the requirements are clearly and visibly outlined. Complete project execution is divided in to well defined stages of analysis, design, development, testing & QA, release & user acceptance and finally followed by maintenance and support. Typically a schedule is set with deadlines for each stage of development at the start of the project. In theory, this model leads to the project being delivered on time because each phase has been planned in detail. Practically this model involves high risk as it does not embrace the inevitable changes and revisions that become necessary with most of the projects. Once an application is in the testing stage, it is very difficult to go back and change something that was not thought of in the analysis stage.
1. Tabernae Development Process
Well-designed, profitable websites and Internet applications do not happen by accident. It is necessary before the first line of code to spend some time thinking about why the website or application will be built and who the visitors will be. Once a new project is contracted, a Project Manager is assigned to the project. The Project Manager will act as the liaison between the Client and the Developers and will be responsible for moving the project from start to finish through the Tabernae development process as outlined below:
Step 1 - Client Interview
The Client will be contacted by the Project Manager to conduct the Client Interview. The Client Interview is a series of questions about the specifics of the project with regard to the expectations desired in the design of the initial home page. During the interview, the Project Manager will ask questions about the desired color scheme, other websites you like the look of, layout elements such as logins, specials etc., as well as the specific navigation buttons that will need to be built. At this point, the navigation is often decided. This is also when we will need your electronic logo file and any image files that will be incorporated to the design of the home page. The more information and specifics a client provides the Project Manager during the Client Interview the better our chances of us providing design mockups that will be a winning design for the layout of the homepage.
Step 2 - Wireframe Planning
Your Project Manager will begin working on the wireframe of your project outlining the specifics of functionality, technical requirements and navigation flow to ensure the project is built to the correct specification and that the correct modules are in place. This wireframe will become the blueprint for the project specifics to the development team. Prior to submission to development, the Project Manager will send the wireframe to the client for approval.
Step 3 - Design Phase
When the Client Interview is complete, the Project Manager will direct the Development team to begin work on initial homepage mockup for the Graphic User Interface (GUI), which is the overall look and feel presented to the website visitors. The Development team will provide a series of design mockups based on the instructions given in the Client Interview. Tabernae presents the company with several options for it is our goal to provide design mockups in the first round that will meet or exceed expectations. In the event that the initial designs are not acceptable, the Project Manager will need additional feedback on specifically what is expected that was not provided in the initial round at which point a second round of mock ups may be provided. However, in the event that extensive design work is required beyond this, additional expense may be incurred.
Once a layout design is selected to move forward with, the Project Manager will ask the Client for feedback on any changes they would like to see with regard to design elements such as fonts, button and/or bar navigation styles, color tweaking, etc. and Tabernae will further define the Client's website layout. Revisions will include up to three rounds of changes.
Step 4 - Homepage Design Approval
Once the homepage design has been decided, an Acceptance of Homepage Design form must be signed off by the Client so that work may begin on building the HTML pages for the website. It is important to note that changes made by the Client after approval to the homepage design, may incur an additional expense for the development time required to make changes.
Step 5 - Wireframe Approval
After the homepage design has been approved, the Project Manager will work with the Client to finalize the wireframe and an Acceptance of Wireframe form must be signed off by the Client. It is important to note that if additional functionality is added to the project after wireframe approval has been made additional expense will be incurred for the development time required to make those changes.
Step 6 - Development Phase
During the Development Phase, the Project Manager will direct the Developers to begin work on the programming and coding of the website. During this phase, the website will become available for viewing on Tabernae test server and your Project Manager will be able to provide the Client with estimated completion dates. However, these dates are always fluid and subject to change. During this time the Client should begin working on content to provide Tabernae in an electric format as well as any other technical information that will be required for (rerouting the DNS server, Hosting, domain registry, logins and passwords, authorize.net, etc.) and/or bar navigation styles, color tweaking, etc. and Tabernae will further define the Client's website layout. Revisions will include up to three rounds of changes.
Step 7 - Alpha Launch
Alpha Launch constitutes the completion of the programming and code required to operate the major functionality as defined on the wireframe for the website. Both automated testing and manual testing will occur by Tabernae at this time to ensure:
• Cross-browser compatibility
- Which the approved GUI displays correctly in Netscape Navigator, Mozilla Firefox, and Internet Explorer.
• Internal Integrity
- Links and functionality will be checked to ensure no broken links are experienced by the end-user.
- That the website or application integrates with internal system(s), network(s), software and the client's hosting platform.
- System integrity and functionality under high traffic, especially with regard to database-driven sites.
The Project Manager will notify the Client that Alpha Launch has occurred, and the Client will be required to acknowledge receipt of Alpha Launch Notification, acknowledging that the major functionality outlined in the wireframe is present. During this time, quality assurance testing will begin and the Client will be asked to provide any missing content and feedback on their review of the website functionality and bugs found if any.
Step 8 - Beta Launch
Beta Launch occurs when the website is removed from Tabernae test server and pushed to a live server residing at the designated domain name or IP address. Client hosting (if applicable) begins at this time. In the case of pushing to the Client's domain, the new website will become live and will replace any previous website (if applicable). Once Beta Launch has occurred, the project is considered complete by Tabernae.
Agile Software Development Model
Agile software development processes are built on the foundation of iterative development. To that foundation we add a lighter, more people-centric viewpoint than traditional approaches. Agile processes use feedback, rather than planning, as their primary control mechanism. The feedback is driven by regular tests and releases of the evolving software.
The development team and customers agree a set of requirements and a project schedule upfront. The development is planned as a series of separate phases (also called iterations or sprints) allowing incremental delivery of product features.
Software Coding Standards
Within a sprint, new product features are planned, designed, implemented and tested. At the end of each sprint, the new features are demonstrated or delivered to the customer. The activities for the next sprint are then planned and a further iteration is performed. This increases confidence on the part of the customer because they can see visible signs of progress.
Software coding standards are language-specific programming rules that greatly reduce the probability of introducing errors into your applications, regardless of which software development model (agile, waterfall, eXtreme programming, and so on) is being used to create that application.
Software coding standards originated from the intensive study of industry experts who analyzed how bugs were generated when code was written and correlated these bugs to specific coding practices. They took these correlations between bugs and coding practices and came up with a set of rules that when used prevent coding errors from occurring. Coding standards offer incredible value to software development organizations because they are pre-packaged automated error prevention practices; they close the feedback loop between a bug and what must be done to prevent that bug from reoccurring. You don't have to write your own rules to get the benefit of coding standards - the experts have already done it for you.
In a team environment or group collaboration, coding standards ensure uniform coding practices, reducing oversight errors and the time spent in code reviews. When work is outsourced to a third-party contractor, having a set of coding standards in place ensures that the code produced by the contractor meets all quality guidelines mandated by the client company.
Coding Standards Enforcement IS static analysis of source code for:
- Certain rules and patterns to detect problems automatically
- Based on the knowledge collected over many years by industry experts
- Virtual code review or peer review by industry respected language experts - AUTOMATICALLY
Tabernae has been creating and designing projects utilizing the waterfall model for a long time and it has been a key role in all stages of SDLC. Our expertise and experience using this method has helped our clients by starting the beginning of their project with an expectation and deadline in an unmistakable format by using advanced tools. Combining this method with our expert project management staff, we are able to achieve precise execution on all deliverables of your project, which ensures customer satisfaction until completion.