Monday 11 July 2011

Project Manager

Who must Plan, Motivate, Organize, & Control the practitioners who do software work.
Characteristics of Project Manager:
(1) Flexible Flexibility is required for a PM especially when dealing with new team members who may need specific , firm direction to get started. PM should be able to adopt various styles of leadership (Authorative, Collaborative etc) with various people.
(2) Problem Solving He should be able to diagnose the technical and organizational issues that are most relevant.
(3) Managerial identity – A good project manager must take charge of project. He/she must have the confidence to assume control when necessary.
(4) Achievement – He must reward initiatives (like bonus, gift etc) as this will optimize the productivity of a project team.
(5) Influence and team building – He must be able to “read” people i.e. he must be able to understand verbal & non verbal signals and react to needs of people. The manager must remain under control in high stress situation.


Skills of Successful Project Manager: There are eight skills a project manager require to ensure success they are :
(1) Technological Skills Effective project manager should be familiar with degree of technological knowledge to complete the project. This will help identifying Alternative solutions and communicating risks associated to technology to various stake holders and to route the problems to the right SMEs for solution.
(2) Organizational Skills Although you may not need  intense technological skills but it is important that  PM has  a deep Organization skills  ( Organizational policies, procedures & Planning)  This would help in analyzing the Scope, Time, cost, quality and risk.
(3) Communication Skills This is the most important skill that a PM should have.  This deals with keeping the stakeholders well informed by Timely distribution of project data and updates to stakeholders.
(4) Team Building - PM should be proficient in Facilitating team meetings, conflict resolution and handling diverse team. Should ensure motivation and empowerment of team members by encouraging the Suggestion and recommendations of the team and allowing the team share their opinions.
(5) Coping This implies Project Managers should be creative with solutions and flexible with results and they need to Patient and persistent with stakeholders. Coping with stakeholders is necessary for successful solution.
(6) Negotiation Since there are varied stakeholders with varied objectives, it is important for a Project Manager to persuade and negotiate the terms of Project, Resources and results.
(7) Content - Project Managers should be knowledgeable in the subject matter. Knowing the subject matter without having to consult with SME would reduce project duration time. Uninformed project managers have to prolong tasks by days to wait for responses from experts.
(8) Leadership - Project Managers should be positive, decisive, motivating, empowering and energetic.


TO Download : http://www.megaupload.com/?d=BPP25JV7

Project Management Office (PMO)

PMO is a corporate department responsible for the practice & discipline of project management within the organization. They are usually departments with management control over project managers & responsibility for project success. The function of a PMO fall into three categories:


(1) Development Functions: Development functions are those that build a cadre of effective project managers. They include activities such as:
• Recruiting Staff
• Defining project management career and training paths
• Providing support & assistance to project managers
• Evaluating project managers at the end of a project


(2) Support Function: Support functions are those that help project managers become more effective in managing their projects. They include activities such as:
• Time gathering & reporting
• Defining standards for project documents
• Establishing priorities among projects.
• Establishing procedures for issues such as:
        (a) Scope control or review & approval
        (b) Creating standards for initiating and closing projects
        (c)  Implementing project management methodologies & software
        (d) Providing a forum for resolving disputes


(3) Control Functions: They include
• Taking care of employee promotion
• Providing discipline & direction
• Defining mandatory standards such as the frequency of status report or team meeting
• Reviewing projects in progress


To Download: http://www.megaupload.com/?d=WQEVKMFL

Essential Elements of Software Project Management

Choose the Project Methodology: A key decision is the methodology that will be used for your project. A traditional waterfall methodology is highly structured to deliver good results, but can result in longer projects based on its sequential set of tasks. Agile methodologies deliver quicker results, but require managing cross-functional teams and allowing them more freedom to create prototypes in several iterations as requirements are refined.


Identify Requirements: A solid understanding of user requirements forms the foundation for your software, yet there's often a rush to skip this and move to the coding phase. This may cause you to miss necessary requirements or try to meet an ever-changing target as new requirements are uncovered.


Understand the Technology: It's crucial that the project manager understands the maturity level of the technology used for the project, since technology changes at a rapid pace. If it's a well-understood technology, the chance of meeting the project schedule is high.


Communicate with Business Stakeholders: Technical jargon is a foreign language to most business stakeholders, so communication between the project manager, the technical team and other stakeholders can be a challenge. Project managers and technical team members need to talk about the requirements and project risks using business terminology. If users can't understand the explanation, they can't make informed decisions about the level of risk they're willing to accept.


