Software Project Management - Course Handout


BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMME
Digital Content (Flipped Learning Model)

Part A:  Content Organization


Course Title
Software Project Management
Course No(s)
SS ZG622
Credit Units
4
Document Version No
Ver 4.0
Instructor –in-charge
K. Venkatasubramanian

Content Development Team
Developer
Name
Email
Mobile
Lead Developer
K G Krishna
kgk@pilani.bits-pilani.ac.in
98491-71224
Co-Developer
Vishwanathan Hariharan
vishwanathan.hariharan@pilani.bits-pilani.ac.in
98804-16418
Co-Developer
Subramanian S
subbu.mas@gmail.com
98407-15111

Text Books
T1
Bob Hughes, MikeCotterell and Rajib Mall, Software Project Management, 5th  Edition, TMH, 2011
T2
Roger S Pressman, Software Engineering : A Practitioner’s Approach, 7th Edition, TMH, 2010 (or latest)

Reference Books & other Resources
R1
Ian Sommerville, Software Engineering; 8th Edition, Addison Wesley, 2009 (or latest)
R2
Pankaj Jalote, Software Project Management in Practice, Pearson Education, 2002

** Course-code specific to collaborating organization

Glossary of Terms

Module
M
Module is a standalone quantum of designed content. A typical course is delivered using a string of modules. M2 means module 2.
Recorded Lecture
RL
A recorded lecture will consist of a sequence of topic recordings (typically less 10 minutes each). There will be assessments between topic recordings to allow the learner test his/her understanding of video material previously viewed.
RL2.1 = Recorded Lecture 1 in module 2.
Contact session sub-module/topics
CS
Contact session topics refer to topics in form of concepts, discussions items, problems which will be taken up by the course instructor during the contact hours. A contact hours is built by stringing a bunch of contact session topics.
CS3.2 = Contact session sub-module  2 associated with Module 3
CS3.0 = Contact session associated with all sub-modules of Module 3
Case Problem
CP
Case problems/topics (experienced by practising project managers) to be discussed in the class
Self-Study
SS
Specific content assigned for self-study
Homework
HW
Specific problems/design/lab exercises assigned as homework





Module Structure

No
Title of the Module
C/O*
Ref.#
Video
~mins.
M1
Introduction to Software Project Management
C
T1,T2
60
M2
Overview of Software Development Models
C
T2
120
M3
Project Initiation & Defining Project Goals
C
T1
90
M4
 Software Effort Estimation
C
T1
45
M5
Software Project Planning
C
T1
140
M6
Software Quality Planning
C
T2
90
M7
Risk Management
C
T1,T2
70
M8
Change Management
C
T2,T1
20
M9
 Project Monitoring & Control
C
T1
45
M10
Team & Stakeholder Management
C
T1
90
M11
Project Closure & Warranty Maintenance
C
IM/ORG
40
M12
Quality Management Systems
C
T2,T1
90
M13
Contract Management
C
T1
50
M14
Project Evaluation
C
T1
60
M15
Proposal Making
O
IM/ORG
-
M16
Cross-cultural issues in Software Project Management
O
IM
75
M17
Tools for Software Project Management
O
IM/ORG
-
M18
Software Maintenance
O
IM/ORG
-
M19
Product Life-cycle Management
O
IM/ORG
-
M20
Remote Infrastructure Management
O
CS/IM
-
*Core Topics—to be covered for all / Optional Topics—specific to Organization/Student Profile under the discretion of the instructor
#T1,T2 (Text Books); IM: Instructor-provided Material; ORG: Material/documents sourced from students’ organization
While effort is made to ensure the topics covered in this course are in alignment with referenced text-books, due to changing technologies and emerging practices in this field, it is strongly advised that students refer to their own sources on the net or their own organizations for comprehensive understanding of the concepts.



Course Overview & Terminology

This basic level course on ‘Software Project Management (SPM)’ under Work Integrated Learning Programme (WILP) of BITS-Pilani is targeted for working professionals in the IT industry who during their career seek enhancement of their role from engineer/programmer to project manager.

Scope:
While project management, in general, cover the whole spectrum of activities starting with the customer evaluating the project, deciding to contract, preparation of tender/RFP documents to contract execution by vendor to post-contract services, the primary of focus of this course is confined to vendor’s role in contract execution phase, i.e., all project management activities that trigger upon receipt of formal signed contract document from the customer—from Requirements Engineering phase to Acceptance Phase. However, the topics pertaining to pre-contract and post-contract phases are highlighted as well for overall understanding of project life-cycle.

Perspective (Customer vs. Vendor): Typical profile of students taking this course may include working professionals from Indian IT services companies, Multi-national captive R&D centres, or from non-IT organizations in Government, Space, and Defence sectors—and projects may encompass development of custom software or product engineering services. However, catering to wider students’ interest and without loss of generality, the recorded modules of this course adopt a narrative from the perspective of a typical offshore IT services provider in India in custom development of software for an overseas customer. 
 




Pre-Contract
Contract Execution
Post-Contract
Customer
  Issue Request for Information or Proposal (RFI/RFP)
  Evaluate Vendor Proposals
  Contract Management
  Project Reviews
  Request Changes
  Acceptance Testing

  Warranty Mgmt.
  Project Extn. to Maintenance services
Vendor
  Project Evaluation
  Respond to RFP ( Proposal Making)
  Negotiating for win
  Project (effort) estimation
  Project Planning
  Project Execution / Monitoring
  Providing warranty
  Undertaking product sustenance services







