Tuesday, August 28, 2012

PROJECT MANAGEMENT AS A TOOL OF RESOURCE ALLOCATION


PROJECT MANAGEMENT NOTES
Introduction

Activity: Project

Ø  Schedule: Tool that allow project manager to allocate resources to different activities within the process and a given time span
Ø  A project is a sequence of unique, complex and connected activities having one goal or purpose and that must be completed by specific time within budget and according to specifications.

Ø  Project management: process of scoping, planning, staffing, organizing, directing and controlling the development of an acceptable system at a minimum cost within a specified time frame.

Ø  Process management: A going activity that documents manages the use of and improves an organization chosen methodology for system development. It’s mainly concerned with activities, deliverables and quantity standards to be applied to all projects
Ø  Activity task- Smallest unit of work, effort within the project that consumes both time and resources which are under the control of the project manager.
Ø  Schedule- This allocate resources to accomplish the activities within a time frame. It sets priorities, start time and  finish times.

The purpose of project management is to achieve the successful project completion with resources available.
Successful project is one which:
  1. Has been finished on time
  2. Is within its cost budget
  3. Performs to a technical / performance standards which satisfies the end user.
  4.  
TYPES OF PROJECT MANAGEMENT

Project can be broadly categorized into three:
  1. Personal Projects e.g., report obtain Bsc in IT
  2. Industrial projects e.g., contact a building, design a new car
  3. Business projects e.g., develop anew course, develop a computer system, set up new office.

CHARACTERISTICS OF PROJECTS

a)      Time frame
b)      Activity / Task
c)      Resources
d)     Aim / Goal objectives



Project management process
It has five stages
  1. Defining the goals of the project
  2. Planning
  3. Leading – offering guidance to human resource, subordinate, self contractors
  4. Monitoring – Measure, controls and correct the plan
  5. Completing- ensure you’ve met the goals user specs, Prepare documentation
  6.  
PROJECT MANAGEMENT FUNCTION

a)      Scoping
b)      Planning
c)      Estimating
d)     Scheduling
e)      Organizing
f)       Directing
g)      Controlling
h)      Closing


Scoping

