PERT from Knowledge Plan
- By Todd Zino
- July 20, 2001
KnowledgePLAN from Burlington, Mass.-based Software Productivity Research (SPR) is not merely a glorified calendar planner for software development managers. If it were, it would certainly not be able to make highly scientific estimates of productivity, critical path and timeline for large complex projects based on simple input. Nor, indeed, would it have an extensive database from which past cases and factors could be drawn to more accurately map out the current project. These latter features make KnowledgePLAN more akin to age-old PERT tools, but with a fresh intuitive user interface and knowledge base updated for modern, real-world projects.
HOW IT WORKS
In order to arrive at a detailed estimation, KnowledgePLAN uses a combination of formal algorithms and rules derived from the classic software engineering models long discussed at management schools and in computer science curricula. It applies these calculations to information input by the user and information already present in the knowledge base. Software Productivity Research reports that KnowledgePLAN is often within five percent of the project's actual cost and timeline.
KnowledgePLAN's project wizard first asks the user to select the nature of
the project, then offers the user a choice of possible scopes of the project
and finally, goes on to prompt for the classification of the intended end user,
deliverable software type and topology. The project must then be sized to other
types of software projects.
The SPR KnowledgePLAN system is based upon four types of components: projects, knowledge bases, project templates and domains. While the former three should be readily recognizable to the software engineering professional, the term domain in KnowledgePLAN refers to all auxiliary information relating to a particular project (for example, resources needed, languages used, development software and so on).
Each project can only have one domain, but a domain can be (and often should be) shared by many projects, because a lot of the "domain" information will be constant within a particular team or company.
While all of this may seem intimidating at first to a professional who is not accustomed to this particular set of terms and building blocks in the context of planning and management, it is not very hard to learn. Moreover, the User's Guide is very straightforward, which is a blessing given the complexity of the software itself.
KnowledgePLAN can be installed quite easily in minutes, but be prepared to have at least 40Mb of free disk space. Its database, however, can be shared across several machines if need be. The package is also compatible with other knowledge base formats such as Microsoft Project, MPX and SPR's Checkpoint.
Starting a new project from scratch is conveniently aided with templates, wizards and an extensive selection of attribute choices that should fit practically every software project imaginable. The wizard first asks the user to select the nature of the project from a list that includes, among many others, Reverse Engineering, Full System Port, Code Conversion and New Software Development. Then comes a choice of possible scopes of the project, including Evolutionary, Sub-system, Application and Simple Module or Class. The wizard goes on to prompt for classification of intended end user, deliverable software type and topology. The project must then be sized either by Metric or Analogy to other types of software projects.
To get the most out of KnowledgePLAN, sizing by Metric should be chosen, as it allows for a much more accurate and complex estimation and allows the user to evaluate many aspects of the project on a scale of 1.00 to 5.00. Sizing by Metric also allows the manager to choose which source languages are to be used from a list that includes everything from Java to MUMPS to FORTH.
The number of factors KnowledgePLAN takes into account are certainly enough to arrive at a specific vision for a project. The intelligent results should give the manager confidence in the vast and precise estimates of time and capital that the program will then calculate once all the information is entered.
Upon initial entry of data, the user is next presented with the full Gantt view of the proposed timeline requirements in a spreadsheet-like interface with bar graphs depicting time and resource estimates for the various phases of the project. These results are quite detailed, and their allocation per specific areas and tasks of development appear in harmony with what traditionally happens in the actual case.
KnowledgePLAN breaks the project into the main phases such as Planning, External Design, Internal Design, Documentation and so on. Each of these is then broken into sub-phases, furthering the level of detail into which KnowledgePLAN delves. At any time during this view, additional or different information can be integrated into the estimate via the Input menu, including updates on the actual progress of the project.
Once all the vital parameters for a project have been defined, KnowledgePLAN can also produce graphs for project quality and an interface in which accuracy figures can be evaluated and modified. In addition, other attributes not addressed in the initial wizard can be modified. These consist of Personnel, Technology, Process, Environment, Product and, if applicable, Maintenance.
There is also a calibration tool, which allows the user to change some of the parameters that determine how project-wide estimations are arrived at. This feature allows the advanced user to account for any other factors not addressed somewhere else in the program based on the particular needs or situational factors of the company.
MANAGING THE QUIRKS
Alas, while providing a very slick and comfortable environment for users (especially considering that many tools in its ilk are giant mainframe or DOS tools with horribly cryptic interfaces), KnowledgePLAN is not without occasional lapses in intuitiveness.
Every complex piece of software has a learning curve, and even the seasoned user will need to consult the guide at times to figure out how and where to adjust certain attributes once they are deposited by the wizard into the intimidating Gantt view of the fate of their project.
Software Productivity Research Inc.
However, the quirks are more of an organizational nature. For example, the whole
issue of a secondary and working database might seem confusing, especially when
every time the user closes a newly opened project a dialog box pops up asking
whether or not the project should be deleted from the working database. The intended
answer is presumably "yes"; since the project is in the secondary database, it
no longer needs to be in the working one. Still, this can seem a bit confusing
to a manager who simply wants to keep one central database of the company's projects
with no need to muck around with database issues. Also, it takes some searching
to find many of the parameters that were entered in the initial wizard in order
to modify them further down the line.
While the user guide is extremely helpful (in sharp contrast to most bundled manuals), the online help seems lacking at times, and it would be nice to see SPR provide a more context-sensitive and detailed help menu in future versions.
THE BRAINS OF THE PROJECT
KnowledgePLAN breaks a lot of ground in terms of bringing together complex database and algorithm-driven artificial intelligence and a friendly graphical user interface. These two assets are often mutually exclusive in the domain of products designed for software engineering professionals, perhaps because it is assumed that anyone who knows enough to understand how software is written should be able to use any planning tool that comes along. Moreover, it covers many aspects of the software engineering manager's duties while other products just perform the critical path calculation or just provide a calendar and summary of the main project phases.
As a sophisticated and highly detailed knowledge base planner, KnowledgePLAN should be essential software for managers and product groups looking for a better way to estimate and plan large projects. As a very usable and easy to learn application, KnowledgePLAN could be the brains of the project in a matter of hours.