Managing Software Projects CIS 9002 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College
Feb 24, 2016
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?
Evolution of Offshore Outsourcing
(Rottman and Lacity, 2006)
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?