Setting boundaries of the project i.e. activities to be include, departments to be involved or affected. The following things will be important:- product that will be produced
-          Quality of the project
-          Time that will be spent
-          Cost implications
-          Resources utilized- availabity (locally or internationally)
At the end, there must be statement of work which is documentation. (Project overview / Project definition / scope statement / document of understanding.
Statement of work is a narrative description of the work to be performed as part of the project.

 Planning
Main activity is to identify the task of activities that will be performed or carried out in the project hence work break down structure.
 Work break down structure is a hierarchical decomposition of project into phases, activities / Tasks
The definition of Milestones is an event that signifies the accomplishment or completion of major deliverables altering a project e.g. Statement of works, work break down structure
Estimating
Main activities include:
-          Estimating task durations- where all the activities of the project have to be given a duration there are three ways of estimating the duration of any task
-          Estimating the minimum amount of time needed to complete ( optimistic duration )
-          Estimating the maximum amount of time needed to perform the same task.
-          Calculate the most durably (D) as follows
D = ( 1* OD ) + ( 4 * ED ) + ( 1* PD )
                             6
Scheduling
 Main activities are:
             I.      Specific task and inter- task dependencies
          II.      Carry out a scheduling strategy using two techniques ie forward scheduling and reverse scheduling

There are four main ways of identifying task and inter task dependencies
             I.      Finish – to- Start ( FS ) – the finish of one task triggers the start of another.
          II.      Start –to- Start ( SS) – the start of one task triggers the start of another task
       III.      Finish –to – Finish ( FF) – Two task must finish at the same time
       IV.      Start – to – Finish ( SF ) – The start of one task signifies the finish of another task
Strategies of scheduling
v  Forward scheduling- establishes a project start date and then schedules forward from that date based on the planned duration of required task, their interdependencies and the allocation of resources to completion date is calculated.
v  Reverse scheduling – establishes a project deadline and their schedules backward from that date essentially, task, their durations, interdependencies and resources must be considered to ensure the project can be comp0leted by the deadline.
Organizing
 Main activities are:
·         Assign resources e.g. people services, facilities and equipment
·         Level resources e.g. for supplies for materials, money. Resources leveling is a strategy used to correct resources over allocation through delaying all splitting task
Do not delay / split activities that are on the critical path.

Directing
Main activity is to direct the team effort eg set new deadlines, encourage staff and team maturity (Understand what the project requires )
Controlling
 Main activity is to monitor and control the progress of the project check whether there was a progress at every stage.
a.       Emphasize on change management
b.      Emphasize on Expectation management
c.       Make adjustments to the schedule
Closing
Involve handing over the project to the client for its documentation and examination whether you met the goals.

TRIPLE CONSTRAIN OF PROJECTS:
a.       Performance specification / objectives / Aim
b.      Time
c.       Money ( cost )

Obstacles to satisfy the constrains on performance
                                                 I.   Poor communication – Programmers understand codes while analyst understand charts hence barrier
                                              II.   Poor design – Mistakes in carrying out the contract performance, errors by workers and managers
                                           III.   Over optimistic assumptions:  High ambition


Obstacles to satisfy the constrains on time
1.      Resources not being available when needed
2.      Performance specifications or objectives may change in the middle of  the project
3.      Subordinates may fail to give proper priority
4.      Over emphasis on performance Vs meeting time and budget constraints
Obstacles to satisfy the constrain on cost
1.      Initial cost estimates are often too optimistic
2.      Reducing cost estimates to win bid causes a built – cost overrun for start
3.      Mistakes, bad cost management and bad cash flow
4.      Failure to meet time constraint usually costs more because of lack of efficiency.
Measures of project success
1.      The resulting project of information system is acceptable to the end user or client
2.      The project or system was delivered in time.
3.      The project system was delivered within budget.
4.      The system development process (process management ) had a minimum impact on on-going business activities.
Causes of project failure
1.      Failure to establish upper management / commitment to the project
2.      Poor estimating techniques eg time for coding tasks
3.      Insufficient resources
4.      Priorities not set right
5.      Inadeuate skills to team members
6.      Improper documentation
7.      Lack of proper planning
8.      Poor people management
9.      Misunderstanding of user requirements
10.  Departure of key players in the team
11.  Pre-mature commitment to a fix budget and schedule
Project manager competencies
                                                  i.   Business awareness: Clear understanding of the business activities within the organization. He should have in mind the mission and union of the organization and knowledge in stakeholders.
                                                ii.   Business partner orientation: The project manager should have skills to understand likes and dislikes of stakeholders of the organization. He should also request opportuinities of meeting some stakeholders.
                                              iii.   Commitment to quality: the project manager should always be committed to quality standards that should be employed in the organization, they include: - An organization can employStandards proposed by ISO
                                              iv.   Initiative: He should be in the fore front because be understand the project from the start to the end

                                                v.   Information gathering skills: He is expected to know different skills / techniques of information gathering, which to use and when to use it.

                                              vi.   Analytical skills / thinking : He should have skills required to analyse data gathered from people and understand people with diffent views.

                                            vii.   Conceptual thinking : Skills in conceptualizing, picture or model the whole project and not phased and offer solutions at any stage

                                          viii.   Flexibity: flexible in accommodating other people’s ideas and make adjustments whenever necessary

                                              ix.   Stress management skills: He should have skills to manage people and their stress as a result of deadlines, long working hours etc.

                                                x.   Motivational skills: they should have ways of motivating discouraged team players through, break, reward, console etc

                                              xi.   Developing others: to ensure continuity of the project in the event of the manager’s departure




                                            xii.   Anticipation impact: Skills of predicting eventualities and their impact on organization
                                          xiii.   Risk management skills: should be aware that risks are real and have skills of converting them to opportunities.
Responsibilities of the project manager
a)      To plan thoroughly on the project aspects responsible for seeking clarity from stakeholders
b)      To control the organization’s manpower and human resources needed by the project . Some activities have a definite of staff to carry them out when others he then assigns and reassigns manpower depending on the need of the activity.
c)      To control the basic technical definitions of the project ensuring that ‘technical Vs cost’ trade off determine the specific areas where optimization is necessary.
d)     To lead the people and  organization assigned to the project at any given point in time
e)      To monitor performance, cost and efficiency of all elements of the project.
f)       To complete the project on schedule and within budget
Feasibility study
Process used to identify any problem. Opportunities or charges in organization objectives
Requires examination of existing procedures project and systems.

