Featured Post

The great debacle of healthcare.gov

This is the first time in history when the president of the United States of America, or probably for any head of state around the world,...

Sunday, October 28, 2007

Software Project Management

I had attended a 2 days workshop on ‘software project management’. This workshop was designed to be interactive with the participants. I learned different aspects of the project management in that two-days workshop. Here I'm going to share the highlights of that workshop.

At the very beginning of the workshop we, the participant, were divided into three groups. In each of the group there was a Designer and a Finance Manager. I was playing the role of the Designer. Three designers were then isolated from the groups and given a requirement to design a tallest tower that would have to stand in the natural calamities even in the tsunami. Then we, the designer, were advised to keep the requirements secret and send back to the teams with an art (hard) paper sheet and scotch tap to build the design and the tallest tower. So we got a hard paper sheet, scotch tap and 8 (eight) minutes in our hands. After 8 minutes trainer the found the following things:

Group One: They came up with the paper, divided into six pieces, and the given scotch tape but those pieces of paper didn’t joined together to be a tower at all.
Lesson: They designed it in such a way that might be good but unrealistic compare with the resource limitations (time and cost).

Group Two: We have built the tower in rounded shape with a strong base. We put the tower on the table. The trainer tested it with strong blow and it felt down. I was in this group.
Lesson: We have developed the tower in portable design that can be put on any place but it was not the requirement to be portable and didn’t test it much. We exceeded the client requirements (by providing the portability) but failed to fulfill the basic requirements.

Group Three: They also built the tower in rounded shape and used scotch tap to attach it with the table top. The trainer tested it with the strong blow and it passed.
Lesson: They have built exactly what the client asked for.

According to the Standish Group, world’s renowned software project research group, 12% of the total software projects were successful and 37% software projects failed in the year of 1994. But it has changed dramatically in the year of 2004, 36% of total software projects were successful and only 13% software projects failed. Here successful project indicates the completion of the project on time and on budget.

The workshop was mainly following the official certification program of the Project Management Professional (PMP) by the Project Management Institute (PMI). The trainer himself is the certified Project Manager from the PMI. The workshop contains the following course structures:
  1. Introduction to Project Management
  2. Project Integration Management
  3. Project Scope Management
  4. Project Time Management
  5. Software Estimation
  6. Project Cost Management
  7. Project Human Resources Management
  8. Project Risk Management
  9. Project Quality Management
  10. Project Procurement Management
  11. Project Communication Management
Here is the brief description of the key features on the above topics:

Introduction to Project Management
Project Management is the applications of knowledge, skills, tools and techniques to project activities in order to meet or exceed stakeholders’ expectations. Project can be defined as the temporarily organized set of operations to create a Unique Product or Service within the constraint of Time, Resources (budget) and scope that have a definite start and end times. Projects are progressively elaborated.
Project Management Process comprises the following processes
  1. Functional Process
    1. Core Processes
    2. Facilitating Project execution and Plans with changes requests
  2. Process Groups
    1. Initiating
    2. Planning
    3. Executing
    4. Monitoring & Controlling
    5. Closing
In the project management processes 3 Major Documents are to be developed:

Project Charter: Formally authorizes the project
Project Scope Management: States what work needs to be accomplished and what deliverables need to be produced
Project Management Plan: States how the work will be performed. Composed of the plans and documents generated by the various processes. These are the subsidiary plans

Project Integration Management

In the Project Integration Management the main focus lies on the Project Selection Methods. Project Selection Methods are:
1. Constrained Optimization Methods
2. Benefit Measurement Methods
a. Cost/Benefit Analysis
b. (Weighted) Scoring Model
c. Payback Period
d. Discounted Cash Flows
3. Net Present Value (NPV)
4. Internal Rate of Return (IRR)
In this process the Project Charter, Preliminary Project Scope Statement, Project Management Plan is developed. Integrated Change Control is also one of the concern of this process

Project Scope Management

Includes the processes required to ensure that the project includes all the work required, and only the work required, to complete the project successfully. The key focuses of the project scope management are Work Breakdown Structure (WBS), Responsibility Assignment Matrix aka RACI chart and SMART way of defining goal.
A project goal must be Specific, Measurable, Achievable, Realistic and Time-based (SMART).
WBS is a very important tool that defines the work of the project in a deliverables-oriented hierarchy. Accuracy and completeness are critical while developing the WBS.
Responsible, Approval, Consulted and Informed are the four keywords used in the RACI chart that is used to draw the responsibility assignment matrix to the project members

Project Time Management

Project Time Management includes the processes required to accomplish timely completion of the project. It comprises the following functions:
-Activity Definition
-Activity Sequencing
-Activity Resource Estimating
-Activity Duration Estimating
-Schedule Development
-Schedule Control

I have also learnt the Forward Pass, Backward Pass, What-If Analysis –Monte Carlo Approach, Critical Chain Technique, Gantt Chart in this chapter.

Software Estimation

