I. Project Information
a. Company and division name
c. Project designation
LuxuryLink.com Web Site Redesign
d. Brief explanation of the goals of the project
Luxury Link had experienced phenomenal growth in terms of its product offering and loyal customer base. It was time to look at how the current structure would support the next phase of corporate development. The company wanted to improve the customer experience, support increasing web site traffic, and introduce additional functionality, including online advertising. The scope of these objectives necessitated a complete revision of the Luxury Link website. Once the development team looked more closely at what was involved, it became clear that the new web site was not purely focused on the outward facing aspects of the web site and that the entire structure was going to require a significant overhaul from the bottom up.
For Luxury Link to be more responsive to online requests and streamline the development and maintenance of queries, the data extraction process had to be modernized. In its current format, queries from the site required the transfer of large amounts of data to and from the database. This process was impacting performance (responsiveness) and would not scale effectively. The volume, maintenance, and duplication of code were also becoming a growing concern. A high performing, scalable system was needed to support the company’s business objectives. The development team needed a rich environment that would allow them to create and maintain the applications key to operations and allow the team to work effectively in meeting the deadline for the launch of the new website and ongoing development demands of an online commerce environment.
e. Brief description of the business risks involved
Without addressing the process by which data is retrieved from the database and delivered to the customer, Luxury Link risked users becoming unhappy with response times and looking at alterative websites. From a revenue perspective, Luxury Link wanted to introduce advertising to the site and this was not possible with the current design.
f. Brief description of how the system helps users
Luxury Link is in the business of marketing upscale travel packages using a combination of auctions and fixed price deals. The company’s clients are three and four-star hotels, inns, private estates, cruises and tour companies. The web site allows anyone to view, research, and purchase luxury travel packages from an exclusive portfolio.
II. Organizational Objectives
a. What short-term and long-term benefits did the organization achieve from the project? Did the solution meet the projected goals for saving time and money? How were benefits measured? Was the system mission critical to the organization?
Luxury Link was able to reduce the volume of code by 80%. The solution exceeded our projected goals for saving time and money. Yes, this system is definitely mission critical to our organization.
b. Describe the business purpose of the new system.
The new system allows a faster response time to online queries, ensuring that visitors to the site are provided with the information they requested in an efficient, expeditious manner. Through a highly user friendly interface, visitors simply search for the travel product they are looking for based on a range of parameters and are presented with detailed descriptions of the offerings that match their criteria.
c. Describe the features of the new system.
(See response to “b” above)
d. Explain the functions of the new system.
Luxury Link re-engineered the data extraction process – that is the way that data requested from the website was delivered to the user. By placing the data-related business logic in the database and leveraging stored procedures, instead of executing SQL code from the website, response times were greatly increased and the volume of code in use and requiring maintenance was significantly reduced.
e. Who were the internal sponsors of the project? Which officials or groups were opposed to developing the application? Why?
The chief proponent of the site redesign was Erik Kellener, Chief Technical Officer. He championed the move to a stored-procedure based library of data extraction functions. This freed programmers from using redundant code in the PHP scripts.
The only reticence to the project came from a few contract programmers who were too ingrained in the status quo to accept a change.
f. Were users of the system involved in the project during the planning and development phases? If so, how?
Luxury Link sought the services of Hanna Research (http://www.hannaresearch.com), a focus group that provided invaluable feedback on the new site. Later, the new site was "soft-launched" in parallel with the old version. This allowed a two week beta testing period wherein users were invited to compare the old and new. A survey was requested from the new users and a gift certificate was issued to each.
g. What were the greatest challenges in completing this project? How were they overcome?
Writing efficient stored procedures was a big challenge and Rapid SQL’s built-in debugger proved invaluable to writing bug-free code.
h. Were the goals changed as the project progressed? If so, what were the changes and why were they made?
No, the goals didn’t really change as the project progressed.
Please indicate the Innovator Award category as listed below.
E-business Application Development Emphasizes efforts to develop a corporate application architecture that incorporates legacy systems, client/server systems and the Internet. The judges will evaluate how the finished application affects business processes, as well as the tools and technologies employed.
a. Describe how productivity tools or techniques were used in the project.
Each programmer was issued a copy of Embarcadero Technologies’ Rapid SQL and trained in its use. We quickly became addicted to Rapid SQL’s step-through and debugging features.
Integration with CVS was crucial to this process and all had to be trained in how to check out, update and commit SQL code to and from the repository.
b. Were testing tools used during development? If so, when were they used? Was the testing cost-effective?
For database development, we relied on Embarcadero’s ER/Studio to add and modify tables. Embarcadero’s Rapid SQL’s debugger was all we needed to test new SQL code.
Yes, the testing was cost-effective. We used the performance execution analysis tools in Rapid SQL to identify inefficient SQL code and for example, where indexes should be included.
We also used of Radview Software’s WebFT and Webload to robotically test the site’s functionality from a user standpoint.
c. Was a formal or informal software development life-cycle methodology employed? If yes, please describe it.
Being a relatively small company, we used an informal approach to implementing new stored procedures. At the database level, all "sprocs" were tested by Paul Bringetto (our DBA) for efficiency. Rewriting sprocs to maximize efficiency was done virtually in parallel to their release. The goal was to keep procedures and functions as simple as possible.
d. What formal or informal project management methodologies and/or tools were used to manage the project? If used, please describe how.
The entire library of stored procedures and user-defined functions was source-controlled via CVS. Embarcadero’s Rapid SQL made the use of CVS extremely simple and programmers with no CVS experience picked up the process very quickly.
e. Were software quality metrics used? If so, what were they, and did using them significantly help the project?
a. What were the major technical challenges that had to be overcome to complete the project successfully? How did the team respond to those challenges?
There were no major technical challenges.
b. What software tools, including databases, operating systems and all development tools, were selected for the project? Why were they selected over competing tools? What process was used to select development tools and software platforms?
Although SQL Server 2000 database included its own IDE, it did not meet the needs of the development team. Luxury Link selected Embarcadero Rapid SQL to provide the team with the development environment and functionality required. With Rapid SQL’s rich visual context developers could create and analyze stored procedures to extract data directly from the database in response to customer queries.
c. Describe the overall system architecture. Were elements of the technical infrastructure were put in place to support the new system? Please describe.
d. What characteristics of the tools and technologies used were most important in achieving the business purposes of the system?
Rapid SQL offers powerful visual tools for creating and analyzing stored procedures with point-and-click ease. By minimizing the volume of code on the website, creating a centralized library for stored procedures, and leveraging a powerful IDE, developers enjoy a greater ease of maintenance and can respond faster to development demands.
Poorly tuned code can greatly impact the performance of applications and ultimately the users’ experience. Luxury Link is able to perform detailed response time analysis on the execution of stored procedures and functions. By benchmarking the execution of stored procedures they can determine exactly what code objects and lines of code are taking the longest to run. Rapid SQL allows the developer to step through code as it executes, enabling them to watch database logic and quickly identify and address the source of errors. Embarcadero SQL Debugger removes the guesswork from troubleshooting database code logic errors and inefficiencies by stepping through code as it executes for the identification of the source of errors.
Before moving the stored procedures into production, Embarcadero’s SQL Debugger was used to isolate and fix bugs, giving the developers insight to troubleshoot performance bottlenecks and improve code quality. During the development of a single stored procedure, the team needed to have the ability to revert back to a previous version at any time. By integrating with CVS, revisions were tightly controlled and managed, allowing the team to safely collaborate without fear of overwriting critical code.
With a team of developers there is a risk that without controls, changes made by one developer are overwritten by another, impacting the quality of the code. By integrating with CVS Source Control System, Rapid SQL allowed developers to store recently added sources on a server and not to modify them directly. By checking out the file to make modifications and checking it back in when the changes are made code was not overwritten in error and the team could collaborate effectively.
VI. Project Team
a. What was the size of the development team?
b. Describe the software development experience of the team members.
We focused primarily on web site designers with a strong background in PHP. Our internal DBA and CTO oversaw the deployment of new SQL code.
c. What was the composition and skill level of the team? Did development teams require training to work with the technology?
Most developers were skilled in writing complex SQL queries. Minor training was required for integration of SQL with the PHP/Smarty templating engine.
d. How many person-months/days did the project take, and over what calendar time frame? Was a formal schedule created at the start of the project? Did the project stay on schedule?
One year from initial design to launch. Major milestones were rigidly scheduled and all were met.
e. Did management and the user community consider the project a success?
Management got more than what they asked for: A robust, efficient web site that runs relatively bug free and that requires only two people to maintain on a daily basis. Public users of the site love the new look and speed of page loads.
f. If you had to do the project over again, would you do anything differently? If yes, please explain why.
We hired an expensive web site consulting company to design the site’s layout, thus freeing us to concentrate on pure technology. In retrospect, we’re very happy with our decisions.