Areas of study to find reality project.
a)      Cost
b)      Timing
c)      Performance specification
d)     Impact of the project on the organization
It aims at answering two questions:
        i.            Is the project feasible?
      ii.            How feasible are the alternatives under consideration
The main of the study is to investigate carry out a pre – liminary investigation which should help to determine whether the project should proceed further and how it should proceed.

The relevance of the approach will vary with the nature of the project itself.

The more concrete the project is, the more likely that there will be established procedure in relation to feasibility for open project: Budget never fixed, Objectives known and time flexible.

Project manager is responsible for conducting the feasibility study and would normally consider:
a)      Cost: is this within the budget set by the organization or within the capability for the organization to account how do the alternative compare?
b)      Timing: Are there specific constrains on timing and is it possible to compete the project within this constrains.
c)      Performance: Will the project satisfy performance criteria which have been determined? Basically this means will it do the jobs it is designed to do.
d)     Effect on the organization: Is it feasible in the context of the organization and the effect which will have.

COST.
Cost factors will be looked at through at through a financial appraisal. This should be related to financial criteria which have been determined. We need to consider whether the following criteria are relevant.

        i.            Capital expenditure implications.
What are the costs of the project? If there are alternative what are the relevant figures, What effect will this have upon the organization finances particularly capital budget, How will it fit with controls imposed upon the organization by control government. How will the expenditure be financed? What are the alternative sources?
      ii.            Revenue implications

How much will this cost both in the current year and subsequent years.

What are the likely gains in terms of income?

What effect will this have upon revenue budget?

NOTE: The answers to the questions will determine the financial criteria upon which the feasibility will be judged

                       TIMING.
The project schedule may need to comply with specific criteria which have been laid down.
It can be important:
a)      To comply with legal requirements eg new legislation or new requirement may need to be implemented by a certain needs.
b)      For operational reasons a new system may be required as a matter  of organization policy or to fit  in with existing procedure and deadlines
c)      To assist with financing mgt or borrowing approval may need to be spent within a specific period.
d)     To give the organization an edge over its competitors.
PERFORMANCE SPECS
This may be:
a)      Technical- operational, capability, external people
b)      Service based
c)      Resulting from external regulations
d)     Required by clients or customers
ORGANISATIONAL CONTEXT.
What the policy of the organization / quality standards the organization supports.
What are the budgeting procedures?
What are the reporting procedures / documents?
What are the organizational culture, does the project fit in with the general values and the believes if the organization.
This should be reflected on mission, vision and objectives.
How will it affect resourcing. Are the skills technology and  physical space available.
How will the project fit in with the existing procedure.
What effect will it have upon systems.
NOTE: The actual question asked and the shape of the study and the consequent report will depend upon the type of the  project being investigated 

Activity:
Examine a life project in your institution make a list of questions that should be asked in relation to feasibility.

Feasibility report.
Deliverable that comes from the feasibility study it is in form a document. A project manager will be responsible for.
Reporting on feasibility to the sponsoring decision makers or stakeholders. This can be done in a variety of ways and with different degrees of formalities.
Typical context will include:
a)      Project definition covering goals and objectives
b)      General introduction and background with update description and options.
c)      A clear definition of success criteria or feasibility criteria.
d)     Finding of the feasibility study
e)      Financial appraisal
f)       Pre-liminary compliance
g)      Organizational suitability
h)      Plan for the management of the project including implementation.
COST BENEFIT ANALYSIS
Basic considerations: For project appraisal
Looking at the economic feasibility of a project
Will investment of the resources be profitable
Will you gain after the end product?
How profitable will it be?
What is the profit margin i.e. one time or spread over time
How is profitability measured?
There are aspects of profitability that cannot be put in monetary terms eg
Change in staff morale, staff commitments to projects
How the profitable is the alternative investments.
Assess the option and come up with a margin
If there ae several different opportunities which one gives the best rewards
Selecting one opportunity from others that you have in min
CAPITAL AND REVENUE
Initial quantitative analysis
Process that helps in identifying, specifying and evaluate:
      Project cost
      Project benefit