Terminology: 
As with technology, the vocabulary of project management undergoes metamorphosis in alignment with new models, ideas and practices. Notwithstanding the cultural differences among nations (organizations), are different words in use representing the same concept, function or management roles.  In order for the student to remain focused on the hard technical aspects of project management without getting side-tracked by subtle differences in the vocabulary, the below table identifies few such often-used terms with their semantic equivalents.
Commonly used Term (Organization-neutral vocabulary)
Related Terms / Synonyms (used without major loss of meaning, Org-specific terms) / Working Definition
Master Contract
Master Business Agreement (MBA), Memorandum of Understanding (MoU)
Contract
Statement of Work (SoW),
Invitation To Tender (ITT), Bid Docs.
Request for Proposal (RFP), Request for Quotation (RFQ)
Vendor Prequalification
Request for Information (RFI), Due Diligence
Proposal
Tender, (Technical/Commercial Proposal Response from Vendor)
Project Manager
(Project Leader), Delivery Manager, …
Program Manager
ODC Manager, Account Manager,
Business Manager
Sales Manager, Relationship Manager,
Domain Expert
Someone with experience/knowledge of  customer’s business
Quality Management System (QMS)
Quality Assurance Model, Software Quality Assurance (SQA),…
Process
System, Method, Methodology,… (Agile, Waterfall,…)
Version Management
Configuration Management, Release Management, Build Management
Development Model
Software Engineering Model, Process Model
Business Model
Revenue Model, Payment Terms(Fixed-price, Time&Material,…)
Outsourcing
Customer outsources his non-core processes/services to vendors
Offshoring, Nearshoring
Location of vendor (far-away on a different country/time-zone,  near)
Offshore Development Centre (ODC)
Vendor’s premises (dedicated to serving customers’ business)
Onsite (Development) Centre
Vendor’s office/location (near the customer, typically for coordination)
Nearshore Development Centre
Vendor’s development centre located (or co-located)  near to customer
Development Model vs. Business Model
Waterfall, Agile, Prototyping   vs. Fixed-Price, T&M,…
Project Manager vs. Program Manager
Project Manager (PM): Responsible for single project; Program Manager (PgM): Managing resources/delivery for multiple projects
Project Manager vs. Business Manager
Business Manager: Counterpart of PgM responsible for business development (sourcing of new customers/projects)
Architect vs. Designer
Architect: Develops framework/model, Designer: Detailed Engineering
ISO 9001 vs. CMMI
ISO 9000 (generic QMS certification) vs. CMMI (software development maturity assessment)
Quality Assurance vs. Quality Control
QA (more of prevention) vs. QC (controlling/checking after production)
Stakeholder vs. Shareholder
Shareholder’s (outside the company) with  ‘distant interest’ in profits  vs. Stakeholders in the company who vouch for project/program success
Engineering vs. Programming
(Professional ) Design/Development following a methodology vs. individual effort in coding/testing
Custom Software Development vs. Product Development
Bespoke software (tailored to the needs of the customer) vs. Off-the-shelf (ready-to-deploy software with minimal customization)
Software Engineering vs. Product Engineering
Development of software (typically bespoke, using structured methodology) vs. R&D,  Maintenance and Enhancements (multiple products/releases over a common product platform, aka product-line architecture)
Prof K G Krishna
01/09/2015


Detailed Structure

Introductory Video/Document: << Introducing the faculty, overview of the course, structure and organization of topics, guidance for navigating the content, and expectations from students>>

      Each of the sub-modules of Recorded Lectures (RLx.y ) shall delivered via 30 – 60mins videos followed by:
      Contact session (CSx.y) of 2Hr each for Illustrating the concepts discussed in the videos with exercises, tutorials and discussion on case-problems (wherever appropriate); contact sessions (CS) may cover more than one recorded-lecture (RL) videos.



Course Contents

Type
Title
Description
M1: Introduction to Software Project Management—Concepts, Definitions
RL1.1
Introduction to Software Project Management—Concepts, Definitions
RL1.1  Introduction to Software Project Management
This introductory module gives an overview of Software Project Management by explaining various concepts and terms being used in the industry. It highlights the challenges involved in managing software projects and the role played by project and program managers.
       Project - a technical definition
       How software projects are different
       Software Project Life-Cycle
       Phases of Software Development
       Project vs. Program
       Role of a Project Manager
       Project Stakeholders
       Measuring Success of a Project
CS1.1

Demystify the vocabulary in Software Engineering and Project Management with examples; Illustrate how a set of activities is different from a project; highlight uniqueness of a project and the challenges faced by software project managers; differentiate between process, project and program with examples from each.
M2: Overview of Software Development Models
RL2.1
Overview of Software Development Models
RL2.1  Overview of Software Development Models
For those who are not familiar with principles of software engineering (recommended pre-requisite for this course), this module introduces the concept of a ‘Process’ and formal ‘Methodology’ and describes various software engineering process models adopted for the development of software systems.
      Description of a ‘Software Process’
      Plan-driven vs. Agile Process Models
      Requirements Engineering Process
      Design Process
       Evolutionary Development
RL2.2
Choosing the right development model
RL2.2  Choosing the right development model
Based on constraints and challenges involved in the project, adopting the right process model is the key to success of any project. This module recommends the right process model based on requirements stability, complexity and schedule constraints.
RL2.3  

Choosing the right development model—a caselet
RL2.2   Choosing the right development model—a caselet
This caselet illustrates a scenario in which a customer demands adoption of Agile methods in an organization accustomed to traditional plan-driven models. It highlights the agile method as followed by the organization along with recommendations for successful adoption of agile methodology
       Implementation of Agile Methods
       Recommendations for project success
CS2.0

CS 2.0: Discuss the rationale for the choice of a particular model by analysing the demands of a customer; how agile methodology is more appropriate for today’s customers with time-to-market constraints; how to ensure off-shore developers (vendors) do not lose money by choosing the right choice business model (Time-and-Materials or T&M as advocated in this caselet).
M3: Project Initiation & Defining Project Goals
RL3.1
Identifying Project Objectives & Sub-goals
RL3.1  Project Initiation & Identifying Objectives (Goals)
In this course, we assume a software development project comes to life soon after a business contract is signed with the customer by the vendor organization wherein the contract clearly specifies the scope of work, terms and conditions governing the engagement.  However, the pre-contract phases of project evaluation, proposal-making   and negotiating for award of contract with the customer are covered separately in another module at the end of this course as these activities are usually led by Business Managers. The commencement of a project is usually celebrated with a ‘kick-off’ meeting/party organized by the Project Manager with project team members and other stakeholders in the organization.

