CA2233359A1 - Computer software development time management and task completion and prediction apparatus - Google Patents

Computer software development time management and task completion and prediction apparatus Download PDF

Info

Publication number
CA2233359A1
CA2233359A1 CA 2233359 CA2233359A CA2233359A1 CA 2233359 A1 CA2233359 A1 CA 2233359A1 CA 2233359 CA2233359 CA 2233359 CA 2233359 A CA2233359 A CA 2233359A CA 2233359 A1 CA2233359 A1 CA 2233359A1
Authority
CA
Canada
Prior art keywords
project
data
task
completion
time management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA 2233359
Other languages
French (fr)
Inventor
Stephen Kaufer
Marco A. Emrich
A.S. Sivakumar
Thomas Palka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centerline Software Inc
Original Assignee
Centerline Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centerline Software Inc filed Critical Centerline Software Inc
Priority to CA 2233359 priority Critical patent/CA2233359A1/en
Priority to US09/277,732 priority patent/US6519763B1/en
Priority to CA002267476A priority patent/CA2267476A1/en
Publication of CA2233359A1 publication Critical patent/CA2233359A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting

Abstract

A computer software application en the form of a time management and task completion and prediction apparatus by which project completion can be ascertained and management of a project can be maintained with a high efficiency and accuracy. The software application is a web-based application which enables users to proactively manage and accurately predict strategic software development and deliverables. This application and delivery management system comprises distributed data collectors, an application server and a browser interface. The data collectors automatically gather data already being generated by various tools within the organization. This data is constantly being collected and fed into the application server, thereby providing objective and updated information. New tools can be easily added without disrupting operations. The data collected is fed into the application server which is the brain of the apparatus. The application server analyzes the data collected by the data collectors to generate a statistically significant probability curve. This curve is then compared to the original planned schedule of product delivery to determine if the project is meeting its targets. Based upon this comparison, the software application predicts a probable delivery date based upon the various inputs and variables from the development process. In addition, the application server also generate early warning alerts, as needed and indicated. At such time as the software apparatus identifies a potential problem, the alerts automatically inform the user, so as to mitigate a crisis and assist with resolution of the problem. The alerts are communicated to the designated user by e-mail. The final component of the application server is the software quality management capability, which ensures that all of the manual and automated testing activities are coordinated and archived.

Description