Project costs are all the expenses that go into the running of the project
Project benefits are all the accruals from the project they could be inform of positive change in staff morale increased production, increase in income
To be able to specify, evaluate identify project cost and benefits the following must be specified:
a)    Value in financial terms – All that goes to the project or revenue into financial figure
b)    Timing –clearly specify the timings i.e.  The schedules phase duration activity duration and all estimations as far timing is concerned.
c)    Capital or revenue – Specify whether it is capital or revenue expenditure ie capital should either cost or benefit.
d)   Singular or recurring – Does it occur once ( singular ) or recurring ie used later
e)    Variation with time of the rearing item.

COST AND BENEFIT
Capital cost and expenses
These cost are incurred in the acquisition of business assets which are usually tangible items such as building machines etc
It is not merely the purchase of an item that contributes to the capital cost but also the cost of installation and putting it to work.
They form a significant part of the investment against which the profitability will be judge.
These costs usually occur at the start of one – off expenditure although there may be exceptions e.g. where a project is subdivide into faces

Recurrent costs and expenses
These are cost incurred on a routine basis after forming the day to day running cost of the business.

Benefits
Classes
a.     Capital
b.    Revenue
Capital benefits
These are realized from the swale of equipment which the existing system uses but which will no longer be needed or required.

Revenue benefits
This refers to increase in income or decrease in cost resulting from project investment.

Financial analysis
Depreciation
These revenue cost from business payable out of profit to allow for the reduced value through the use of capital asset.
The purpose of depreciations’ principally to provide fund for replacement costs
 But may also be regarded as:
a.       A charge against the business for use of the asset.
b.      An allowance against tax.
The two methods for computing depreciation include:
    iii.            Straight line method
D = A - R
    T                 A- Original cost of the asset.

                                            R- Residual value of the asset.
                                            T- the life time of the asset.

Constant percentage of reducing value.

This based on a selected fixed rate of depreciation being applied each year to the asset value at the start of that year.
The residual value at the end of the year is the initial value less the depreciation,
The residual at the end of the year (n) becomes the initial value of the year (n + 1)
This method is in very common use by many businesses because of:
  1. Provide a reasonable accurate method of the way in which many tangible assets lose their value with time.
  2. It the method used by government for calculation of capital allowance before tax in profit for plant, machinery and motor vehicle.

Financial Evaluation Analysis.
This is based in the maximum time value of money.
 A project will have an optimal life for the several years; the proposed system should ideally be made using discounting cash flow (DCF) analysis.
A concept shared by financial evaluation techniques is the time value of money ie a shilling today is worth a shilling one year from now.

Before cost / benefit analysis, this cost should be brought back to current shilling.
Discounted cash flow analysis
This is an evaluation technique which allows, managers to asses whether, the front end cost of buying or developing the project are worth the expected net benefit that will eventually follow on.
DCF recognizes that there is a time value or interest cost and risk cost to investing money so that the expected benefit from a project should not only pay back the cost but also yield satisfactory returns.

Present value
This refers to the future sum of money that sum which if the money is placed in a bank account will grow to at the given rate of interest.
The current value actually called present value of a shilling at any time in the future can be calculated using the formulae.

     PV = amount * 1/ ( 1+ r ) ^n.
Sometimes there is a need to determine the time period when life time benefit will overtake life time cost. This time or period is referred to as Break even point.

Cost / Benefit Analysis
There are 4 techniques or methods used i.e.
  • Pay back period analysis
  • Net present value
  • Return on investment ( ROI )
  • Internal rate of return ( IRR )