Setting the Objective (Goal) in the language of business is the first step in the project definition stage. This module illustrates how the project goal should be linked to the overall business strategy of a customer; defines project objectives, sub-objectives…; and managing for success.
       Setting Goal/Sub-Goals
       Project Monitoring using Measures/Metrics
       Criteria for project success
RL3.2
Defining Metrics and Establishing  a Metrics Baseline
RL3.2  Software Metrics & Baselining
This module gives an overview of ‘Metrics’ in the context of software development; differentiates process vs project metrics; how to define project metrics and establish a metrics baseline for organizational process improvement
       Defining SMART metrics
       Product vs. Process vs Project metrics
       Metrics Baselining
CS3.0 (3.1/3.2)

CS3.0: Discuss with examples how project objectives are different from project metrics; what constitutes a good metric (SMART metric); how process metrics are derived from project metrics; importance of metrics baselining for continuous improvement.
M4: Software Effort Estimation
RL4.1 
Introduction Software Estimation
RL4.1  Introduction to Software Estimation
Everything in a project starts with ‘estimates’—there’s nothing like a ‘right’ estimate, and estimates will only be ‘correct’ at the end of the project. However, the success of any software project is greatly dependent on arriving with ‘realistic estimates’ by adopting proven models along with the collective experience and insights of the team and the organization. This module illustrates the challenges of estimation and explains why estimations go wrong.
      Purpose of estimation
      Importance of accurate estimations
RL4.2 
Software Estimation Techniques
RL4.2  Software Estimation Techniques
This module walks-through various approaches to estimation—top-down and bottom-up—along with various factors affecting estimation
      Top-down estimation
      Bottom-up estimation
      Work-Breakdown-Structure (WBS)
      Converting software size into effort
      Estimation Review by peers, experts and using alternate methods
RL4.3 
Estimation by Function Point (FP) Method
RL4.3  Estimation by Function Point (FP) Method
Function Point (FP) is one of the widely adopted methods for estimation of software size when the choice of technology or development platform/language is unclear. This module illustrates application of this method using an example software project.
RL4.4 
Estimation by Object based Method
RL4.4  Estimation by Object based Method
This module illustrates estimation of size by identifying objects and analysing their complexity (object points).
RL4.5 
Estimation of Effort for all Phases
RL4.5  Estimation of Effort for all Phases
Effort estimation commences after arriving at size estimate for the project. This module illustrates computation of effort (in person-months/weeks) for each phase of software development
CS 4.0

CS4.0: Discuss (with examples and practical insights) why software estimations are challenging in the context of changing customer requirements, technology uncertainty and shrinking development schedules; how to select the right model/approach for a given project; importance of estimation review meetings and the deciding criteria for ‘fixing’ the final estimate
M5: Software Project Planning
RL5.1
Software Project Planning


RL5.1  Software Project Planning
This module highlights the tasks involved in software project planning or contents of a typical software project plan in an ISO 9000/CMMi compliant organizations. In fact, project planning can also start from proposal planning (pre-contract phase) where pricing issues also considered.
      Planning process/activities
      Contents of software project plan
      Agile planning (flavour of the time)
RL5.2
Project Scheduling
RL5.2  Project Scheduling
Project scheduling starts soon after WBS and project planning. In a nutshell, scheduling involves sequencing the activities (arrived after WBS) in time taking into account precedence relationships among them. This module explains the activities involved scheduling using GANTT chart (bar-chart) as one example of representing schedule.
      Scheduling activities
      Scheduling problems
      Scheduling activities/resources using GANTT chart
RL5.3
Project Scheduling using Network Diagram (AoN)
RL5.3  Project Scheduling using AoN Diagramming
This modules illustrates the use of network diagrams (with an example of Activity-on-Node diagram) for representing activity dependencies and discovering ‘critical path’ in the project
      Drawing AoN diagrams
      Concept of ‘Float’
      Identification of ‘Critical Path’ (CP)
      Schedule management by CP analysis
RL5.4
Project Resource Scheduling
RL5.4  Project Resource Scheduling
After all the activities in a project are scheduled in time, resources (people, in software projects) are to be allocated to the activities considering their skill profiles and availability. This module explains the need for categorization of resources, the role of project/program managers in their optimum utilization, resource (load) balancing, and scheduling of resources and their associated costs.
      Identification of Resource types
      Resource Scheduling (Histogram)
      Load Balancing (Resource Levelling)
      Resource Optimization
      Cost Profiling
CS5.0 (5.1…5.5)

CS5.0: Discuss (with examples from organization) contents of a typical software project plan by clearing identifying activity plan, resource plan, quality plan, risk management plan, change-management plan, communication plan, etc. Taking an example (organizing an event like birth day or marriage) make students sketch an AoN diagram, resource histogram, list items in quality/risk management plan (to be discussed in the next modules); make them identify dependencies among activities and the critical path, etc. Referring to a typical software project, illustrate how few key resources such as architects and designers are shared among several projects and how their effort to be planned as per their availability. Also to be discussed is the role of program manager (aka Delivery Head/ODC Manager) in channelling of resources across projects to ensure no ‘bench’.
M6: Risk Management
RL6.1
Risk Management
RL 6.1  Risk Management
Risk is integral to any project, more so for software projects in particular due to large number of uncertainties (of people, technology, requirements, etc.) involved. This module highlights activities of risk analysis, risk planning and risk monitoring. Risk Management plan is included as part of project plan document.
      Definition of ‘Risk’
      Risk Analysis / Prioritization / Impact Analysis
      Risk Planning
      Risk Monitoring.