MAR-30-96 17:36 From:DIMOCK STRATTON CLARIZID 4169716638 T-601 P.OB Job-907 COMPUTER BOF'hVwRE DEVELOPMENT TIME MA1~AGEMEN~' AND TASK COMPLETION & PREDICTION APPARATUS
Field o>f the Invention--1;'he prescan,r,veatioa generally relates Lo the processing of project completion data relating to computer software development, and more parttcutatly tn the man~pulatiou of the acoutaulat~d data through a Mante Curio simulation is order to analyze at~d determine projected prqiect completion based upon curr~eat information made available throw accumulated data extracted through project monitoring and user input, if desired. Both projected projec>c completion and projected potential development difficulci~ ate ascertai:~ed in prder to alert andlor apprize system uter'! of current proj ect status.
Baetrground o>e the Iaventi~an:
SutIAmary of the Ynveatioo:
In accordance with the present in~entiora, the foregoing abjeetives are mct by a data extraction and manipulation process which eirrploys a taatheTnatical algorithm m piovide a prediction of andcipatcd project eomplecivu ~~nth caharaeed accuracy. papa ~ollectiua is.
accomplished. through the use of data collectors specifically designed co extract dsrta from twols 03/30/98 MON 14:33 [TX/RX NO 78121 ~ 008 MAR-30-96 17:36 From:DIMOCK STRATTON CIARIZID 4169716636 T-601 P.09 Job-907 utilized to accumulate dada. Data is accumulated by the data colleetocs and then tiansferted to a CDmptltCt ByBtettl functioning as the application server. The data correctors arc automated tn gather data gra~etatcd by khe tools within the system organization.
Accordingly, the colle~ed data is stared on an application serirer for evaluation of the schedule for projected completion and projoct status.
The data extraction and izianipulation process further meets the foregoing objectives by eruployittg the aforementioned mathematical algorithm to provide the ability to alert system users tn potential diff culties which may affect project completion prior to the occurrence of such difficulties in order far system users tn be able to make necessary adjustutents t,o zninitai9;e car prevent such projected difficulties from occurring. In a preferred ettibodimertt of the invention, data Collectors arc used to obtain and accept project information srorod oa vuious cotaputers on a corporate network, wherein the data collected is then subject to an algorithm, inclulding dse use of a Monte Carto simulation, for predictipn of project completion and scheduled deli~sty.
AS a fu~her embodiment of the invention, tl~c present iaveotion establishes a prob2!biLity cone for the projected schedule of completion far e~cb task defined as a concrete deliverable unit of work- "The Monte C$rlo simulation is conducted over a plurality of iteratioas-All simulations are tva on the same set of data, which has been collected from all of the tools, The data abta.ined from the himulations is farted an a probability curare for assigning a confidence love! for project cpmpletion in view of the gtvea task required to complete the project- The system may be utilised to generate simulations for addltior~aI projects which may be concurrently under production. Accordingly) the simulation algorithm may be applied for oat speeifc project 03/30/98 MON 14:33 [TX/RX NO 78121 f~00!3 I~AR~-3D-98 17:37 From:DIMOCK STRATTON CLARIZID 4169716638 T-601 P.10 Job-907 or muhiple projects, or cbe user may specify for an analysis to be conducted ou) ope or more specific projects.
Further features of the present invention) and the advantages offered thereby) arE
explained hereioaf tar with reference to specific examples illustrated is the accompanying drawings.
Brief Description o>>'the Drawings , .. . . . ._... _. . .. .
Fig. I is a schematic illustration of the system;
Fig- 2 is an illustration of a sample directory strucnue of the soRware;
Fig. 3 is a sampic dialogue box for b~t~ag 'ask information;
Fig. 4 is a sample dialogue bo= for gathering Milestaae information;
Fig. S is a layouk of the technical structure;
Fig. 6 is an illustration of the algorithm far prediction; and Fig. 7 ie sa illustration of the algorithm for cresting pmhability etttYes.
Deacsriptiua of the Preferred Embodimen>xs To facilitate an urlderstaanding of its underly~g concepts, the present iavetrtion i8 explained vvitlx reference to a schematic diagram arid a sample directory layout structure- It wih be $ppreciattr, howetYer, that tht pCinciplcs of the prcsctit invention are not limired to the examples presented in the illustrations. Rather, they erc applicable to any si'tuatioa in rich it is 03/30/98 MON 14:33 [TX/RX NO 7812] ~ 01(1 MAR-30-98 1T:3T From:DIMOCK STRATTON CLARIZIO 4169716638 T-601 P.11 Job-9ol desirable to proYidc timc rrrat,agement of a praj~t sad predict completion of the project for dclivcry_ A$ noted preciously, ~e PmJect prediction is primarily based upon extracting Aa~t$
fmm multiple independent foals and applying a mathematical algorithm to the data, As will bccrnae apparent from the following description. a significant aspect of the use of the technique is that it allows the user to concentrate their enct~y on s timely delivery of a product within the parameters of ongoing dtvclopment while minimizing interference pith the devclopmeet process, The resulting delivery prediction is defined by the input of development conditions in the form of acntmulated data-An explanation of the monomer in which mathematical al&orithma are applied ro the systems to predict project compleaoa wul first be described in a general mar~er'witb rc~aae co a achema>>:ic illustration of a system layout, as is illustrated in Fig. 1.
This figure shows a schematic illustration 10 of the system architecture. The system is comprised of a systeaz server carnputer 20, fi>rther votaprisiag an application server 22. a database 24, a web brow~r (pot shov~rn)) and data collaetors (not shown). The s~ratcm fisrther comprises lZemnte Managers 30, which are prog~tams that run pa workstations from which data is collected, and cvmprasing communication tools (commonly referred to as Web Browse) which are used to access elects and reports generated by the system.
The $pplication server 2Z is the central component of tho system- T~le primary respopsibilities of the application server 22 are: storing project information in the database 24, accepting prvjeet information from the data colleetots) and generating periodic reports and alerts regarding the status of the project. Ac such time as reports sad alerts are generated by the system) 03/30/98 MON 14:33 [TY/RX ND 7812] ~ 011 MAR-30-98 17:37 From:DIMOCK STRATTON CLARIZIO 4169716638 T-601 p.12 Job-907 they are presented to the natty by means of a web browser 42. Accordingly, the applie8tion server ;e! 2 is thr central component of the system) with its primary tike and >Fuao~tione being eo spawn data collector's, tttar>age the database, analyze database information and generate rrports) and to gene~te alerts based upcan deviation of the projected time for prodtact delivery from system users' d~cired time for product delivery.
D8W coEtecwts are stand alone $pplications whose fir~tttinp is CO uCtzapt dgtg ~
third party tools, such es defect trackia~ tools. A list of available data collector' is stored in a,a index file in 3 collect directory created for each projece under scrtrQay.
.Data collecwrs collect the data by varipua means and write the output to a temporary text file on a client workstation 40, After data aallection is cortapleted, the text file is trartsforred frota the client workstation 40 to the application serve3 Z2 which then parsna tho text ftlc of eolltcted informs'on ~ ~~ ~e p~ject database 2a with the data from the individual tool) Aa explanation of the system installatipn and layout will bet dzscribed in a general taanner td illustrate and best explain the orgaaizaridn and functions of the system, The layout will further provide fva~6er infarrnati~ as to how the data is colleeGed, mattsged) evgl~
presented to the user. A sample directory tree stntcttuz which coaraias prodtiat files is illtasbated in Fig. ~. Far pw-pnae$ of clarification, where terms appear is full capital letteri,pg they are intended to represent the nacre ,given to a specific directory within the sample d;~w~, pie.
However, the scope of the disclosure should not be limited to the titles of the directories presented A person skilled in the art tray appreciate that altsrastive di~tnry ~i~~ns may be utilized.
The directory layout cornpri,ses a root direewry ecmcaining five dirnctorics 03/30/98 MON 14:33 [TX/RX NO 78121 [012 MAR-30-98 17:38 From:DIMOCK STRATTDN CLARIZIO 4169716638 T-601 P.13 Jo6-907 (hercina~Rer "fast level directnriea~'~ within one ldvel of the root dirsctdty. The first level directories are, is order of Ihuatration is Fig. Z- 1 ) an operatins syst2rn directory which shall be named according to ~e op~h°g system df the computer system beir~8 utilized, Z) a c :ONFIGUItATION directory where Configuration related hypertext ntatlcup language ~reinafter "hnrtl '7 files are located, 3) a PROTECTS directory, 4) a COMMON
directory, and ;5) a TEMPIt.A'fE directory.
For puiposes of further explanation and clarification.of the syscetn~layout and installation in the preferred embodiment, the PROJECTS diteoto~cy) the COMMON
directory, and the TfiMPLATE directory shall be eaplared in detail. These three directories functiva to manage and organire the cohsction and pre$entation of data pertaining to the g~ivea projects 'being maetrtained on the system.
The TEMPLATE directory contains Itte virgin (ilea that etre utilized to form each new pr4ject system data collection sad observation function as new projects ate added to the system. The T$MPLATE directory contains 'the original file index for each new project and a tool for Bddiag new 1~.1~ t° ~e system for placement into and creation of new sub PR0~1EC'f5 diseCtbrtie& for tech nc~~ profit. As a near projdet is added to the system through the use of the files contained in the 'I'~lulpLATG directory, the directory structure and files are utilized as a templets within a new project's directory located within the PROJE~: fS directory, as shall be further described below, and thereby provide the basis for the initial formation of a new project's discrete directory arid f le structiwe. Accordingly. ~e TE~LATE
directory functions s1s the templets for the di9crete project directories sad files required for each new project as a project is added to the system_ MAR-30-98 1T:36 From:DIMOCK STRATTON CLARIZID 4169T1663B T-601 P.14 Job-907 The PROJECTS directory coatairrs she sub~ircctories and specific files for each project and for computation arcd rtpordag for all projectr, corabinad by gray of the FNl'ERPRiSE
sub-directory within the PROTECTS directory, as shall be mere fully explained below_ The addition of tech new project as it is configured within the system through the files located within the TEMPLATE direetoty. cults in the creation by the system of a new sub-directory and prvjvcc tiles and indexes vritbin the PROJECTS directory for udliaration by the dlsetete psqject.
.la this way the original files locstad within the TEMPLATE directory and the TEMPLATE
dirtsccary's sub-directory stnrcture are reproduced with the addition of the newly encored ~projecc coafiguratic~n information discussed above, to pmvide for the segregation of cacti project's specific files within that project's individual directory. As illustrated is Fib. 2 by way of example tlarvugh the use of tbc "Skiarler" proJeet, a P'''ojeot~s sub-direetcuy s~tructuse will r~dimic chat of the TEMPLATE directory with the addirioa of an ARCHIVES aub~ir'ectory which is utilized to house the reports generated by the system for the specific project further utilising a sub-directory structure aimed at maintaining report ircformutiori by timeldate of report ge~ne~uon through the bache~ utili~atinn of the TEMPLATE/REpORT sub-directory and file structure for status, quality, schedule 2md functipnnlity reports for the speeific ptbject-Accordingly, ~e PROJECTS directory houses the discrete directory and sub-directory structure, files, and indexes required for each discrete projaa, and as new projects arc added to the syst$rn) new project specific sub-directory struCtuns Sre cre8ted to house the necessary project sub.directc~ries, >Sles, and indexes.
Within the PROJECTS direecory) the system eaaintsins the ENTERPRISE
directory where computation and reporting occurs for all projects as a group.
As wish other 03/30/98 MON 14:33 [TX/RX ND 7812] 1014 MAR-3o-se lT:3a From:DIMOCK STRATTON CLARIZIO 41sa71ss3a T-sD1 P.15 Job-soT
~ojeet cub-directories, there exists COMMON, ANALYZE and REPORTS sub-~direetories, each containing their inde~c t'Ile(s). Accordingly, this directory is excicutad following the exeeatioa of all projects in the PROJECTS directory and houses the necessary cumulative files, Indexes, and information for Tepottiag on all system projects.
The system further comprises a. COMMON direcmty which has a list of common files that are irtagrated throughout the product_ In this way the COMMON
directory contains files common to all of the projects on the system- This c~ixeetoty is when product-wide and company-wide alerts andlor reports are stored, cad where multiple prc~jerets can share information, programs and reports. In this way) the system provides one template file for each data collector per third party tool, and one location far eotamol<ly abed report and analysis progams. Accordingly, the common directerry function as the location for files and tr.~mplatcs common to all projccts_ While configuring the project, the user is prompted to select the set of tools from each of the different categories- For each of the tools selected) the irnformation from the colle~ctvr tEmplate file is acceacacd and the system user is prompted for values for the ~arioua fietd~. Once all values are obtained, the data aoilector f ie iwwritten into a specific project's COLLECT
directory. 1"he field values which are specified at the time of coa>ftguration arc then a~~ailable es environment variables when the data is collected for that specific project.
The names of these environment variables can be specified in the template files.
Furthermore, as can be gleaned .from the above discussion of the TEMPLATE
directp,ry, the syatam is neat lisniced to the initial projects provided with and progt$mtrted' into the gy~tem) rather new projects may be added on asp as needed basis by mtatrs of a web brovyser. Ia ..g-03/30/98 MON 14;33 [TX/RX NO 7812] ~ OlFi MAR-30-98 17:38 From:DIMOCK STRATTON CLARIZID 4169716638 T-601 P.16 Job-907 cinder to e,dd a new pt4leet to the system: the user will be prompted far infa:ttoshon so that the 5~ystem is tttnflgured to look >~r data: from the newly added psoiec~ First, the system prampt~ the user to identify which data sources era available. For configuri0.tloa of each data :nurse) the user will 'initially have to gpeGify a host name, a path to the data ~1~ or database) available op6ions wrhare appropriate, ind ether tool specific iafonnatioa t6st tray be necessary. Now data collector f les ace :hen generated by the sysL-'at hasdd upon the snputtod infvrmstion.
wherein such files may be tnsaually modified at a later brine; if necessary: Second, the system ptotnpts the user tn indicate message delivery locations (=_e_ e-mail addresses) of system users (i.e. team metnbera) who should receive alerts I~om tkte system es to project completion and delivery scbedula matters generated for the new project- Bacb team member whose e-mail addresses is listed in the system for tlae i,tudieatred ptoj cot will eecei~e all of the alerts generated-Alerts ere thereby utili~d by the systetrl as a me~a~ais» fo>r uotifyirlg team members when there era pvter~tial problon~s with the projocl, such as whcu deadlines have uat been met or task completion is prpj~
to dolly the given Project completion schedule- Finally. ~e systepn pMtlipt~ the user to indicate a schedule for collection of dat8 from the databases so that the system tray detcctnina progress of the project and g~a~atc any nocesarry alerts on the system usa,r's desired schedule- All data i#i collected cfn the same schedule. Accordingly, the sysum provides the above discussed outlivae for adding additional pmjeeta or data sotuces to the system ov an as need basis.
As illustrated by Fig. 2 and indicated above, three sub-direccocies ate precept within the COMMON and 'fZ~MPLATE directories- These directories are the REPORT;
ANALYZE and COLLfiCT directories. Tire R.)EPORT directory coataiits the iade~c file which lists the path8 of the blml ellCS used for report ganGration. Each hrml file is designed and utili~d _g_ 03/30/98 )HON 14:33 [TX/RX NO 78121 ~ 016 MAR-30-96 17:39 From:DIMOCK STRATTON CLARIZIO 4169716636 T-601 P.17 Job-9o7 to produce a page of a t'tpott. ?he htrnJ fifes c~ be located in the TEMFL,ATFJREPORT, directory, COMMON/ttF~ORT directory, or each project specific REPORT
directory, depending tan whether they arc abated betWeea projects. The report ir~d'sx files have s cimple structure:
I ..-d..,..._....,o~t,~,-m-oeaerate-kev>_<htrnl filename to process> ~
Preferably the values for try into the nxheu-to-generate-key> field are anyrimt;, daily, weekly, or mantbly: ~har~ po value is eoter~i in the <when-to-gennat~-key> field) the default valuo of aayd:ae is utilized for report gan~ratioa. Fsxh bi'rrl file rnay contain pre-pt'ocese'iag directives that dtactibe which Ittarl files to in~tude of what corumaods to cxmutc.
The ANALYZE sub-directory of the COMMON directory contains one Ells per ~n~ p~~, p~yxers axe progtatt~s that interface with the application ~aNer attd date, analyze the darn) and write their results to a set of tables. These results can than be used. and mauipulatcd to generate the desired reports sad create projections of project ccaopletior~
or issue relevant alert messages to indicated system users. Similar to the REPORTS directory, the ANALYZE sub-directory of each project directory eootains an index file which vats the analyzer programs which will be u4[ized far the wets project. the faQmat is namely:
<t)rpe-of analysia>:<fraquenuy-to-computr~:~t~ame~of artalyacr file "1~8 apalyzer programs are iuitiBteC in the scqueaacc in which theyr appear isi the index li~t_ Options available for the <type-of ~alysis~ field are "alert" and "analysis; ' which provadea the ability to parse the analysis proce~sing function between analysis which may be utilised; for ~10-03/30/98 MON 14:33 [TX/RX NO 7812] ~ O1'7 MAR-30-9B 17:39 From:DIMOCK STRATTON CLARIZID 4169716638 T-601 P.18 Job-907 rapvrt geaecation or analysis which may be utilised for alert e4tnail initiatioa_ The <6reqtsettcy- -to-eatnpute~ iudicaces the fraquaney with which to perForm the analysis calcularioa selected. As with the index iri the REPt7R"fS directory, vptivns for tktis field ace:
$nytime) daily, weekly and monthly_ For example, the rode= may be configured so that computation of s project's prajexted schedule of cottapletion may be calculated anytime) and the index may be configured so that alestt ace provided daily for alerts that caa be generated on a daily basis and weekly fur alerts that require analysis based upon weelrly date. to a preferred etrrbodimaut, the default systalm configuration prpvides for the exeGUtion of the analyze files at 1;00 a.m., however, the scope of the invention should not be limited to this time for execution of the analyze files as this default can this be altered as needed. As such, the Application Server 22 reviews the analyze index ftla($), rw>hich directs the program to the analyze files and rutz3 any analyze pro~ams marked as dairy that bane not be~a run within Gha lest twenty four bouss. A similar schedule is followed far weekly and monthly reports- However, when anytime is the selec>red in~erval for rbc analyze files) at the time xriy data is collected the analyze files wiE1 be executed.
Accordingly, whether a systata user initiates an analysis far report generation car an analysis for alert generation, the gy*tem user has the option of selecting the time frame for the analysis cycle.
Furtherrmore, the lflathematical algnrithtas developed fhr and conta~iaed within the system are erlabedded in one or more analyze files. However, far purposes of uti!'sziag the mathematical algorithms, the time frame for initiating the algorithms is set at "anytime."
Therefpr, the prediction component of the syxtem remains constantly updated as data flows into the syatEm_ Accordingly. alerts sad analysis may be efftaieatly prrwided in any of the a~railable time fz7uucs selected by the user as the prediction component is cotisf$atly updated.
_11_ 03/30/98 MON 14:33 [TX/RX NO 7812] ~ 018 MAR-30-98 17:39 From:DIMOCK STRATTON CLARIZIO 4169716638 T-601 P.19 Jah-907 Finally, each pmjeet's COLLECT directory ccmtailps one project specific data collector filc par third party tool subject to data collection for the respective project. The project specific data collector fills are er~ted during the configuration of a project. It vs important to note that a project may hare multiple schedules is which there pote~t~ally could bs multvple data collector files for the project. Ln suuh a case, the application server assembles a list of data collectors available based upon the data collector files is the COLLECT
directory Fur the specific project and thereby retrieves the necessary information as how to obtain the necessary data through the d$ta collectot developed for wllecrion of data from a specif o third party ta4l.
The system's ability to access a myriad of data sources through the use of various data collectors specifically dcaigned to access a data source, and the ability and methods of acquiring and aaalyzine data are some of the novel areas within the system eatbodiied ire the presec~t invention. M4re specifically, the syettm comprises data collectors cant da?a collector programs for collediug the data from the data sources available an the uacr'a sjratem by various means and writes the output to a temporary tile- For example, the system may access tht following data. sources if available: project schedules rnai,ntaiaed is Microsoft l~vject; dcf~t reports stared in PVCS Traclcsr; reauuements stot~d in Microsoft Word; and testing infprntation stored is AequaISQM. However, the system need ct<ot be limited to the aforeenetttiuned°project management softwate_ The system is designed to accottunvdatG and utilise alternative spurcea for gathering information on the state of the project and progress of develc~pm~at-After the collection of data is completed by the data collector, the file is feat to the Application Server 22 and parsed to exr~aet the data eoLlected by the data collector. 'fI~ data file gated by the data collector is a simple text file utilizing keywords to specify wheat data is 03/30/98 MON 14:33 (TX/RX NO 7812] ~ 019 ,M11R-30-98 17:39 From:DIMOCK STRATTON CLARIZIO 4169716638 T-601 P.20 Job-907 being traaafexred to the application server. The keywords are illustrated in the followi>otg table:
Keyword Deacri tivn tablena'me=NAME Start data for table NAME