·         Pay back analysis
This is a simple and popular method for determining if and when an investment will pay for itself. This period of time is called payback period.
Determining payback period
Adjust  the cost and benefit for the time value of money ( ie adjust them to current shilling rate. )
The present value of a shilling in year ( n ) depends on the discount rate. The discount rate is a percentage similar to interest rates.
Discount rate for a business is the opportunity cost of being able to invest money in other projects.

  • Return on investment ( ROI )
This compares life time profitability of alternative solutions of projects.
This is a percentage rate that measures the relationship between the amount invested and the amount the business gets back from an investment
The ROI of a potential solution all projects is calculated as follows.

ROI = life time benefits – life time cost  * 100%
                           Estimated life time cost

·         Net present value
This is the process of discounting back to present the strings of cost and benefits associated with projects during life time.
The NPV of an investment alternative is considered the cost / benefit technique by many managers.
Cost is represented by negative cash flows while benefits are represented by positive cash flows.

After discounting all costs and benefit, subtract the sum of the discounted cost from the NPV.

NPV= [ B/ 1+ r) + ( B1/ (1+ r)^2+ ………..+Bt/( 1+r) ^t]- [C/(1+ r)+ C2/(1+r)^2+………………………. Ct/( 1+r )^t]
R= internal rate of return, C= cost (gross), t= time in years, B=benefit (gross)
The following should be listed about NPV:
·         If it is positive then the investment is good
·         If it is negative the investment is bad.
When considering multiple solutions, all projects, the one with the highest positive NPV is the best investment.

Internal rate of return ( IRR )this is the discount rate that equates the present value of a project’s benefit with the present value of project cost.
It answers the question, how does the discount rate have to be make the project have a positive NPV.
The project is acceptable if the IRR exceeds the current market rate of interest.
IRR is the rate of income which solves the equation.

IRR=[ B/(1+r)+B1/(1+r)^2+…Bt/(1+R)^t]-[C/(1+r)+C1/(1+r)^2+..Ct/(1+r)^t]
R= discount rate.
IRR rule for investment projects are:
Accept the  project if IRR is less than discounting rate eg, you  have a project which has i9nitial capital outlay of 10m, benefits after one year is 6m,Aftetr 2years is 7.25m and discount rate is 10%. Compute the IRR


SOFTWARE COST ESTIMATIONS.
Basic considerations
a.       Development cost- cost incurred in developing an application it could consist of programmer’s salary, purchase of programming tools and all other cost6s in development places of software.
b.      Maintenance cost:- This contributes towards the cost.
c.       The hardware cost:-Refers to the cost of any tangible hardware that is required for the development and completion of the software.
d.      Training cost:- Training programmers in their specific criteria for the completion of the software project and training users.
e.       Travelling cost:- The frequent visit that you make to different sites, expenses incurred must be reflected.
Development and maintenance cost makes up in bigger percentage of software costs.
Software cost begins at the proposal and continues all the way until the system is discarded.
Poor cost estimation techniques contributes to poor project management since cost estimates are largely time estimates.
Most software cost estimation techniques assume firm knowledge of user requirement which is not the case inn practice.

Ø  Expert judgment ( technique) on cost estimation
One or more experts on the software development methods to be used and on application domain are to estimate cost based on their experience. The expert will work independent.
Final cost is arrived at by consensus (estimate, estimate again, continue until co census is arrived at)
Advantages
1.      Quick
2.      May be accurate if collective experience is on board.
Disadvantages
  1. Errors may be introduced due to guess work
  2. Human biases are likely to feature particularly to methodologies.
Ø  Estimation by analogy
Cost estimation by analogy with completed projects in some application domain
Advantages
  1. More accurate than expert judgment.
  2. Quicker than expert judgment.

Disadvantages
  1. Project may not be similar and may not be possible to recall the details of the previous projects.
  2. It may not be possible to know how these differences affect since proportional cost models / strategy is unreliable; therefore the cost of co-ordination and communication is never estimated.
Ø  Cost estimation using work breakdown structure
Based on breaking down project into task / work units then estimates cost of each task ( choose any of the E.T) and sum up the task costs.

