Control Point Ref #: projraab Software projects are categorized according to the type of development Audit Steps ----------- 1) Determine the method that is used for categorizing software projects (i.e., broad vs. specific categories). 2) Ensure that the categories used by your installation to classify software projects which reflect the type of development within your installation. 2.1) Identify the types of software development that is performed by your installation based on broad or specific categories and ensure that they are appropriate. Examples of Broad Categories ---------------------------- New System Development Third party vendor product install Major Enhancements Minor Enhancements Maintenance Emergency Change Examples of Specific Categories ------------------------------- Control card changes Procedures Execution JCL Report Changes requiring no function (e.g., screen, file, table) changes Report Changes requiring function changes Screen changes requiring no calculation or selection changes Screen changes requiring selection changes Enhancement Program abend Emergency Change 2.2) Ensure that software projects are being categorized by reviewing a sample selection of projects. Perform this step if broad categories used 3) Software projects are properly assigned to their categories. 3.1) Determine if standards are available which specifies the method used for selecting the appropriate category based on the type of software project (i.e., total cost of project, number of mandays, functional requirements of software project). 3.2) Ensure that software projects are being properly categorized by reviewing a sample selection of projects.
F1 - Info Screen Ref # projraab Background ---------- One of the requirements for Project Management is to track the type of development that is required for each project. Categories are used as means of assigning a software project to a logical grouping which in most environments determines the phases, deliverables, and deliverable components that need to be followed or developed. Therefore, it is of great importance to ensure that a software project as correctly categorized. Software development can be categorized using the following approaches: o Development activity can be structured in broad categories which include: New System Development, Major Enhancements, Minor Enhancements, Minor Maintenance, Major Maintenance, Emergency Changes. o Development activity can be organized in specific categories which is tailored towards the specific activity that is unique to your environment while maintaining some broad categories. Some examples of specific categories could include: Vendor Acquisition Software, JCL changes, direct changes to data (i.e., programs which directly change data which is used primarily after a data conversion), Pre-Processors (e.g., used to alter data before it is applied to the master or transaction files, report header changes, extract reports. A determination must first be made if the approach of utilizing broad categories best serves your installation. Since categories are used as a means of determining deliverable requirements for particular group of software projects, that should be the determining factor in the number of categories used by your organization. Regardless of the category approach that is used, it must reflect all of the types development activity that is taking place. When broad categories are used to define the type of development activity (e.g., new system development, major & minor enhancements, major & minor maintenance), a methodology must exist for defining the method used for assigning a development project a specific SDLC category, especially when the categories consist of non-descriptive names as major or minor enhancements. Common methods that are used for determining the appropriate development category consist of: Number of mandays, total cost of the project, functionality requirements of the software request. The number of mandays should not be the only method used for determining the category that a software project is assigned since a change could take relatively short amount of time but require substantial testing that would only be required for projects that require a greater number of mandays. In addition, unless a process is in place to track the actual time spent on a project, this type categorization method can be circumvented. Using the Total Cost of the Project alone is an ineffective way of categorizing a software request since again minor changes could require substantial deliverable requirements that would normally be associated with projects that cost more. Using the functional requirements of the request as the basis for determining the category that is selected is the most effective method for mapping the software request to its appropriate category. However, detailed procedures would be required to identify the various components of the functional change that makes up a specific category. When specific categories are used for categorizing software requests, there less of a need to develop procedures for determining how to map a software request to a category. Definitions of Broad Categories ------------------------------- New System This applies to any new system that is developed which is a very general category since most new system would require all SDLC deliverables to be developed. However, many installation break a new system into many little projects which would not necessarily require all of the SDLC deliverables to be developed. Major/Minor Enhancements This should be divided into two separate categories. Enhancements is new functionality or a new subsystem that is developed for an existing system. Major/Minor Maintenance This should be divided into two separate categories. Maintenance includes bug fixes to previously developed systems or additions to functionality that might have been excluded when the system was previously developed which borders in interpretation to an enhancement. Emergency Fixes When a program bug requires to be implemented immediately bypassing the normal requirements of the maintenance category that it would normally fall under a separate emergency fix category is required. Software Package Acquisition When application systems are purchased from a vendor, it should be under its own category and not part of New System since the deliverables required to support its use in production would not be of the same as a new system (e.g., no need functional and system design specification). However, this category may need to be further subdivided based on packages that can't be changed by the user versus exits which allow user coding or the distribution of source code which allow user customization. Prototyping The prototyping category can be used as a main category for classifying software projects in determining deliverables that are required or it can be a subcategory within each of the above categories to further breakout the deliverables that are required to be developed. For instance a major enhancement might always require full design system specifications and full unit, integration, system, and acceptance testing to be performed but if the prototyping development approach is used each of the mentioned deliverables will not require the typical component to be developed for the deliverable or the deliverable may not be required at all.
Free Audit Vision Newsletter Since 1991 Join 3,500 other subscribers
Advertise with Us