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

Managing Software Projects

Feb 24, 2016

Download

Documents

olaf

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Managing Software Projects

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

Page 2: Managing Software Projects

Learning Objectives

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

methods?• How are agile methods adapted for various

projects?

Page 3: Managing Software Projects

How do you measure project success?

Page 4: Managing Software Projects

Project Risks

(Tiwana and Keil, 2004)

(Tiwana & Keil, 2004)

Page 5: Managing Software Projects

Time

Comparing Software Development Methodologies

XP - Extreme Programming (Beck, 1999)

Page 6: Managing Software Projects

Cost of Change

Cost

Development Phase

Analysis Design Coding Maintenance

Page 7: Managing Software Projects

How do you reduce cost of change?

Page 8: Managing Software Projects

Process Maturity• SEI (Software Engineering Institute) CMMI

(Capability Maturity Model Integration)• Maturity levels

Level Maturity1 Initial2 Managed3 Defined4 Quantitatively Managed5 Optimizing

Page 9: Managing Software Projects

Planning Spectrum

(Boehm, 2002)

Page 10: Managing Software Projects

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

Page 11: Managing Software Projects

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

Page 12: Managing Software Projects

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

Page 13: Managing Software Projects

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

Page 14: Managing Software Projects

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

Page 15: Managing Software Projects

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

Page 16: Managing Software Projects

OffshoringDrivers

Challenges

Page 17: Managing Software Projects

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

Page 18: Managing Software Projects

Proven Practices?

Page 20: Managing Software Projects

Boundary Spanning• Boundary spanner roles

• Ambassador• Scout• Gatekeeper• Knowledge broker• Task coordinator

• Boundary objects• Prototypes, architecture and design documents, specifications, code

Page 21: Managing Software Projects

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

Agile Development

Page 22: Managing Software Projects

Organizational Ambidexterity• Pursuing conflicting demands (or

handling tradeoff situations)• How do you balance conflicting

demands?• Exploitation vs. exploration• Agile vs. distributed

Page 23: Managing Software Projects

Project Control• Formal Control

• Outcome• Behavior

• Informal Control• Clan• Self

Page 24: Managing Software Projects

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

Page 25: Managing Software Projects

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)

Page 26: Managing Software Projects

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?