Advantages
a.       Quicker/more accurate than estimating for whole project.
b.      Esti9mation more likely to be detailed than estimating for one large project.
Disadvantages
a.       Ignore cost of communication and training
b.      Project cost is not equal to the sum of component cost.
c.       How estimate cost of work unit is not addressed.
NB/ Researchers in this areas have found that there exist an optimal development time and adding extra people cannot speed the project below 75% of the optimal development time.
Estimation using lines of code
This is based on the number of lines of source code ( L ) relying on the estimators judgment.


Demerits
a.       One dimentional i.e. only  one factor is being considered  as affecting cost ie lines codes
b.      Ignores other factors eg, programming language, use of function or procedures.
c.        


Estimating using parametric equations
Software costing based on attributes and not only lines of codes. This attributes are as follows:
a)      Work environment
b)      Interest
c)      Technical ability
d)     Communication skills
e)      Management skills
f)       Type of work  / project
g)      Experience
h)      Ability to share
Ability to work
This takes into account all factors that interrupt are useful working time/person in a standard 8-hour day.

Type of project
Different stages of the SDLC take different percentage of development time depending on complexity of difficulty of the software being developed or the project.
This is clearly evidence from investigation carried out by Boehme in various efforts put on different types of projects. He came up with the constructive cost model COCOMO

Parkinson’s Law
It is based on the fact that work expands to fill the time available.
The cost of software project is equipment to the available resources and not development effort.

Pricing to win
The estimate of the project cost is equal to whatever the customer is willing to pay.
Development and not software functionality.

Algorithmic cost modeling.
The more scientific but not necessarily the most accurate approach to the software costing and scheduling process.
The model is built by analyzing the cost and attributes of computed projects.
Mathematical formulae can be established by linking cost with one or more metrics such as projects size No of programmers experience. Programming language etc.



Basic difficulty with this approach.
Relies on the quantification of some attributes of the finished software products.
Cost estimation is probably most critical only in the software process long before the product is completed, so the manager must estimate the appropriate attribute value for the input to the costing model.
The estimation must usually be made often inaccurate.
The degree of inaccuracy is unknown so the probable event in the estimate is uncertain.

Common metrics of cost estimation.
a)      Reduce the number of LCO in the finished uncertain system.
b)      Size estimation based on estimation by analogy with other projects and estimation by ranking sizes of system components.
c)      Application domain knowledge.
d)     For use of functions – points which relates to functionality rather than size.

The COCOMO Model (Constructive Cost Model)
It exist in the basic (simple), intermediate and detailed forms.
It assumes that:
  1. The software requirement are relatively stable
  2. The project will be well managed both by the customers/ client and the software developer.

The basic COCOMO model
It only uses the estimated size of the software project and the type of software being developed, there are various of the estimated formulae for three classes of software projects.
v  Organic mode project
The project of this project relatively has final working in the familiar environment developing well understood projects.
Communication overhead is low because team is small
Team members know what they are and can quickly get with the jobs.

v  Semi-detached mode projects
Intermediate stage between organic mode and embedded mode projects.
Team can be made up of experienced and inexperienced staff.
Team members may have limited experience of related system and may be unfamiliar with some but not all aspects of the system being development.

v  Embedded mode project
This is concerned with developing software which is part of a strong coupled complete of hardware, software regulation and modifications to get validation costs are high.
There are diverse and its unusual for project team members to have much experience in the application being developed.
The basic estimation formulae to compute cost for the project or more precisely the effort required for software developments are.

Effort=A(KDSI)^b
TDEV=B(MM)^c
KDSI=No of thousands of delivered source institution
A, B, b and c are constants which vary depending on the type of project.
 DSI – refers to any time of source text irrespective of the actual number of instructions on the line. Comments are excluded.
MM= Man months
TDEV=Development schedule- time required to complete the project given that sufficient personnel resources are available.
Summary of basic CoCoMo
It is good for quick, early. Rough order of magnitude
Estimates of software cost but its accuracy is limited because:
  1. Lack of factors to account for different in hardware constrains.
  2. Personnel cost and experience
  3. Use of modern tools and techniques
  4. Other project attributes.