Deliver Phased Results: Many software projects are large, expensive and lengthy efforts. Often the new software isn't delivered until months or years after the requirements were originally documented.


Understand the Culture: Project managers should consider cultural issues in the project planning. This includes adding contingency time in the schedule to work through possible issues and clearly communicating the risks of taking short cuts.

Sunday 26 June 2011

Project Management Institute

The nine areas of project management outlined by Project Management Institute (PMI) are:


(1) Project Scope Management:
Controlling the planning, execution, and content of the project.
 • We need to pay special attention to both project & product scope so that the software we end up with its what we intended to make in the first place


(2) Project Time Management:
Managing everything that affects the projects schedule.
Building the product at right time for maximum customer acceptance.


(3) Project Cost Management:
Cost estimating, budgeting, and controlling the costs involved in building and maintaining the project.


(4) Project Quality Management:
Ensuring that the product we are producing is a quality product and that it meets customer expectations.


(5) Project Human Resources Management:
Hiring and managing the competent people to work for the project.


(6) Project Communications Management:
Making sure that the people who information need get it, when they need it.


(7) Project Risk Management:
Anticipating and handling risks as well as taking advantage of opportunities that can help a project.


(8) Project Procurement Management:
Creating vendor contracts and purchasing goods and services.


(9) Project integration Management:
• Ensuring perfect coordination between all the knowledge areas.


To Download : http://www.megaupload.com/?d=TRJ8N7QE

Project Dimensions

Project dimensions include People, Product, Process, and Technology
(1) People: People management includes Recruiting, Selection, Performance management, Training, Compensation, Career development, Work design, Team culture and Development

(2) Product: Before a project can be planned product objectives and scope should be established. Alternative solutions should be considered. Technical and management constraints should be identified. The software developer and customer must meet to define product objectives and scope. Scope identifies the primary data, functions and behaviors that characterize the product. Once the product objectives and scope are understood alternative solutions are considered.

(3) Process: A software process provides the framework from which a comprehensive plan for software development can be established. A number of different activities like tasks, milestones, work products and quality assurance points – enable the framework activities to be adapted to the characteristics of the software project and the requirements of the project team. Finally umbrella activities such as software quality assurance, software configuration management, and measurement are carried out during the process follow up.

(4) Technology: Analysis of presently available technology to implement the project. Assessing the risks associated with the implementation of the technology especially while implementing new technology. Adopting technology that would reduce the cost of the finally built product. Imparting training about using the technology for team members who are new to the technology. Upgrading the implemented technology from time to time.

Procurement Management

Procurement management processes includes:
(a) Procurement Planning (b) Solicitation Planning (c) Solicitation (d) Source Selection (e) Contract Administration (f) Contract Close-out


(a) Procurement Planning: This involves taking decision on
                                                 • What to procure?
                                                 • What type of contract to use?
                                                 • Financial and organizations issues

(b) Solicitation Planning: Make or buy analysis is used for determining the cost effectiveness of procurement. PMs need to consult experts to assist them with the legal aspects of contracts. Decisions need to be made about appropriateness of the types of contracts e.g. fixed price contracts (more risk to seller), Cost reimbursable contracts (more risk to buyer), Unit price contracts (fixed price to seller and risks passed on to buyer). Solicitation planning includes:
• Writing the statement of work in sufficient details.
• Preparing procurement documents e.g. Request for proposal (RFP), Request for bid (RFB), Request for information (RFI).
• Developing source selection evaluation criteria.

(c) Solicitation: This involves:-
 • Finalizing procurement documents
• Advertising the work
• Providing clarifications
• Holding bidder’s conference
• Receiving proposal

(d) Source Selection: Source selection criteria cover:-
• Technical criteria
• Management criteria should also be given due importance

(e) Contract Administration: This involves:
• Finalizing and awarding the contract
• Monitoring performance
• Making contract modification (when required)
• Project members should be involved in writing and administering the contracts

(f) Contract Close-out: This include product verification and administrative close out e.g. formal acceptance, closure, contract file archiving.


To Download : http://www.megaupload.com/?d=VNDQJGO1

CE Charts

