Introduction to Project Management Sanjay Koul firstname.lastname@example.org
What is a Project? A project is a temporary endeavor undertaken to produce a unique product or service Characteristics of Unique Temporary Projects Temporary – Definitive beginning and end Unique – New undertaking, unfamiliar ground A project is a set of activities which are networked in an order and aimed towards achieving the specific goals . Upon the completion of all the activities the goals of the project would have been achieved. A project is undertaken to achieve a purpose
Management - Management is the technique of understanding the problems, needs and controlling the use of resources, such as cost, time, manpower, materials, etc. Project management – It is an art of controlling the cost, time, manpower, and hardware and software resources involved in a project. Project Cycle – A project cycle basically consists of the various activities of operations, resources and the limitations imposed on them.
Process – A process is part of the project which consists of simple and routine instructions to achieve a desired result of any activity of the project. A process is responsible to bring about the changes in the input fed to the process and gives out desired outputs as results of the process. Resource – It refers to manpower, machinery, money and materials required in the project. Scope – It refers to the various parameters that affect the project in its planning, formulation and executions. Project Cost – It is the budgeted expenditure of the project.
Some experiences-may happen
Project Success Customer Requirements Completed within satisfied/exceeded allocated time frame Completed within Accepted by the customer allocated budget
Project Failure Poor Requirements Scope Creep Gathering Unrealistic planning and Lack of resources scheduling
Project ManagementProject Management is the application of skills, knowledge, tools and techniques to meet the needs and expectations of stakeholders for a project.The purpose of project management is prediction and prevention, NOT recognition and reaction.Relationship with other management disciplines is essential for a project to be successful. Supporting disciplines includes law, strategic planning, logistics, human resource management and domain knowledge
The Project Manager (PM) A project manager is a person who manages the project. The project manager is responsible to carry out all the tasks of a project. Responsibilities of the project manager are: Budgeting and cost control Scheduling tasks Allocating resources Tracking project expenditures Ensuring technical quality Manage relations with the customer and company
Role of a Project Manager PeopleProcess ResponsibilitiesResponsibilities• Project issues• Disseminating project information • Implementing standard processes• Mitigating project risk • Establishing leadership skills• Quality • Setting expectations• Managing scope • Team building• Metrics • Communicator skills• Managing the overall work plan
Types of Project Managers• Hands-off versus hands-on managers Most of the hands-off managers are non-technical managers who took up software project management. Only a handful of the managers sit with the engineers and try to debug the software or at least suggest alternative approaches to solve a problem, particularly during the coding phase.• Democratic versus anarchic managers To develop a congenial atmosphere in which the team members can give vent to their creative abilities, a democratic approach is the most ideal approach. However, one needs to be careful, freedom means responsibility, not carelessness Proactive versus reactive managers Reactive managers react to events. When an engineer comes and tells about a problem, he will try to resolve it. A proactive manager takes the initiative to find the status both informally and formally. Informally, during coffee breaks, lunch breaks or at social gatherings, he gets the different viewpoints of the team members on the status and uses this information to carry out formal reviews.
Who will be a Good Software Engineer?People with good problem solving abilities, goodcommunication skills and team spirit make goodsoftware engineers.Not surprisingly, many organizations recruit peoplebased on an aptitude test (to test the problem solvingabilities) and not based on knowledge of programminglanguages or operating systems.
How does project management benefit you?You will have goal clarity and measurementYour resources will be coordinatedYour risks will be identified and managedYou will increase the possibilities of time savingsYou will increase the possibilities of cost savingsYou will increase the possibilities of achieving the agreed outcomeYou will increase the possibilities to deliver projects successfully
Triple Contraint Time QualityCost Scope
Triple ContraintIncreased Scope = increased time + increased costTight Time = increased costs + reduced scopeTight Budget = increased time + reduced scope.
Key Areas of Project ManagementScope ManagementIssue ManagementCost ManagementQuality ManagementCommunications ManagementRisk ManagementChange Control Management
Scope Management Primarily it is the definition and control of what IS and IS NOT included in the project.
Managing the scope of the projectProject scope management constitutes the processes to ensure that the project includes all of the work required, and only the work required, to complete the project successfully.‘Project scope has several purposes: It defines what work is needed to complete the project objectives It determines what is included in the project It serves as a guide to determine what work is not needed to complete the project objectives It serves as a point of reference for what is not included in the project
Planning Activities• Choice of Development life cycle model• Choice of Execution model• Planning of Reviews• Process Auditing• Project Planning Document Preparation
Issue Management Issues are restraints to accomplishing the deliverables of the project. Typically identified throughout the project and logged and tracked through resolution. Issue… already impacting the cost, time or quality Rope not thick
Issue Management Issues are restraints to accomplishing the deliverables of the project. Issues are typically identified throughout the project and logged and tracked through resolution. In this section of the plan the following processes are depicted: Where issues will be maintained and tracked The process for updating issues regularly The escalation process The vehicle by which team members can access documented issues
Cost Management This process is required to ensure the project is completed within the approved budget and includes:Resources Budget people equipment materialsQuantitiesTiming
Cost Management This process is required to ensure the project is completed within the approved budget and includes: Resource Planning - The physical resources required (people, equipment, materials) and what quantities are necessary for the project Budget Budget estimates Baseline estimates Project Actuals
Quality Management Quality Management is the process that insure the project will meet the needs “conformance to requirements” - Crosby “fitness for use” - Juran “the totality of characteristics of an entity that bear on its ability to satisfy stated and implied need’ - ISO 8402:1994
Communications Management This process is necessary to ensure timely and appropriate generation, collection, dissemination, and storage of project information using: Communications planning Information Distribution Performance Reporting for the Project Meetings (Team, OSC, ESDefine the schedule C), Status Meetings and Issues Meetings to be implemented
Team Structures• Democratic team or ego-less team• Hierarchical team• Controlled Decentralized team• Single-person army
Democratic team • Team size is small, less than 10 members. • All major decisions are arrived at through consensus.• Regular interaction amongst all the team members.• The senior-most person acts as the coordinator who will interface with the client for all administrative and managerial work.
Hierarchical team• There will be a Project Manager who willbe responsible for all project activities.• A number of Project Leaders report to the ProjectManager, each Project Leader is responsible for amodule.• A number of engineers report to each Project Leader.The engineers are responsible for sub-modules.
Controlled Decentralized teamThere will be a project manager who is responsible for the total project.A number of Project Leaders report to the Project Manager. Each Project Leader is responsible for a module.A team of engineers act as a democratic team and any decision related to this group is taken collectively. The senior most engineer in the group will act as the Project Leader
One-Person Army• In this team structure, there will be only one person who will work on the project. • This person will report to the project manager periodically. • For prototype development of a high-end creative products, this is a good model. • Many products were initially developed by a single-person armies: UNIX and C being the best example
Rules of the Team Game• Software development is a team effort, even if the individuals are excellent, if they do not work as a cohesive team, the project will not succeed.• The team members should interact with each other regularly.• The team members should communicate with the Project Manager/Leader regularly.• Formal review meetings should be held periodically and all the team members have to openly discuss all the issues.
Risk Management Risk identification and mitigation strategy Risk update and tracking Whenif new risks arise Risk… POTENTIAL negative impact to projectTree – location, accessibility, Weather ownership
Risk Management Top 10 risk items [Boehm] • Personnel pitfalls • Unrealistic schedules and objectives • Developing wrong interface functions • Wrong user interface • Gold plating • Continuous stream of requirements changes • Shortfalls in externally furnished/purchased components • Shortfalls in externally performed tasks • Real time performance • Straining computer science capabilities
Change Control ManagementDefine how changes to the project scope will be executedScope Change Technical Specification Changes Schedule changesAll changes require collaboration and buy in via the project sponsor’s signatureprior to implementation of the changes
Change Control ManagementDefine how changes to the project scope will be executed Formal change control is required for all of the following 1. Scope Change 2. Schedule changes 3. Technical Specification Changes 4. Training Changes All changes require collaboration and buy in via the project sponsor’s signature prior to implementation of the changes
Quality Management Quality Management is the process that insure the project will meet the needs via: Quality Planning, Quality Assurance, and Quality Control ClearlyDefined Quality Performance Standards How those Quality and Performance Standards are measured and satisfied How Testing and Quality Assurance Processes will ensure standards are satisfied Continuous ongoing quality control
The Training Program• The training program has to cover– Rules and regulations of the organization– Client details and scope of the project– Communication skills– Team work– Software Development tools– Application domain– Software Engineering Principles– Quality standards to be followed
Choice of Execution Model Off-shore development – Projects with clear requirements and subcontractor has the capability in the specific area; maintenance projects • On-site development – Projects without clear requirements/changing requirements; and constant interaction with client is required. • On-site cum off-shore development – If the project can be partly done using off-shore execution model.
Coding Guidelines• Layout of the code should be in such a way that it is easy to read and understand. • Names of files, classes, functions, variables etc. should be meaningful. • Exceptions should be handled. • Internal (on-line) documentation should be embedded in the code. • Function size to be limited to 40/50 lines
Coding Standards• Every organization should have a set of coding standards for each programming language used, indicating: – Backup mechanism – Naming conventions – Internal documentation to be included.
Project Life Cycle
Initiation Phase Define the need Return on Investment Analysis Make or Buy Decision Budget Development
Definition Phase Determine goals, scope and project constraints Identify members and their roles Define communication channels, methods, frequency and content Risk management planning
Planning Phase Resource Planning Work Breakdown Structure Project Schedule Development Quality Assurance Plan
Implementation Phase Execute project plan and accomplish project goals Training Plan System Build Quality Assurance
Deployment Phase User Training Production Review Start Using
Closing Phase Contractual Closeout Post Production Transition Lessons Learned
Work Breakdown Structure For defining and organizing the total scope of a project First two levels - define a set of planned outcomes that collectively and exclusively represent 100% of the project scope. Subsequent levels - represent 100% of the scope of their parent node
Project Management Tools PERT Chart- designed to analyze and represent the tasks involved in completing a given project Gantt Chart - popular type of bar chart that illustrates a project schedule
Critical Path Analysis CPA (NetworkAnalysis)Critical Path Analysis (CPA) is a project management tool that: Sets out all the individual activities that make up a larger project. Shows the order in which activities have to be undertaken. Shows which activities can only taken place once other activities have been completed. Shows which activities can be undertaken simultaneously, thereby reducing the overall time taken to complete the whole project. Shows when certain resources will be needed – for example, a crane to be hired for a building sit
Critical Activities Critical activities are activities that cannot run late. For critical activities: Latest finish — Earliest start = length of activity 2 3 4 A(3) B(8) 1 1 42 42 D(12) 1 3 2 2 5 E(10) 0 0 C(7) F(20) 4 22 22The green arrows mark the critical activities,which form the critical path. The critical path(s)must form a continuous route from the start nodeto the finish node.
Postmortem Analysis The 5 angles of postmortem analysis – Processes – People – Technology – Management – Money
Need for project managementProject management is necessary because –a) a project requires huge investments which should not go wasteb) a loss in any project would have direct or indirect impact on the societyc) prevent failures in projectsd) scope of the project activity may undergo a changee) technology used may change during the course of project executionf) consequences of negativity in project related problems could be very seriousg) changes in economic conditions may affect a project