36
M ETHODS & T OOLS Global knowledge source for software development professionals ISSN 1023-4918 Fall 2000 (Volume 8 - number 3) Can I Get Some Training? Training courses come in many forms. You got the one week components training with its bonus trip to the Côte d'Azur or to Florida, the internal three days course on SQL standards, the half- day seminar to understand everything about UML or the two-hour video on Java or e-commerce. Even if every brain exercise is a good thing, how many of these training courses are really useful for your day to day activities as a software developer or a project manager? How many good training will you find on configuration management, designing application architecture, software testing or negotiating with the end user? And how many organisations are just giving their developers the training they need? According to our evaluations of software development units, one organisation out of three gives its software developers less than one week of training per year. One organisation out of two gives its software project managers less than one week of training per year. Could this be an explanation for the poor rate of success? Excuses for not having training are always found... more often that the budget for getting it. There is always something more important to do or your manager will find that the course is not related to your current work. How can you progress this way? Developers and project managers want to learn more. They are even ready to go through editorial like this one to reach some practical knowledge! I would like to contribute to the debate with some basic data. Companies that give more training to their employees achieve a better process quality. Companies with a higher process quality have more chances to respect the estimated deadlines and budgets of their software development project. So the next time you will have to discuss training budget and availability, and that is often do at the end of the year, bring with you the two graphs included in the piece on training and process quality. It could cost to train, but it also pays! Inside E-Business Testing: Techniques & Tools .............................................................................................. page 2 Project Management: Sponsoring a Successful Project ......................................................................... page 20 Process: Training and Process Quality................................................................................................... page 31 Facts, News & Comments ...................................................................................................................... page 33

METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

METHODS & TOOLSGlobal knowledge source for software development professionals ISSN 1023-4918Fall 2000 (Volume 8 - number 3)

Can I Get Some Training?

Training courses come in many forms. You got the one week components training with its bonustrip to the Côte d'Azur or to Florida, the internal three days course on SQL standards, the half-day seminar to understand everything about UML or the two-hour video on Java or e-commerce.Even if every brain exercise is a good thing, how many of these training courses are really usefulfor your day to day activities as a software developer or a project manager? How many goodtraining will you find on configuration management, designing application architecture, softwaretesting or negotiating with the end user?

And how many organisations are just giving their developers the training they need? Accordingto our evaluations of software development units, one organisation out of three gives its softwaredevelopers less than one week of training per year. One organisation out of two gives itssoftware project managers less than one week of training per year. Could this be an explanationfor the poor rate of success? Excuses for not having training are always found... more often thatthe budget for getting it. There is always something more important to do or your manager willfind that the course is not related to your current work. How can you progress this way?Developers and project managers want to learn more. They are even ready to go througheditorial like this one to reach some practical knowledge!

I would like to contribute to the debate with some basic data. Companies that give more trainingto their employees achieve a better process quality. Companies with a higher process qualityhave more chances to respect the estimated deadlines and budgets of their software developmentproject. So the next time you will have to discuss training budget and availability, and that isoften do at the end of the year, bring with you the two graphs included in the piece on trainingand process quality. It could cost to train, but it also pays!

InsideE-Business Testing: Techniques & Tools .............................................................................................. page 2

Project Management: Sponsoring a Successful Project ......................................................................... page 20

Process: Training and Process Quality................................................................................................... page 31

Facts, News & Comments...................................................................................................................... page 33

Page 2: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 2

Abstract

This paper describes twenty techniques fortesting E-Business applications. Thesetechniques were introduced in the companionpaper: “Risk-Based E-Business Testing, Part1, Risks and Test Strategy”. The techniquesare described under five categories: StaticTesting, Test Browsing, Functional testing,Non-Functional Testing and Large ScaleIntegration testing. A chapter on Post-Deployment Monitoring is appended. (Notefrom the editor: due to size limitation, thispart will be split in two. You can read thecomplete text at: www.evolutif.co.uk/articles/EBTestingPart2.pdf)

Static tests aim to identify staticallydetectable faults in web pages. Tools that cancheck the syntax of the HTML and otherembedded code in web pages are now widelyavailable. Internet browsers and versionsimplement different subsets and supersets ofstandard HTML but tools can identifyanomalies in the HTML as well as makerecommendations for correct usage. Betweenthe leading browsers, there are differences inthe appearance of web pages containingidentical HTML that has been validated.These differences are often cosmetic, but canaffect more than the appearance as objectsmay be pushed off screen because ofdifferent object sizing.

Test browsing aims to ensure that web pagenavigation and integrated pages operatecorrectly. Link checking verifies that buttonsor text links to other pages work. Object loadand timing checks aim to ensure that objectscan be loaded and are displayed with anacceptable delay. Transaction verificationaims to ensure that server-based componentsare called correctly, with all parameters

passed.

Functional testing covers what might be the‘traditional’ test approaches to component,integration and system testing. Browser pagetesting covers the functionality that executessolely on the browser. CGI componenttesting covers all server-based components.Transaction testing verifies that thebrowser/user interface, web server and backend server-based components integrate as awhole. Application system testing covers thefunctional requirements for the system as awhole. Internationalisation covers therequirements for multilingualism,multicurrency and localisation.

Finally, it is becoming more important thatweb sites are monitored in production asperformance, security and reliability may allfalter but users may never report problems.Post-Deployment Monitoring may involvereuse of existing automated tests or one ofthe increasing number of remote web sitetesting service providers.

1. Introduction

1.1 Overview

This paper describes twenty techniques fortesting E-Business applications. Thesetechniques were introduced in the companionpaper: “Risk-Based E-Business Testing, Part1, Risks and Test Strategy”, published in theSummer issue of Methods & Tools. Thetechniques are described under fivecategories: Static Testing, Test Browsing,Functional testing, Non-Functional testingand Large Scale Integration.

The Test process Framework Table from part1 is reproduced overleaf.

Risk-Based E-Business Testing - Part 2 Test Techniques and Tools

Paul Gerrard, [email protected] Systeme Evolutif Ltd. www.evolutif.co.uk9 Cavendish PlaceLondon W1M 9DL, UK

Tel: +44 (0)20 7636 6060, Fax: +44 (0)20 7636 6072

Page 3: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 3

Test Priorities Test Types Mapped to Usual Test StagesTest Type

Smok

e

Usa

bilit

y

Perf

orm

ance

Func

tiona

lity

Stat

ic/

Dyn

amic

Des

ktop

Dev

elop

men

t

Infr

astr

uctu

reTe

sting

Syste

m T

estin

g

Inte

grat

ion

Testi

ng

Post-

Dep

loym

ent

Mon

itori

ng

Static TestingHTML testing Y S A/MBrowser syntax compatibility Y S AVisual browser validation Y D M M MTest BrowsingLink checking Y D A AObject load and timing Y Y D A ATransaction verification Y S A/M A/MFunctional TestingBrowser page testing Y D A/MCGI component testing Y D A/MTransaction Testing Y D A/MApplication testing Y D A/MInternationalisation Y D A/M A/M

Non-Functional TestingConfiguration testing Y D M A/M MPerformance Y D A A ASoak Testing/reliability Y D A A A AAvailability D AUsability Y S/D MSecurity Y D A/M A/M A/M ALarge Scale IntegrationExternal links/legacy systemintegration

Y D A/M A/M

End to end functionality Y D A/M A

Table 1 – E-Business Test Process Framework

Page 4: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 4

1.2 Scope

The paper does not dwell on the types oftesting that have direct counterparts inclient/server or host-based systems.

This paper only covers systems that havebeen implemented in the most commontechnologies, namely:

• HTML static pages

• Embedded VBScript and JavaScript

• Server-based CGI programs, scripts orActive Server Pages.

It does not cover the testing of the followingspecific technologies:

• Java Applets.

• Java Servlets.

• ActiveX components.

• COM/DCOM server-based objects.

The paper does not cover the testing of largeapplications being implemented in, say, Javaapplets. In these cases, the appletsthemselves may be large applications. Theseshould be component tested in the same waythat non web GUI applications are. Wesuggest that Transaction testing andApplication System Testing are asappropriate for Java applets as any otherapplication implemented using Webtechnology.

Many of the test types described in thefollowing section justify a paper of theirown. Performance, security and usabilitytesting are each significant topics requiringthrough treatment.

Most sections provide references for furtherreading.

One of the challenges of E-business testingis: where does developer testing stop andhigher level testing begin? It is probablyappropriate that the test techniques describedin the early sections are done by developersrather than system or acceptance testers.

Allocation of responsibility for more and lesstechnical techniques is a major considerationfor your test strategy.

2. Static Testing

Static tests are those that do not involveexecuting software under test. Usually, statictests involve inspections and reviews ofdocumentation, but can also cover staticanalysis of code using automated tools. Inthe case of web sites, we are most interestedin automated methods for inspecting andvalidating HTML for syntax faults but alsofor compatibility with the various browsers.Although tools can validate the underlyingHTML, we recommend that you alsoperform a visual check to ensure (mainlycosmetic) differences between browsers donot cause problems for users.

Tools that perform automated HTMLvalidation and compatibility often performother functions such as link, spelling andaccessibility checks. These tools are nowwidely available, some are free, others can beobtained at a small cost. Some tool vendorsbundle this functionality with theirproprietary test tool suites.

There are four main areas of concern, thatstatic testing aims to address.

Content checking

The content of Web pages, the accuracy,completeness, consistency, spelling as wellas accessibility are no longer ‘cosmetic’. Itcould be said that cosmetic does not equateto unimportant, as perhaps it might forinternal IT systems. For many E-Businesssites, content might be their ‘raison d'être’.For example, if a Testing Services companyspelt "kwality" wrong on their home page,this might not reflect well on theorganisation. If content itself is the productfor sale or is intended to be reused bycustomers, content faults might be deemedserious threats to success of the system andshould be checked.

Page 5: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 5

Most commercial web page developmenttools include spell checkers. Just like anydocumentation, however, pages should beindependently reviewed to ensure they areconsistent, grammatically correct and usable.This task might be included in a usabilitytest.

HTML testing

Browsers download HTML pages from Webservers, interpret the HTML text and renderthe page within the browser window. In mostways, this is a similar process to softwareinterpretation. However, unlike software