Intermediate CoCoMo
The basic model is extended to consider a set of cost driver attribute that can be grouped into four major categories with each category having a number of sub category.
  • The first category is the Product attribute
               -Require software
               - Size of application database
               -Complexity of the product
·         Hardware attributes
                      -Runtime performance
                      - Memory constrains
                      -Volatility of the virtual machine environment
                      - Required turn about time.
·         Personnel attributes
                      -Analyst capability
                      -Software engineer capability
                      -Application experience
                      -Virtual machine experience
                      -Programming language experience.
·         Product attribute
                      -The use software tools
                      -Application software engineering methods
                      Required development schedule
Each of the 15 attributes is rated on a 6 point scale that rages from very low to extra high ( in importance all value )
Based on the rating and effort multiplier is determined. The product of all effort multiplier results in an effort adjustment factor typical values of EAF rage from 0.9-1.4
The intermediate formulae for computing effort is

E=A (KDSI) ^b.EAF
Since intermediate CoCoMo relies mostly in size estimations, there are problems associated with size estimation e.g.
a.       Nature of the software
b.      Novel application of software
c.       Fast changing technology
d.      Lack of homogeneity of  product experience
e.       Subjective nature of estimation
f.       Political implication with organization.

FUNCTION POINT

CONFIGURATION MANAGEMENT:
Change is inevitable when building a software project
This increases the level of confusion among software engineers who are working on a project confusion arises when changes are not:
a.       Analyzed before they are made
b.      Record before they are implemented
c.       Reported to those with a need to know
d.      Controlled in manner that will improve quality and reduce errors.

Sources of changes
  1. New business or market condition that dictate changes in product requirement or business
  2. New customer need that demand –- Modification of data produced by IS
-           Functionality delivered by the product.
-          Services delivered by computer based system

a)      Re-organization/business downsizing that causes changes in project priorities or software engineering team structure.
b)      Budgeting/Scheduling constrains that causes a redefinition  of system or product
Definition of configuration management
CM is the process of identifying and defining the items in the system, controlling to these items throughout their life
Recording and reporting the status of these items and change requests and verifying the completeness and correctness of items.

Functions of CM
  1. Identification- the unique naming of the software object to be managed
  2. Control- Controlling the release of a project and changes to it throughout the software life cycle.
  3. Status Accounting-Recording and reporting the status of components and change requests.
  4. Audit and review- Validating the completeness of a product and maintaining consistency among the components
  5. Manufacture-Managing the construction and building of a product
  6. Process management-ensuring carrying out of the organization’s procedures, policies and lifecycle model.
  7. Teamwork-Controlling the work and interaction between multiple users on a product.
TERMINOLOGIES

  1. Software maintenance-This refers to asset of software engineering activities that occur after software has been delivered to customers or client and into construction.
  2. Software configuration management- A set of activities (tracking and controlling) that begin when a software project begins and terminate only when the software is taken out of operation
Change control: meaning, Similarity to CM,Difference from software configuration.
PURPOSE OF CM.
Changes to an existing software system are inevitable and therefore CM ensures that these changes:
a.       Take place in identifiable and control environment
b.      Do not adversely affect any properties on the system.
c.       Do not adversely affect the implementation of the security policy.
                 It provides assurance that addition, deletions, or changes made do not compromise the trust of the originally evaluated system.

Software configuration management tasks
Configuration Identification:
This function identify the components of the design and implementation of the system
These will be accomplished through:
  1. Identifier ( Software confirmation item )
  2. Base lines
It SCI’s are the output of the software process and could be divided into 3
  1. Computer programmes
  2. Documentation.
  3. Data
Base line is a software configuration management concept that helps to control change without seriously impending or hindering.
  • Development baseline e.g.
Rapid application development, integration testing and the goal of this development base line is to coordinate engineering activities.
  • Functional base line eg. Prototype technology previous. The goal of functional baseline is to obtain customer experience with functional system.
  • Product base line eg. Windows 98, Millennium word. The goal of product base line is to cordinate sales and customers support.
