Managing Software Projects CIS 9002 Kannan Mohan Department

  • Slides: 26
Download presentation
Managing Software Projects CIS 9002 Kannan Mohan Department of CIS Zicklin School of Business,

Managing Software Projects CIS 9002 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College

Learning Objectives • What are agile methods? • How are they different from traditional

Learning Objectives • What are agile methods? • How are they different from traditional methods? • How are agile methods adapted for various projects?

How do you measure project success?

How do you measure project success?

Project Risks (Tiwana & Keil, 2004) (Tiwana and Keil, 2004)

Project Risks (Tiwana & Keil, 2004) (Tiwana and Keil, 2004)

Comparing Software Development Methodologies Time XP - Extreme Programming (Beck, 1999)

Comparing Software Development Methodologies Time XP - Extreme Programming (Beck, 1999)

Cost of Change Cost Analysis Design Coding Development Phase Maintenance

Cost of Change Cost Analysis Design Coding Development Phase Maintenance

How do you reduce cost of change?

How do you reduce cost of change?

Process Maturity • SEI (Software Engineering Institute) CMMI (Capability Maturity Model Integration) • Maturity

Process Maturity • SEI (Software Engineering Institute) CMMI (Capability Maturity Model Integration) • Maturity levels Level Maturity 1 Initial 2 Managed 3 Defined 4 Quantitatively Managed 5 Optimizing

Planning Spectrum (Boehm, 2002)

Planning Spectrum (Boehm, 2002)

Agile Methods • Lightweight • What really matters? • Minimum upfront design • Incremental

Agile Methods • Lightweight • What really matters? • Minimum upfront design • Incremental • Highest business value first

Agile Manifesto • Individuals and interactions over processes and tools • Working software over

Agile Manifesto • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan

Agile Methods • Extreme Programming • Scrum • Feature driven development • ….

Agile Methods • Extreme Programming • Scrum • Feature driven development • ….

Extreme Programming (XP) • Communication • Simplicity • Feedback • Courage

Extreme Programming (XP) • Communication • Simplicity • Feedback • Courage

XP Practices • Planning Game • Pair Programming • Small Releases • Collective Ownership

XP Practices • Planning Game • Pair Programming • Small Releases • Collective Ownership • Metaphor • Simple Design • Test Driven Development • Refactoring • Continuous Integration • Sustainable Pace • On-site Customer • Open Workspace • Just rules

Offshoring and Outsourcing In-house Outsourced Onshore Traditional model Subcontractor/ third party in the same

Offshoring and Outsourcing In-house Outsourced Onshore Traditional model Subcontractor/ third party in the same locale Offshore Foreign branch of Subcontractor/third the same party in a foreign company (captive locale center)

Offshoring Drivers Challenge s

Offshoring Drivers Challenge s

Japanese Model of Offshoring • Tap the stone bridge before crossing • Expertise vs.

Japanese Model of Offshoring • Tap the stone bridge before crossing • Expertise vs. cost • Modularize • Control by design • Bridge software engineers

Proven Practices?

Proven Practices?

Evolution of Offshore Outsourcing (Rottman and Lacity, 2006)

Evolution of Offshore Outsourcing (Rottman and Lacity, 2006)

Boundary Spanning • Boundary spanner roles • Ambassador • Scout • Gatekeeper • Knowledge

Boundary Spanning • Boundary spanner roles • Ambassador • Scout • Gatekeeper • Knowledge broker • Task coordinator • Boundary objects • Prototypes, architecture and design documents, specifications, code

What happens when bring agile and distributed together? Globally Distributed Development Agile Development

What happens when bring agile and distributed together? Globally Distributed Development Agile Development

Organizational Ambidexterity • Pursuing conflicting demands (or handling tradeoff situations) • How do you

Organizational Ambidexterity • Pursuing conflicting demands (or handling tradeoff situations) • How do you balance conflicting demands? • Exploitation vs. exploration • Agile vs. distributed

Project Control • Formal Control • Informal Control • Outcome • Clan • Behavior

Project Control • Formal Control • Informal Control • Outcome • Clan • Behavior • Self

Cultural Differences • Organizational culture • Centralized vs. decentralized decision making • Organic vs.

Cultural Differences • Organizational culture • Centralized vs. decentralized decision making • Organic vs. mechanistic • National culture • Power distance • Long term orientation • Individualism/collectivi sm • Uncertainty avoidance • • Guanxi Jugaad Mianzi (Face) Doctrine of Mean

Reporting Bad News • Who do you rely on to get project status information?

Reporting Bad News • Who do you rely on to get project status information? • Trust but verify • When does misreporting happen? • Consider individual traits – risk propensity, work climate, cultural differences • Auditing to seek accurate project status? • Dysfunctional cycle of distrust, trust in supervisor • Connection between project sponsor and propensity to report • Reducing power distance in reporting relationships • Deaf effect (Keil et al, 2014)

Summary • How are agile methods different from traditional ones? • How do you

Summary • How are agile methods different from traditional ones? • How do you bring agile methods into globally distributed projects? • How do cultural values shape the use of agile methods?