interpreters, browsers are very forgiving ofpoor quality code. Invalid HTML syntax isusually ignored by the browser. In someways, this is good. There are no unsightlyand confusing syntax error messagesdisplayed, ever. But if the programmer hasgot the HTML wrong, they may neverachieve the layout effects or functionalitythey require. Web page developers andtesters may not see problems, but users mayexperience obscure difficulties later.

Automated tools can validate HTML (orXML or WML) against rules laid down byestablished and emerging standards.

Figure 1. - Typical Web page validation tool

Page 6: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 6

Figure 1 is the HTML Toolbox page of theNetMechanic web page checker (reference4). This is typical of the web page test portalsnow available. As you can see, it can checkthe following:

• Links

• HTML syntax check (NetMechanic canalso generate corrected HTML for you)

• HTML Browser compatibility

• HTML load times

• Spell check. (You can supply your owndictionary, rather than use the onesupplied).

Browser syntax compatibility

Although HTML is often promoted as auniversal standard (Reference 26), browsersactually implement HTML differently. Someelements of HTML from previous standardare deprecated in HTML 4, but are stillsupported by these browsers as they are incommon use. The event model (that definesbehaviour for mouse clicks, button pressesetc.) is far from complete in the currentStandard, compared to what Visual Basic, forexample, supports, so Microsoft, inparticular, have implemented an enhancedevent model for Internet Explorer.

Microsoft Internet Explorer (IE) and

Netscape Navigator (Netscape) are clearlyadopting different strategies:

• The IE strategy is to broadly support theHTML 4 standard, but Microsoft haveintroduce many additional elements thatare supported by their browser andgenerated by their popular web pagedevelopment tools (FrontPage and VisualInterdev).

• The Netscape strategy is to broadlysupport the HTML 4 standard, butNetscape have introduced a much smallernumber of non-standard elements. Itappears likely that Netscape will drop thedeprecated features they have introduced.

A typical report on web page HTMLcompatibility appears in the figure 2. Youcan see that the ALT attribute on an anchortag (<A>) on line 139 of the web page isincorrect for both Explorer and Netscape.The LEFTMARGIN attribute of the BODYtag on line 10 is valid for all versions ofExplorer and invalid for all versions ofNetscape.

Setting aside the fact that the Microsoftstrategy for browser domination appears tobe working, in the interim, the existence ofthese two strategies causes difficulties.

Microsoft NetscapeTag Attribute Lines VisitorsAffected 3 4 5 2 3 4

A ALT 139 99.00% N N N N N NBODY LEFTMARGIN 10 27.00% Y Y Y N N NBODY TOPMARGIN 10 27.00% Y Y Y N N NFONT FACE 14,23,25,29,

33,35,37,38,39,45,46,48,51,55,56,58,63,64,66,69

1.00% Y Y Y N Y Y

IMG </TD 149 99.0% N N N N N NTD BGCOLOR 21,24,63,10

1,110,134Y Y Y Y Y Y

Figure 2. - Browser compatibility report

Page 7: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 7

To support both browsers simultaneously,there are three approaches:

1. Adopt a reduced set of HTML elementswithin the HTML standard, that aresupported by both browsers and restrictyourself to those.

2. Build parallel HTML implementationsfor each browser and determine whichshould be used at runtime. (Potentiallycomplicated and more costly)

3. Adopt one browser as standard andignore all others. (Only viable if you arebuilding an Intranet and have controlover your users’ technology platforms).

Page authoring products usually haveconfiguration options to allow HTML thatmeets one of these following compatibilityrequirements:

• IE only

• Netscape only

• Both IE and Netscape

• Web TV

• An so on…

Once a strategy has been selected, you mustagree with the developers whether (and how)they are adopting this strategy. Then youmust use the available tools in a consistentway to report faults.

Visual browser validation

It should be obvious from the previousdiscussion that there will be significantdifferences in the appearance of web pagesdisplayed by the different browsers, but alsoin their behaviour. Take for example the twoidentically sized screen dumps of a previousversion of the Evolutif Web site. One is fromIE4 and the other Netscape 4. (I must admit,I cannot recall which is which!).

Figure 3. - Web page display, first example

Page 8: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 8

Note that the last field displayed on the firstpage, displayed in figure 3, is ‘Phone’ – andthe field itself is almost completely cut off bythe border of the page. In the secondexample, displayed in figure 4, the last fieldis ‘Fax’. In this case, an extra field isdisplayed by the browser.

Clearly, the differences here are cosmetic,but if your intention is to avoid scrolling ofpages in a set resolution setting, then thisproblem might force a clickable button offthe page and be a less usable. Other, moreserious problems have been reported, but aremost commonly associated with differencesin:

• The colours of standard objects e.g.horizontal lines, borders etc.

• The centering and scaling of objects inwindows

• Display of scrolling marquees

• Table layouts - automatic sizing gives

different results

• Table background and border coloursdiffer

It would be possible for a cross-browserautomated tool to be used to scan pages forexamples of page objects being displayeddifferently, but we strongly recommend thatyou adopt a more pragmatic approach.Consider testing under one platform andverifying visually, that the appearance ofpages on the other browser are acceptable.We recommend that your developers (andtesters) do not all use the same browser andversion. Let them use their favourite browseror ask them to use a selection of browsersand versions, to avoid compatibility testing.

3. Test Browsing

Test browsing aims to address those faultsthat relate to the navigation through webpages, the availability of linked objects and

Figure 4. - Web page display, second example

Page 9: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 9

the speed of download. It also covers theintegration of web pages to server-basedcomponents, to ensure that the rightcomponent is called with the correctparameters.

3.1 Test browsing

If we were to focus on traversing links andopening pages, when we open a new page:

• Can the page be downloaded anddisplayed?

• Do all the objects on a page load?

• Do all the objects on a page load in anacceptable time?

• If the user turns images off, uses a non-graphical or no-frames browser, does itstill work?

• Do all the text and graphical links work?

One of the most common problems with websites relates to validity of on-site of off-sitelinks. On-site links should load pages orobjects from the same site of course, butmany sites, especially search engines ordirectories have many, many links to off-sitepages, normally other sites.

3.2 Automated browsing

There are many tools that can performautomated browsing tasks. Automatedbrowsing covers the first three tasks, linkchecking, object loading and timing.Checking that pages work when users turngraphics off or use of no-frames browsersmust be done manually.

Link checkers read a starting page andidentify all the linked objects on that page.These can be any of the following:

• Linked pages (other pages to benavigated to by clicking on hyperlinks).