liable End dare for current table column name=NAME Dcclascs a coluam NAME

row Stan s new data mw /lOw End cuacrit row options ititittte=~stiing>Sets some options) i:e:'last modification time.

options mode--rEplaceTells application nerve to delete the records in the existitlg tables, i.e. a full overwrite. I3istory is still maintained.

options rnode-updateTells application server to consider the tables as incr~aental a tts.

For each data table that is written to the database fde, the file cantsins the table eommattd followed by a sat of column commands. Each column command declares the set of cohutzns that will appear in the given file. Each row provides values for s~cactly as many columns ~s were declax-c:d. 'flat values for the rows are then provided) each one stetting with 8 line eclatelaitig the mw eotnmaads with ot~e held per line, followed by the end row command. The row end end row block may be repeated as many time as there are rows. The table ends with the ehd table command. Fidds having embedded newlines may be specified by using a backslash at the end of the lice to end the command.
The "options mode=t'eplace" command instructs the system to delete the ~existiug I
table cotltents. This replace comm~wd is used whrn pasoing requirerrva~nt doc~uneai9 arei utilized.
With reqtairement documents the only way to know that a requirement has »een deleted as when it ~13 03/30/98 MON 14:33 [TX/RX NO 7812] ~ 020 MAR-30-96 17:40 From:DIMOCK STRATTON CLAR1110 4169716638 T-601 p.Zl Jo6-907 its tso longer in the set being tzaasfeTred_ By utilizing the "options mode'~tCplace" Govut~and, the system ensures tktat new requirements completely replace ~~Id ones in Ibe given tablrr. However, prior to initiation of the "option taodrr=replace" comatand pest records mass be written to the application server's database to insure retention of the date is the systetaa for analysis, report sad alert getser$ting purposes. Accordingly, the use 4f the "option made--replace"
~mtnand. is iateoded .to facilitate date collection through data collectors designed to extract data from third parry tools that do not maintaip a notion.uf a transaction ~cvrd- _ . .
The "options tttode~pdate" comtitand is utilized to point to a location in:
the database intended to indicate the division between data already processed and update date which has not yet been processed. The "option mode~pdate' etammaad is used by data aollectots where there exists transaction records that serves as a markrsr so that thn transfer of the entire database need not be repos~ted. Accordingly) in this mode rc»trs will neat be deleted as in the "option mode=replace" totntna,ud as deletion i3 not required since the system l~.s a mesas For dcterattining which data requires processing.
Status fields in tables can refer to values by using a lookup table commatld.
'The lacaleup command will show the data collector to store lookup keys inst~d of the actual values, thereby uormaiiziag the database sad preventing the data collector from hard coding the lookup keys. For ex8tnple lookup keys may rake die following farts:
lookup <colriame~tablename~<reference col~e~ref4~ac~ eol_value>, ~
If the table does trot contain a row where the <reference col natne> held has the specified value, that: such a row is added. 1n the new row cbe ccoltlam~ field has the value of 03/30/98 MON 14:33 [TX/RX NO 7812] f~021 MIIR-30-9B 17:40 From:DIMOCK STRATTON CLARIZIO 4169716636 T-601 P.22 Jab-907 mass(<colname>)+1. Addicieaally, null fields may be specified by the NULL or NA keyword.
'Ibe tent file provides merely a mapping to the actual tables in tha data.baxe apt opposed to aciu~al values- Accordingly, it is ti'c responsibility of the users wtto wish to w,;tc cbeir own data collectors to ensure that the aamad tables contain the eoluams and that they are of the risht type.
'Ibe data collectors rtt~y further be prog~arnmed with the followiaag flags:
glag Description /uut:FiLENAME Specifies file where output is to be sent /uitlme:STRINGSpo~ifies a stcir~g cnca~di~g size Inat limn when tbg . data was collected.

