Managing Software Projects

Preview:

DESCRIPTION

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 methods? How are agile methods adapted for various projects?. - PowerPoint PPT Presentation

Citation preview

Managing Software ProjectsCIS 9002Kannan MohanDepartment of CISZicklin School of Business, Baruch College

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?

Project Risks

(Tiwana and Keil, 2004)

(Tiwana & Keil, 2004)

Time

Comparing Software Development Methodologies

XP - Extreme Programming (Beck, 1999)

Cost of Change

Cost

Development Phase

Analysis Design Coding Maintenance

How do you reduce cost of change?

Process Maturity• SEI (Software Engineering Institute) CMMI

(Capability Maturity Model Integration)• Maturity levels

Level Maturity1 Initial2 Managed3 Defined4 Quantitatively Managed5 Optimizing

Planning Spectrum

(Boehm, 2002)

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 comprehensive

documentation• Customer collaboration over

contract negotiation• Responding to change over following

a plan

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

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

XP Practices• Planning Game• Small Releases• Metaphor• Simple Design• Test Driven

Development• Refactoring

• Pair Programming• Collective

Ownership• Continuous

Integration• Sustainable Pace• On-site Customer• Open Workspace• Just rules

Offshoring and OutsourcingIn-house Outsourced

Onshore Traditional model

Subcontractor/ third party in the same locale

Offshore

Foreign branch of the same company (captive center)

Subcontractor/third party in a foreign locale

OffshoringDrivers

Challenges

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

Proven Practices?

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

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

• Outcome• Behavior

• Informal Control• Clan• Self

Cultural Differences• Organizational culture

• Centralized vs. decentralized decision making• Organic vs. mechanistic

• National culture• Power distance• Long term

orientation• Individualism/

collectivism• Uncertainty

avoidance

• Guanxi• Jugaad• Mianzi (Face)• Doctrine of Mean

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 bring agile methods into globally distributed projects?

• How do cultural values shape the use of agile methods?

Recommended