Once the new server is compiled and linked, it is time to test it with the latest client.
Since we are also using the project software in production, there is a potential problem: how to test the latest release when other people are actively using the previous release. We solved this problem by allowing you to have several Qedit servers running on the same host. On UNIX, you specify which server the PC client should connect to by specifying a TCP/IP port. A port is like a mailbox for communication and we can have several Qedit UNIX servers "listening" for connection requests on several ports. For MPE the PC specifies the file name of the server, so you just have several versions with different file names.
To obtain a number of benefits, including repeatable, controlled testing of the product, we added a Scripting Language to Qedit. The Scripting language allows for direct calls to the underlying methods that change the text and is very similar to many other programming languages. Tests of new features are coded in the Qedit Scripting Language, and the QSL test scripts are stored on the web server, with documentation in web pages.
The tests allow us to simulate manual testing in a highly accurate way, over a real Internet connection with a real PC. The goal is a test suite, consisting of scripts that verify all the basic functions of the system, plus as many of the boundary cases as we can think of.
When implementing new features, we often write a test suite script to help define how we expect the feature to work, then modify the script if necessary to record how it actually works when finally accepted. This was the case with the Delete Columns project.
By using a script, you can perform many more tests per release cycle than if you had to do them by hand. Manual testing is tiresome and boring and it is difficult to test all the old features whenever a new version is released. For example, with a test suite, it is possible to repeat the same tests precisely on Windows NT, Windows 95, Windows 98 and Windows 2000, something that would be extremely difficult to do manually.
A thorough test suite exercises all major options of the program. This is not as difficult as it sounds. Notice the script in the graphic above. It has calls to execute the tests on local files, UNIX files, and MPE files. In all three cases it is executing the same test code. Then it repeats the tests for multiple file types, such as files with trailing spaces retained and files with trailing spaces dropped.
Because the test suite lives on the web and can be executed over the Internet, it is possible to have developers and testers in any geographic location execute the current test suite at any time.
Once the Delete Columns feature is designed, coded and tested, it is ready for internal use by the R&D staff. But before it can spread beyond R&D it must be documented.
Before the Delete Columns enhancement is done, it must be documented. For daily documentation of changes we use Qedit for Windows on our lab diary, but for the end-user documentation we use Doc-to-Help from Wex Tech Systems, Inc. (www.wextech.com). We maintain a single Microsoft Word document from which Doc-to-Help can generate a Winhelp file and/or html files. Since the source document is a Word document, the documentation can be printed or written to PDF file using Adobe Acrobat (www.adobe.com). Although the editing is all done on a PC, we use the web as our primary distribution method, enabling us to have current documentation bundled with the newest release of the program.
Wherever possible, automated scripts install and distribute the digital results. For example, here is a QSL script to install a new version of ColumnMunger() source from the C++ file on a PC to directories where it resides on our UNIX and MPE development machines.
The updated documentation, executables, PDF files and help files are packaged up and an Installation build is made using a combination of Windows Scripting Host, ftp and InstallShield tools. The script that does this is invoked through a single command and can automatically deliver the final products over the Internet to our Web Site and Media making machine for final production CD cutting.
The MPE and UNIX servers for Qedit for Windows are also delivered automatically when they are updated, for inclusion with the CD. The installation process is smart enough to detect when we are including server files for both HP-UX and MPE and can be installed over the Internet or our Intranet. directly onto the servers from the PC installation process to any host server.
Once the new release is installed, distributors and beta-test users can download it using the Web, and Robelle staff can make new CDs for distribution by conventional methods.
We send the new release to the customers that asked for the new feature, as recorded in our Knowledge Base system (remember the original customer request from several sections ago).
When we need additional testers, we use another Internet resource. We post a message to the Robelle-L mailing list. A mailing list is an email message distribution system to which users can subscribe. Subscribers receive each message posted by any other subscriber (or just a daily summary of the postings) and can post replies to any message for the rest of the group.
The Future of Project Management using the Web holds great promise. There are already many web tools, such as discussion forums, to assist collaboration. One of the most unique is
CritSuite, as it is now known, allows you to add notes to an existing web page. The notes are stored on a Crit server, which merges the notes with the original page when it serves the page up to your browser. Someone can post a draft proposal on their web site and colleagues can criticize it.
After you annotate a web page with Crit, "text relevant to the annotation will be surrounded by small colored markers. The colors indicate the nature of the comment: green for support, red for an issue, blue for a comment, or orange for a query. The markers also contain small symbols to help them appear more distinct: a plus sign for support, a minus sign for an issue, a hash mark for a comment, or a question mark for a query." The Crit software and a working Crit server are available on the web athttp://crit.org
Ward Cunningham’s WikiWiki database was the first collaborative browser-based tool I used. Using only your browser, you create a database of web pages, each of which has an Edit button at the bottom. When you click on Edit, it pulls the page contents up in a browser textbox for you to edit. There is a very simplified markup language that allows bold, italic, horizontal rule, http links, and inline graphics. You create links to other WikiWiki pages by running the words of the title together, as in SoftwareTestingTools or HpWorldPapers. To create a new Wiki page, you create a link to it by title, then click on the link and an empty textbox appears.
All recently added or changed pages are listed on a Recent Changes page, making it easy to catch up on team progress after a break. Pages can be created or appended to using email – just put the page title in the email subject area. WikiWiki is very simple, very elegant and very flexible. A reasonable starting point for WikiWiki is the original at the Portland Pattern Repository: http://c2.com/cgi/wiki (for more information, see the References).
Another option that is likely to be widely adopted in the near future is the web-based project management system. In this case, the software to support Project Management and scheduling runs on a shared eServices host. All you need is a browser. And if the systems encourage web links, you will be able to integrate this date-oriented automatic processing with the content-oriented project web pages that I described earlier in this paper.
WebProject is a lot more complex than the other two and includes threaded discussion lists, virtual project status meetingsyou can attend in chat-mode, tracking time actually spent on tasks, integrated document management, cross-platform server, plus export and import to and from all major project management systems. You can run the rent WebProject as an eService on their servers, or run the software on an in-house server.
The future of project management on the web is unlimited. Consider just two examples –XML for projects and the Mesa/Vista system.
Pacific Edge Software is working with eProject, Great Plains and other project software suppliers to define the XML (Extensible Markup Language) schema for project management. This will someday allow intelligent interchange of project information among different systems.
Mesa/Vista Project Manager
Mesa/Vista Project Manager is a high-end product that provides process integration rather than project management. It inter-operates with many of the major project management systems, bringing their capabilities to the web and enhancing them as well. The advantage of this approach is that it raises the prospect of a general solution that links industry-specific tools such as CAD with project management tools. For more information, checkhttp://www.mesasys.com
With the simple web page techniques discussed in this paper and the many web-based tools coming on line, there is no good reason to put off using the web to help manage your projects. Start today.
Qedit and Suprtool are trademarks of Robelle Solutions Technology Ltd., Windows, MS Outlook, and MS Project are trademarks of Microsoft Corporation, InstallShield is a trademark of InstallShield Software Corporation, and Mesa/Vista is a trademark of Mesa Systems Guild. All other trademarks belong to their respective holders.
Sippey, Michael. "Pyra’s Killer App". Stating the Obvious, May 1, 2000, web site:http://www.theobvious.com/archives/050100.html
Gilbert, Alorie. "Online Collaboration Tools Help Simplify Product Design". Information Week, April 24, 2000, web site:http://www.informationweek.com/783/collaborate.htm
Bennett, Gordon.. "Working Together, Apart The Web as Project Infrastructure." IDM web site:http://idm.internet.com/features/idm0398-pm1.shtml
Bumbo and Coleman. "Case Study: Collaboration for Distributed Project Management."http://www.collaborate.com/publications/case2.html
Apache Web Server:http://www.apache.org/
Apache for e3000:http://jazz.external.hp.com/src/apache/index.html
Apache Server Side Includes:http://support.pair.com/tutorials/ssi.html
Wiki Clones and variations, such as:http://wcsb.org/~swain/php/wiki/
Dolphin Wiki system: http://www.object-arts.com/cgi-local/view.pl/Dolphin
Dolphin Wiki at LEGO Robotics:http://www.object-arts.com/cgi-local/view.pl/Lego-Robotics
XML for Project Data:http://www.pacificedge.com/pr24.htm
Part 1 | Part 2 | Part 3