Files) Options uadetstood by the data collector, specified is tba data collector file.

The rnttrne option is a saiag encoding the last time when the day was co»eoiad and used by the data collector to recognize that the data has not changed sad does sot aged to be collected again. In addition, the following ettviroruneat variables can be sat for the data colleosor_ Variable l7escriptioa ACQ~RJ_TD triteger, project fd ACQ~SET_ID Tanager, set by the dco~var setting tbr requirements ACQ~CH_LD Integer, set by the dcol~yar setting far Microsoft Project schedules Accordingly, the grime option will be set and read by the data collector and stomd is the database by the Application Server 22.

i 03/30/98 MON 14:33 [TX/RX NO 7812] ~ 022 MAR-30-98 17:41 From:DIMDCK STRATTON CLARIZIO 4169116638 T-601 P.23 Jo6-907 To ftu~ex illusnate the functions of the data collectors, the following description will be ptovlded in t'elaTlort to Microsoft Project. tlvw~.er, as am,~nrioned above, tho scope of the disclosure should not be limited to the third party project m~u~sgtmemt tools discussed herein.
Alternative project man$gemetlt so>Rware tools ttl8y be utilized, fheteby prpvidlng comparable fractions. In the example pmvidal, infonn~ation gathered by the data collectors is exttsGted from a Microsoft 1'rojaot .mpp file through OLE (objet linking and embedding) autumati4a. All extracted data is stored in a relatiorixl database using ~IaaC (types database connectivit~r.) thereby allowing the user to use say supported underlying database. The Mierosofi Project data gatherer is wt'ittsn in Visual Basic and uses (ALE Automation to access information from the .mpp files created by Microsoft Project. The Microsoft Project data gaihe~rer is a utility desigmod w enhance iafors~nsciop contained with Microsoft project shcvdulc~ec. This data gatherer is available ss s 5tsndxlope application for both reading and writing s .tripp'file. The Microsoft Proj~t data gatherer proceeds through all tasks and nnilestones and prompts the user for information. For example, Fig. 3 is illustrative of a sample scrxn for accumulaeag task information. There are eight sections for task breakdown, including: Deaiign/Coding) Whit testing) bug fining) test creation, teat execution, contingerncy and other. The activity brsalc~drnvn is used to calculate alea'ts and otherwise analyze project dcvelopmant_ Unit Testing assists in cnaveyirtg how :naoy tests were Gteated per wait time spent testing, Bug Fi~ciag assists in understandaug how long it takes to resolve outstanding defects, sad Coz3tiagency is the information a user enters to descr;be padding in a task or an entire task devoted to padding which helps maintain the accuracy of the prediFrion I
algotithrri. FurtheFmore, the Confidence levels inputtFd 6y the user are implemented byi the system m assist with the prediction algorithm. when this program fast reads a .rnpp file, it will i 03/30/98 MON 14:33 [TX/RX NO 7812] ~ 02:~

.MAR-30-96 17:41 From:DIMOCK STRATTON CLARIZIO 4169716636 T-601 P.24 Job-907 open s screen and ash what pet~ccntages to query from flat file. In the example illustrated in Fig.
3) the user customized the pemEntage query at BO% and 510%_ AceordingXy) the inft~rmation pcv.rided on tbic screen is used as the seeded infOrmalian on the Milestone laformation Screed) see Fig. a.
The embodied system is further configured to manage multiple files edafigured from multiple third party pros ect rttanagrtnent software through the u.,e of multiple data callcctors. Each part of a system.user's otgani~ation stay have separate project filed requiring dif~'ereat data eoUecu~r; to properly extract data. 1n such cases) lhs system Ts con5gured to start one data collector for each of the related p~aject filcs_ The schodulc table sLo~~ issFnimaeion correspnpding to known information about a particular schedule. A sample schedule table is as follows:
Coluacn T Descri cion Sahjd integer Primacy key Sc~"pame string Scl~corr~rneatstripg Sc>y,~lename wring Scl~author~id integer foreigi lCCy: r~ames(schad~,ttthar) sch~r~n sate hued io by aa~ cc~mtor Seh~nd d$te filled in by data collector Sch~ak~prob iatrger filled in by data collector, 1 with user requested input SchJask",prob2integer filled in by data collector, with user ueseed input The schedule identification (sclud) is then $eneratcd by the database.

