Software Engineering
 
Software Engineering: Building a Better Web Site
By Reid Hankins, January 2004

Since the rise of the Internet, business has never been the same. Yet, at the same time, in many ways, it is business as usual. With the Internet, there is a new medium for marketing, but more importantly, a new mode of business. The same demands of business, however, have created unique challenges for those entrusted with bringing their company to the 21st century. The perpetual "rush service" and the "need it done yesterday" attitude that has traditionally been on print shops and desktop publishers is now being placed on the so-called webmaster. At the same time, these webmasters are being required to not only produce marketing materials in lighting speed, but also suffer the many demands of facilitating reliable online business. E-business solutions must be faster, safer, and more reliable, to both the customer and the company.

Such large demands on the so-called webmaster alone are now widely becoming recognized as unrealistic. Conventional wisdom and the unfortunate consequences of many failed online business efforts have caused the business world to rethink and reshape its approach to the Internet. More and more, the realm of Web site development is being seen for what it is, namely, software engineering. This paradigm shift, though initially requiring significantly higher IT investments, will ultimately prove to be the salvation of the Internet.

The success of this paradigm shift will be due primarily in that it recognizes the objective facts of Web site development. Creating a Web site, especially a Web site that facilitates business, is fundamentally creating a software application. The software engineering discipline, though relatively new compared to many other disciplines, is still a predecessor of the Internet. Much research and study has been invested by corporate, government, and academic institutions over the years to improve the process for software development. There have been monumental improvements in software development from both a broad and detailed perspective. Key improvements have been made in the software development lifecycle, enabling companies to better plan the project's budget, timeline, scope, and risks. Industry standard formats have been established for documenting business requirements and software architecture designs, which have the capability to rival the blue prints of a building architect. Best practices and methodologies have been developed to make the programming task quicker, easier to integrate with team member's work, less prone to bugs, and more cost effective to maintain. Improved quality assurance techniques provide a myriad of ways to ensure the reliability of the finished product. For each of these areas hosts of software and hardware tools now make it easier to do the work.

Along with these improvements in software engineering came the need for stratification of the work force. Software development is no longer done with a single software programmer. Now, projects may involve any number of different types of resources. Business Analysts, Project Managers, Software Architects, Programmers, Graphics Designers, and Quality Assurance Engineers are just a few of the broad categories of resources involved in a software development project. Included amidst this slew of resources are the business stakeholders who must be involved throughout the project in communicating requirements, monitoring progress, and validating functionality, and transitioning the product to the user community. With the makeup of such a team, the traditional software development project will begin at first in analysis of the business needs. Once these requirements are understood, the architecture of the software can be designed. After this, the software can be programmed, followed by several rounds of various quality assurance tests and defect resolution. Finally, only after final validation by the stakeholders that the business objectives have been met in the software application can the program be delivered to the user community, following a well-considered and tested approach for this critical transition.

Such an engineering effort has been, and will surely continue for some time, to be resisted by many. There are great costs in terms of both money and time that must be evaluated for their return on investment. For many smaller companies with constrained IT spending budgets, they are content with accepting the risks associated with a minimalist approach. Other companies have business critical demands for the ability to update content quickly, and are wary of any efforts that might hinder their ability to move quickly. These challenges will continue to be addressed and resolved as Web site development is increasingly viewed as a child of software engineering. Already, many customizable prepackaged software packages are being made available on the market that provide reasonably priced Internet solutions for companies with limited budgets. The fast growth of Content Management Systems (CMS) is enabling business users to increasingly administrate the content of the Web site according to their schedule without imposing upon the software development team unrealistic timelines to implement software changes.

The result of these efforts is clear. As Web site development is increasingly viewed as software engineering, a greater quality product will be achieved. This will yield the way to future enhancements in online technologies that with further enhance the customer's experience as well as improve the company's bottom dollar.


Home
 

call 760-489-0444 | email: info@hankinsconsulting.com

©2008 Hankins Consulting, Inc.