• Frame pages (where a page is partitionedinto frames and each frame has its ownHTML page to create the imagedisplayed in the browser window.

• Images used for graphical appearance or

as buttons to navigate (e.g. GIFs andJPEGs)

• Form handlers, where these are CGIscripts, Active Server Pages etc.

• ActiveX, Java applets and other objectsthat are downloaded and executed withinthe Browser.

• Other content files, such as video (AVI,MPEG), and audio (WAV, AU, MIDI,MPEG) files.

• Other Internet protocols such as emaillinks, FTP, Newsgroups links.

Typically, the tools that do link checkingperform two functions. Firstly they identifyall of the linked objects on a page and thenattempt to download them. In doing so, therobots determine whether the object existsand can be loaded, and the size anddownload time for the object. Typical reportslist objects linked, validity and size. Sometools provide download time for each object-based on a selected network connectionspeeds. Nowadays, a typical modemconnects at 33kbps. This is a reasonableassumption for most business-consumerapplications. For business-businessapplications, end users might be connected atmuch higher speeds using their corporateLAN.

These tools work either as a portal-basedservices, where you request a Web robot oragent to visit your site on the web andtraverse all of the links and objects and thenproduce a report.

Some tools provide graphical output of thelinks for a site with the home page at thecentre of such graphics. These diagramsnormally resemble a collection of connectedspidery shapes. This is less useful for largesites (although the diagrams can be pretty!)

The majority of Web page developmenttools, e.g. Microsoft FrontPage, offer linkchecking facilities. In effect it is simple theobject file size and connection speed thatdetermine the download speed so these tools

Page 10: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 10

can usually report broken links and slowdownload speeds.

3.3 What is an acceptable download speed?

Firstly, you need to consider who your usersare. In general, object sizes are not criticalfor users who connect using a 2 Mbps or T1line (1.544Mbps) direct to the net or to ourlocal Intranet. You must bear in mind thathome-based and small office-based usersmay be accessing the Web through 28k or56k modems. You remember accessing theweb using your 9600bps modem, don’t you?In those days, you probably turned graphicsoff entirely. Nowadays, the standard modemspeed is around 33k. This is what you shoulduse for assessing the speed of downloads.Until new technologies like ADSL areestablished, the size of pages will remain abig issue for consumer users.

The main concern with speed of page loadingis page design, not the speed of ourinfrastructure and the net itself. Normally, ifpage graphics are not the main content weare offering on a web site, the images used toillustrate our site and provide graphicalbuttons for navigation and transactions areour main concern.

Normal recommendations for good (and fast)page design are:

• HTML IMG tags have WIDTH andHEIGHT attributes to define image sizeexplicitly.

• The home page should be less than 30kin size total.

• All other pages less than 45k.

• Background and button/icon picturesshould be less than 5k.

• If you must use an image for the pagebackground, use the same image for allpages.

• Photos are JPEG format, computergenerated images/schematics should beGIFs.

• All GIFs should be interlaced.

• Images should not be duplicated – usethe same images repeatedly to avoidreloads.

• Limit table text size to 2k.

• Size tables explicitly rather than usebrowser autoformat.

3.4 Transaction verification

The most common mechanism used toimplement functionality on web sites is theCommon Gateway interface or CGI. Whenan HTML form is filled in and the formsubmitted using one of the form buttons, theform handler referenced by the formdefinition is invoked on the server. The formitself sends the data captured on visible fieldsand the preset information defined oninvisible fields as parameters to the server-based form handler.

Server-based forms handlers are CGIprograms. On Unix systems, these are Perlscripts or executable programs written inC++ perhaps. In the Windows environment,these programs can be C++ programs, DLLsor Active Server Pages.

What happens is that the forms handlerextracts the parameters supplied in themessage sent by the browser and uses thisdata to perform the server-based transaction.Typically, forms handlers execute query orupdate transactions on a database and thengenerate a new page to be posted back to theclient browser.

Transaction verification aims at ensuring thatfirstly, the correct forms handler is invokedand that the parameters passed to the formshandler are correct.

Part of the forms definition is the method bywhich the HTTP message is sent to theserver. There are two methods used: GETand POST.

Page 11: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 11

HTTP GET

When a CGI program is invoked by anHTTP GET message, the parameters areappended to the URL of the forms handler.For example, a form having two fields,reptype and sortorder, that generates a reportwould generate a URL such as:http://www.mysite.com/cgi-bin/doreport.pl?reptype=ProdList&sortorder=ByPrice

In this case, the program doreport.pl, indirectory cgi-bin on the web server wouldrun with two parameters, reptype is“ProdList” and the sortorder is “ByPrice”.The full URL above, including the parametervalues is displayed in the URL window ofthe browser.

HTTP POST

When a CGI program is invoked by anHTTP POST message, the parameters areincorporated into the body of the HTTPmessage (not in the URL, like GETs). Thebrowser does not display the formparameters appended to the URL in the URLwindow. The forms handler obtains thesevalues from either environment variables orthe standard input to the program. In thiscase, in order to verify that the parametersare passed correctly, the programmer wouldneed to incorporate a small amount of codeto write out the parameters passed to theforms handler program. This code would becommented out when any anomalies arefixed and the code is working correctly.

4. Functional Testing

Functional testing has been treated as astaged, bottom-up approach. Componentsthat execute entirely within the browser aretested separately from the server-basedcomponents. Transaction testing addressesthe integration of the browser pages, webserver and other server-based components.Application System Testing addresses thetraditional requirements for a completefunctional system test. Internationalisationchecks cover the particular requirements

relating to address formats, multi-currencyand tax arrangements.

4.1 Browser page testing

Browser page tests cover the objects thatexecute within the browser, but do notexercise the server-based components. Theseare typically:

• JavaScript/VBScript code within HTMLpages that:

Implement special effects, such aschanges to the appearance of buttons asthe mouse pointer rolls over the button.

Implement field validation.

Open new windows, control the sizingand positioning of windows etc.

• (Usually Java) applets that implementscreen functionality or graphical output.

These features of the web pages should betested in-situ using the browser. Thesefeatures are most easily tested againstchecklists of ‘conventional’ requirements orthe specific requirements for particularpages.

NB: Some systems implement a largeamount of functionality in Java applets; someentire applications are implemented inapplets. In these cases, test them like anyother GUI application. For advice on testingGUI applications, see reference 8.

4.2 CGI component testing

CGI component testing covers the objectsthat execute on the server, but are initiated byforms-based user interactions on the browser.These are typically:

• Business logic to do database enquiry orupdates.

• Product catalogue searches.

• Order processing.

• Credit checking and payment processing.

• Security checking and validation.

Page 12: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 12

Usually, the server-based forms handlers arewritten at the same time as the forms thatinvoke them. However, we have found twoproblems with testing server-based code viathe user interface:

• Firstly, in some projects, the userinterface is actually the last thing to bewritten so server-based componentscannot be tested completely until verylate in the project.

• Secondly, it is common for server-basedcomponents to be programmed to dealwith a very broad range of inputparameters, invoking complextransactions that interface with legacysystems. Large numbers of tests may bedifficult to implement manually so anautomated alternative can be moreeffective and economic.

We advocate the use of dummy web pages ortest drivers to test server-based components.In this way, the manual effort can beleveraged dramatically. Clicking on one ofthe links of the dummy page window sendsthe HTTP message to the web server anddisplays the results in another window.When a new link is clicked, the results'window displays the results of thetransaction initiated.

The HTML source code for the dummy pageis presented in figure 5. The anchor tags (the<A> </A> pairs) implement HTTP GETs of

the URL identified in the HREF attribute.Note that the display of the full URL in theURL field of the browser window on theright.

If you look closely at the first line of HTMLin figure 5, this generates the underlined linklabelled “Book Listings” in dummy window.When you click on this link, the browsersends an HTTP GET message, referencingthe following URL:http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=BookList

The resulting page generated by the ASP fileis displayed in the window on the right. Theinternal name for this window is “_test” (seethe “target=” HTML).

It is easy to click on each link in turn andverify that the correct page listing appears inthe other window. Consider how you mightgenerate this HTML from a simple databasecontaining just two columns: URL andparameter resType. We have used varioustechniques including mail merge and writingVisual Basic routines within an Accessdatabase to generate simple test drivers usingthis approach.

Alternative techniques involve generation ofdummy forms – many, many forms can bedisplayed serially in the same web page.Each form contains the fields that wouldhave been supplied using the real web pagein the application, but is generated by a

<a href="http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=BookList"target="_test">Book Listings</a><p><a href="http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=Event"target="_test">Events, Conferences Etc.</a><p><a href="http://ntofclose/Evolutif/cgi-bin/tlistbooks.asp?resType=BookStore"target="_test">Evolutif Tester Book Store</a><p><a href="http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=Forum"target="_test">Forum/Newsletters</a><p><a href="http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=FAQ"target="_test">Frequently Asked Questions</a><p><a href="http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=Guideline"target="_test">Guidelines</a><p><a href="http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=OnLineTraining"target="_test">On-Line-Training</a><p><a href="http://ntofclose/Evolutif/cgi-bin/tlistresources.asp?resType=Organisation"target="_test">Organisations</a>

Figure 5. - HTML source code in the test driver

Page 13: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 13

database. With forms you can implementboth HTTP GETs and POSTS, and in thisway, simulate both types of transactions in arealistic, but simple way. There are someissues relating to the set up of cookies andpotentially application and Session variableson the web server, but your developersshould be able to create simple server-basedscripts to ensure these are correctly set up.This is a more advanced topic, outside thescope of this paper.

Clearly, to implement such facilities youneed some detailed knowledge of HTML andthe way forms, HTTP GETs and POSTswork. However, if you can get the help ofyour developers or bring a developer into thetest team, it should be a simple task to buildsome very effective test drivers for yourserver-based code.

In our own projects, Evolutif have builtsimple automated test drivers using VisualBasic and Access databases. In these cases,we used the Visual Basic INET object tosimulate HTTP requests and retrieve webpages and execute server-based code. In thisway, we have run functional tests thatexecute 40,000 transactions in a single testrun.

Creating and running a manual test of 40,000transactions is impractical. Creating andrunning such large tests using proprietary testexecution tools that drive the browserswould also pose a significant challenge.There is a clear choice in this area:

Proprietary tools

Proprietary tools driving the user interfaceare expensive, easy to use, generate complexGUI scripts and force the tester to navigateslow, complex application scenarios.

Home grown tools/test drivers

Home-grown tools driving server-based codevia the API can be cheap, easy to use,generate simple HTTP oriented scripts andeliminate slow navigation through complex

application scenarios. They are less good atverifying actual results against expectedresults.

We strongly suggest that you investigate theuse of test drivers for at least the highervolume test transactions as it may save you alot of time. Further, by involving thedevelopers, you may find that the burden offunctionally testing server-based componentsmay shift towards the developers (a goodthing!). System testers can perhaps re-use thedevelopers’ test drivers to explore morecomplex and higher volume scenarios.

4.3 Transaction Testing

Transaction testing aims to address theproblem of integration of the complete end-to-end functionality to ensure that the entiretransaction is processed correctly, from theuser action on the browser interface throughto back-end systems. Transaction testing isnot the same as Application System Testing.Rather it focuses very much on selected testcases that exercise particular interfacesbetween components in the technicalarchitecture and scenarios (in volumes) thatSystem tests might not address.

Typical tests here would be selectedtransactions that invoke several componentsand interfaces that must collaborate todeliver a piece of functionality. TransactionTesting maps to traditional integrationtesting in the small, where a member of theprogramming team conducts tests to ensurethe products of more than one programmerintegrate, before submitting integratedcomponents for system test.

A transaction that processes the payment fora book, bought online might involve thefollowing:

• A button click on the user interfaceprompting validation of the fields on thescreen.

• Dispatch of an HTTP message to the webserver, with visible and hidden fields onthe user screen being transmitted.

Page 14: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 14

software development is your businesssoftware development is your businesssoftware development is your businesssoftware development is your business software development is our businesssoftware development is our businesssoftware development is our businesssoftware development is our business

how long will your development project take? how many people have you got to do the job?

how much it will cost? what do you need to build?

how do you know?how do you know?how do you know?how do you know? Optimize can tell youOptimize can tell youOptimize can tell youOptimize can tell you

scope

technologyteam

developmentactivities

process tasks

budget

metricsqualifiers

Schedule

Duration/Cost

Project EffortSoftware Effort

productionactivities

successful projectssuccessful projectssuccessful projectssuccessful projects

depend on balancing need to accurately estimate budgetbudgetbudgetbudget cost cost cost cost resourcesresourcesresourcesresources efforteffortefforteffort deadlinesdeadlinesdeadlinesdeadlines duration duration duration duration

the new standard for planning, estimating and controllingsoftware development projects

brings youyouyouyou success

track and control your project by defining phases, iterations and tasks

enter project scope in the UML manually or automatically import from the world’s best CASE tools

account for non-software engineering activities including multimedia elements, help systems, user manuals

allocate individual resources to specific tasks - enter individuals’ costs, availability and skill levels

instantly assess the effect of change in scope, resources or budget

download your FREE evaluation software and technical paperswww.theobjectfactory.com

Page 15: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 15

• Invocation of a CGI program on the webserver that sends requests to variousobjects such as:

• Credit checking object.

• Order posting object.

• Database update object.

• Special offers and order confirmationemail generator object.

• Thank-you web page generator object.

• The response of the CGI program wouldbe a ‘confirmation’ page with options toplace more orders or log off.

The objects called by the CGI program mayeach have been tested in isolation. Often,they have been tested as they were codedwith stubbed out interfaces and simple driverprograms or dummy web pages to exercisethem in artificial circumstances.

Transaction tests are designed to force thesoftware to invoke the various componentsas a complete set and to investigate whetherthe direct and indirect interfaces workcorrectly. These test cases cover thefollowing main concerns:

• Transfer of control between components.

• Transfer of data between components (inboth directions)

• Consistency of use of data acrosscomponents.

The objects called by the CGI program mayeach have been tested in isolation. Often,they have been tested as they were codedwith stubbed out interfaces and simple driverprograms or dummy web pages to exercisethem in artificial circumstances.

Transaction tests are designed to force thesoftware to invoke the various componentsas a complete set and to investigate whetherthe direct and indirect interfaces workcorrectly. These test cases cover thefollowing main concerns:

• Transfer of control between components.

• Transfer of data between components (inboth directions)

• Consistency of use of data acrosscomponents.

Typical test cases involve:

• Single shot transactions that pass zero, 1,many or a very large number of records.

• Reconciliation of pre-test databasecontent, data entered through screens,system outputs and post-test databasecontent.

Overall, Transaction tests aim to cover thecomplete end-to-end functionality within asystem including the browser web pages,web server-based objects, other server-basedobjects, back-end databases and legacysystems.

Often, the interactions between componentsare complex or there is a significant amountof custom-built code in the server-basedobjects or there is custom-built middlewareinvolved. In these circumstances, it isprudent to automate some of thesetransactions to ensure that these interfacesand custom code can support repeated usefor an extended period. Repeatedtransactions driven by a test execution tool(or possible re-use of drivers mentionedabove) can expose obscure memory leaks orsynchronisation problems.

4.4 Application System Testing

Application System Testing aims to covercomplete testing of the application withbusiness oriented scenarios to ensure allfeatures of the system meet theirrequirements. In this regard, AST is simplySystem Testing for E-Business systems.

Each feature of the system is identified inturn and test conditions selected to exercisethe key functionality. Test scripts might beoriented towards running all of the tests foreach feature repeatedly and working one’sway through all features, but somepercentage (the higher the better) of tests

Page 16: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 16

should follow business scenarios. There isvery little more to say about this that isunique to E-Business systems. However,there are two particular points that are worthemphasising.

• Applications can be navigated using thebrowser using the navigation buttons(these are not under the control of theapplication).

• The Web is ‘stateless’. There is nopersistence between transactions unlessdevelopers implement certainmechanisms.

Browsers allow the use of back, forward andrefresh buttons. These buttons may causeserver-based transactions to be repeated,perhaps many times over. How do theseaffect the use of your application? Is itsensible to rerun the same query twice?Possibly. Is it sensible to execute the samepayment transaction twice? Certainly not!How will the application deal with thesesituations if a user, unwisely, chooses to doso?

The Web is ‘stateless’. That is, each HTTPmessage received by a Web server is uniqueand unless certain mechanisms are adopted,applications cannot maintain the context ofbusiness transactions. What this means isthat a web server cannot link a transaction toadd products to a shopping cart to a latertransaction that pays for the goods unless oneof several mechanisms are used. How are thedevelopers designing their applications tomaintain the context of businesstransactions?

Cookies

Because there is no persistence between CGItransactions, the CGI mechanism allows theuse of cookies. Cookies are small amounts ofdata that may be stored on the users harddrive by the browser at the request of theWeb site being accessed. When the userclicks a button and sends a new HTTPrequest to the web server to process atransaction, the cookie data is embedded in

the HTTP message and the server can extractthis cookie data for its own purposes.

Typically, cookies contain personalisationdata such as the user’s name, the date of theirlast visit and so on. Often, cookies contain aunique reference to identify a logged-in usersession. All transactions posted to the webserver during the session are labelled withthis session identifier, so the server-basedcode can ‘remember’ who they are dealingwith. Used sensibly, cookies are harmlessenough.

However, the programmer has total controlover cookies and could put more sensitivedata such as passwords, credit card numbersand more personal information into them.Because of this, browsers offer users theopportunity to be warned of cookies beingsent and also to reject them. If a user rejects acookie, will your application still work? Orwill the transactions fall apart because thereis no way to string them together?

There also some limitations on the use ofcookies and these are prime candidates fortest cases. See reference 10 for a thoroughdescription of the CGI and cookiemechanisms.

Hidden fields

The most common alternatives to cookies arehidden fields. When a user completes anHTML form displayed on a web page, thecontent of visible fields that the user canenter are appended to the HTTP messagesent to the web server. However, there is afacility in HTML to include hidden fieldswithin the form that have pre-set values.These values are also sent to the server at thesame time, in the same message.Programmers use this facility to includecontext information, such as a transactionidentifier in the forms that are returned to thebrowser. Because the hidden fields areinvisible, the user never notices that dataitems like these accompany the data that theyare entering. It is a simple mechanism, butvery effective. There is of course a security

Page 17: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 17

hole here – you can view the HTML sourcecode in the browser, and change it to suityourself and potentially affect the behaviourof the system under test.

It is essential that you discuss with yourdevelopers how they get round the statelessnature of the web and how this might besubverted. This will lead you to a set of teststhat could expose faults in the design of theapplication.

Cookie Testing

Cookies have an expiration date. That is, theprogrammer sets a date on which the cookiewill be automatically deleted from disk bythe browser. Ask the developers how theyare using cookies and how they set expirationdates. If these dates could be exceeded,consider deleting them in between tests, orsetting client system clocks to force them toexpire. What happens in the application?

Cookies have maximum size of 4k each,there is a limit of 300 cookies on a client and20 cookies for a single domain – are yourdevelopers exceeding these limits?

Loss of connection

The context of user transactions can be lostthrough other means. The first, most obviousone is a loss of connection between the clientmachine and the web. Users with dial-upmodems are used to connections timing outor failing. How does you application copewith this? When you lose the connectionand/or close your browser completely,cookies having no expiration date set will belost. Can (should) the user retrace their stepsin the application using the history facility inthe browser?

Other situations to consider

What happens if a new user of the sameclient PC uses your application on the samedomain? Will they pick up the cookies of theprevious user? Will the new user’s cookiesoverwrite the previous user’s cookies?

Ask your developers if or how they canaccommodate the above scenarios. If theyhave a means of recovery or avoidance ofproblems, you should test it. If not, you mayhave exposed a problem in their design.

4.5 Internationalisation

Is your site intended to be used by, say,English speaking users only? If not, whatsteps are being taken to make your sitemultilingual? In principle, localisationtesting is all about verifying that all usermessages, prompts and output is translatedcorrectly and that the functionality deliveredto the end user is identical.

In this case, there may be scope forautomating a set of regression tests of thefunctionality and parameterising the scriptswith alternate translations of system inputand output. However, if the application hasbeen developed to reuse tables of alternativemessages, then it is probably easier tomanually inspect the language-specific texttables rather than regression test functionalitythat does not change across languages.

In our experience, many sites adopt the ratherheavy handed technique of hosting multiplecopies of translated HTML pages on thesame server, and you choose your ownlanguage-specific web site. These need moretesting and configuration management isprobably a bigger headache.

Functional differences between localisedweb sites should consider at least thefollowing:

• Local variations in tax arrangements, e.g.Value-Added-Tax, purchase tax etc. (inthe US, different states have different taxarrangements of course).

• Address formats: in the UK we havepostcodes, in France there aredepartments, in the US there are Zipcodes.

• Foreign character sets can be a potentialproblem. You should recognise that inforeign countries, users may select a

Page 18: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 18

different character set than English(British or US). Russian, Greek, Japanesecharacter sets are dramatically different,aren’t they? Will your validation ordatabase settings allow for this?

There are many, many potential pitfalls ininternational Web sites. You must discusswith your developers and marketers how bestto handle these problems.

References

E-Business Testing

1. http://www.evolutif.co.uk/ E-BusinessRisk-Based Testing, Part 1: E-business Riskand Test Strategy. Paul Gerrard, June 2000.

Tools and tool Listings

2. www.softwareqatest.com/qaweb1.htmlComprehensive Web (and other) test toolslisting.

3. http://Validator.w3.org Link checker.

4. http://www.netmechanic.com Linkchecker and other site validation.

5. http://www.htmlvalidator.com/ CSEHTML Validator it user configurable HTML,XHTML, and WML syntax checker availablefor Windows 95/98/2000/NT. With a built inbrowser facility (needs IE4 or later), you canbrowse pages, see the page source code andvalidate it at the same time.

6. http://www.cast.org/bobby/ Bobby is afree application that will analyse web pagesfor their accessibility to people withdisabilities. It will also find HTMLcompatibility problems that prevent pagesfrom displaying correctly on different webbrowsers. Available as a Web-based servicesand downloadable tool.

Testing Papers

7. http://www.evolutif.co.uk/ Client/ServerPerformance Testing, Paul Gerrard and Andy

O’Brien 1995. This paper describes the end-to-end process of planning. Preparing,executing and analysing performance tests ina client/server environment. Although itdoesn’t mention the Internet, the principlesappear to be unchanged since the paper waswritten in 1995.

8. http://www.evolutif.co.uk/ Testing GUIApplications, Paul Gerrard, 1997.

Books

9. How the Internet Works, Preston Galla,ISBN 0-7897-2132-5. Best sellingintroductory text.

10. Webmaster in a nutshell, (five books onCD-Rom), O’Reilly• HTML: the definitive guide• JavaScript: the definitive guide• CGI programming for the world wide

web• Programming Perl• Webmaster in a nutshell

11. Understanding Electronic Commerce,David Kosiur, Microsoft Press

12. Designing Web Usability, Jacob Nielsen,ISBN 1-56205-810-X. A very readable, wellillustrated and up to date book on webusability.

13. “Hacking Exposed: Network SecuritySecrets and Solutions” - McClure, Scambrayand Kurtz ISBN 0 07 212127 0http://www.hackingexposed.com

Web Resources

14. E-commerce Awareness Forumnewsletter, www.mbs-program.com

15. Web Accessibility Initiative:http://www.w3.org/WAI/www.webreference.com/authoring/design/tutorials.html

Page 19: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

E-Business Testing

Methods & Tools * Fall 2000 * Page 19

16. General Web usability. This is JakobNielsen's web site focusing entirely onusability issues: http://www.useit.com/

17 Response times: the three importantlimits: http://www.useit.com/papers/responsetime.html

18. How to conduct a heuristic evaluation:http://www.useit.com/papers/heuristic/heuristic_evaluation.html

19. Software Usability MeasurementInventory [SUMI] & Website Analysis &Measurement Inventory [WAMMI]:www.ucc.ie/hfrg/ & www.acm.org/~perlman

20. Software for Use, Constantine andLockwood, ISBN 0-201-92478-1.Comprehensive and up to date treatment ofusage-centred design with information on allmain methods of usability test andevaluation. See accompanying web site:http://www.foruse.com.

Security

21. Internet Security Policy: A TechnicalGuide, NIST,http://csrc.nist.gov/isptg/html/ISPTG-1.html

22. eCommerce Trust Study, Cheskinresearch,http://www.studioarchetype.com/cheskin/

23. http://www.cert.org - generic securitybug watch run by the Software EngineeringInstitute – register and get regular advisorieson new vulnerabilities in the major OS, Weband browser technologies.

24. http://www.ntbugtraq.com - same as theCERT site above, but for Microsoft NT only.25. Firewalls Frequently Asked Questions –excellent starting point for this topic,http://www.faqs.org/faqs/firewalls-faq/

Other References

26. http://www.w3.org/TR/html4/ HTML4.01 Specification, W3C Recommendation24 December 1999

27. World Wide Web consortium:http://www.w3.org.

Due to size problems, the second part of thisarticle will be published in... two parts :-]If you can wait until our Winter 2000 issuefor the last part of this text, you can have alook at the complete document at:www.evolutif.co.uk/articles/EBTestingPart2.pdf