RL6.2

RL6.2  Risk Planning in a Project – a case example
This module identifies best practices in risk mitigation by their application in a real-life project
CS6.0

CS6.0: Discuss how risk planning is different from activity planning and the role of senior project managers or organization’s risk check-lists in identification of risk elements in project activities; let students identify typical risks in their projects, analyse their likely impact should they occur and think about ways of mitigating if not avoiding such risks in future.
M7: Quality Planning
RL7.1
Quality Planning
RL7.1  Software Quality Planning
Planning of Software Quality Assurance (SQA) activities (such as reviews, inspections, testing and process audits)  are done in parallel to the development activities planning like specifications, design and coding and Quality plan is part of the overall software project plan. This module describes typical QA activities in a project, QA organization structure, scheduling and monitoring of quality activities.
      QA Team as part of the project
      Quality Planning
      Establishing Standards, Benchmarks and Metrics
      Quality Process audits
      Role of project quality manager in signing-off deliverables
CS7.1

CS7.1: Ask students to browse through their organization’s QMS and present the template for Project/Quality planning; discuss the contents of the plan and their relevance to various projects; highlight metrics used for project reporting and quality related metrics; discuss how the project manager addresses the customer complaints received during the project.
M8: Change Management
RL8.1
Change Management
RL8.1  Change Management
Changes are inevitable in any software project and they can occur at any phase of software development. When not properly managed, changes not only impact schedule, cost, and quality, may also lead to architecturally fragile systems. This module explains how change-requests (CR) from customer are to be managed to the satisfaction of all stakeholders. Change Management plan is to be explicitly articulated in the project plan for large software projects adopting non-agile methods.
      Types of Change Requests
      Change Control Process
      Negotiating with Customers/Stakeholders
RL8.2
Managing Uncontrolled Change-Requests
RL8.2  Managing Uncontrolled Change-Requests
This module illustrates the case of uncontrolled changes from a customer and how they are addressed in a real project
CS8.0 (8.1/8.2)

CS8.1: Discuss how change-requests are handled as per the organization’s QMS; how to minimize the impact of scope-creep by the right choice of software development models (such as Agile methods); how maintaining change (issue resolution) logs help push back to the customer about changes that impact project schedules significantly; and finally strategies/techniques to be adopted for successfully negotiating with customer for recovering incremental costs involved in changes.
M9: Project Monitoring & Control
RL9.1
Project Monitoring & Control
RL9.1  Project Monitoring & Control
Tracking the progress of the project against plan and taking appropriate corrective action in case of bottle-necks/issues constitutes the daily core of a typical Project Manager once the projects gets into execution phase. This module explains various tools for schedule and cost monitoring of a project.
      Tracking Project Schedule and Costs
      Monitoring using Earned Value Analysis (EVA)
      Project Monitoring & Control Cycle
      Project Status Reporting
CS 9.1

CS 9.1: Discuss typical format of a project status report; how the level of detail or frequency of  a project status report varies depending on the target stakeholder; using an example, illustrate application of EVA for realistic assessment of project progress against plan/budget; applicability of EVA for large development projects; controlling large scope-creeps by balancing scope, quality and schedule.
M10: Managing Project Teams & Stakeholders
RL10.1
Managing Project Teams
RL10.1  Managing Project Teams & Stakeholders
This is the ‘soft’ aspect of project management vis-à-vis the ‘hard’ or technical aspects discussed earlier. More than for resourcing a project, Human Resources (people) are considered as key asset in any software industry. Hence, HR managers and Project/Program Managers spend a lot of time in hiring qualified teams and motivating them for high performance. Moreover, resources are marshalled on demand from several functional divisions within the organization for the duration of the project and at the end of which they are transferred back to their parent divisions. This module explains the challenges faced by the project manager in ensuring team work and motivation, and also how the leadership skills of project manager is put to test when at times he/she needs to circumvent organizational politics in negotiating with stakeholders to get the needed resources on time.
      Resource Mobilization in Software Projects
      Maslow’s ‘Hierarchy of Needs’ model for motivation
      Negotiating with Stakeholders for Resources
      Customer Complaint Resolution
      Managing Distributed Teams
      Reducing Work-related Stress and Burn-out
RL10.2
Managing Attrition and Stakeholders
RL10.2  Managing Attrition and Stakeholders
As resources (people) in software project are highly ‘mobile’ and when a key member of the team leaves during the critical phase of project, the PM has to ensure the project does not get held up by planning the risk of attrition. This module highlights how people related challenges are to be addressed by the PM by demonstrating leadership in communication and negotiating with the stakeholders
     Managing attrition in key resources
     Stakeholder Management
RL10.3
Managing Distributed Teams – a Caselet
RL10.2 = Managing Distributed Teams
Large projects often involve project teams distributed across geographic locations in different time zones with varied cultures. Managing such projects pose its own challenges in communication and coordination. This module illustrates (via a caselet) the issues encountered in managing one such project.
      Need for virtual collaboration tools
      Overcoming communication barriers
      Addressing security and IP issues
RL10.4
Managing Customer Expectations
RL10.3  Managing Customer Expectations
Many a time, beyond stated contractual terms or project requirements customers do make few demands and expect favourable response from vendors. This module highlights such scenarios of ‘extreme customer engagement’ with suggestions for successful negotiation in case of few reasonable demands while veering away from others.
CS10.0

