260 likes | 393 Views
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?.
E N D
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?
Project Risks (Tiwana & Keil, 2004) (Tiwana and Keil, 2004)
Comparing Software Development Methodologies Time XP - Extreme Programming (Beck, 1999)
Cost of Change Cost Analysis Design Coding Maintenance Development Phase
Process Maturity • SEI (Software Engineering Institute) CMMI (Capability Maturity Model Integration) • Maturity levels
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
Japanese Model of Offshoring • Tap the stone bridge before crossing • Expertise vs. cost • Modularize • Control by design • Bridge software engineers
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
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
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?