03/30/98 MON 14:33 [TX/RX NO 7812] f~02~6 MAR-30-99 17:41 From:DII~CK STRATTON CLARIZIo 4169716638 T-601 P.Z5 Job-967 A sCttedule baselines hiswry table stores bastline informatiaa about g givexs schedule. This data is not stored .ip the scl;edule's table, .For example, the baselines history table is completed by the dacm collector if the baceliae informatina is present in the MicmSOft Project schedule, !n the event a user is urlicing Microsoft Project software and the informatics regarding the baseline is present in the schedule, the information for the baseline is completed by the data collector file. The eehedut~ baseline history tables art updated when a baseline changes) i.e. when new rows are added to this table reflecting sew baseline dstes_ This allows a user to _ track changes to ihG basdiro dates over time auk i f r~eeesssry, to ealeulaee a devi~aticn fs~ t'he original date. 1n addition, the system comprises a schedule ba~reline table which is similar is appearance xad configuration to the schedule baseline history table) axecpt that the schedule baaesine table omits the date. This specific schedule baseline table allows for eoraparjsotx of entreat start and cad dates with the current baseline start and end dates for the project.
Accordingly, in addition to tasks, the overall prediction date for each schedule is also stared ire a schedule predictions table.
'hhe data calleotar further obtains information tom the project identified is dre layout of the directory of the system. An example of a project table is as follov~rs_ Column Description prl.Jd integer PAY

p>ypame string primsr3r key prj comme5at staring prj_wartring'daysinteger number of days late) causes a yellow u~c prj,.-e=aergeneyinteger number of days before a rEd days tight _ 18-03/30/98 MON 14;33 [TX/RX NO 7812] ~ 02~i MAR-3a-ss 11:41 From:DIMDCK sTRATTON CLARIZIa 416sT1663a T-6o1 P.26 Job-soT
prj.~robability_1integer first probability for. prediction pr~ro6ability~ integer second probability for prediction pdj_maaagevd integer foreign key: flames(prj~nsge><) u~d integer activeJretired 'Tl~ trrm '~rj'~ in the aboYe displayed tablo refers to the project.
Furthermore) the systeiu aamprises a projsxts sched4les table for sroriag iafo~ra~stion aecesaaty for refe~iag a system project to all schedules used in that project. The data in the project schedules table is separated xn ardor to allow different projects to share schedules. An example of when sharing pf schedules becomes necessary is when different projeeta within a company are dependent oa each other.
Accordingly, the ptojetts schedules table allows the systrnt to collect infortnatioa for that project o~~ly aece, aad is lllusasted in the following table:
Colume Type D uva id rote forci 1c : ro ects d P~- r ~ e'Y 15 a ~pTl-1 _ 8e sch_,id iota foreiga keyachadules(sch_id) the pri.~id $eId stores the project idectificatiou. This value is differcpt for every prvjc~tL in the system.
The system fiuthet comprises a table Labeled "collaceon~
table"_ The coll~s table is used for stoning data collector information so that al) mtime's are stoned in the same table for easy look-up.
A sample pf the collcetor table is as follows:

Column T Decri Lion prj id iateg~
foreiga key.
projects(pr',id) 03/30/98 MON 14:33 [TX/RX NO 7812] ~ 026 LIAR-30-98 17:42 From:DIMOCK STRATTON CLARIZID 4169716638 T-601 P.27 Job-907 dGpl_,upl string tool acme dcoL~.me string unique narrse for this data collector, supplied by the user dcoL~ost string hostxuune to tun on dcul~oyrce striag source frog which Ga collect data deoLmtirac string last modification time The most xignificant fitlds in the colleactors table is the name and the mti~e. The application server 2Z qucr;es this table to detetmizie if it nezds to run the Wol again.
In a further embodiment, there is a project predictions table, which swamari2e~ the high level predictions evcr~r lima they arc calculated.
In addition to the above discussed projZCts tables) the system further comprises task tables. The task tables store information about each task. A sample of the tasks table ix as follpws:
Column T a Description sc4 id Integerforaigct ke5r: schedules (sc:l~id) IntegerComps from tine Tasi_Uniquid.
Utuque per prj_._id and scl>'id.

Tasisirlvw IntxgerRovr is Microsoft Project sclladule (task_id) taslcJevel IntegerLevol in the ~era~hx taslLwbs 3triag ><a the farm of 1.2.3.1 a~sd shows chr~
location of the task in the outline ta.sk~ame Strias ta,9l~,st$rt Date When should it start'?

tasl~ead Date When should it ead?

-2~
03/30/98 MON 14:33 [TX/RX NO 78121 f~021 MAR-30-98 11:42 From:DIMOCK STRATTON CLARIZIO 4169116638 T-601 P.29 Job-9~T
task_durdtion Lang Minutss >Ga~us'id Iotegcrforeig:r key: taslLs~atuc (etatu~yd) task.~ret start t3etc Actu~el start date tB,slG ac>~end Date Actual ~d dat$

r$shaer duration Long Minutes taal~,~rogtess rncega From 0 to 100 ta,k~ailvstoneLlypc_idIntegerforeign key: tasl~typec (type id) (Identiftea whether a milesGane) task,,~s.~ttmmary BooleanSartre as summary properly (idennfiea a summary task) t~ask~s critical Bcx~leaacritical pam task User Defined User defined calutnns set during configuration of oject The ptjJd field matc~a tasks ~rith Projects) and xhe pr,~id fields and the t$sk_id fields act as a unique index. 'flat rn$k_id field is a unique id~a4~fier fear each task within a given ae:hedttle- A
tasl~confsden~ce field and value is set by the user to specify the confidence level that the user has fen the task being eautplete~d on time. Within the task table is a task~progress field which stores a potccatage indieatin,g how much of the task has been completed so far. For e~tnple, the percentage complc~an data will be provided by Microsoft Pre~jeet a3 the illusttntod third parry P~j~ ~8~ent soRware. The task table further comprises a usli',.tmiqueId field which is as identifier for the project, so that if the user changes a task the table will not be affected.
Another table is the system is a 'task_typt table which stores infonaation that identifies whether a task is a tnilestone) axxd if affinmatiye) what level milestone has been achieved- A sample of s taslLtype table is as follows:
_~l_ 03/30/98 MON 14:33 [TX/RX NO 7812] f~]0213 MAF'-30-98 18:25 From:DIMOCK STRATTON CLARIZIO 4169716638 T-fiD3 P.06/27 Job-t~ik~yP~-~d ~~~1teskrtYP
~scrin ) Not A_Mslsstone Miaor_Milestone Ma' or.~IilBStatrc There is also a taslr'basclystes~istery table for storing the bslsrline information for all tasks performed, i. ~. the history of baseliDe dates per task. It is stotrd separately because it can be populated from MicrosoR Project in our illustration ur the systeut itself.
This table is updated for every task when a baseline changes, For example, when a baseline changes) new rows are added to the table rcfleating a acw baseline date. This permits a user to monitor cbangos to tho baseline over time and to cadculatB a slip from the original date, if so desired. A
sample of the resl~baaelina8~istory table is as follows:
Column TypC ~ fan schJd integerfomi~n keyachedulex(scl~d) .

~d integerforeign lcoyaasks(taakjd) art datc baseline sit daft t~sl~bl~nd date baseline end date tasl~dat~ date date when this baseline Was created flea loo tninutna For fast acco<as to the status of the task and most recent developments, the system carnprises a tssk_baselines table. is addition) fort Bumtnary taslcg and milestones, the system comprises a tasl~r~dicrio~ table f4r staring both 80% sad 9t)% confidence dates as computed by Acqua. A
sample of the tasl~predictiona table is as follows=

03/30/98 MON 15:22 [TX/RX NO 7814] 1~J008 MAR-30-96 18:26 From:DIMDCK STRATTON CLARIZIO 4169716636 T-603 P.09/27 Job-906 Column T Desert ties sc>zid integerforcigr key_BChedules(ectud) task_id integeaforeign keyaasks(task_id) ta'skP~c~>r~ d~