CS10.0: Ask students to list their perception of team, colleagues and managers,  and how the environment around them affect their on-the-job performance; the role played by their HR and Training division in their own skill enhancement; let students air their opinions on what really motivates them and why do they leave if they intend to; how customer pressures and escalations affect their morale and the role played by their managers in ensuring their work enjoyable and challenging; how managers leverage scarce resources in the company; concept of on-demand resourcing; addressing of customer complaints and managing at times ‘unreasonable’ expectations; managing remote teams across geographies; ensuring work-life balance;…
M11: Project Closure & Warranty Maintenance
RL11.1
Project Closure & Warranty Maintenance
RL10.1 = Project Closure & Warranty Maintenance
For most development projects, formal sign-off by the customer upon acceptance testing at customer’s site signals closure of the project when the customer is invoiced for the final payment. In fact, for many projects the period around the delivery deadline (pre- and post-delivery) is the most stressful for project teams as several issues related to shorting of specifications or bugs discovered during acceptance testing coupled with internal demands from finance/HR to release resources make up the testing time for project managers. This module explains the phases of Acceptance and Warranty by highlighting the issues faced during this critical period.
      Acceptance of Deliverables
      Post-delivery warranty Maintenance
      Post-warranty Maintenance/Upgradation
CS11.1

CS11.1: Discuss the steps involved in project closure and specifically the criteria used for moving into acceptance phase; highlight typical issues raised by the customer upon project delivery; handling of customer escalations related to defects discovered by the customer/end-users during acceptance testing, etc.;  planning for (free) warranty maintenance; and transitioning to maintenance phase upon successful delivery.
M12: Quality Management Systems
RL12.1
Quality Management Systems
RL12.1  Quality Management Systems
Most of the large Indian IT offshoring service providers have well-documented processes as a result of either one of ISO 9000 certification or assessed under CMMI model. This module discusses how adoption of formal process models/standards help achieve maturity in project management processes in meeting demanding customer expectations.
      Overview of ISO 9000 & CMMI Models
      Six Sigma Methodology for Process Improvement
      Continuous Improvement
      Customer-specific Product Development Standards
CS12.1

CS12.1: Process vs Product quality; difference between ISO and CMMI models; process improvement by defect reduction using six sigma methodology using DMAIC framework; analysis of metrics for continuous improvements;…
M13: Contract Management
RL13.1
Contract Management
RL13.1  Contract Management
From the perspective of a customer who is awarding a contract to a vendor, it is the responsibility of customer’s (project) manager to ensure the vendor conforms to and delivers as the contractual terms. This module explains different types of contracts and business models employed in various software outsourcing contracts.
      Contents of Software Contract Document
      Types of Contracts (Business Models)
      Due Diligence by Customer
       Contract Review
CS13.1

CS13.1: Show sample contract document/template used by the organization; types of contracts (fixed-price, time-and-material,…); discuss the criteria for selection of right business model (T&M vs. Fixed-Price in terms of risk to the vendor); customers performing due-diligence (evaluation) of vendors; contents of a typical RFI (Request for Information)/RFP (Request for Proposal); contract review and the process of contract renewal, etc.
M14: Project Evaluation
RL14.1
Project Evaluation
RL14.1  Project Evaluation
Undertaken by the customer before taking a decision to outsource or contract a project to an offshore vendor, project evaluation implies assessing the benefits of the project in terms of its contribution to profits, enhancing capabilities or other short- or long-term strategic goals. This models walks through various cost-benefit analysis models for assessing financial availability of the project as well as managing projects as portfolio to minimize overall impact of risk due to few projects.
      Cost-Benefit Analysis (Making a Business-case)
      ROI, Discounted Cash-flow method
      Project Portfolio (Program) management
      Non-financial considerations
CS14.1

CS14.1: More relevant for customers who plan projects for outsourcing or contracting to a vendor,  the techniques described here can also be applied by the vendor/developer to make a business-case for this project  by asking oneself the question: “Is this RFP (project) worth responding in the first place?” Discuss how their managers/CEOs take decisions before committing to projects; importance of due-diligence before accepting a project; criteria for selection of a particular project/customer; conducting feasibility study; analysing the project for intangible benefits; mitigating risks by choice of projects in a portfolio or program;…
M15: Proposal Making
RL15.1
Proposal Making
RL15.1  Proposal Making
Once the customer decides to contract a software project to an offshore (or onshore/nearshore/onsite) vendor, he typically floats an RFP (Request for Proposal, aka Tender) which contains brief description of the project along with terms and conditions. In response to RFP, the vendor prepares a proposal (answer to RFP) describing the proposed solution/approach, estimates/price, project organization structure, etc. This module illustrates the typical steps involved in proposal making—from the receipt of RFP to successfully negotiating for a win with the customer.
      Contents of a typical Proposal (Technical, Commercial)
      Project Methodology
      Effort/Cost Estimation
      Business Model (Payment Terms)
      Proposal Review
      Preparation for successful bid/win
CS15.1

CS15.1:  Discuss the contents of a typical project proposal prepared by one of their organization’s PMs (sans confidentiality issues); how estimates of effort/price are actually arrived at; typical demands of the customer; the role played by business managers in ‘sealing’ price in the proposal; various business models (T&M, fixed-price,…) recommended by the organization and experiences from such projects.
M16: Cross-cultural issues in Software Project Management
RL16.1
Cross-cultural issues in Software Project Management
RL16.1  Cross-cultural issues in Software Project Management
Project management is more of an art than science when it has to deal with real people and cultures. More than learning customer’s language, understanding the socio-cultural aspects of the customer and being aware of our own (vendor’s) cultural nuances vis-à-vis customer’s play a significant role in successfully steering the project. This module highlights the cultural differences between western (including Indian) and oriental (Japan/Korea) customers by sharing the learnings from managing projects with a Japanese customer
      Cultural Differences between Western and Oriental Customers
      Minimizing Language barriers in Project Communications
      Requirements Change-management with Japanese customers
      Undocumented Ethics/Business Code-of-conduct
CS16.1