The main purpose of the CE diagram is to graphically represent the relationship between an effect and its various possible causes. The main steps in drawing a cause-effect diagram are as follows:-
(1) Clearly define the problem (the effect) to be studied. Here we can find the problems of particular types that are occurring in the system.
(2) We draw an arrow from left to right with a box containing the effect drawn at the head. This is the backbone of the diagram.
(3) We determine the major categories of causes. These could be the standard categories or some variation to suit the problem.
(4) We then write these major categories in boxes and connect them with diagonal arrows to the backbone.
(5) Then Brainstorm for the sub-causes of the major causes by asking repeatedly for each major cause “Why does this major cause produce the effect”?
(6) Then we add the sub-causes to the diagram clustered around the major cause. If necessary further we subdivided these causes & stop when no worthwhile answer to the question can be found.

   

Statement of Work (SOW)

Sow describes all work products that will be produced and a list of people who will perform that work. It has a detailed description of all of the work products that will be created over the course of the project. A list of features that will be developed. A description of each intermediate deliverable or work product that will be built. 

COCOMO MODEL

The constructive Cost model (COCOMO) is an empirical estimation model i.e. the model uses a theoretically derived formula to predict cost related factors. This model was created by “Barry Boehm”. The COCOMO model consists of three models:-
(1) The Basic COCOMO Model: It computes the effort & related cost applied on the software development process as a function of program size expressed in terms of estimated lines of code (LOC or KLOC).
(2) The Intermediate COCOMO Model: It computes the software development effort as a function of – Program size and A set of cost drivers that include subjective assessments of product, hardware, personnel, and project attributes.
(3) The Advanced COCOMO Model: It incorporates all the characteristic of the intermediate version along with an assessment of cost driver’s impact on each step of software engineering process.

The COCOMO Model is defined for three classes of software projects stated as follows:-
(1) Organic Projects: These are relatively small and simple software projects which require small team structure having good application experiences.
(2) Semi-detached projects: These are medium size projects with a mix of rigid and less than rigid requirements level.
(3) Embedded Projects: These are large projects that have a very rigid requirement level. Here the 
hardware, software and operational constraints are of prime importance.

In below we will discuss only the Basic & intermediate COCOMO Models:


Saturday 25 June 2011

Waterfall Model

It is a simplest model, which states that the Phases are organized in a linear order. The model was originally proposed by “Royce”.
The various phases in this model are shown below:-
(1) Analysis Phase: It consists of planning and requirements definition activities. The end products of planning are – (a) System definition (b) project plan
(a) System definitionIt is typically expressed in English. It incorporates charts, figure, graphs, tables and equation of various kinds.
(b) Project planIt contains the life cycle model to be used, the preliminary development schedule, preliminary cost estimates and resources estimates, tools & technique to be used.

(2) Design Phase: This phase is concerned with – (a) identifying software components like functions, data streams and data stores, (b) Specifying software structures, (c) Maintaining a record of design decisions and providing blue prints for the implementation phase.

(3) Implementation Phase: It involves the translation of the design specifications into source code. It also involves activities like debugging, documentation and unit testing of the source code. In this stage various styles of programming can be followed like built-in and user defined data types, secure type checking, flexible scope rules, exception handling, concurrency constructs etc.

(4) System Testing Phase: It involves three kinds of activities: - (a) Unit testing (b) Integration testing (c) Acceptance testing
(a) Unit testing - Unit testing focuses on the smallest unit of software design i.e. the software component or module. Using the component-level design description as a guide, important control paths are tested to uncover errors within the boundary of the module. The unit test is white box oriented. Selective testing of execution paths is an essential task during the unit test. Boundary testing is the last and one of the most important tasks of the unit.
(b) Integration testing - Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objective is to take unit tested components and build a program structure strictly as per design. The program is constructed and tested in small increments, where errors are easier to isolate and correct.
(c) Acceptance testing – Acceptance testing involves Planning & Execution of various types of tests in order to demonstrate that the implemented software system satisfies the requirements stated in the requirements document.

(5) Maintenance Phase: In this phase the activities include (a) Enhancement of Capabilities (b) Adaption of software to new processing environments and (c) Correction of software design. 

Pert

Pert is stand for “Project Evaluation Review Technique”. It is a technique of representing activities of project in its proper sequence & timing. Pert is methodology developed by the U.S. Navy in the 1950s to manage the Polaris submarine missile program.

Terminologies used in PERT
(1) Pert Event: It is a point that marks the start or completion of one or more tasks. It consumes no time & uses no resources.


(2) Predecessor Event: An event that immediately precedes some other event without any intermediate events.


(3) Successor Event: An event that immediately follows some other event without any intermediate events.