Estimation comprises three phases:
-Size: Size estimate is a measure of the size of the final work product
-Effort: Effort estimate is the effort in person months/person days required to produce the work product
-Schedule: Schedule Estimate is the calendar time it would take to accomplish the effort.
The techniques that the workshop went through are Functional Point Analysis (FPA), Line of Code (LOC) estimation, COCOMO and Delphi’s Wideband Technique.
Function Pint Analysis is a standard method for measuring the size of a software development or software enhancement project for business application software based on the customer’s point of view. Function Point is a measure that describes a unit of work product suitable for measuring the size of a business application software. It is independent of the computer language, development methodology, technology or capability of the project team.
LOC is a technical measure as it measures the software from the developer’s point of view - not from the user’s point of view.
Delphi’s Wideband Technique basis are:
• When many experts independently come to the same estimate based on the same assumptions, the estimate is likely to be correct
• We need to make sure that experts are working on the same and correct assumptions
• Also find this technique in Risk Management tools and techniques.
Here are the best practices for the estimation techniques are:
• Avoid off-the-cuff estimates
• Allow time for the estimate and plan it
• Use data from the past projects
• Use developer based estimates
• Estimate by walkthrough
• Estimate at low level of detail
• Don’t omit common tasks
• Use tools, models for estimation
• Use at least two techniques, and compare the results.

Project Cost Management
Project Cost Management includes the processes involved in planning, estimating, budgeting and controlling costs so that the project can be completed within the approved budget. The key focuses of the cost management processes are
• Cost Estimating
• Cost Budgeting and
• Cost Controlling.

Earned Value Management (EVM) is one of the key performance evaluation analysis techniques that are widely used in the cost management process. It has three major components:
Planned Value (PV) is the budgeted costs of the work scheduled. It only changed when baseline is changed. Cost baseline is a time-phased budget that is used to measure and monitor cost performance on a project. Actual Costs (AC) is the actual cost of the work performed. It is based on the actual completion of work packages. Earned Value (EV) is the budgeted costs of the work performed. It is also based on actual completion of work packages. When EV is higher than AC, it is a good indicator of the project cost and vice versa.

Human Resources Management

Project Human Resources Management (HRM) includes the processes that organize and manage the project team. Proper HRM can turn a group of individuals into a team. The key focuses of the project HRM are
• Human Resource Planning
• Acquire Project Team
• Develop Project Team and
• Manage Project Team

Develop a project team to improve skills of team members in order to increase their ability to complete project activities and to improve feelings of trust and cohesiveness among team members in order to raise productivity through greater team work.
Attributes of effective project teams:
• Clear goals and objectives
• Cohesiveness
• Understanding of Interdependence
• Potency and
• Trust
It also includes the techniques to analyze performance, different types of motivation model (e.g. Hawthrone Effect, Herzberg’s Motivators and Hygiene factors, Maslow’s Hierarchy of Needs etc.) and conflict management

Project Risk Management

The objectives of Project Risk Management is to increase the probability and impact of positive impact and decrease the probability and impact of events adverse to the project
Risk Management consists of the following processes:
• Risk Management Planning
• Risk Identification
• Qualitative Risk Analysis
• Quantitative Risk Analysis
• Risk Response Planning and
• Risk Monitoring and Control

In the Risk Identification different information gathering techniques were demonstrated that includes Brainstorming, Delphi Wideband technique, Nominal group technique, SWOT analysis and Ishi-Kawa/Fish-Bone diagram. In the Risk Analysis process the Probability Impact Matrix, Sensitivity Analysis/Tornado Diagram, Expected Monetary Value (EMV) and Decision Tree Analysis were discussed.
When we need to response to risks there are several strategies. Those are:
• Strategies for negative risks
o Risk avoidance
o Risk transference
o Risk mitigation
• Strategies for positive risks
o Exploit
o Share
o Enhance
• Strategy for both threats and opportunities
o Risk acceptance
o Contingent response strategy

Project Quality Management

Project Quality Management processes include all the activities of the performing organization that determine quality policies, procedures and processes of quality planning, quality assurance and quality control, with continuous process improvement activities conducted throughout, as appropriate.
Performing Quality Assurance is the application of the panned, systematic quality activities to ensure that the project employs all processes needed to meet requirements but performing Quality controlling is involves the monitoring of specific project results to determine whether they comply with relevant quality standards and identifying ways to eliminate causes of unsatisfactory performance. Quality Controlling may uses the following tools and techniques: Inspection, Control Charts, Pareto diagrams, Statistical sampling, Trent analysis, Flow-charting etc.

Total Quality Management (TQM) is a common approach to implementing a quality improvement program within an organization.

Project Procurement Management

Project Procurement Management includes the processes to purchase or acquire the products, services or results needed from outside the project team to perform the work.
Key focuses of this management process are:
• Plan Purchase and Acquisitions
• Plan Contracting
• Request Seller Responses
• Select Sellers
• Contract Administration
• Contract Closure

Project Communication Management

Includes the processes required to ensure timely and appropriate generation, collection, dissemination, storage, and ultimate disposition of the project. The following communication management aspects were discussed in the workshop:
Outputs of Information Distribution comprise:
-Project Records
o Memos, correspondence, etc.
-Project Reports
o Includes status reports, minutes of meeting, etc.
-Project Presentations
o Presentations to stakeholders and other relevant parties
o Format and informal

A team meeting needs to have the following attributes:
- Goal Oriented
- Right people
- Expectation clarified
- Agenda in advance
- Time sensitivity and in this way a team meeting needs to be GREAT.

Finally, in a software company the primary assets are the processes that it develops and practices. The software project management tries to give us a picture so that we can develop and effectively practice the software standard processes that will enable us to efficiently manage a software project to complete it on time on budget.

    No comments: