SlideShare a Scribd company logo
1 of 36
Download to read offline
Planning and Managing Software Projects 2011-12
Class 12


People Dimension
Emanuele Della Valle
http://emanueledellavalle.org
Credits                                                           2

§  This slides are largely based on Prof. John Musser
    class notes on Principles of Software Project
    Management
§  Original slides are available at
    http://www.projectreference.com/
§  Reuse and republish permission was granted




 Planning and Managing Software Projects – Emanuele Della Valle
Today                                                             3

§  Class 11 review
§  Project Roles
§  Staffing profile
§  Hiring
§  Team models and successful projects
§  The mythical man month
§  Optimal team size
§  Tools: RAM and Skill Matrix




 Planning and Managing Software Projects – Emanuele Della Valle
Class 11 Review
Risk Management                                                   4

§  Risk Management
     •  Types of risk: schedule, cost, requirements
§  Risk Identification
§  Risk Analysis
     •  Risk Exposure (RE = Prob. * Size)
§  Risk Prioritization
§  Risk Control
§  Risk Resolution
     •  Avoidance, assumption, transfer, gain knowledge
§  Top 10 Risk List




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Project Roles                                                     5

§  Programmers (system engineers)
    •  Technical lead, architect, programmer, Sr. programmer
§  Quality Assurance (QA) engineers (testers)
    •  QA Manager, QA Lead, QA staff
§  DBAs
    •  DB Administrator, DB Programmer, DB Modeler
§  CM engineers (build engineers)
§  Network engineers, System Administrators
§  Analysts (business analysts)
§  UI Designers
§  Information Architects
§  Documentation writers (editors, documentation specialist)
§  Project manager
§  Other
    •  Security specialist, consultants, trainer


 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Project Roles & Homework 4                                        6

§  You need to decide which of these are necessary for
    your class project
§  Depends on what you re building
     •      How big is it?
     •      Is it UI intensive? Data intensive?
     •      Are you installing/managing hardware?
     •      Do you need to run an operations center?
     •      Is it in-house, contract, Commercial off-the-shelf
            (COTS), etc?
§  Depends on your budget
§  More about it in class 15 in the computer laboratory




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Staffing Profile                                                                                      7

§  Projects do not typically have a static team size
§  Who and how many varies as needed




                                                                  Copyright: Rational Software 2002




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Staffing Profile
Roll-on & Roll-off                                                8

§  PM must have a plan as to how & when
§  Roll-on
     •  Hiring or reserving resources
     •  Ramp-up time
             –  Learning project or company

§  Roll-off
     •  Knowledge transfer
     •  Documentation
     •  Cleanup




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Staffing Management Plan                                          9

§  Part of Software Development Plan
§  Includes
     •      What roles needed, how many, when, who
     •      Resource assignments
     •      Timing: start/stop dates
     •      Cost/salary targets (if hiring)
§  Project Directory
     •  Simply a list of those involved with contact info.
§  Team size: often dictated by budget as often as any
    other factor




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Hiring                                                                 10

§          Hire for Attitude, Train for Skill
§  Look for: Smart, Gets Things Done
§  Balance the team




      Planning and Managing Software Projects – Emanuele Della Valle
Optional Reading                                                  11

§  joelonsoftware s Guerilla Guide to Interviewing
     •  http://www.joelonsoftware.com/articles/fog0000000073.html
     •  http://www.joelonsoftware.com/articles/
        GuerrillaInterviewing3.html




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Team Models                                                       12

§  1st: What s the team s objective?
     •  Problem resolution
             –  Complex, poorly-defined problem
             –  Focuses on 1-3 specific issues
                     -     Ex: fixing a showstopper defect
             –  Sense of urgency
     •  Creativity
             –  New product development
     •  Tactical execution
             –  Carrying-out well-defined plan
             –  Focused tasks and clear roles




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Team Structure
No single team model is best for all projects                     13




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Decision vs. Collaboration vs. Information Sharing                                                   14

                                       Open

Information Sharing                                                                            Anarchy?

                    None

         Seamless                                                                    Collaboration among
                                                                                     members


                                                                           Coordination among members

 Collaboration
        Level
                                                                  Conflicts can be discusses



                                                    One decide, the others actuate
             Planned
                     Centralized                Decision Level           De-centralized
 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Be Aware of Potential Conflicts                                                                         15




[source http://www.globalnerdy.com/2011/08/03/the-war-between-developers-designers-and-project-managers/ ]

   Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Team Models
Business Team                                                                   16

§  Most common model
§  Technical lead + team (rest team at equal status)
§  Hierarchical with one principal contact
§  Adaptable and general
§  Variation: Democratic Team
     •  All decisions made by whole team
     •  See Weinberg s egoless programming model [1]




[1] Gerald M. Weinberg, "Egoless Programming," IEEE Software, vol. 16, no. 1,
    pp. 118-120, Jan./Feb. 1999, doi:10.1109/MS.1999.744582
    http://www2.computer.org/portal/web/csdl/doi/10.1109/MS.1999.744582

 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Team Models
Chief-Programmer Team                                             17

§  From IBM in 70 s
     •  See Brooks and Mythical Man-Month
§  a.k.a. surgical team
§  Puts a superstar at the top
     •  Others then specialize around him/her
             –     Backup Programmer
             –     Co-pilot or alter-ego
             –     Administrator
             –     Toolsmith
             –      Language lawyer

§  Issues
     •  Difficult to achieve
     •  Ego issues: superstar and/or team
§  Can be appropriate for creative projects or tactical
    execution
 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Team Models
 Skunkworks Team [1]                                                      18

§  Put a bunch of talented, creative developers away
    from the mother ship
     •  Off-site literally or figuratively
§  Pro: Creates high ownership & buy-in
§  Con: Little visibility into team progress
§  Applicable: exploratory projects needing creativity
     •  Not on well-defined or narrow problem




[1] http://searchcio.techtarget.com/sDefinition/0,,sid182_gci214112,00.html

 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Team Models
SWAT Team [1]                                                     19

§  Highly skilled team
§  Skills tightly match goal
§  Members often work together
§  Ex: security swat team
§  The team model for tactical execution




[1] http://en.wikipedia.org/wiki/SWAT
 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Team Models
Other (bad) kind of teams                                         20

Check out
http://www.scottberkun.com/blog/2007/asshole-driven-
development/ for
§  Asshole Driven development
§  Cognitive Dissonance development
§  Cover Your Ass Engineering
§  Development By Denial
§  Get Me Promoted Methodology




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension – Team Models
Wrapping up                                                                           21




Team Model                                              Problem    Creativity Tactical
                                                        Resolution            Execution
Business Team                                                     ***   *        **
Chief-Programmer Team                                                   ***      **
“Skunkworks” Team                                                       ***
SWAT Team                                                                       ***

LEGEND
*** Best suited
    * Can be used




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Mythical Man-Month                                                     22

§  Book: The Mythical Man-Month
          •  Author: Fred Brooks
          •  http://my.safaribooksonline.com/0201835959
§        The classic book on the human elements of software
         engineering
§  First two chapters are full of terrific insight (and
    quotes)




      Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Mythical Man-Month
Quotes                                                                               23

§        Cost varies as product of men and months, progress
         does not
§        Hence the man-month as a unit for measuring the
         size of job is a dangerous and deceptive myth
§        Good cooking takes time. If you are made to wait, it
         is to serve you better, and to please you”
                                            - Menu of Restaurant Antoine, New Orleans -




      Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Mythical Man-Month
People Dimension in Disaster Projects                             24

§  Why is software project disaster so common?
     1.  Estimation techniques are poor & assume things will
         go well (an unvoiced assumption)
     2.  Estimation techniques fallaciously confuse effort with
         progress, hiding the assumption that men and months
         are interchangeable
     3.  Because of estimation uncertainty, managers lack
         courteous stubbornness of Antoine's chef
     4.  Schedule progress is poorly monitored
     5.  When schedule slippage is recognized, the natural
         response is to add manpower. Which, is like dousing a
         fire with gasoline




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Mythical Man-Month
Optimism                                                          25

§  The problem
     •  All programmers are optimists
     •  1st false assumption: all will go well or each task
        takes only as long as it ought to take
§  The Fix:
     •  Consider the larger probabilities




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Mythical Man-Month
Confuse effort with progress                                              26

§  The problem
     •  communication (and training) have a cost (overhead)
             –  If n is the size of the people that need to communicate
             –  Then the overhead is n(n-1)/2
     •  How long does a 12 month project take?
             –  1 person: 12 month
             –  2 people = 12/2 + 2(2-1)/2 = 6+1 = 7 months
                     -     2 man-month extra
             –  3 people = 12/3 + 3(3-1)/2 = 4 + 3 = 7 months
                     -     9 man-months extra
             –  4 people = 12/4 + 4(4-1)/2 = 3 + 6 = 9 months
             –  5 people = 12/5 + 5(5-1)/2 = 2.4 + 10 = 12.4 months

§  The Fix:
     •  don t assume adding people will solve the problem
     •  add people in well-separated tasks


 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Mythical Man-Month
Sequential nature of the process                                   27

§  Be aware that
     •       The bearing of a child takes nine months, no matter
            how many women are assigned




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Mythical Man-Month
Reliance on hunches and guesses                                                      28

§  The problem
     •        gutless estimating
             –  Urgency of Client causes Optimistic Estimates
                     -     E.g., omelet and chef analogy
                     -     http://my.safaribooksonline.com/0201835959/ch02lev1sec4

§  The fix
     •  As PM you should bear in mind that regardless of
        urgency, tasks require the same amount of time




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Mythical Man-Month
The myth of additional manpower                                           29

§  The problem
     •        Adding manpower to a late project makes it later
                    - Brooks Law http://en.wikipedia.org/wiki/Brooks%27s_law

§  The fix
     •  Remember!
             –  Q: “How does a project get to be a year late?
             –  A: One day at a time!
     •  Consider the 50% not-coding time when planning
     •  Define clearly measurable milestones
             –  No fuzzy milestones
     •  Reduce the role of conflict among persons
     •  Identify the true status of a task
             –  It s impressive how much effort is needed to move a 90%
                done task to a 100% done task
     •  Don’t add manpower to a late project, reschedule it!
             –  More in class 19 in “Project Recovery” section
 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Large teams                                                       30

§  Communication increases multiplicatively
     •  Square of the number of people
     •  50 programmers = 1200 possible paths
     •  Communication must be formalized
             –  e.g. use deliverables

§  Always use a hierarchy
§  Reduce units to optimal team sizes




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension
Team Size                                                         31

§  What is the optimal team size?
     •  4-6 developers
             –  Tech lead + developers
     •      Small projects inspire stronger identification
     •      Increases cohesiveness
     •      QA, operations, and design on top of this
     •      Always less then 10!




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Tools
Responsibility Assignment Matrix                                  32

§  A resource planning tool
§  Who does What
§  Can be for both planning and tracking
§  Identify authority, accountability, responsibility
§  Who: can be individual, team or department
§  Can have totals/summary at end of row or column
    (ex: total Contributors on a task)




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Tools
Simple RAM                                                        33




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Tools
Sample RAM With Stakeholders                                      34




 Planning and Managing Software Projects – Emanuele Della Valle
People Dimension - Tools
Skills Matrix                                                     35

§  Another resource planning tool
§  Resources on one axis, skills on other
§  Skills can high level or very specific
§  Cells can be X s or numeric (ex: level, # yrs.)




 Planning and Managing Software Projects – Emanuele Della Valle
Questions?                                                        36




 Planning and Managing Software Projects – Emanuele Della Valle

More Related Content

What's hot

Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
Denise.pham
Denise.phamDenise.pham
Denise.pham
NASAPMC
 
Agile presentation ONA12
Agile presentation ONA12Agile presentation ONA12
Agile presentation ONA12
vpowers
 
Agile Software Development In The Large
Agile Software Development In The LargeAgile Software Development In The Large
Agile Software Development In The Large
ConSanFrancisco123
 
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
India Scrum Enthusiasts Community
 
Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011
Tim Morris ★
 

What's hot (19)

Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Denise.pham
Denise.phamDenise.pham
Denise.pham
 
Lect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakesLect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakes
 
Agile Architecture (MAE slides with speaker notes)
Agile Architecture (MAE slides with speaker notes)Agile Architecture (MAE slides with speaker notes)
Agile Architecture (MAE slides with speaker notes)
 
Software Architecture is written with lowercase a
Software Architecture is written with lowercase aSoftware Architecture is written with lowercase a
Software Architecture is written with lowercase a
 
Tablet and Slate Development with Silverlight
Tablet and Slate Development with SilverlightTablet and Slate Development with Silverlight
Tablet and Slate Development with Silverlight
 
Agile presentation ONA12
Agile presentation ONA12Agile presentation ONA12
Agile presentation ONA12
 
When is Light Right?
When is Light Right?When is Light Right?
When is Light Right?
 
Agile Software Development In The Large
Agile Software Development In The LargeAgile Software Development In The Large
Agile Software Development In The Large
 
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun AgainAgile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun Again
 
Another Agile Intro
Another Agile IntroAnother Agile Intro
Another Agile Intro
 
Why software projects_need_heroes
Why software projects_need_heroesWhy software projects_need_heroes
Why software projects_need_heroes
 
why agile?
why agile?why agile?
why agile?
 
Jan de Vries - Becoming antifragile is more important than ever in disruptive...
Jan de Vries - Becoming antifragile is more important than ever in disruptive...Jan de Vries - Becoming antifragile is more important than ever in disruptive...
Jan de Vries - Becoming antifragile is more important than ever in disruptive...
 
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
 
Role of Retrospectives in Success of Agile Project
Role of Retrospectives in Success of Agile ProjectRole of Retrospectives in Success of Agile Project
Role of Retrospectives in Success of Agile Project
 
Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012
 
Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 

Similar to People Dimension in Software Projects

Growing and managing Drupal organisations - Drupalcamp London 2013
Growing and managing Drupal organisations - Drupalcamp London 2013Growing and managing Drupal organisations - Drupalcamp London 2013
Growing and managing Drupal organisations - Drupalcamp London 2013
Exove
 
P&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-managementP&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-management
Emanuele Della Valle
 
Dan Cornell - The Real Cost of Software Remediation
Dan Cornell  - The Real Cost of Software RemediationDan Cornell  - The Real Cost of Software Remediation
Dan Cornell - The Real Cost of Software Remediation
Source Conference
 

Similar to People Dimension in Software Projects (20)

More on Software Project Management
More on Software Project ManagementMore on Software Project Management
More on Software Project Management
 
Scheduling
SchedulingScheduling
Scheduling
 
P&msp2010 04 wbs-and-estimation
P&msp2010 04 wbs-and-estimationP&msp2010 04 wbs-and-estimation
P&msp2010 04 wbs-and-estimation
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentals
 
Work Breakdown Structure
Work Breakdown StructureWork Breakdown Structure
Work Breakdown Structure
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project Management
 
P&msp2010 11 final-stages
P&msp2010 11 final-stagesP&msp2010 11 final-stages
P&msp2010 11 final-stages
 
Overview Of Project Management - P&MSP2010 (2/11)
Overview Of Project Management - P&MSP2010 (2/11)Overview Of Project Management - P&MSP2010 (2/11)
Overview Of Project Management - P&MSP2010 (2/11)
 
Managing a Project the Drupal Way - Drupal Open Days Ireland
Managing a Project the Drupal Way - Drupal Open Days IrelandManaging a Project the Drupal Way - Drupal Open Days Ireland
Managing a Project the Drupal Way - Drupal Open Days Ireland
 
Growing and managing Drupal organisations - Drupalcamp London 2013
Growing and managing Drupal organisations - Drupalcamp London 2013Growing and managing Drupal organisations - Drupalcamp London 2013
Growing and managing Drupal organisations - Drupalcamp London 2013
 
P&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-managementP&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-management
 
SADT & IDEF0 for Augmenting UML, Algile & Usability Engineering
SADT & IDEF0 for Augmenting UML, Algile & Usability EngineeringSADT & IDEF0 for Augmenting UML, Algile & Usability Engineering
SADT & IDEF0 for Augmenting UML, Algile & Usability Engineering
 
Large Scale Software Project
Large Scale Software ProjectLarge Scale Software Project
Large Scale Software Project
 
Dan Cornell - The Real Cost of Software Remediation
Dan Cornell  - The Real Cost of Software RemediationDan Cornell  - The Real Cost of Software Remediation
Dan Cornell - The Real Cost of Software Remediation
 
Real Cost of Software Remediation
Real Cost of Software RemediationReal Cost of Software Remediation
Real Cost of Software Remediation
 
Planning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningPlanning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle Planning
 
Execute for Every Screen
Execute for Every ScreenExecute for Every Screen
Execute for Every Screen
 
Project managemen concept
Project managemen conceptProject managemen concept
Project managemen concept
 
Ivory tower development
Ivory tower developmentIvory tower development
Ivory tower development
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
 

More from Emanuele Della Valle

More from Emanuele Della Valle (20)

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streams
 
Stream reasoning
Stream reasoningStream reasoning
Stream reasoning
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream Reasoning
 
Big Data and Data Science W's
Big Data and Data Science W'sBig Data and Data Science W's
Big Data and Data Science W's
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search engines
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - Fluxedo
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create value
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic Technologies
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
 
On Stream Reasoning
On Stream ReasoningOn Stream Reasoning
On Stream Reasoning
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

People Dimension in Software Projects

  • 1. Planning and Managing Software Projects 2011-12 Class 12 People Dimension Emanuele Della Valle http://emanueledellavalle.org
  • 2. Credits 2 §  This slides are largely based on Prof. John Musser class notes on Principles of Software Project Management §  Original slides are available at http://www.projectreference.com/ §  Reuse and republish permission was granted Planning and Managing Software Projects – Emanuele Della Valle
  • 3. Today 3 §  Class 11 review §  Project Roles §  Staffing profile §  Hiring §  Team models and successful projects §  The mythical man month §  Optimal team size §  Tools: RAM and Skill Matrix Planning and Managing Software Projects – Emanuele Della Valle
  • 4. Class 11 Review Risk Management 4 §  Risk Management •  Types of risk: schedule, cost, requirements §  Risk Identification §  Risk Analysis •  Risk Exposure (RE = Prob. * Size) §  Risk Prioritization §  Risk Control §  Risk Resolution •  Avoidance, assumption, transfer, gain knowledge §  Top 10 Risk List Planning and Managing Software Projects – Emanuele Della Valle
  • 5. People Dimension Project Roles 5 §  Programmers (system engineers) •  Technical lead, architect, programmer, Sr. programmer §  Quality Assurance (QA) engineers (testers) •  QA Manager, QA Lead, QA staff §  DBAs •  DB Administrator, DB Programmer, DB Modeler §  CM engineers (build engineers) §  Network engineers, System Administrators §  Analysts (business analysts) §  UI Designers §  Information Architects §  Documentation writers (editors, documentation specialist) §  Project manager §  Other •  Security specialist, consultants, trainer Planning and Managing Software Projects – Emanuele Della Valle
  • 6. People Dimension Project Roles & Homework 4 6 §  You need to decide which of these are necessary for your class project §  Depends on what you re building •  How big is it? •  Is it UI intensive? Data intensive? •  Are you installing/managing hardware? •  Do you need to run an operations center? •  Is it in-house, contract, Commercial off-the-shelf (COTS), etc? §  Depends on your budget §  More about it in class 15 in the computer laboratory Planning and Managing Software Projects – Emanuele Della Valle
  • 7. People Dimension Staffing Profile 7 §  Projects do not typically have a static team size §  Who and how many varies as needed Copyright: Rational Software 2002 Planning and Managing Software Projects – Emanuele Della Valle
  • 8. People Dimension – Staffing Profile Roll-on & Roll-off 8 §  PM must have a plan as to how & when §  Roll-on •  Hiring or reserving resources •  Ramp-up time –  Learning project or company §  Roll-off •  Knowledge transfer •  Documentation •  Cleanup Planning and Managing Software Projects – Emanuele Della Valle
  • 9. People Dimension Staffing Management Plan 9 §  Part of Software Development Plan §  Includes •  What roles needed, how many, when, who •  Resource assignments •  Timing: start/stop dates •  Cost/salary targets (if hiring) §  Project Directory •  Simply a list of those involved with contact info. §  Team size: often dictated by budget as often as any other factor Planning and Managing Software Projects – Emanuele Della Valle
  • 10. People Dimension Hiring 10 §  Hire for Attitude, Train for Skill §  Look for: Smart, Gets Things Done §  Balance the team Planning and Managing Software Projects – Emanuele Della Valle
  • 11. Optional Reading 11 §  joelonsoftware s Guerilla Guide to Interviewing •  http://www.joelonsoftware.com/articles/fog0000000073.html •  http://www.joelonsoftware.com/articles/ GuerrillaInterviewing3.html Planning and Managing Software Projects – Emanuele Della Valle
  • 12. People Dimension Team Models 12 §  1st: What s the team s objective? •  Problem resolution –  Complex, poorly-defined problem –  Focuses on 1-3 specific issues -  Ex: fixing a showstopper defect –  Sense of urgency •  Creativity –  New product development •  Tactical execution –  Carrying-out well-defined plan –  Focused tasks and clear roles Planning and Managing Software Projects – Emanuele Della Valle
  • 13. People Dimension – Team Structure No single team model is best for all projects 13 Planning and Managing Software Projects – Emanuele Della Valle
  • 14. People Dimension Decision vs. Collaboration vs. Information Sharing 14 Open Information Sharing Anarchy? None Seamless Collaboration among members Coordination among members Collaboration Level Conflicts can be discusses One decide, the others actuate Planned Centralized Decision Level De-centralized Planning and Managing Software Projects – Emanuele Della Valle
  • 15. People Dimension Be Aware of Potential Conflicts 15 [source http://www.globalnerdy.com/2011/08/03/the-war-between-developers-designers-and-project-managers/ ] Planning and Managing Software Projects – Emanuele Della Valle
  • 16. People Dimension – Team Models Business Team 16 §  Most common model §  Technical lead + team (rest team at equal status) §  Hierarchical with one principal contact §  Adaptable and general §  Variation: Democratic Team •  All decisions made by whole team •  See Weinberg s egoless programming model [1] [1] Gerald M. Weinberg, "Egoless Programming," IEEE Software, vol. 16, no. 1, pp. 118-120, Jan./Feb. 1999, doi:10.1109/MS.1999.744582 http://www2.computer.org/portal/web/csdl/doi/10.1109/MS.1999.744582 Planning and Managing Software Projects – Emanuele Della Valle
  • 17. People Dimension – Team Models Chief-Programmer Team 17 §  From IBM in 70 s •  See Brooks and Mythical Man-Month §  a.k.a. surgical team §  Puts a superstar at the top •  Others then specialize around him/her –  Backup Programmer –  Co-pilot or alter-ego –  Administrator –  Toolsmith –  Language lawyer §  Issues •  Difficult to achieve •  Ego issues: superstar and/or team §  Can be appropriate for creative projects or tactical execution Planning and Managing Software Projects – Emanuele Della Valle
  • 18. People Dimension – Team Models Skunkworks Team [1] 18 §  Put a bunch of talented, creative developers away from the mother ship •  Off-site literally or figuratively §  Pro: Creates high ownership & buy-in §  Con: Little visibility into team progress §  Applicable: exploratory projects needing creativity •  Not on well-defined or narrow problem [1] http://searchcio.techtarget.com/sDefinition/0,,sid182_gci214112,00.html Planning and Managing Software Projects – Emanuele Della Valle
  • 19. People Dimension – Team Models SWAT Team [1] 19 §  Highly skilled team §  Skills tightly match goal §  Members often work together §  Ex: security swat team §  The team model for tactical execution [1] http://en.wikipedia.org/wiki/SWAT Planning and Managing Software Projects – Emanuele Della Valle
  • 20. People Dimension – Team Models Other (bad) kind of teams 20 Check out http://www.scottberkun.com/blog/2007/asshole-driven- development/ for §  Asshole Driven development §  Cognitive Dissonance development §  Cover Your Ass Engineering §  Development By Denial §  Get Me Promoted Methodology Planning and Managing Software Projects – Emanuele Della Valle
  • 21. People Dimension – Team Models Wrapping up 21 Team Model Problem Creativity Tactical Resolution Execution Business Team *** * ** Chief-Programmer Team *** ** “Skunkworks” Team *** SWAT Team *** LEGEND *** Best suited * Can be used Planning and Managing Software Projects – Emanuele Della Valle
  • 22. People Dimension Mythical Man-Month 22 §  Book: The Mythical Man-Month •  Author: Fred Brooks •  http://my.safaribooksonline.com/0201835959 §  The classic book on the human elements of software engineering §  First two chapters are full of terrific insight (and quotes) Planning and Managing Software Projects – Emanuele Della Valle
  • 23. People Dimension - Mythical Man-Month Quotes 23 §  Cost varies as product of men and months, progress does not §  Hence the man-month as a unit for measuring the size of job is a dangerous and deceptive myth §  Good cooking takes time. If you are made to wait, it is to serve you better, and to please you” - Menu of Restaurant Antoine, New Orleans - Planning and Managing Software Projects – Emanuele Della Valle
  • 24. People Dimension - Mythical Man-Month People Dimension in Disaster Projects 24 §  Why is software project disaster so common? 1.  Estimation techniques are poor & assume things will go well (an unvoiced assumption) 2.  Estimation techniques fallaciously confuse effort with progress, hiding the assumption that men and months are interchangeable 3.  Because of estimation uncertainty, managers lack courteous stubbornness of Antoine's chef 4.  Schedule progress is poorly monitored 5.  When schedule slippage is recognized, the natural response is to add manpower. Which, is like dousing a fire with gasoline Planning and Managing Software Projects – Emanuele Della Valle
  • 25. People Dimension - Mythical Man-Month Optimism 25 §  The problem •  All programmers are optimists •  1st false assumption: all will go well or each task takes only as long as it ought to take §  The Fix: •  Consider the larger probabilities Planning and Managing Software Projects – Emanuele Della Valle
  • 26. People Dimension - Mythical Man-Month Confuse effort with progress 26 §  The problem •  communication (and training) have a cost (overhead) –  If n is the size of the people that need to communicate –  Then the overhead is n(n-1)/2 •  How long does a 12 month project take? –  1 person: 12 month –  2 people = 12/2 + 2(2-1)/2 = 6+1 = 7 months -  2 man-month extra –  3 people = 12/3 + 3(3-1)/2 = 4 + 3 = 7 months -  9 man-months extra –  4 people = 12/4 + 4(4-1)/2 = 3 + 6 = 9 months –  5 people = 12/5 + 5(5-1)/2 = 2.4 + 10 = 12.4 months §  The Fix: •  don t assume adding people will solve the problem •  add people in well-separated tasks Planning and Managing Software Projects – Emanuele Della Valle
  • 27. People Dimension - Mythical Man-Month Sequential nature of the process 27 §  Be aware that •  The bearing of a child takes nine months, no matter how many women are assigned Planning and Managing Software Projects – Emanuele Della Valle
  • 28. People Dimension - Mythical Man-Month Reliance on hunches and guesses 28 §  The problem •  gutless estimating –  Urgency of Client causes Optimistic Estimates -  E.g., omelet and chef analogy -  http://my.safaribooksonline.com/0201835959/ch02lev1sec4 §  The fix •  As PM you should bear in mind that regardless of urgency, tasks require the same amount of time Planning and Managing Software Projects – Emanuele Della Valle
  • 29. People Dimension - Mythical Man-Month The myth of additional manpower 29 §  The problem •  Adding manpower to a late project makes it later - Brooks Law http://en.wikipedia.org/wiki/Brooks%27s_law §  The fix •  Remember! –  Q: “How does a project get to be a year late? –  A: One day at a time! •  Consider the 50% not-coding time when planning •  Define clearly measurable milestones –  No fuzzy milestones •  Reduce the role of conflict among persons •  Identify the true status of a task –  It s impressive how much effort is needed to move a 90% done task to a 100% done task •  Don’t add manpower to a late project, reschedule it! –  More in class 19 in “Project Recovery” section Planning and Managing Software Projects – Emanuele Della Valle
  • 30. People Dimension Large teams 30 §  Communication increases multiplicatively •  Square of the number of people •  50 programmers = 1200 possible paths •  Communication must be formalized –  e.g. use deliverables §  Always use a hierarchy §  Reduce units to optimal team sizes Planning and Managing Software Projects – Emanuele Della Valle
  • 31. People Dimension Team Size 31 §  What is the optimal team size? •  4-6 developers –  Tech lead + developers •  Small projects inspire stronger identification •  Increases cohesiveness •  QA, operations, and design on top of this •  Always less then 10! Planning and Managing Software Projects – Emanuele Della Valle
  • 32. People Dimension - Tools Responsibility Assignment Matrix 32 §  A resource planning tool §  Who does What §  Can be for both planning and tracking §  Identify authority, accountability, responsibility §  Who: can be individual, team or department §  Can have totals/summary at end of row or column (ex: total Contributors on a task) Planning and Managing Software Projects – Emanuele Della Valle
  • 33. People Dimension - Tools Simple RAM 33 Planning and Managing Software Projects – Emanuele Della Valle
  • 34. People Dimension - Tools Sample RAM With Stakeholders 34 Planning and Managing Software Projects – Emanuele Della Valle
  • 35. People Dimension - Tools Skills Matrix 35 §  Another resource planning tool §  Resources on one axis, skills on other §  Skills can high level or very specific §  Cells can be X s or numeric (ex: level, # yrs.) Planning and Managing Software Projects – Emanuele Della Valle
  • 36. Questions? 36 Planning and Managing Software Projects – Emanuele Della Valle