CS16.1: How to manage culture/language barriers while dealing with oriental customers (Japan, China, Korea,…); appreciation of cultural differences in quality and accounting for them in project planning; understanding of implicit code-of-conduct in business negotiations;…
M17: Tools for Software Project Management
RL17.1
Technology/Tools for Project Management
RL17.1  Tools for Software Project Management
While the common tools such as MS Excel/Project are more than adequate for managing small projects at a single location, managing large projects with several teams spread across the globe (virtual teams) in different time-zones necessitate use of enterprise project management (EPM) tools. Also available are the integrated tools for managing software processes from requirements capture to version management and delivery with real-time coordination and communication. This module highlights the benefits of such tools by examining few commercially available or open-source tools.
      Tools for Integrated Software Engineering and Management
      Version Management Tools
      Enterprise Project Management Tools (EPM)
      Use of real-time A/V communication tools (skype, webex, Telepresence systems,…)
CS17.1

CS17.1: Ask students to list various tools adopted in their own organizations; discuss the benefits and issues related to managing virtual teams; the role of release management tools (version control) in ensuring correctness and integrity of deliverable products.; …
M18: Software Maintenance
RL18.1
Software Maintenance
RL18.1  Software Maintenance
Software Maintenance services constitute major chunk of revenue stream for many Indian IT services companies under T&M model. By the pure technical definition of ‘project’, though managing maintenance services do not really fall under project management activity, this module identifies the processes adopted for maintaining large IT systems of the customer.
      Contents of a maintenance contract
      Maintenance life-cycle
      Metrics/SLA (Service Level Agreements)
       Processes/methodology for software maintenance
      Typical activities involved in maintenance
      Tools/Technologies adopted
CS18.1

CS18.1: Identify students who are working in non-development (maintenance) ‘projects’; discuss their activities and processes adopted by the organization or customer; identify few metrics tracked and reported to customer; how activities like trouble-shooting, enhancing functionality or fixing defects etc., compare with developmental activities in terms of challenges and meeting SLAs;…
M19: Software Product Life-cycle Management (PLM)
RL19.1
Software Product Life-cycle Management
RL19.1  Software Product Life-cycle Management (PLM)
In product-centric organizations involved in all phases of a product life-cycle from concept R&D to development to marketing to maintenance/revisions to eventual phasing out the product-line, vendors assume ownership for sustenance of the entire life-cycle over long periods of existence of the product(s) in the market. This module explains the adoption of processes and PLM tools to support in the long evolution of customer’s product range. Typically vendors enter into a long-term contract (program in a dedicated Offshore Development Centre) with customers wherein the vendor organization is seen as part of customer’s global development / support infrastructure.
      PLM Processes/Tools
      Program/ODC organization
      Quality Assurance Processes
      ...
CS19.1

CS19.1: Many MNCs (automobiles, software, electronics) that have facilities in India are product-centric organizations cater to supporting their own product base targeted for their global customers; discuss typical activities, QA processes and standards adopted; how intellectual property rights are protected or shared among development partners;…
M20: Remote Infrastructure Management
RL20.1
Remote Infrastructure Management
RL20.1  Remote Infrastructure Management
Post 2000, the Indian Offshoring industry expanded from providing mere offshore development centres (ODCs) to augment customer’s technical staff, to supporting customer’s IT infrastructure (workstations, desktops, servers, networks, data centres, etc.) remotely by leveraging low-cost offshore infrastructure. Today, RIM services (along with other BPO services) occupy significant portion of Indian IT vendor’s revenue stream. This module describes typical services rendered by Indian vendors, measures of performance and the skills required for managing such services.
      Infrastructure Maintenance
      ITIL standards/certifications
      IT Security/Performance Monitoring
      Metrics and governing SLAs
CS20.1

CS20.1: Ask students to list the criticality of meeting SLAs in RIM and typical performance data; discuss about how information security and privacy issues of customers are addressed; managing work-life balance while working in 24x7 shifts.




Part B: Course Handout

Academic Term
Second Semester 2016-2017
Course Title
Software Project Management
Course No
SS ZG622
Lead Instructor
K. VENKATASUBRAMANIAN
Instructor(s)


#
Instructor: Course Objectives
CO1
Introduce software project management as a structured methodology for professional software development
CO2
Expose students to the operational challenges involved in managing large software projects through experiential learning
CO3
Enhancing the knowledge and skills of engineers in proactively anticipating problems and resolve them effectively by sharing lessons-learnt and best-practices

#
Student: Learning Outcomes
LO1
Students to be able to transition from their current role as programmers / developers to managers of projects and teams (career migration)
LO2
On-the-job demonstration of skills pertaining to usage of techniques/tools for professional software development
LO3
Ability to plan activities or anticipate issues proactively and communicate the same effectively to organization’s stakeholders

Course Description

Overview of Software Engineering, Project Management Concepts, Software Process & Project Metrics, Software Project Planning, Project Evaluation, Selection of an appropriate project approach, Software site, effort and cost Estimation, Risk Analysis & Management, Project Scheduling & Tracking, Activity Planning, Resource Allocation, Project Monitoring & Control, Managing Contracts, Managing People and Organizing teams, Software Quality Assurance, Software Configuration Management and cross-cultural issues in project management

At the end of the course, the student shall be able to answer the following typical questions:

      What are the challenges faced by the project manager in managing people, processes, and stakeholders during a software project?
      What are software metrics and how can they be used to manage a software project and the software process?
      How does a Project Manager generate reliable estimates of efforts, cost, and project duration?
      What techniques can be used to formally asses the risks that can have an impact on project success?
      How does a software project manager select the right software process model for the development of software?
      How is a project scheduled with sequencing of activities and allocation of resources?
      What is software quality assurance and its activities in project management?
      How is change managed during the development of computer software and after delivery to the customer?
     

