System development process can follow a number of standard or company specific frameworks, methodologies, modeling tools and languages. Software development life cycle normally comes with some standards which can fulfill the needs of any development team. Like software, websites can also be developed with certain methods with some changes and additions with the existing software development process. Let us see the steps involved in any website development.
Once a customer started discussing his requirements, the team gets into it toward the preliminary requirement analysis. As the website is going to be a part of a system, It needs a complete analysis as, how the website or the web based application is going to help the present system and how the site is going to help the business. Moreover the analysis should cover all the aspects especially on how the website is going to join the existing system. The first important thing is finding the targeted audience. Then, all the present hardware, software, people and data should be considered during the time of analysis. For example, if a company XYZ corp is in need of a website to have its human resource details online, the analysis team may try to utilize the existing data about the employees from the present database. The analysis should be done in the way, that it may not be too time consuming or with very less informative. The team should be able to come up with the complete cost-benefit analysis and as the plan for the project will be an output of analysis, it should be realistic. To achieve this the analyst should consult the designers, developers and testers to come up with a realistic plan.
Input: Interviews with the clients, Mails and Supporting docs by the client, Discussions Notes, Online chat, Recorded telephone conversations, Model sites/applications etc.,
Output: 1. Work plan, 2. Cost involved, 3. Team requirements, 4. Hardware-software requirements, 5. Supporting documents and 6. The Approva
2. Specification Building:
Preliminary specifications are drawn by covering up each and every element of the requirement. For example if the product is a website then the modules of the site including general layout, site navigation and dynamic parts of the site should be included in the specifications. Larger projects will require further levels of consultation to assess additional business and technical requirements. After reviewing and approving the preliminary document, a written proposal is prepared, outlining the scope of the project including responsibilities, timelines and costs.
Input: Reports from the analysis team.
Output: Complete requirement specifications to the individuals and the customer/customer's representative.
3. Design and development:
After building the specification, work on the website is scheduled upon receipt of the signed proposal, a deposit, and any written content materials and Graphic you wish to include. Here normally the layouts and navigation will be designed as a prototype.
Some customers may be interested only in a full functional prototype. In this case we may need to show them the interactivity of the application or site. But in most of the cases customer may be interested in viewing two or three design with all images and navigation.
There can be a lot of suggestions and changes from the customer side, and all the changes should be finalized before moving into the next phase. The revisions could be redisplayed via the web for the customer to view.
As needed, customer comments, feedback and approvals can be communicated by e-mail, fax or telephone.
Throughout the design phase the team should develop test plans and procedures for quality assurance. It is necessary to obtain client approval on design and project plans.
In parallel the Database team will sit and understand the requirements and develop the database with all the data structures and sample data will also be prepared.
Input: Requirement specification.
Output: Site design with templates, Images and Prototype.
Now its programmers turn to add his code without disturbing the design. Unlike traditional design the developer must know the interface and the code should not disturb the look and feel of the site or application. So the developer should understand the design and navigation. If the site is dynamic then the code should utilize the template. The developer may need to interact with the designer, in order to understand the design. The designer may need to develop some graphic buttons when ever the developer is in need, especially while using some form buttons. Coding team should generate necessary testing plans as well as technical documentation. For example Java users can use JavaDoc to develop their documents to understand their code flow. The end-user documentation can also be prepared by the coding team, which can be used by a technical writer who can understand them, writes help and manuals later.
Input: The site with forms and the requirement specification.
Output: Database driven functions with the site and Coding documents.
6. Implementation and Testing:
Unlike software, web based applications need intensive testing, as the applications will always function as a multi-user system with bandwidth limitations. Some of the testing which should be done are, Integration testing, Stress testing, Scalablity testing, Load testing, Resolution testing and Cross-Browser Compatibility testing. Both Automated testing and Manual testing should be done without fail. For example its needed to test fast loading Graphic and to calculate their loading time, as they are very important for any website. There are certain testing tools as well as some online testing tools which can help the testers to test their applications. For example ASP developers can use Microsoft's Web Application Test Tool to test the ASP applications, which is a free tool available from the Microsoft site to download.
After doing all the testing a live testing is necessary for websites and web based applications. After uploading the site there should be a complete testing(E.g.. Links test)
The site, Requirement specifications, supporting documents, technical specifications and technical documents.
Completed application/site, testing reports, error logs, frequent interaction with the developers and designers