taskpr_end_1 date taskpr durntiot~llcmg ~~r~~ date takspr_enc~2 date tas ~ d~ustiori....zlong la the above tefciettced table) both scl>~d arid rack id field9 uniquely identify a task from the tasks table. The taskpx '_1 field conespoads to predictions giyea the uver'a first percealage ronfideace e~tir~nate. sad the taskpc '~.S field stares the Second percentage coaRdea~ce a~timate where * t~epTesents either "start", "end" of "duration." Accordingly, the tasks enbla Mores i:ifotination about each individual task.
!zt additi4tl. the System ~ ~~~ task dnpmdcnoies rubles defiaed as tasl~deps. 'fhexc tables store iaformztioa about ~hc relationships between tasks- For exat:rple, if t8sk 2 is required to be completed before task 7 eau begin. such information would be stared i~
Ibis table. Tbis iafonastian is reguirod to detecminE what tasks seed to be completed b~fa~t~e a tz:iltstoac can lx achieved- la the system, t>bere sre various types of dep~denciea that can be established between different tasks- Aa example of the task~dep table 'arid how the dePe~s~d'~i~
are stored is illustrated in the following example:
_23_ 03/30/98 MON 15:22 [TX/RX NO 7814] f~JO(19 MAR-30-98 16.26 From:DIMOCK STRATTON CLARI210 4169716638 T-6O3 P.10/2T Job-908 pr~,id integerforeign key:ptnjects(pr~id) scl~id integerforei~ lcey;sehedulea)acl~id) ~a$k_id integerforeign key:tasks(task_td) pled sct~idintegerfdreign keyaahe~dules(SC~id) pre~task_idintegerforeign keyaaaks(task id) a string fbrei key:dep~ypes(dcp~id) It is important to note, since a task mar bavej more tbatt one dependency the table may contain multiply rows for the same project id, schedule id and tashid fields.
Additionally, there arc several other tables utilized in the multiple scheduling .
For example- these is a resource table for storing a list of all res4urces availablir in each project.
A person can be listed as s resource oa two diffejraat projaccs but sppearng with a different rasaurce identifier each tithe. An assignments table stores a 1irt of ail assignmenes tbr each cask in the pt.'ojetrt. The assigtunents are stored in a separate table to allow a particular task to be assigned to atote than one resource- Finally, the system comprises a tarJc status table which is a lookup table for tlse status of different tasks-Through the use of the tables ~chodule cl~uage~ are freaked Aver titme fo sissis~t with predicting schedule dates and various trends io product developateat.
Accordingly, The following iofomt~ryon is vetsioned: resource schrdule history, task history sad completion dates. For each resource) a resource hisrnry table stores the frequency a resource does not meet a achodule. In additi4n, the resource histnnr cable calculates percentage of completion for the resource. A task history table stvr>rs information rcg~trdiag the frequency is which tack dates arc changed and by how much. The date changes commonly reflect a tithe slip or functionality changes, and this -2~
03/30/98 MON 15:22 fTX/RX NO 7814] C~O10 MAR-30-96 18:26 From:DIMOCK STRATTON CLARIZID 4169716638 T-fi03 P.11/27 Job-iaforrnatioa enables the user w identify how the projext deadlines eha~nged over tiaie_ 'This table detects individual task and summary task changes. If the user would desire to ascertain hisWrical information baaeliae date changes for tasks and historical information on phase changes, the user would have to access the task baseline history table and the phase tableltask history table respectively. Finally, the completion table is completed by the analysis program that executes the Monte G'at'10 6L»11u1atIOD) 'This table contains all of the data rasulti~tg froth the Moete Carlo simulation. Aecordingiy, each time the program is executed, the old information for this project is deleted F u>rthermare, the software quality management capability of the Application Server 22 functions as a critical eomponeat of the application delivery raattagemeat system. 'Ihe sod quality maaagcmeut capability casures that all of the ma»ual iced ~utomutad testing activities are coordinated and archived The software quality msna,gement (SQM) data collector allows collecting of al! information pertaining to the seating effort acrd statistic of how trtaay tests were added, z~eimovad, how sissy arc passing, sud horw many are failing. This information is then used its the schedule prediction sad trend. graphs. The SQM data tellec~
generates a suitC
identifier field for its irttemal databasB staragc. Furthcrmoro, the 9QM data coUc~tr~r c~aprisaa s pr4jcct suites table for storing information between suits and projects, a suits table for storing iafarme~tion about each suite) and a tests table for storing informati4n about all test cases in the current suite. The test table stores classes and cases. A tEst cl:~ss result is pass if all of its results pass) otherwise its result is fail. At such time as a test is dalate~d from a suite, it is removed from the t~sLS table, the 3QM data coLlactor further comprises s lookup table fray the state of test codes, a lookup table far the result codes, and a requirements table far storing the associations 03/30/98 MON 15:22 [TX/RX NO 7814] I~JO11 MAR-30-98 18:27 From:DIMOCK STRATTON CLARIZIO 4169716638 T-603 P.12/27 Job-906 between rer~uirements and teats, thereby al lowing the determination of which requin~ments do not have tests, lxow nzsay peas awe bow =Many fail. A su~to eau I~rave one set of requirerrrenss associated with it. Accordingly, a~ single test suite ca.ti curly vetif jr one set of requirements as defined by a sot of requirements documents. _ .._.. .
Furthermore, the SQM data collecevrs comprises the fohowitsg tableb: a defects tables for staring the associati4a h4twem defects sad tests; a jabs tables for stnriag infntmatioa about the test jabs; as outcomes tablo for storing inforu»tiiorl about the outcomes of tests in those ,jobs; and a trends table fox storing computed tread iaformation.about tests.
Based upon all of the data collected tivm the SQM data collectors and the above-defined generated tables, software quality management reports are generated. The following rcp~or~ are available based upon these data oolleclors: percentage of requiromonte which have btea ~erificd. failed or untested: opt test results for a given project of pass, ~fI or mexeeucable; an putwme 'histaory fcu a g~vca trst case; a trend of new tests added versus the number of verifiui requirtments;
and a tread of time spent testing versus the number of verified requirements. Accoidiagly) the SQM
dace oolleetors, ensure that all of the manual and automsted testing activities are co4rdirJated.
ARcr eau ix eelleated ftotci the ideQtified tools in thv system aa~d prior to lxav~g reports generated, analyzer $pplicariaaia are iavo~ed to aaalyre the data calluctcd and write their reports back co the database. As discused earlir~r, alerts are ottc form of analyzers. They are mechanisms for notifying team members when there are potential problem9 with the project.
Tram merrebcrs are notified is two ways: through monitoring repott8 accessible through a web bmwser and by e-mail alerts.
Alerts are sto»ri in the database of die server machine 20. An aloru~fir table 03/30/98 MON 15:22 [TX/RX NO 7814] 0 012 ,MAR-30-98 18:27 From:DIMOCK STRATTON CLARIZIO 4169716638 T-603 P.13/27 Job-stores the alerts defiaitione, at followx:
Column 'I~rpeDescri oa pr~id integerforeign key:projects(prj_id) alett~d intagtrunique pet project alen_name stringname of the alert sample stringsample message to help the msg COnfl~l.tt$trop SCIecn aler~date d$te date-wben.this alert wes . lsat.c$lculated (i.e. the application server tart the last aoalyzc prognon) emaiLuaetssuing space scpamtod list 4f users to exnail Cate~ry stringuser-dcfina~ name of the catcgoey in which this alert is placed filter stringfuture string tb$t we seta selecti~rely filter Itlctts oa ale=t,~ctive true meanss this alert is active In additipa, the database further compri ses an alerr~lrresho ld table which holds threshold and filter values fear spetif c alerts. It is imporram w hare that tbera tpsy be tsore than one threshold per ale<t. The dlertlrold table is configured as follows:
~1~ T Desert tion pr~id in~aoc lbtsi~t k~P'7eas(per~-id) aler~".;d iatcgcrforei~ kay:alec~defn(alert._id) thtcsbolCl....namostring nasise to usE to lack up the value is the pair (proj_id, alert id, t~holc~ame) threshol~.typ~ loag foreign id key. ihr~hold~p~(thr~hold~ype~d) ~27.
03/30/98 MON 15:22 fTX/RX NO 7814] f~J013 MAR-30-9B 18:27 From:DIMOCK STRATTON CLARIZIO 4169716638 T-603 P.14/27 fob-906 >chCesboid~,ptompcstring masaagc co use to prompt for a o,cw th~shold v$!ue threshold valuestrias value. storod as a string far this threshold for this alert 1=urtherenore, the tl~reshold_.Iype table is a look-up table for the thmshol~type id field and is cantigurcd as follows:
Cottunb I~r ' tiara tht~eshok~type~dlong primary key ><breshold stciag t Alerts that want to find the threshold variables in order to compute whZthcr to gtueratc the alert muse opus fho alerts definition table is the database and find thin alert identification 3lett",jd field thac matebes their alert name- Tken they can scan the alert_.threshold field table looking for a match of alert_id field and tbreshold_aame field, at arhich point they will extract the thteahold_value field.
Each of the alerts compciae thresh4ld level s for which sew values of the threshold can be modilied, whe.~eitt wry new ~dificatioa value will take effect the next tithe the alerts are campute~d. The fo~Uoariag alaets, lfnr arhieh tfae is no bisratt;hY. ate currently available oo the system, although this listing of starry should not be conbidemced limiting in that additional alerts can be added by users on as as needed basis. 'I~e title of t6a alert is generally descriptive of the massage it is conveying to tba user:

03/30/98 MON 15:22 [TX/RX NO 7814] 1014 .MAR-30-98 19:29 From:DIMOCK STRATTON CLARIZIO 4169116638 T-6~3 P.15/27 Job-Defects Risirwg Too Fast Tasks L$te Not Enough New Defects Summary Task Lnte Not Bnwugh New Teats CreatedSucnmsry Task Siip Predicted Test G~tian Wataing Milestone Late Not Eno~tgb Teat Were ExecutedMilestone Slip Predicted Test Passing Ra>ra No Basctine Schahrle Critical Path wgrnittg Requirements ate not linked to Missictg Milestv~e development task and/or Project L7ata Out of Date milestones Project Warning Task Slip Predicted Schedule W araiag Schedule Slip Predicted Pt~ojeet Confidence DecreasingProject Slip Predicted Schedule C4ofidrnce Dec>rrasingPt~nject is Late Project Predictiaa Date SlippitngSchedule is Late Schedule Prediction bate Requirements not Linked to Slipping Testing Schedule Charged Tasks Project Changod i.ow Testing Eitbrc I7se alerts are computed at such time as the analyze file is exezuted T6e analy~
ale w111 c1'traLe rows In an alert table. After cr~tiou of the rpws in the alit table) an alert p~
reads the rpwa to generate the proper sec of alts to display to the u_~er.
Programs which calculate alerts itte specified is tho analY~a directory, and can also generate pages or adriitioaal tables is c6c dstab~we) similar to other analy~ directaty programs.
Furtl~~ma~, each alert prvgCSm in the analyse dit~ctory can geneatte ~ than one alert, but they are al l of the same type. For exa;nple) if vac alert lvohs for Late schedules, this alert tea generate two alert messages as long as the al~c camptise the same identif ration.
The alerts are ststic$~ly geaetated sad presented to the user in a single lurnl page-Furilsettaore, each alert begins with an explanation of the alerts) and may link to pages with more infostctatioa cuc6 as a tick tn customize, a link. to receive help oa this speclf3c aluL and a litak to delete the alert. The lick tbr mvro inforinatioa takes the user to dxe page that the slat! generation -2g_ 03/30/98 MON 15:22 [TX/RX NO 7814) f~]015 MAR-30-96 18:26 From:DII~CK STRATTON CLARIZIO 4169716636 T-603 P.16/2T Job-908 program fouad was the primacy ~~~ fm' ~e alen. The help link takes the user to tht oa-hae Lclp which explaisas more iaforaiatioa about the alert generated, what the alert massage i~c tryiag to ccmvey to tlse user) what the user can do about the alert getterated., and >~e ~ietiuiriorie of the threshold values. Tho customize link takes. the user.to a page et>lablipg thorn to customize the threshold values- The delete link deletes the alert.
An alert~,generatad table stores all elects generated in the database of the server tascbine _,, p sample of an alettges»erated table is as follows:
Column Type Descr'tptioa proi..,idinteger foreign key:ptojcc~(p~id) alert_id integer farciga kcy-.alu~defa(alert id) message string this sbcin$ nosy bG lostg) contaia htmi tags, tables...

pri0lrityinteger e~l~,dattdate mail amt Boolean "f he alert progtxms add rows to the alert~~trd table- The same alert nartte is p~ntcd as that utili2ed in the analyze d~ectory. The message a,ad priority field are sv-t by the alert pro~ahn) and date, mail seat aad altr~.jd fields are automatically set- Zn addition, the user is sot limited to alerts ptestnt is the systrm. A uses eau add new alerts by writing the alert pto~sm sad anmtiag new analyze tiles is the specific project's ANALYZE di>rectoty) adding as entry for the in the ANAC.YZE directory's ind~ file.
The results produced by the analyzers mar then be utalizod by the reports generat4ra. The user tt~y specify when reparta should be generated. The user ~
bas the -3~
03/30/98 MON 15:22 [TX/RX NO 78141 f~Ol~o MAR-30-98 1A:28 From:DII~CK STRATTON CLARI210 4169716638 T-6o3 P.11/27 Job-9o6 option co force the regerneiadon of a given report, which may be useful aftct documents iti the database are updated and the uscr wants to scc the new ooofidenae le..e1 predietians for meetisig project de:livety deadlines. Reports are gaaet'ated by processing htnrl files stored in a direetaty accessible tn the Application Server 22, and may include calls to progxsms to generate some additional hrnel or images, Furthermore, these hurl files may include $pplets) frames, or any other type of standard ~~eb_bnsed logic_ ?hcre aro several customization optioa& available for the reports generated.
Far example) the users can. modify the web site for their projoct by editing these htnel files directly.
F~rthetxoore. uses can add sew links by editing the htnil pages directly, or the users can add nc~w pages by adding lines to the iadax file is the PROJECT/REPORTS directory.
Finally, user can erabcd comrrapds to generate graphs in cxisaag or near bbnl pages_ Accordingly. the user bag a plurality of pptions available for customizing the reports generated by the applicatim,-The user further k~as the option to force data va be collected interaecively.
In such circumstances, the user is prompted to designate which data sources to update sad which reports rn generate. Regardless of how or whey the data is collected and the reports are generated, all of the rcpores ase catalogued and archived by default ogee per day imasediately before the daily data coUeztion report gttteration occurs. Reports that are rege~etated at'e placed into a LATEST
directory updating the previous ittfonrrcrtioxt stored in this directory.
However, the ptevioue set of reports can always be retrieved from tht LATEST directory. A,ccordiag]y, the Application Server 22 first collects a!1 of the data, then runs all of the analyzers, and finally gettelstes all of the rcport~ for n given pmjeot, wfaerein al! of flee reports xre archived and accessible from ether reports.

03/30/98 MON 15;22 [TX/RX NO 7814] I~O1'7 .MAR-30-96 16:29 From:DIMOCK STRATTON CLARIZIO 4169116638 T-603 P.1B/2T Job-rn a further etnbadimeat of the iaventioa, the itiveadon has the ability to predict whep projecu; will be completed- The ayetcm gathers iaforrnation from a wide variety of tools to deliver a realistic assessment of project delivery, xnd a more realises assessment thaw one tool can provide individually. During ><he initial setup, as disclosed earlier, the user is requested to supply information that assists the system in producing accmata predietioos.
In a preferred ernbodixnert, the system uses the following data sources to provide pr>edietioa of project delivery) although additional data aaurices may be utili~d with access ~to a related data collector: Ptajec><
schedules maintained in Microsoft Project; Defect reports stored is PVCS
Tracker; Requirements stored in Microsoft Word; and Testing information stoted in SQM data collecto~_ Haled upon the initial information provided by the user and the information obtained by the data collectors, the predicting peoeess incorporates a Mottle Cstlo alsorithm to pn3dict aceuraty of ptpj~et completion.
The prediction algorithm follows the following general summary oP stages for the analysis as shall be provided hereinafter. First) the algorithm builds a probsbilit~r curve far tech task. 'fhc curve is set upon at least three data poiata the user has wuat'ed for ~d'task aslthough fewer data poirttc may be utilized. According tn the probabilities calculated, a dtaatioa For this task is assessed. Second) the system analyzes the individual resources assigned to the task based upon the history of the rosoutcc in completing their tics in ~ lily . Bawd upon the analysis, the duration is either iacres.~ed or decreased bas$d upon the history collected end the percentage of timely tank completions. Accordingly, this outlined aa~alysis is applied over spproxima~ly one hun~drcd iterations to establish a probability curve for the entire schedule, which is kno~rn as a Moats Carlu airaulation.