Page 20: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 20

“CIOs still feel besieged,” the headlineblares. “Top executives are still houndingCIOs about information systems’ value forthe dollar and IS alignment with businessneeds,” according to a recent Computerworldarticle. CIOs complain that they do not haveadequate resources; executives want morevalue for the dollar. Both sides seem to feeltheir needs are misunderstood — oftenblaming their problems on forces outsidetheir control.

Many of the difficulties faced by ISmanagers and staff result frommiscommunication, leading to confusion andunproductive results. High-dollar, mission-critical projects are started with great fanfare,

then somehow fail to achieve theirobjectives. People become disillusioned;fingers are pointed; careers are jeopardised— on the business side and on the IS side.

Business people often wind up withincomplete systems and new programsdelivered late, which then are blamed fordelays in getting the “truly important” workdone. Users do not understand the “black-box” of IS and are often afraid to challengethe wisdom of the technical folks. IS folkstend to want to give the illusions that theyare the holy computer gods to whom usersshould pay homage. Users know they areoften dependent on IS to accomplish theirjob, yet are unable to communicate their

How to Sponsor a Successful Project

Barbara Taylor, The Institute for Management Excellence, www.itstime.comPO Box 631, Silverado, CA 92676

WebBoard 4.0Quick & Easy Community Building From O’Reilly!