(4) Pert Activity: It’s an actual performance of a task. It consumes time, it require resources (such as labors, materials, space, machinery etc).


(5) Optimistic time: The minimum possible time required to accomplish a task assuming nothing goes wrong.


(6) Pessimistic time: The maximum possible time required to accomplish a task assuming everything goes wrong.


(7) Most likely time: The best estimate of the time required to accomplish a task assuming everything goes normal.

Advantages of PERT:
(1) It helps us to estimate expected project completion time.
(2) It helps us to identify the critical path activities that directly impact the completion time.
(3) The start & end dates of the activities can be determined.
(4) The activities with slack time can be identified.

Project Charter

Project Charter will serve as an internal document that captures high level planning information (scope, deliverables, assumptions, etc.) about the Project. Its purpose is to recognize the existence of the project and to begin the planning process required to accomplish the Project goals.

Purpose of Project Charter
(1) Define project infrastructure (2) Summarize details of project plan
(3) Define roles and responsibilities (4) Show explicit commitment to project
(5) Set out project control mechanisms

Establish the project Charter:
(1) Vision: Write a concise vision statement that summarizes the purpose and intent of the project and describes what the world will be like when the project is completed. The vision statement should reflect a balanced view that will satisfy the needs of diverse customers as well as those of the developing organization.

(2) Objectives: Describe the important business objectives of the product in a way that is quantitative and measurable. These could include revenue increase, cost savings, return on investment, or target release dates. Determine how success will be defined and measured on this project.

(3) Scope: In Scope is what the project will include to meet the requirements of the Project goals. Out of Scope excludes responsibilities, activities, deliverables or other areas that are not part of the Project.

(4) Deliverables: Provide a high level list of “what” needs to be done in order to reach the goals of the project.  Each deliverable should be sufficiently detailed so that the Project Team will understand what needs to be accomplished.

 (5) Risks: Summarize the major risks associated with project, such as marketplace competition, timing issues, user acceptance, implementation issues, or possible negative impacts on the business.

Benefits of creating a charter include:
(1) Giving authority to project teams to commence work with official documented approval.
(2) Allowing senior management to set boundaries for the project scope.
(3) Formalizing partnerships.
(4) Helping project teams identify and plan for risks, increasing the chance of project success.


Work breakdown structure (WBS)

A work breakdown structure (WBS) is a hierarchic decomposition or breakdown of a project or major activity into successive levels in which each level is a finer breakdown of the preceding one.

Major features of WBS: The major features of WBS is shown below:-
(1) Structure
   • WBS diagram is drawn like the organization chart.
   Different desktop applications offer functionalities to easily create this kind of diagram.
(2) Classifications
There are two main classifications: (a) Product Hierarchy (b) Process Hierarchy
 (a) Product Hierarchy: It identifies the product components and indicates the manner in which the components are interconnected.
(b) Process Hierarchy: It identifies the work activities and the relationship between them.

(3) Description
• Each WBS element should be described with a title.
• The meaning of each title should be clear.
(4) Coding
• One of the main features of WBS is the ability to uniquely code the different elements of the work.
• The coding system can be alphabetic, numeric or alphanumeric.
(5) Depth
• The recommended depth of a WBS diagram is three to four levels.
                                                                                                              
Use of WBS: The potential uses of WBS include:-
• For dividing the project into phases.
• For dividing the project into responsibility areas within the organization.
• For dividing the schedule of the project into sub-schedule whose interrelation are known.
• For giving hierarchical outlining and coding for the work to be done.


Friday 24 June 2011

Critical Path Method (CPM)

CPM uses activity oriented network which consist of a number of well recognized jobs, tasks or activities. Each task/activity is represented by arrow and the activities are joined together by events. CPM is generally used for simple, repetitive types of projects for which the activities time & costs are certainly and precisely known. Projects like construction of a building, road, bridge, physical verification of store can be handled by CPM. Thus it is Deterministic rather than Probabilistic model