03/30/98 MON 15:22 [TX/RX NO 7814] f~j015 LIAR-3D-96 18:29 From:DIN~CK STRATTON CLARIZIO 4169116638 T-603 P.19/2T Job-Following t>ae Monte Carlo simulation) the following three step analysis is undertaken. First. a trend analysis is implemented. The trend analysis generates adciitio>nal potential dctwcr~r delays by asralyziag ~asieus t:noods, such as isuomiag dafeets) nuraba of trsts created) and number of regtesaione fowtd. Second an alt3et analysis is petfoemad. Altrta that have been triggered might mean a delivery probiem_ In the event that factors causing the alert 6a~e trot previously been taken into consideration in prior steps of the prediction algorithm then the duration of the prediction taunt be altered for early or delayed prediction of product delivery, Finally, a corpparisvc~ of additional time rcquir~d. in the trersd end alert arwl~rsie a~iast contingeecy factors is attained and time for project ccympledoa is iactr~sed or daeraased from the tot81 duration, as deemed a~ppropriatc.
')',~ basic prediction ealculatioa works by defining a probplbility trap for aaeh task. Tlse Mate Carlo siiaulatien techeique applies the abpveroutJitted std over a pltu'ality of iterations so as to esT~blish a refined probabilii~~r curry far the entire sohedde. Ths eummt date is rhea fiard to the curve and a confidence level is assigned to the task completion. In addition, the user can also access and review 80% and 90% confiderarc dates for project cotupktio>a.
In a preferred erabadimeat) the system compristR the ability to predict cosrtpletion of proj seta, The system evaluates information gsshered from as stray of aoRware mots to delivea a realistic aises5rnent of projtct complatiem. 'Ihe presently disclosed am6oera thersfore considered in all respects illuatrati~e and not restrictive. The scope of the invention is ideated by the appended ctaims, lather than the fore8oing daecription) and all eba,nges which come within the meaning and range of equivalency of the elaitns are therefore i>ltended tn be embraced rein.

03/30/98 MON 15:22 [TX/RX NO 7814] ~ 019

Claims (12)

1. A time management and project completion prediction apparatus, comprising:
an application server for storing project information;
data collectors for extracting data from schedule management, testing and requirements tracking tools; and an algorithm for manipulating the extracted data for predicting completion of projects.
2. A time management and project completion prediction apparatus according to claim 1, wherein the application server further comprising a means for accepting project informations from the data collectors.
3. A time management and project completion prediction apparatus according to claim 1, wherein the application server further comprising a means for generating periodic reports regarding project status.
4. A time management and project completion prediction apparatus according to claim 1, wherein the algorithm for manipulating the extracted data for predicting completion of projects include a Monte Carlo simulation algorithm.
5. A method is a computer system for time management and task completion prediction the method comprising the computer implemented steps of:

collecting data from tools in the system; and processing the data for predicting project completion.
6. A method in a computer system for time management and task completion according to Claim 5, further comprising the computer implemented step of storing project information in a database.
7. A method in a computer system for time management and task completion according to claim 6, further comprising the computer implemented step of accepting project information from data collectors.
8. A method is a computer system for time management and task completion according to claim 7, further comprising the computer implemented step of generating periodic reports regarding the status of the project.
9. A method in a computer system for time management and task completion according to claim 5, wherein the project completion prediction process incorporating a Monte Carlo simulation for determining accuracy of project completion.
10. A method is a computer system for time management and task completion according to claim 9, further comprising the computers implemented steps of:

building a probability curve for each task based upon data points the user has entered for each task;
analyzing individual resources assigned to the task based upon the history of the resource is completing their task in a timely manner:
adjusting duration for completion of the project based upon the analysis and percentage of timely task completions;
implementing a trend analysis for generating additional potential delivery delays by analyzing trends:
performing an alert analysis; sad comparing requirement of additional time in the trend and alert analysis against contingency factors and attaining time for project completion, by changing the time from the total duration.
11. A method in a computer system for time management and task completion according to claim 10, further comprising applying the computer implemented steps of the Monte Carlo simulation over a plurality of iterations for establishing a probability curve for an entire schedule.
12. A method in a computer system for time management and task completion according to claim 11, further comprising the computer implemented steps of applying the data obtained from the Monte Carlo simulations and fitting the data on a curve for assigning a confidence level to the task completion.
CA 2233359 1998-03-30 1998-03-30 Computer software development time management and task completion and prediction apparatus Abandoned CA2233359A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA 2233359 CA2233359A1 (en) 1998-03-30 1998-03-30 Computer software development time management and task completion and prediction apparatus
US09/277,732 US6519763B1 (en) 1998-03-30 1999-03-29 Time management and task completion and prediction software
CA002267476A CA2267476A1 (en) 1998-03-30 1999-03-30 Time management & task completion & prediction apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA 2233359 CA2233359A1 (en) 1998-03-30 1998-03-30 Computer software development time management and task completion and prediction apparatus

Publications (1)

Publication Number Publication Date
CA2233359A1 true CA2233359A1 (en) 1999-09-30

Family

ID=29275434

Family Applications (1)

Application Number Title Priority Date Filing Date
CA 2233359 Abandoned CA2233359A1 (en) 1998-03-30 1998-03-30 Computer software development time management and task completion and prediction apparatus

Country Status (1)

Country Link
CA (1) CA2233359A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114331228A (en) * 2022-03-09 2022-04-12 广州弘一信息科技股份有限公司 Internet-based personnel management early warning system in software development process
US20220124064A1 (en) * 2014-12-12 2022-04-21 Donuts Inc. Communication using dns repurposing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220124064A1 (en) * 2014-12-12 2022-04-21 Donuts Inc. Communication using dns repurposing
US11888811B2 (en) * 2014-12-12 2024-01-30 Identity Digital Inc. Communication using DNS repurposing
CN114331228A (en) * 2022-03-09 2022-04-12 广州弘一信息科技股份有限公司 Internet-based personnel management early warning system in software development process
CN114331228B (en) * 2022-03-09 2022-05-31 广州弘一信息科技股份有限公司 Internet-based personnel management early warning system in software development process

Similar Documents

Publication Publication Date Title
US6519763B1 (en) Time management and task completion and prediction software
US8041647B2 (en) System and method for an automated project office and automatic risk assessment and reporting
US6178430B1 (en) Automated information technology standards management system
Mockus et al. Expertise browser: a quantitative approach to identifying expertise
US7533008B2 (en) System and method for simulating a discrete event process using business system data
US6308164B1 (en) Distributed project management system and method
US6964044B1 (en) System and process for management of changes and modifications in a process
von Wangenheim et al. Experiences on establishing software processes in small companies
KR100963550B1 (en) Applicable patch selecting device and applicable patch selecting method
US20040230404A1 (en) System and method for optimizing simulation of a discrete event process using business system data
US20030101086A1 (en) Decision tree software system
US20020119433A1 (en) Process and system for creating and administering interview or test
CN102227726A (en) Retrieving and navigating through manufacturing data from relational and time-series systems by abstracting source systems into set of named entities
US20020099682A1 (en) System for managing telecommunications infrastructure
US20050198209A1 (en) Single point of entry for web applications
CN101946255B (en) Method and apparatus for changing IT system
WO2006073978A2 (en) System and method for an automated project office and automatic risk assessment and reporting
CA2233359A1 (en) Computer software development time management and task completion and prediction apparatus
US20050039163A1 (en) Systems and methods for categorizing charts
JP2008225679A (en) Operation process management system and operation process management method
EP1652076A1 (en) Dynamic database sql script execution through jdbc
CN114791972A (en) Integrated intelligent bidding system and method
McConnell Tool support for project tracking
EP1678652A2 (en) System and method for dynamic creation of images
Wangen et al. Oviposition model for a southern population of mountain pine beetle

Legal Events

Date Code Title Description
FZDE Dead