Online forums and discussions are a must in today’s Web-based environment. Whetheryou’re building virtual offices of classrooms, corporate intranets, commerce, or onlinecommunities, WebBoard 4.0 can organize, enhance, and improve communication.

• Create a central location for online communications, discussions, and email• Customize “boards” for your own look and feel• Run up to 255 boards with unlimited users and 1,000-user simultaneous chat.

It’s fast, powerful, and scalable. It’s the original WebBoard from O’Reilly. Visit us atwww.webboard.com/nl2 and find out why WebBoard is the world’s leading discussion andchat software.

http://www.webboard.com/nl2

Page 21: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 21

needs to the IS folks who systems accordingto their understanding of users’specifications, which often turn out to be notwhat the users really wanted. When it comesto new projects, the business folks feel onlythey have the real handle on corporatepriorities and that they should controlcorporate re-engineering efforts.

IS folks accuse upper management ofconstantly changing priorities, failing tosupport the IS folks, seeking outside advicewithout the participation of IS, not giving theIS manager a seat at the Executive Council,then criticising IS for failing to deliveragainst corporate goals. IS folks feelunappreciated, that the “plum” jobs go tooutside contractors while they are stuck withthe unglamorous maintenance chores, andthat management takes them for granted.Most IS directors feel that they dounderstand business already, and since theyalso know about technology they are the bestgroup to lead corporate-wide re-engineeringefforts.

Is there a middle ground, or will this constantwar of the resources kill any chance formutual understanding? Is there a way toblend the talents of both the business side ofthe house and the IS side of the house, sothat everyone gains from the experience?

As the move toward more efficient businessincreases — through the major restructuringof widespread corporate re-engineeringefforts and the move to client/server basedapplications — the need for better workingrelationships becomes even more important.For the survival of IS and business to utilisethe vast benefits possible from newtechnologies, it is time to stop the war andmove toward productive teamwork.

One way to bring the two sides together isthrough the successful management of newprojects. All current research shows that themost successful IS projects are those thathave good advance planning, good projectmanagement and the right people assigned tothe project including an Executive Sponsor.

From the confusion that still exists betweenthe business side and the IS side of mostorganisations, there seems to be a viableopportunity for improvement by defining therole of the Executive Sponsor. This paperprovides some guidelines for the people whomay find themselves asked to play the role ofExecutive Sponsor. IS directors can use thelist to open a discussion with their businessexecutives — hopefully providing anopportunity for more understanding.

Business executives who read can use the listto open a discussion with their CIO abouthow the two can better work together.

How to Sponsor a Successful Project

1. Understand what makes projects succeedor fail

2. Know the danger signs of troubledprojects

3. Appoint experienced project managersand team members

4. Use outside consultants to supplement,if necessary

5. Provide leadership, guidance andsupport to the team

6. Enforce the ground rules of good projectmanagement.

7. Help the team manage expectations

8. Conduct regular, productive committeemeetings

9. Hold people responsible and accountable

10. Don’t micro-manage the project

11. Stay out of the way most of the time

12. Know when to step in

13. Know when to ask for help

14. Don’t accept guesses — make sure thefacts support all project adjustments

15. Identify and solve small problems asthey surface

Page 22: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 22

16. Understand the dynamics of yourorganisation's culture

17. Use your political clout, if necessary

18. Be the project’s champion

19. Reward success

20. Set a good example.

Project Success Factors.

There is massive research on what makesprojects succeed and fail. Why then doprojects continue to fail at alarming rates?Only 16 % of IS projects were completed ontime and within budget, according to a 1995Computerworld report. Obviously, there area few folks who are not reading the researchor have missed a few tips along the way.

Some projects start out doing all the rightthings, then get in trouble. Others simplymeander along without any clear direction —“guided” by people hoping that things willsomehow fix themselves. Leading projectsrun like a well-oiled machine — arriving ontarget, within budget and meeting userexpectations.

What makes one project succeed ahead ofschedule where another fails miserably?

Known success factors:

1. A project manager with comparableexperience in large-scale endeavours

2. An experienced core team supplementedby outside experts

3. A well-defined project plan

4. A rigorous quality assurance process

5. Open, honest communications

6. A process for keeping the teamenergised and motivated

7. A committed executive sponsor with thetime and energy to be the projectchampion.

Factors that lead to project failure:

1. Incomplete requirements

2. Lack of user involvement

3. Lack of resources

4. Unrealistic expectations

5. Lack of executive support

6. Changing requirements andspecifications

7. Lack of planning.

Red Flags.

A key responsibility of the executive sponsoris to provide high-level guidance to theimplementation team and to be the project’schampion within the organisation. Thesponsor must be constantly encouraging theteam, yet watching for potential bumps in theroad that might de-rail a project.

Indicators of a high-risk project:

1. The project is the largest ever taken byan organisation

2. The project is highly integrated (that is,interlocking systems depend on eachother in order to function)

3. The software is new (or relatively new)and has not yet been proven in themarket

4. The software needs additionalmodification to meet your organisation'sneeds

5. The project uses leading edgetechnology (affectionately known asbleeding edge)

6. The project is out-sourced to consultantswho are inexperienced with a project ofcomparable size and/or unfamiliar withyour industry

7. Internal technical staff, key users and/orproject manager have not successfullyimplemented a project of comparablesize or complexity.

If any of the high-risk factors exist, theproject starts with a considerable handicap.Obviously, projects with multiple high-riskfactors have a higher handicap.

Page 23: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 23

Attention Software Developers andProcess Professionals

A large, undeveloped US and International market need exists in the Processindustries for recovery and display of remote information:

• Gas production, gathering, processing and transmission• Chemical plants• Refineries• Manufacturing industries

The market opportunity lies in management’s need to, recover andassimilate information in report and decision making format, the vast amountsof process information which is lying in PLC’s, SCADA and various metering,HMI storage devices,

This business “NICHE” is glaringly evident to the writer, who as a fast growthbusiness developer, is expert in identifying and partnering with technical folks[Specialty software companies, Regularity and Advanced Process Control] tosolve process and information control problems.

I seek an International firm that is:

• Skilled in WEB-based, Real Time, Process InformationTechnology

• Dedicated to US and International growth

I can develop the market and provide the management assimilationKnow-how at the project level

Please feel free to call me for additional information

John Thackway “FIT” Business Development Processes

2255 Eldridge Parkway • Suite 1516 • Houston, Texas • 77077281-647-6120 TEL • 832-483-6995 CEL

E-mail: [email protected] / [email protected]

Page 24: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 24

The executive sponsor may have tosupplement the project team (both technicalstaff and users) with experienced people —whether outside consultants or others in theorganisation — who have been through amajor project similar in scope to the newproject.

A key red flag: individual egos getting in theway of good teamwork. If this happens, theproject may have to be stopped until eitherchanges are made or sufficient training isdone to insure that people can work togetheras a team. The most elegant hardware andsophisticated system cannot overcomepeople’s resistance to accept the finishedproduct.

Consultants cansupplement he project team.

The value of consultants is extensiveexperience and unique skills gained throughmany different projects and many differentorganisations. Often, jealousy arises on thepart of internal staff, who feel they have beenbypassed by people who are outsiders. Thismay happen in user departments as well as inthe IS department. The greatest value ofusing consultants is when they become partof the team, working along side the internalstaff and sharing their experience so thatwhen they leave, internal staff has developednew skills.

If consultants do only a specified job (i.e.,implement and install a new system) withoutpassing along their knowledge to internalstaff, the organisation is weaker after theyleave — not stronger. This occurs when theorganisation becomes dependent onconsultants doing the work for them if staffdoes not take the initiative to improve theirown skills as the project progresses. Wheninternal staff does not accept consultants asvalued, respected members of the team, theentire team suffers. Some consultantsactually promote this type of separation byholding themselves aloof and apart fromtheir clients.

This is similar to a baseball team composedof nine players who are more concernedabout their individual priorities than thepriorities of the entire team. They do notassist each other or provide automaticbackup unless forced. A high-energy baseballteam functions as a fluid force, where theactions of the individual players flow as aunified movement of the team rather than asindividuals who wait for someone to tellthem what to do next.