To control and manage software configuration items each must be seperately named and then organised using object oriented approach.
There are two types of object:
-Basic object-Refers to a unit of text created by a software engineer during analysis,design.coding or testing. Example is requirement specification
-An aggregate object-This is a collection of basic object and other aggregate objects eg. Design specification.
Each object has a set of distinct features that identifies it uniquely. This  include: Name, Description and resources required by the object.
Configuration control/Version control
This involved the systematic, evaluation, co-ordination, approval or disapproval of proposed changes to the design and construction of a configuration item that has been formely approved.
It begins in the earlist stages of the design and development of the system and extends over the full life of the configuration items included in the design and development stages.
Early initiation of configuration control procedure provides increased accountability for the system whereby making its development more traceable. This serves a dual purpose:
  • Make it possible to evaluate the impact of  a change to the system and controls the chages as its being made.
  • There is less chance of making undisirable changes to a system that may later adversely affect the security of the system.
Initial faces of configuration control are directed towards control of the system configuration as defined primarily in design document.
CC specifies procedures to ensure properly and presents  an accurate description of the system and software configuration often a change to one area of  a system may necessitate a change to an area.
It covers a broader area than first documentation, It maintains control of design data, source code, the running version of object code and test fixtures.
Change to any of these areas are subject to review and approval by unauthorised body.

Configuration status accounting
Its used in reporting on the progress of the development in very specific ways. It accomplishes these tasks through: Data recording, Data storing, Data reporting.

The main objectives of CSA is to record and report all information that is of significance to the configuration management process. What is of significance should be outlined in the configuration or meeting of a milestone.
The configuration accounting systems may consist of:
  1. Tracing these documentation manually to final the status over change.
  2. A debit balance can be automatically be used to track the change.

Benefits of online status Accounting system.
  1. Information may kept in a more structured fashion which would keep it upto date.
  2. Being able to query a debit balance is less cumbersome than sorting  note pages.
  3. Durabiliyt of a discatte or harddisk for stoprage outweighs that of a spiral notebook or folder provided that it is properly backed up to avoid data loss in the event of system failure.
CSA establishes records and reports which enable proper logistics support ( ie supply of spares instruction mannuals, training and maintanance facilities ) to be established.
The records and report produced through CSA should include.
  • A current configuration list
  • A historical change list
  • The original designs
  • The status of change request and their implimentation
  • Procedure to trace all changes.
Configuration Audit and Riview.
Configuration audit is used for ckecking from top to bottom completeness of the configuration Accounting information to a scertain that only the authorised changes have been made
The minimum configuration management be limited to simply defining how configured management will be impemented as it relats to the identification controls, Accounting and auditing task. Configured management plan should contain sufficient details of the following items:
Responsibilities
Ensures elements function properly during configuration management.
Tools
  1. It includes: Forms used to change control
  2. Correction for labelling configuration.
  3. Software libraries.
  4. Any automated tools that may be available
  5. Samples of any documents to be used for reporting.

Procedures
The main objective of configuration management consist of the following procedures
  1. To ensure both user and design documentation are updated in synchrony with all changes to the system.
  2. Guidelines for creating and maintanang functional tests and documentation this out the life of the system
  3. Procedures for how design and impementation of changes are proposed,evaluated, co-ordinated and approved.
  4. Steps to take to ensure that only those approved changes are actually included and that changes are included in all of the necessary areas:

Emerging procedures
Ensure that:
  1. Procedures for performing a time sensitive changes without going through a full review process that may overide the stardard procedures defined.
  2. The  steps for retroactivatively implimenting configuration management after the emerging change has been complemented are also defined.
The configuration management plan is a living document and should remain flexible during design and implimentation phases.
It is in place to impose control on a project but should still be open to addition and changes as designers and developers see fit. The CMP defines

  1. Types of documentation to be management under document management scheme.
  2. Who takes responsibility for configuration management procedures and creation of base line.
  3. Policies for change control and version management.
  4. Describe tools which can be used to assist the configuring management process and their limitation.
  5. Defines the configuring management process debit balancing to record configuring information.

No comments:

Post a Comment

WHEN YOUR CHILD FALLS ILL IN SCHOOL

When your child falls ill in school… By Harold Ayodo When a student becomes ill or suffers an injury, which between the parent and...