Web Development Methodology – Part 1
Table of Contents
A medium-sized consulting company I once worked developed their own methodology for dealing with web development projects. This company has since gone out of business making their methodology public. Not that there's much here that doesn't fall in to standard practices for consulting firms. I'm reproducing a summary here as a reference for those that perhaps haven't worked for a “real” consulting company.
This methodology is organized by phases. Phases are typically used to communicate a grouping of deliverables and functional progression within a project timeline and to assess the progress of a project. Most web development methodologies begin when requirements are defined and end when the application “goes live.” This methodology starts even earlier — when the original concept is formed-and does not end until a client post-delivery review of the project is completed.
There are eight “typical web development” lifecycle phases in this methodology. Each of these is described briefly below.
For consulting projects, includes pre-proposal and proposal activities. Identifies client opportunities, evaluates potential clients, assesses RFPs and/or opportunities, and prepares a proposal or Statement of Work.
Contains activities to mobilize the project team and plan project activities in detail. Ensures that all engagement and project management procedures and policies are in place.
Defines the strategy, competitive analysis, current processes, and financial viability of a site. Includes gathering and analyzing information pertinent to each focus area (business functionality, technical environment, security, etc.) to define functional requirements, the “what” of the solution.
Defines the details of the proposed solution in a creative, technically correct and secure design. Identifies potential risks and constraints to implementation and refines the business case. Undertakes a thorough creative design process that ensures the goals of the e-business model are defined, designed and implemented in a compelling, creative solution.
Prescribes an iterative development approach that incorporates rapid prototyping and application building. Constructs and unit tests all components of the detailed business solution. Iteratively tests each module with small clusters of adjacent functionality to assure proper interactions prior to full-scale system testing. Prepares for organization-wide rollout.
Moves modules and databases from the test environment to the production staging environment. Conducts final security test. Prepares for organization-wide rollout of the new solution and makes the business solution fully operational across the entire organization. Measures performance.
Puts mechanisms in place to ensure that the benefits achieved through implementing the business solution can be sustained over time and can lead to further opportunities for performance gains. Manages web content refreshes and operations.
Validates that the solution is running to specifications and meets the client's expectations. Completes and closes out project and engagement management activities.
This second batch summarizes what can be viewed as 9 mini-methodologies each delivering an element of the overall business solution. The use of these mini-methodologies allows employees with different responsibilities to focus on their own set of tasks while ensuring that crucial cross-skill links are maintained throughout the project.
Activities to prospect, propose, and contract for an engagement. BD staff continues to work with the project team to ensure quality and satisfaction from a client perspective. Often includes senior strategy, technical and functional staff to attend client meetings and propose an appropriate solution.
Activities to plan and control a project from statement of work formulation through project close. Formalize project scope, objectives and results. Assess and manage risk. Put in place reliable methods to control changes and ensure engagement cost-effectiveness, schedule, performance and resource utilization.
Activities to gather internal and external background information on the client organization, objectives, environment and competitors. Identify and present major business improvement opportunities to executive management via the strategy document and/or business plan.
Activities to accomplish requirements analysis, test planning, functional design, and configuration and implementation of business processes.
Activities to design, procure, implement and manage the required technical environments to support project development, training, testing and production requirements. Develop custom-programmed components such as new systems components, system interfaces, conversions and enhancements to meet design requirements.
Activities to lead clients through the “visioneering” of the desired visual result. Itemize graphical elements needed to accomplish the detailed requirements with emphasis on the artistic quality and completeness of the graphical user interface.
Activities to assess and mitigate security threats.
Systems Engineering and MIS Activities to provide estimates, recommendations, configurations and ordering of client hardware. Sets up development, staging and production servers, installs software and performs troubleshooting.
Activities to monitor quality assurance checkpoints at key process and deliverable milestones. Review all project deliverables prior to client delivery, conduct peer reviews, validate significant work products and review system test and user acceptance results to manage risk and ensure client satisfaction
Interesting to see the different phases you're using when developing a web application. I did the same work of introspection to explain my own methodology for web application development. I though you might find it an interesting read too.