A highly productive project team is possiblein the same way. To accomplish this, it takescommitment on the part of internal staff,external consultants, the executive sponsorand the support of the organisational culture.A one-time pep talk at the beginning of theproject is not the answer; ongoing leadershipexample and continuous efforts to encourageand reward team participation are vital to awell-functioning team, just as constantcoaching is needed to keep a winningbaseball team performing at their peakability. The executive sponsor should havethe human understanding, team-buildingskills and communications skills as well asthe broad organisational vision to be able toprevent such divisions from occurring, or tonip them in the bud should they surfaceduring the project.

Discord in the team continue can destroy theproject or lead to crippling cost over-runsdue to loss of productivity.

Assign experienced projectmanagers and team members.

The value of having the right people on theteam cannot be emphasised too much.Successful projects occur because the rightpeople are involved, not because ofhardware, software, networks, spiffy screendesign or any other technical gadgets. It isalways people who make the project work. Ifthe people are not committed to the project,to getting the right things done and workingtogether, no amount of fancy technology canmake the project succeed.

Page 25: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 25

One of the inherent dangers in technologyprojects is to become caught up in thetechnology and ignore the people issues. Theexecutive sponsor must be a people-orientedperson first and foremost. If they are able towork with technology issues, so much thebetter. The sponsor must be an inside coach,constantly promoting the positive aspects ofa project to the team as well as helping otherexecutives understand how the new projectwill benefit them.

Provide leadership.

Leadership is a fuzzy quality — people knowit when they see it, yet have difficultydescribing it exactly. One of the ways IS canhelp their executive sponsor is to participateactively in regularly scheduled project statusmeetings with the sponsor. Manyorganisations have established an ExecutiveTechnology Council or Project SteeringCommittee for this purpose. At thesemeetings, key members of the team shoulddiscuss the progress of the project, identifyand resolve outstanding issues, and brain-storm ways to make sure the project stays ontarget. Each person must be willing tounderstand the pressures faced by the others,then develop ways to deal whateverchallenges arise.

One-on-one meetings between the projectmanager(s) and the executive sponsor mustoccur regularly, in addition to the largergroup meetings. The one-on-one meetingsmust be an open forum and a vehicle fordeveloping rapport between the leaders ofthe project. Trust develops over time.Nothing builds trust between people betterthan a consistent working relationshipdevoted to solving mutual problems.

Leadership starts by setting a good example.When executives and IS work well together,their staff gets lessons in the right way to dothings. For all the good words managersmight deliver about motivation, nothingmotivates and inspires people better thanseeing a leader in action and watching howit is done. Leadership by Example is the by-

word of all great leaders.

Advice to the executive sponsor: If you don’tknow anything about technology, don’tpretend you do — ask IS management forhelp or ask another executive who iscomputer literate to help you. If you know alittle bit, be willing to learn and try to applywhat you learn to your day-to-dayresponsibilities. Be willing to learn from ISand be willing to share your businessknowledge with them. Try to find a middleground where you can build both your ownknowledge and develop a solid workingrelationship with a technology-savvy personto assist you when you need information.

Advice to IS management and staff: If youthink you are the expert on technology andyou cannot understand why business peoplehave trouble with technology, you arealready in deep trouble with your companymanagement. Be aware than many people arestill intimidated by technology; your arrogantattitude will not help you or them; businesspeople constantly complain about IS folksand their inability to speak in anything otherthan computer-speak. Be willing to explainthings step-by-step in ways the businesspeople can feel comfortable with you.

For top executives, sending someone to theirhome or to their office for one-on-onetutoring helps the executive learn by makingthem feel more comfortable. Find someonewho is a good teacher and can earn therespect of executives, then designate them asexecutive liaison — someone who will notlaugh at an executive’s simple questions, orthink they are stupid for asking. Anotherapproach is to find an executive who isalready computer literate to act as a “coach”for those executives who are still technologynovices.

Remember, teach executive how to usetechnology in their job, not become techno-wizards. Keep it simple and easy until theyask for more advanced instruction. If at allpossible, streamline menus and sign-onprocedures to make their technology

Page 26: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 26

experience as painless as possible. They wantbottom-line answers, not bytes!

Project management ground rules:

1. Good up-front planning with realisticbudgets and schedules;

2. Documentation of needs, goals,deliverables and status;

3. Standard project managementmethodology;

4. Candid communication at all times

5. Rigorous testing and quality assurance.

Occasionally, the sponsor must providediscipline to the team by setting a highstandard and refusing to short-cut the qualitycontrols. Projects often face delays as peopleunder-estimate the work required or find theywant to change or add features after they startseeing the prototypes.

Details of a project are often missed in theearly stages; people are anxious to getstarted, rather than spend time and energy inplanning. Successful projects allocate asignificant amount of time to developingplans, documenting needs, specifyingdeliverables, developing data models, andreviewing business procedures that will beimpacted. The planning process alone maytake 20-25% of the entire project budget.Short-cuts in the initial stages often lead todelays and revisions in the future —potentially de-railing the entire project ifmajor aspects are overlooked in the earlystages.

Manage expectations.

The executive sponsor must be sensitive tothe challenges every project faces and thehuman tendency to minimise change. Usersoften want to force a new system to fit theirold office procedures, rather than change theway they do business. The IS folks may holdfirm in their commitment to technologystandards, completing disregarding the user’sdesires.

The executive sponsor must be willing towatch for signs of resistance and deal withthem promptly, before they turn intounconscious project sabotage. Human beingsresist changes that are forced upon them.New technology systems, corporate re-engineering, massive down-sizing andgeneral society pressures make it even harderfor people to deal with the day-to-daypressures of corporate life. Understandingthe diverse humanistic forces at work requiredifferent skills than building a new widget orbuilding a new system.

A natural tendency to make a project “better”as it develops can lead to Scope Creep (anever-expanding project scope). As the newsystem grows and becomes available fortesting, many people will ask for littleimprovements. If the system has been welldesigned in the early planning andspecification stages, these changes should beminimal. If users have very differentexpectations than the system can deliver,disillusionment sets in quickly. For example,in today’s Windows-oriented world wherepeople have computers at home or seeexciting examples in the media, installing anold-style character-based system could leadto mass revolt in the office. Even if the ISdepartment has not promised a fancy newsystem, there may be a general level ofexpectation on the part of users. IS pays theprice of failure; the organisation pays theprice of widespread dissatisfaction and lowproductivity. These issues must be identifiedbefore the project begins, not after it is rolledout.

Many organisations are using prototyping asa way of developing specifications andmanaging user expectations. For example, amodel screen (prototype) is developed sousers can actually see how a screen mightlook. This way, expectations and usagepatterns can be uncovered very early. Then,the system can be built behind the scenes.With early involvement on a small scale,users have a sense of what is coming andhave more time to adapt; IS folks know theuser interface is acceptable early on. There

Page 27: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 27

are fewer surprises down the road. Again,advance preparation saves pain all around.

Regular steering committee meetings.

Strong teams develop through regular contactand shared objectives. Regular meetings ofthe Project Steering Committee (TechnologyCouncil, or whatever it is called in yourorganisation) provide a vehicle for problemresolution and status updates. In long-termprojects, the meetings may be weekly in thebeginning (when specifications are beingdeveloped), then move to monthly (while thetechnology is being developed), then more toweekly again (as people prepare for the finalstages).

A formal agenda and regular meeting timehelps people stay on topic and move themeetings along efficiently. The chair of thecommittee must be committed to the overallprocess of guiding the meetings so they areeffective, yet stay on topic. As peoplebecome more familiar with each other,meetings can degenerate to bitch sessions orto off-topic discussions. Each person’s viewsneed to be respected. However, sometimesoff-line meetings need to address thoseconcerns in order to keep the project oncourse.

Managing steering committee meetingseffectively includes individual discussionsbetween the Executive Sponsor, ISmanagement and individual project managersin planning the meeting agenda. The resultsof these individual discussions guide thesteering committee meetings. Walking into ahigh-level meeting and being hitunexpectedly with a number of critical issuesis not a good way to build rapport.

Hold people responsible and accountable.

Responsibility includes: delivering on plansand commitments, being part of the team,acknowledging when there are problems andbeing willing to adjust personal priorities infavour of the overall project priorities.

Each member of the team must understandthe rules of the project. And, they mustunderstand the penalties for not following therules. Too often, threats are made that haveno force behind them (Management byIntimidation), so people learn that the threatshave no value. Most people work best whenthey know where they stand. When theyunderstand what the rules are, what therewards are and what the penalties are for notfollowing the rules they are more likely to actconsistently. In organisations where “rules”are based on personal agenda, ego, orunpredictable actions, motivation andproductivity are impossible to maintain.

The entire team — starting with theExecutive Sponsor and the Project Manager— are responsible for clearly defining whatis expected from each member of the team.The team is also responsible for maintainingconsistency within the team. If someoneneeds help, they are responsible for askingfor help. If someone sees that another needshelp, they are responsible for trying to assist.If someone sees that work is being donebadly or improperly, they are responsible forreporting the problem to someone who candeal with it.

Occasionally, a single person does not fit in aproject team. While every effort should bemade to help them participate, sometimes theperson must be re-assigned to a moreappropriate job or fired from the project.Compassion and understanding cannotovercome incompetence. The sooner thereasons for someone’s lack of performanceare identified and dealt with, the sooner theentire team can return to productivity.Ignoring a person who is not contributing orwho weakens the entire team effort is notacceptable; the entire team cannot be placedat risk because of one person’s inability toperform, for whatever reason.

Certain things must be designated asintolerable: any abusive treatment orlanguage, any discriminatory or derogatorywords or actions, violence (including verbalassault) or any other physically inappropriate

Page 28: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 28

behaviour. Should intolerable actions orlanguage occur, management must deal withthe person immediately, removing them fromthe team.

Do not micro-manage the project.

Provide leadership, not micro-managementto the team. If you have hired the best projectmanager and developed a good rapport withthem, you should trust them to handle theday-to-day tasks. Ask them to report on howwell they are performing against your long-term goals and expect them to ask for yourassistance on strategic and political issues.

Know when to step in.

If you have developed a good workingrelationship with the project manager and theteam, and you get regular feedback onprogress, you should not step in. If, however,there are differences between your strategicgoals and the direction you see the projectmoving, it is time to pull in the reins a little.

Meet with the project manager and reviewyour goals and expectations again. Make surethey are able to repeat back to you what they“think” they heard you say. Explain yourconcerns and your suggestions for getting theproject back on track. Be willing to worktogether to find a better way. If you are facedwith political pressure and the projectbecomes delayed, make sure the projectmanager understands the implications tothem personally, as well as the implicationsfor the entire project.

