Analysis of Current Web Application Design Methodologies: Quality Products in Web-Time
Abstract
As the Internet and the World Wide Web have skyrocketed in popularity in recent
years, so has the complexity of Web applications and the expectation of user-friendly
interfaces increased. Developers must scramble to deliver quality, usable systems in a
fraction of the time that is provided to standard systems software development. However,
as Web applications grow increasingly complex, more development time is needed than is
allotted, requiring programmers to eliminate certain important portions of a standard
design process such as user-requirements and development documents, usability testing,
code testing, code documentation, and integration testing. Web projects often miss
deadlines, exceed set budgets, require numerous upgrades to fix glitches, and overall do
not meet the intended goals. The absence of a solid design methodology for Web
applications development to organize a project is a leading reason why the setbacks occur.
Several design methodologies do exist for Web applications development,
however most development teams are not aware of these or think them to be too time
consuming and constricting. The methodologies are designed with Web development in
mind and aim to produce quality Web applications that are released on time with the
correct requirements and with a highly intuitive user-interface. The most popular options
are Extreme Programming, Site maps and Storyboards, User-centered design, and Usage-centered design. Each design process contains its own strengths to help programmers
produce quality products.
Extreme Programming is a lightweight, agile design process for small teams that
focuses on face-to-face communication between developers rather than through
documents. An emphasis is put on producing code quickly, but testing often to catch
errors. Site maps and Storyboards are used as visual representations of how a Web
application will function. The functionality is finalized through numerous sketches and the
production of code can commence. This approach aims to get the user requirements and
interface correct before coding begins. A User-centered design process focuses on real-life
problems that the user wishes to complete with the product. Extensive research into
user-requirements and user-interfaces is completed in user-centered design. The Usage-centered
design approach focuses on functionality and creating code that successfully
completes tasks requested by the user. With this methodology, the usability and user-interface
will evolve naturally out of the functionality.