Teaching Methodology (Flipped Learning Model)
The pedagogy for this course is centred around flipped learning model in which the traditional class-room instruction is replaced with recorded lectures to be watched at home as per the student’s convenience and the erstwhile home-working or tutorials become the focus of classroom contact sessions. In this model, in addition to walking-through the topic-centric exercises and filling the gaps in student’s comprehension, the contact sessions are also enriched with discussion on organization-specific practices and case-problems experienced by typical practising project managers in Indian IT industry.
A catalogue of such case-problems (situational leadership lessons) with continuous update based on inputs from collaborating organizations is maintained by the lead instructor. In addition, problem-sets are made available by the instructor as take-home exercises for student’s practice. 
As part of evaluation, two-week long take-home assignments on specific topics for study, analysis or research are assigned to individual students, at the end of which they prepare a report or make a presentation to the class. 

Course Delivery
       There are 10 Contact Sessions (of 2 hours each)--5 before mid-semester and 5 post-mid-semester over a period of 20 weeks with alternate weeks for home-watching of Recorded Lectures
       The students are expected to watch the prescribed Recorded Lectures (RLs) before attending the above Contact Sessions
       The 5th & 10th Contact Sessions are planned for review of topics pre-mid-semester and pre-comprehensive examinations.


Instruction Delivery (Recorded Lectures)
o      Core modules are mandatory (covered under syllabus and for assessment) while Optional modules can be considered for Home-study or taken-up for discussion  in Contact Sessions  or given as part of assignments, however the same not to be included in the mid-sem/comprehensive evauations)
o      Minimum of one Contact Session (topics listed under CSx.y) is planned for each core module (M1…M14)
*Core Topics—to be covered for all / Optional Topics—specific to Organization/Student Profile
as per the discretion of the instructor

#
Title of the Module
C/O*
RL Nos.
Total Min.
M1
Introduction to Software Project Management
C
RL1.1
60
M2
Overview of Software Development Models
C
RL2.1 –> 2.3
120
M3
Project Initiation & Defining Project Goals
C
RL3.1 –> 3.2
90
M4
 Software Effort Estimation
C
RL4.1 –> 4.5
45
M5
Software Project Planning
C
RL5.1 – >5.4
140
M6
Software Quality Planning
C
RL6.1 –> 6.2
90
M7
Risk Management
C
RL7.1
70
M8
Change Management
C
RL8.1 –> 8.2
20
M9
 Project Monitoring & Control
C
RL9.1
45
M10
Team & Stakeholder Management
C
RL10.1 –> 10.3
90
M11
Project Closure & Warranty Maintenance
C
RL11.1
40
M12
Quality Management Systems
C
RL12.1
90
M13
Contract Management
C
RL13.1
50
M14
Project Evaluation
C
RL14.1
60
M15
Proposal Making
O
-
-
M16
Cross-cultural issues in Project Management
O
RL16.1
75
M17
Tools for Software Project Management
O
-
-
M18
Software Maintenance
O
-
-
M19
Product Life-cycle Management
O
-
-
M20
Remote Infrastructure Management
O
-
-