Know when to ask for help.

Occasionally, the dynamics orcommunications between a sponsor and theproject manager (or the team) create asituation that is not working as well as itshould. That is the time to ask for help —from other executives who have encounteredsimilar situations, from the HumanResources department, or from trustedadvisors.

In all the personality research done in the lastfew years, the prevalent (or “typical”)personality type of IS folks is often verydifferent from the prevalent personality typeof executives and business-oriented people.This difference can create significantpersonality conflicts as well ascommunication difficulties. To resolve thesedifferences, some training and/or individualconsulting may be required to come to amutual understanding of goals.

Writing off conflicts (or differences inperspective) as simply “personality conflicts”does not get to the root of the problem.Ignoring the problem will only make it growworse. Dealing with it as quickly and asthoroughly as possible is the best solution. Ifit is not dealt with, the success of the projectis at serious risk.

Do not accept guesses.

People naturally want to please their“superiors.” This desire to please can lead tooverly optimistic project forecasts. Lack ofexperience in similar projects also leads tounderestimating implementation time. Thiswhere having the best project manager, themost experienced team members and a goodschedule/task management system pays hugedividends.

The best project control tools provide forboth capture of tasks completed againstexpectations, and a projection of the successrate for the balance of the project. Forexample, the initial project plan contains alist of tasks and the expected time for eachtask. Over time as tasks are completed, theexpected time is compared against the actualtime. If tasks tend to take 10% longer thanplanned, the remaining task estimates areautomatically increased by 10% to reflect amore realistic effort. If tasks are taking 50%longer than expected the future tasks shouldbe increased by 50% as well.

Be aware that industry research shows ISprojects frequently taking 200% or 300%longer than expected; the failure rate for

Page 29: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 29

projects never implemented is alarminglyhigh (31%). Do not be lulled into thinkingyour organisation is differently unless youhave facts to support a better success rate.

Identify and solve small problems as theysurface.

One of the reasons projects take longer thanexpected is that small problems appearconstantly — and are ignored. People changetheir mind as they begin to see the results ofthe new system. They “thought” they wanteda report one way, then realise they needsomething differently — leading to changesin task times and dates. People assigned tothe project change — and the requirementschange as a result — leading to more delays.As inexperienced users become moreeducated, they find that their proceduresmust change; that can lead to systemrequirements changes — and more delay.

Time spent in the beginning of a project insystem design, business process review andprototyping saves more than its weight ingold later on.

Prototyping sample screens and samplereports so people can “touch and feel” theend product before the system is created canunearth many of small issues. When peoplesee what they will get, they begin to getexcited about the final result. It becomesmore real for them, rather than a system thatwill be imposed on them “some day.” And,they have something tangible they can beginto work with in changing their businessoperations. Enthusiasm on the part of users isa major hurdle to overcome — the earlier itstarts, the better the project will be.

IS people often fail to do the “people” partsof the system, feeling that their only job is tobuild good computer system. In reality, thesystem will only be successful if people arewilling to use it. As the executive sponsor,your job is make sure that the people issuesand solutions are as important as thetechnical issues and solutions.

Understand the dynamics of yourorganisation's culture.

Each organisation has its own uniquecorporate culture (or corporate personality).Understanding the strengths and weaknessesof your organisation is your job. Translatingthat culture into guidance for the projectmanager and team is also your job. Using theknowledge of the culture to create asuccessful project is both your job and thejob of the project manager. You must both be“reading from the same script and singing thesame song.”

Projects often fail simply because thetechnical team failed to understand thecorporate culture, or the executive sponsordid not guide the team through the landmines that exist in most organisations. Forexample, the project steering committee (orIT Senior Governance committee) expectsregular reports on the progress of largeprojects. If a technical person makes a highlytechnical presentation, the audience may notunderstand or appreciate what is being said.You — as the executive sponsor — mustmake most high level presentations on theproject’s status. Or, you must groomsomeone to make the presentation in a waythat can be understood by non-technicalpeople.

Use your political clout, if necessary.

There will come a time when you must stepin and get something done politically that theteam cannot accomplish. Since your powermust be used sparingly, be sure of thesituation and all the facts before dropping thehammer on someone politically. Forexample, a business section manager isresisting the process of working with theteam or is not making changes in their officeto prepare for a new system. You couldcreate havoc with them directly or their lineexecutive (using a “big hammer”), or youcould draw the executive into a conversationwith the goal of helping everyone besuccessful (using the “velvet glove on aniron hand” approach). Ask for ideas about

Page 30: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Project Management

Methods & Tools * Fall 2000 * Page 30

how to break through the road-blocks. Letthem handle the problem of theirdepartmental resistance and report back toyou.

Involving other executives in solving aproblem goes a lot further toward toenhancing your own political clout thanhaving a lot of people think you’re a cold-hearted SOB! If you are the executive beingapproached due to resistance in one of yourpeople, work with those involved to createfeasible solutions rather than creating a newturf battle. The political benefits of ateamwork approach extend far beyondtoday’s issues to building a reputation asbeing very strong, yet fair and reasonable.

Be the project’s champion.

One of your most important roles is tochampion the project. Talk about it to othersand express excitement and enthusiasmabout it. If you have problems, work with theappropriate people to resolve them. Do notbad-mouth the project or the people or youwill look like the loser.

Remember Tom Sawyer and his enthusiasmabout painting the fence. When hecomplained, no one wanted to stay around;when got excited about paining, everyonewanted to join in. People everywhere react insimilar ways: the martyrs are left alone andthe Pied Pipers draw a crowd. Be the PiedPiper, not the martyr.

Reward success.

Positive actions must be acknowledged andrewarded in appropriate ways. Small,consistent actions mean a lot: a ”goodmorning” smile, “thank you” for a job welldone, needed supplies always being availableand a general level of respect for teammembers can do far more to keep the teammotivated than a party once a year in thegrand ballroom. Certainly, milestonecelebrations with fancy speeches are nice.

However, many people would rather have aday off, an engraved momento or an awardthey can frame. Others would prefer moneyor something they can share with theirfamily.

Set a good example.

In everything you do, set a good example.Show people how well you can work withthem by demonstrating your teamwork skills.Express enthusiasm by showing others howto stay excited and upbeat — even whenproblems surface. Tell others about theproject’s success by expressing excellentcommunications skills.

Constantly imagine yourself as the ExecutiveSponsor of the most successful project yourorganisation has ever had! This is the methodused by the most successful business peopleand athletes — using your powerful vision ofwhat is possible — to seeing it becomereality. Act as if you are a leader and otherpeople will sense it. Act as if you are themost successful Executive Sponsor ever andit will happen. This is not an ego trip. It isleadership at its finest.

Congratulations on a successful project!

Copyright 1995, Barbara Taylor.

This paper was first published in the January1997 of the old (paper) version of Methods &Tools

Page 31: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Quality

Methods & Tools * Fall 2000 * Page 31

In our changing industry, training isneeded to keep pace with the release ofnew tools and techniques, to get the rightskills to handle promotions in the projectmanagement track or simply to get themost out of the new release of a softwaredevelopment environment.

Sadly, training can often be considered asthe "lost benefit" of the softwaredevelopment jobs. You will often hear alot about it in the offers or the interviews,but you will have few occasions to enjoy itin regular jobs... Bad luck, as it seems thatorganisations that offer more training totheir software development employeesenjoy a higher quality for their softwaredevelopment process.

This affirmation is based on software processevaluations performed in recent years with63 medium to large software developmentunits, mainly in Europe and North America.The Capability Maturity Model (CMM) of

the Software Engineering Institute (SEI) isused as a basis to evaluate the quality of thesoftware development process. (go towww.sei.cmu.edu for more informationabout the SEI and the CMM).

The quality of the software process ismeasured by the M&A Index, an aggregatevalue defined by Martinig & Associates thattracks implementation of good practicesacross all the maturity levels of the CMM. Ahigh score for the M&A Index reflect thegood quality of the software developmentprocess of the software development unit. Inour evaluations, process-related items werecompleted with questions on technologies,staffing and project achievements.

Among the results of our evaluations, wefound that one organisation out of three givesits software developers less than one week oftraining per year. One organisation out oftwo gives its software project managers lessthan one week of training per year.

0102030405060708090

Less than 1 week 1 to 2 weeks 2 weeks to 1month

M&

A In

dex

Software engineering training and process quality

Training and Process Quality

Franco Martinig, [email protected], Martinig & Associates, www.martinig.ch

Page 32: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Quality

Methods & Tools * Fall 2000 * Page 32

As we see on the first chart, organisationsgiving less than 1 week of training each yearto their software developers achieve a qualitylevel that is only half of the level achieved byorganisations that give their softwaredeveloper more than two weeks of training.A similar difference, a little bit smallerhowever, can be detected in the second chartcomparing quality levels and the amount ofproject management training.

As in the chicken and egg story, it is difficultto determine if the aim for process qualitydetermine the level of training or if the levelof training is a contributor to the quality ofthe software development process. We knowhowever that most of the organisationssurveyed are not explicitly quality oriented.Only few of them have implemented qualityprograms like the ISO 9000 series or theCMM. Taking the opposite approach, itseems clear that companies that give littletraining to their software developmentemployees have a lower quality of thesoftware development process.

We can therefore say that it is not possible tohave a high quality software developmentprocess without giving the appropriate levelof training to software development

employees.

Of course, we know that the quality of thesoftware development process is in mostcorporation at best a nice to have in someslide show about the IT department. But ourdata shows that the process quality measuredby the M&A index is also linked to therespect of estimated deadlines and budgetsfor software development projects. (moreabout this in our next issue) This is concreteinformation that sounds pleasantly to the earsof the supporters of software processimprovement and should motivate everysoftware development unit to invest in adecent training program.

Martinig & Associates perform free processevaluations based on the Capability MaturityModel. You can download the questionnaireand see some global results on our web sitewww.martinig.ch/ae/procase.html.

The confidential individual evaluation resultsare sent to participants as a PDF file.

A special report concerning evaluations inNorth American and European banks is alsoavailable www.martinig/ae/bk98.html

010203040506070

Less than 1 week 1 to 2 weeks 2 weeks to 1month

M&

A In

dex

Project management training and process quality

Page 33: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Facts, News & Comments