Steps in CPM technique:
Step 1: Specify the individual activities                                                                                                          
A listing of all the activities in the project is made from the WBS (work breakdown structure).
Step 2: Determine the sequence of those activities
Some activities depend on others for their completion. They need to be identified.
Step 3: Draw a Network diagram
Once the activities & their sequencing have been defined the CPM diagram can be drawn.
Step 4: Estimate the completion time for each Activity
For each activity the completion time need to be estimated. This can be done on the basis of past experience.
Step 5: Identify the Critical path
The critical path is the longest duration path through the network where no activity is slack. The critical path can be identified by determining the following four parameters for each activity:
(a) Earliest start time (ES)Earliest time at which the activity can start given that its previous activities must be completed first.
(b) Earliest finish time (EF)It is equal to the earliest start time for the activity plus the time required to complete the activity.
(c) Latest finish timeThe latest time at which the activity can be completed without delaying the project.
(d) Latest start time It is equal to the latest finish time minus the time required to complete the activity.

Advantages of CPM:
(1) The activities & their outcomes can be shown as a network.
(2) It displays dependencies to help scheduling.
(3) It determines slack time.
(4) It evaluates which activities can run parallel to each other.
(5) It determines the project duration which optimizes both direct & indirect costs.
(6) If properly developed & applied CPM can encourage a team feeling.
(7) They are useful in new project managers.
(8) It is widely used in industry.

Disadvantage of CPM:
(1) The critical path is not always clear & needs to be calculated carefully.
(2) Estimating the completion of an activity can be difficult.


To Download: http://www.megaupload.com/?d=O57CQ2FV

Gantt Charts

The brief description of Gantt charts are shown below:-
(1) A Gantt chart is a graph of activities against time. It is the most effective way to present a project’s plan and its progress.
(2) A Gantt chart is a type of bar chart that illustrates a project schedule. Gantt chart illustrates the start and finish dates of the tasks (activity) in a project.
(3)The task list comes from the Work breakdown structure of the project.
(4) Some Gantt charts also show the dependency relationships between activities.
(5) Gantt charts can be used to show current schedule status using percent-complete shadings and a vertical “Today” line.
(6) A Gantt chart can indicate:
• Milestones • Slack time • Activities on the critical path
(7) Once the project has started, the Gantt chart can also show:
• Activities that have started and their actual start dates.
• Activities that have finished and their actual completion dates.
• Revised milestone and activity dates.
• Revised slack time and critical path.
• Actual performance compared to the original plan.
(8) Dependency relationship between activities is represented as follows:



(9) Simple Gantt chart is shown in below figure:


                                                                                           

Reasons to use GANTT CHARTS
Gantt charts are convenient means of representing graphically schedules, appointments and events such charts help members of an organization to plan activities better.
Information about “WHAT” is happening, “WHERE” is happening and “WHO” will be present is valuable to concerned people in the organization.
It is good because:
• It plots activities as bars on time scale.
• It indicates different: Activities, Responsibilities, Estimated or Planned activities start and target dates.
• Actual start and target dates.
• It aids in: Scheduling activities, Coordinating activities, Evaluating progress, Reallocating resources in case of problems.

Advantages of GANTT CHARTS
(1) Gantt charts are relatively easy to create and maintain.
(2) Able to reflect the status of each project task at any point in time.
(3) Able to represent overlapping or parallel tasks.

Disadvantages of GANTT CHARTS
(1) Does not show a task interrelationship.
(2) These are not ideal project control.



To Download: http://www.megaupload.com/?d=JUMMJWSE


Tuesday 21 June 2011

Types of Risk

(1) Project Risk Project risk threaten the project plan. Project risk identifies potential budgetary, schedule, personnel (Staffing & organization), resources, customer, and requirement problem and their impact on a software project.

(2) Technical RiskTechnical risks threaten the quality and timeliness of the software to be produced. They include: Implementation problem, Design problem, Maintenance problems, Interfacing problems and technical obsolescence.

(3) Business RiskBusiness risk threaten the viability of the software to be built. Candidates for the top five business risks are: (a) Market risk – Where the product is not required in the market (b) Strategic Risk – Where the product does not fill the business strategy of the customer (c) Management Risk – Where the management is no more interested in the project due to change in focus or people of management (d) Budget Risk – Where the management or control on budgetary is lost and at-last (e) Sales Risk – Where the sales force does not find the appropriate & effective method to sell the product.

(4) Known RiskKnown risk are those that can be un-covered after careful evaluation of the project plan.

(5) Predictable RiskPredictable risks are extrapolated from past experiences (e.g. staff turnover, poor communication with the customer etc).

(6) Un-Predictable RiskUn-Predictable risks are the joker in the deck. They are extremely difficult to identify in advance. For this kind of risk, reactive risk management strategy needs to be taken.   

To Download: http://www.megaupload.com/?d=DSR858I3