Contact Session Plan
o      Each Module (M#) covers an independent topic and module may encompass more than one Recorded Lecture (RL).
o      Contact Sessions (2hrs each week) are scheduled alternate weeks after the student watches all Recorded Lectures (RLs) of the specified Modules (listed below) during the previous week
o      In the flipped learning model, Contact Sessions are meant for in-classroom discussions on cases, tutorials/exercises or responding to student’s questions/clarification--- may encompass more than one Module/RLs/CS topic.
o      Contact Session topics listed in course structure (numbered CSx.y)  may cover several  RLs; and as per the pace of instructor/students’ learning, the instructor may take up more than one CS topic during each of the below sessions

Contact
Session
Topics
Ref Modules
Pre-contact Session prep
During Contact Session
CP# for Discussion
1
Introduction to SPM & Overview of Process Models
M1,M2
RL1.1, RL2.1, RL2.2, RL2.3
CS1.0, CS2.0
2,18,19,20
2
Project Initiation & Defining Project Goals
M2, M3
RL3.1, RL3.2
CS2.0, CS3.0

3
Software Effort Estimation
M4
RL4.1 ➔ RL4.5
CS4.0
1
4
Software Project Planning / Quality Planning
M5, M6
RL5.1 ➔ RL5.4, RL6.1, RL6.2
CS5.0, CS6.0
16,17
5
(All topics covered till date)
M1 ➔ M6
(All RLs in  M1➔M6)
Pre-Mid Review

6
Risk Management  / Change Management
M7, M8
RL7.1, RL8.1, RL8.2
CS7.0, CS8.0

7
Project Monitoring 
M9
RL9.1
CS9.0
3,5,15,11
8
Team & Stakeholder Management
M10
RL10.1 ➔ RL10.3
CS10.0

9
Project Closure, Maintenance / Quality Systems
M11, M12
RL11.1, RL12.1
C811.0, CS12.0
21
10
Contract Management / Project Evaluation
M13, M14
RL13.1, RL14.1
CS13.0, CS14.0

11
(All Core topics in syllabus / covered till date)
M1 ➔ M14
(All RLs in M1 ➔ M14)
Pre-Compre Review


# CP: attached list of topics for experiential learning; can be given as assignments to students or taken up for discussion in contact sessions



Assignment Topics/Case-problems (Situational Leadership Lessons)     
A set of ~20 case-problems/topics for study to reflect on the practices and experiences of Project Managers in student’s own organizations.
#
Problem / Topic
EXPLORE/STUDY/DISCUSS
( let students arrive at answers to these questions—however, not limited to these…)
1
PROJECT ESTIMATION
Is Software Project Estimation an art or science? What are the various methods employed by your Organization for estimating effort/price to be quoted to customer?
2
AGILE METHODOLOGY
When is Agile Methodology an appropriate choice for projects? Give TWO examples of your Organization’s projects adopting Agile methods by explaining the process adopted.
3
METRICS
Describe the Metrics adopted in your organization in ALL the phases of SDLC. Which are the few metrics your Project Manager is most interested in? and why?
4
RISK MANAGEMENT
Why is Risk highest at the start of the project? How Project Managers minimize impact of Risk?
5
CUSTOMER COMPLAINTS
When do we receive max. number of customer complaints and why? What are the methods employed to resolve the issues to the satisfaction of the customer?
6
PROJECT SCHEDULING
Can we do Project Scheduling using AoN diagrams when Agile Methods are adopted? Draw an AON schedule diagram for one development project completed in your Organization.
7
RESOURCE MANAGEMENT
When is resource loading maximum and why? Describe the required skill-profiles of team members in a project across the phases of SDLC
8
PROGRAM MANAGEMENT
What is the key role of Program Manager? How Program Management is implemented in your organization (give examples of Programs).
9
SOFTWARE MAINTENANCE
Does Software Maintenance constitute a Project? Explain. How the productivity and performance of software maintenance engineers is tracked by customer?
10
PROJECT MONITORING
Distinguish Monitoring and Control. What are the various ‘control’ techniques adopted by PMs to bring troubled project back on track?
11
PROGRAMMER PRODUCTIVITY
How Project Manager can contribute to programmer productivity? What would you do if you were new to a tool/language and expected to be in the team writing the code within the next 2 weeks?
12
SOFTWARE TESTING
How is Unit-testing is different from System Testing? Distinguish Unit Testing, Integrating Testing, System Testing and Acceptance Testing with examples. How you measure productivity of Testers?
13
PROJECT STATUS REPORTING
As Project Manager, how frequently you send Project reports to your customer and what is the criteria for determining the frequency and format? Give an example of typical Project Report Format adopted in your Orgzn...
14
BUSINESS MODELS
Which Business Model mandates good project estimation skills? Why? What are the various Business Models adopted in your Orgzn.  and which model you think would be least risky for the organization?
15
EARNED VALUE MGMT.
Why is EVM considered a better alternative for large projects?  A project running behind-schedule need not incur cost-overrun? Do you agree?  Explain with an example how EVM can ensure containment of cost-overruns?
16
CHANGE MANAGEMENT
Describe the Change Request (CR) Management process in your Organization? How do you manage changes when the Requirements are clear only at the end of the project and customer has lock-in on the budget and deadline for delivery?
17
WARRANTY MAINTENANCE
What kind of projects typically insists on warranty period? How long is the period and what is the process adopted for warranty maintenance in your Organization?
18
ANALYSIS & DESIGN
Distinguish Architecture, High-level Design and Low-Level Design with examples. In which phase of SDLC, the role of software architect is more important?
19
REQUIREMENTS CAPTURE
How do you capture requirements when the customer too is not clear of total functionality of the product? How do you manage to get requirements onsite when the customer is non-English speaking and can barely communicate to you over email or with little English?
20
CODING & UNIT-TESTING
How do you determine the number of test-cases to be written for a software module? When do you stop testing and start delivering?
21
CONTINUOUS IMPROVEMENT
What is the process for continuous improvement of processes in your Orgzn.? As an ISO 9000/CMMI compliant organization, give an example of a process improvement (related to Project Mgmt) that got implemented recently.
22
CROSS-CULTURAL ISSUES in PM
What are the challenges you face as PM while dealing with customers from non-English speaking nations (Japan, Korea…)? How do you capture requirements? How do you communicate/negotiate with customers?




Assignments
      Each student is given an individual assignment on any of the topics discussed in the class
      Assignment Topics are based on practical problems experienced or part of work-items or tools used by collaborating organization’s project managers
      Assignments are take-home and deadline-driven (typically of 2 weeks duration) announced post Mid-semester examination
      Students to spend at least 16 hours of work in study, research, discussion and preparation of the report and presentation.
      As part of deliverables, the student is expected to prepare a report and make a short-presentation in the class

 Evaluation Scheme:  
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No
Name
Type
Duration
Weight
Day, Date, Session, Time
EC-1
Quiz-I
Online
-
5%
August 26 to September 4, 2017

Quiz-II
Online

5%
September 26 to October 4, 2017

Quiz-III


10%
October 20 to 30, 2017
EC-2
Mid-Semester Test
Closed Book
2 hours
30%
23/09/2017 (AN) 2 PM TO 4 PM
EC-3
Comprehensive Exam
Open Book
3 hours
50%
04/11/2017 (AN) 2 PM TO 5 PM

Note: If Assignment kindly remove Quiz-I, II, III
Syllabus for Mid-Semester Test (Closed Book): Topics in Contact Hours : 1 to 11
Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 22)
Closed Book:  No reference material of any kind will be permitted inside the exam hall.
Open Book: Use of any printed / written reference material (books and notebooks) will be permitted inside the exam hall. Loose sheets, Photocopies and Laser printouts of any material will not be permitted. Computers of any kind will not be allowed inside the exam hall. Use of calculators will be allowed in all exams. No exchange of any material will be allowed.

Note:
It shall be the responsibility of the individual student to be regular in maintaining the self-study schedule (watching of Recorded Lectures before the scheduled contact sessions) as given in the course handout.



 Instructor-in-Charge



5 comments:

  1. Excellent and very cool idea and the subject at the top of magnificence and I am happy to this post..Interesting post!
    Procurement Management Software
    Purchase Management Software
    e Procurement Management Software
    Procurement Tracking Software
    Automated Purchasing Software

    ReplyDelete
  2. BITS Project Management program is excellent. It took almost 15 years in various Organization to learn all the skills, knowledge & techniques.

    ReplyDelete
  3. Thank you for sharing this information. Keep sharing.
    Contract management software

    ReplyDelete
  4. Thanks for sharing useful information. Keep it up!! Also visit How to Write an RFP for Facility Management Software

    ReplyDelete