Methods & Tools * Fall 2000 * Page 33

!!!! Products

New JBuilder from Inprise

Inprise/Borland (www.inprise.com) has justreleased at the beginning of September thenew version of its Java development tool.The tool supports the latest Java version andoffers functions for remote debugging.

Besides the technical news, this event isimportant as a sign of the return ofInprise/Borland to the "serious" activity ofproducing tools for the software developerafter its failed merger with Corel. The "backto the root" feeling is reinforced by the factthat the old Borland name is making a strongcomeback in the company's communicationitems. Without judging the products'qualities, it is in the best interest of thesoftware development community to haveanother strong competitor in our industry.

Visible releases Analyst 7.5

Visible Systems (www.visible.com) hasreleased at the end of August a new versionof its Visible Analyst. The main new featureis the support of the UML diagrams whichads to the feature of XML generation.

This release is another example showing thatthe modelling war has been definitively wonby the UML, after its adoption as a standardby the OMG. There is still some competition

left at the methodology level, but there aremany chances that the Rational UnifiedProcess will also dominate the commercialsoftware development world, even if someother organisations, like the OPEN or DSDMconsortiums, are offering alternativeapproaches.

" Companies

Hot Summer at the Head

It has been a hot summertime at the top ofsome of the largest software companies withthree CEOs saying good-bye to their job.

At Corel, the chief executive and founderMichael Cowpland has stepped down fromthe top spot. After failing its marriage withInprise/Borland and making a huge bet on adesktop Linux market that has not (yet?)materialised, Corel found itself in verydifficult financial position. About 20% of thework force (320 jobs) have been cut as adirect result of the failed merger. Just atwhen closing this edition, Corel is getting alarge cash infusion from Microsoft!

Informix announced also that it will cutabout 500 jobs as part of an effort to save 70to 80 millions of dollars a year. Thisannouncement was made after second quarterrevenue fell 4% from the same last-yearperiod. CEO Jean-Yves Dexmier was oustedonly one year after its nomination. The new

Improve Your Software Development!

Subscribe to E-ssentials!, a FREEFREEFREEFREE biweekly e-newsletter with how-to's forsuccessful project management and software development. Our tips, hottopics and techniques from industry experts will help you conquer youreveryday challenges!

"In almost every E-ssentials! there is an article that makes me think about how wework and how to make it better. You have given good thought to the articles, thelength, depth, and how often you send it.” – Richard Schoultz, Solutions Architect,Cross Communication AB

Subscribe FREE atSubscribe FREE atSubscribe FREE atSubscribe FREE at http://www.spc.ca/essehttp://www.spc.ca/essehttp://www.spc.ca/essehttp://www.spc.ca/esse

Page 34: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Facts, News & Comments

Methods & Tools * Fall 2000 * Page 34

CEO is Peter Gyenes, previously CEO ofArdent, a datawarehouse company acquiredby Informix at the beginning of this year. In areverse-take-over way, many former seniormanagers of Ardent have now been placed atthe top of Informix.

Finally, Charles Wang, the CEO ofComputer Associates (CA) has left its job,letting the operational direction to its longtime number two Sanjay Kumar. CAannounced it will refocus its business inthree areas: security, network managementand application development. Specialdivisions like the iCan-ASP will be spin off.Like its competitors BMC or Compuware,CA has recently suffered from the decline insales in the mainframe area.

The common fact between these threesituations is that the sharp decline of thestock price following the bad newsannouncement seems to be the mostimportant catalyst for change than thecustomers needs. We will not say that this isa surprise, especially for CA...

$9%£ Numbers

R.I.P.

• Over 60% of all Web-access data resideson a mainframe

• Cobol mainframes process more than83% of all transactions worldwide

• Over 95% of finance-insurance data isprocessed with Cobol

Source: "In Cobol's Defense", Roundtable,IEEE Software, March/April 2000.

I am not afraid personally of the death ofCobol and the end of the mainframe alreadyannounced in the 90s... but I will be muchworried in 20 years after the death of the lastremaining mainframe Cobol programmer!

Project Success (and Failure!) Profiles Here are some numbers from the famousStandish Group research on how softwaredevelopment projects reach success, or moreprecisely failure. These numbers are theresult of a study conducted with 365organisations representing 8'380applications. According to the study, 31% ofthe projects were cancelled before evergetting completed. Project Success Factors

1. User Involvement 15,9%

2. Executive Management Support 13,9%

3. Clear Requirements 13,0%

4. Proper Planning 9,6%

5. Realistic Expectations 8,2%

6. Smaller Milestones 7,7%

7. Competent Staff 7,2%

8. Ownership 5,3%

9. Clear Vision & Objectives 2,9%

10. Hard-Working Staff 2,4%

Other 13,9%

Project Challenged Factors

1. Lack of User Input 12,8%

2. Incomplete Requirements 12,3%

3. Changing Requirements 11,8%

4. Lack of Executive Support 7,5%

5. Technology Incompetence 7,0%

6. Lack of Resources 6,4%

7. Unrealistic Expectations 5,9%

8. Unclear Objectives 5,3%

9. Unrealistic Time Frames 4,3%

10. New Technology 3,7%

Other 23,0%

Page 35: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Facts, News & Comments

Methods & Tools * Fall 2000 * Page 35

Project Impaired Factors

1. Incomplete Requirements 13,1%

2. Lack of User Involvement 12,4%

3. Lack of Resources 10,6%

4. Unrealistic Expectations 9,9%

5. Lack of Executive Support 9,3%

6. Changing Requirements 8,7%

7. Lack of Planning 8,1%

8. Didn't Need It Any Longer 7,5%

9. Lack of IT management 6,2%

10. Technology Illiteracy 4,3%

Other 9,9% Source: Standish Group, Chaos Project,http://standishgroup.com/visitor/chaos.htm The evidence is here: users are still thebiggest problem in software developmentprojects...:-]

# In Others' Words

Is the Web different?

"About every 10 years or so, a major newsoftware related technology captures theindustry's consciousness. Avant gardesoftware folks claim it as their own, and inso doing, become the darlings of thetechnological scene. High salaries,considerable prestige, and no small amountof hubris are sure to follow. The corps ofavant garde adherents argue that the newtechnology is truly different, requiring a new"paradigm." The ways of the past simplydon't apply. In fact, the old ways can'tpossibly be adapted to a new set of businessrules and technological realities. As a result,the avant garde reject the disciplines of thegeneration that preceded them, but ironically,adopt approaches that failed miserably a fewgenerations back.

The Internet and the vast array of

applications that it has spawned areundoubtedly a major new software relatedtechnology. I won't bore you with theobvious clichés; suffice it to say that theInternet and the WebApps that populate itare big - very big - and that their impact isprofound.

What worries me is that this major newtechnology has become a breeding groundfor important WebApps that are hacked inmuch the same way as important applicationsoftware was hacked a few generations back- in the 1960s and 1970s.

WebApps have to be hacked, argue the avantgarde (who, of course, would never use theword "hacked"), because:

• WebApps must be developed in days orweeks - time frames that don't allow foranything but a rush to the finish line.

• WebApps are constantly evolving - sowhy spend time specifying what's neededand designing how to build it wheneverything will change anyway?

• WebApps are inherently different thanapplication software - content (text,graphics, images, audio, and video, forexample) is inextricably integrated withprocedural processing.

• The people who use WebApps are moretolerant of errors. What users really wantare cool Web sites that are up andrunning in days, and besides, it's almostimpossible to know what WebApp usersreally want, because the demographics ofWeb visitors are so hard to predict.

• The people who build WebApps aredifferent - free-thinkers all - whocertainly would feel unduly constrainedby the old ways. In fact, talk ofdisciplined approach - other than build it,test it to death (if time permits), and thenput it online - usually results in grimacesall around.

Of course, I'm overstating my point a bit, butyou get the picture. Too many WebAppdevelopers make these statements in an

Page 36: METHODS & TOOLS · Between the leading browsers, there are differences in the appearance of web pages containing identical HTML that has been validated. These differences are often

Facts, News & Comments

Methods & Tools * Fall 2000 * Page 36

attempt to erect barricades against an oldschool view that suggests a disciplined,engineering approach to the creation ofbusiness critical Web-based systems.

[...] This leads us to the pivotal question:Can software engineering principles,concepts, and methods be applied toWebApp development? I believe that manyof them can, but their application mayrequire a somewhat different spin.

[...] I contend that software engineeringprinciples always work. It's neverinappropriate to stress solid problem solving,good design, and thorough testing (not tomention the control of change, an emphasison quality, yadda, yadda). A specificsoftware process might fail because it isoverkill, or the work products it requires areunnecessary or burdensome, or a person orteam becomes overly dogmatic in theapplication of the process. But history is onthe side of a solid engineering approach.

[...] There is much managers can learn fromthe new generation of WebApp developers -their enthusiasm, creativity, technicalcompetence, and innate understanding ofwhat makes a good WebApp must not be

ignored. But there are also things that thenew generation can learn from those of uswho have been around the block a few times.The question, really, is whether anymeaningful learning will occur (in eitherdirection).

[...] The philosopher George Santayanathought hard when he made the comment:"Those who forget the past are doomed torepeat it." But maybe that's our karma in thesoftware biz. There's absolutely nothing thatI've seen over the past 30 years to make methink otherwise."

Source: "What a Tangled Web We Weave",Roger S. Pressman, IEEE Software,January/February 2000

Do you want to change your karma?

! Coming next in Methods & Tools

• Software Configuration for the Web

• QA for the Web Project

• Data Warehouse Design

Classified Advertisement

Advertising for a new Web development tool? Looking to recruitsoftware developers? Promoting a conference or a book?Organising software development related training? This space iswaiting for you at the price of US $ 20 each line. Reach morethan 7'500 web-savvy software developers and project managersworldwide with a classified advertisement in Methods & Tools.Without counting those that download the issue without beingregistered! To advertise in this section or to place a page adsimply send an e-mail to [email protected]

METHODS & TOOLS (ISSN 1023-4918) is published by Martinig & Associates,Rue des Marronniers 25, CH-1800 Vevey, Switzerland Tel. +41 21 922 13 00 Fax +41 21 921 23 53Editor: Franco Martinig; e-mail [email protected] subscription: www.martinig.ch/mt/index.htmlThe content of this publication cannot be reproduced without prior written consent of the publisherCopyright 2000, Martinig & Associates