Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

  • 1,522 views
Uploaded on

- Course Introduction ...

- Course Introduction
- Project Management (PM) Fundamentals
- The PM field and job market
- People, Process, Product, Technology
- 36 Classic Mistakes

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,522
On Slideshare
1,522
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
110
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Session 1 Course Overview Emanuele Della Valle http://home.dei.polimi.it/dellavalle
  • 2. Credits 2 This slides are largely based on Prof. John Musser class notes on “Principles of Software Project Management” M t” Original slides are available at http://www.projectreference.com/ htt // j t f / Reuse and republish permission was granted Planning and Managing Software Projects – Emanuele Della Valle
  • 3. Today 3 Course basics, administrative items Introductions Fundamentals Classic Mi t k Cl i Mistakes Planning and Managing Software Projects – Emanuele Della Valle
  • 4. Course basics, administrative items Syllabus Review 4 Class web site • http://emanueledellavalle.org/Teaching/PMSP-2009-10.html Grades Exams Assignments Project Class participation Sessions Planning and Managing Software Projects – Emanuele Della Valle
  • 5. Course basics, administrative items Textbooks 5 Recommended texts (not mandatory) • These provide two very different viewpoints – I th t In-the-trenches vs. PMI textbook perspective h t tb k ti – “Rapid Development”, Steve McConnell - http://www.stevemcconnell.com/rd.htm – “Information Technology Project Management”, Kathy Schwalbe - http://www.kathyschwalbe.com/ p y More reading • “Quality Software Project Management”, D. Shafer – http://books.google.com/books?id=YYFEqNz7oKcC&printsec=frontcover • “Software Project Survival Guide”, Steve McConnell – http://www.stevemcconnell.com/sg.htm • “Peopleware”, T. DeMarco and T. Lister – http://systemsguild.com/GuildSite/TDM/Tom_DeMarco.html Planning and Managing Software Projects – Emanuele Della Valle
  • 6. Course basics, administrative items Basics 6 Essential elements of software project management Practical, rapid development focus Real-world case studies • And other examples like j p job interviews Highly interactive Dry as toast? Planning and Managing Software Projects – Emanuele Della Valle
  • 7. Course basics, administrative items My Background 7 9 years, +50 projects Projects of all shapes and sizes • 80% in research 20% for industries i h f i d t i • 20% lasting 2-3 years 80% lasting 2-6 weeks Areas of expertise p • Web – Semantic Web – Web Services – Web 2.0 • Information System Integration – Service Oriented Architecture – Semantic SOA – Business Process Management • Knowledge Management Systems – Information Portals – Semantic Search Application sectors: healthcare, government, b2b healthcare government Planning and Managing Software Projects – Emanuele Della Valle
  • 8. Course basics, administrative items Your Background 8 Name Day Job or Equivalent Final Project Project M P j t Management Experience tE i Industry Experience Expectations & goals from the class Planning and Managing Software Projects – Emanuele Della Valle
  • 9. Introduction The Field 9 Jobs: where are they? • http://dice.com PM vs. Developers Professional Organizations • Project Management Institute (PMI) (pmi.org) • Software Engineering Institute ( g g (SEI) ) • IEEE Software Engineering Group Certifications • PMI PMP – http://en.wikipedia.org/wiki/Project_Management_Professional The “PMBOK” – PMI Body of Knowledge PMBOK Tools • MS Project – Available in A3.3 where we will go for class 6 – http://office.microsoft.com/project • Other similar tools – http://en.wikipedia.org/wiki/List_of_project_management_software Planning and Managing Software Projects – Emanuele Della Valle
  • 10. Introduction The Field Part 2 10 Average PM salary $81,000 Contract rates for PM s can match techies PM’s PMI certification adds avg. 14% to salary PMI certs, 1993 1,000; 2002: 40,000 t 1993: 1 000 2002 40 000 Other cert: CompTIA Project+ Links: http://www.projectreference.com/#Certification Planning and Managing Software Projects – Emanuele Della Valle
  • 11. Introduction Job Fundamentals 11 Skills required PM Positions and roles The process Planning and Managing Software Projects – Emanuele Della Valle
  • 12. Introduction - Job Fundamentals Project Management Skills 12 Leadership Communications Problem Solving Negotiating N ti ti Influencing the Organization Mentoring p Process and technical expertise Planning and Managing Software Projects – Emanuele Della Valle
  • 13. Introduction - Job Fundamentals Project Manager Positions 13 Project Administrator / Coordinator Assistant Project Manager Project Manager / Program Manager Executive P E ti Program M Manager V.P. Program Development Planning and Managing Software Projects – Emanuele Della Valle
  • 14. Introduction Software Project Management 14 Management Project Management Software Project Management Planning and Managing Software Projects – Emanuele Della Valle
  • 15. Introduction PM History in a Nutshell 15 Birth of modern PM: Manhattan Project (the bomb) • See http://en.wikipedia.org/wiki/Manhattan_Project – employed more th l d than 130,000 people and cost nearly $2 130 000 l d t l billion ($24 billion in 2008 dollars) 1970 s: military, defense, 1970’s: military defense construction industry were using PM software 1990 s: 1990’s: large shift to PM-based models PM based • 1985: Total quality management • 1990-93: Re-engineering, self-directed teams • 1996-99: 1996 99: Risk mgmt project offices mgmt, • 2000: Merge & Acquisition, global projects Planning and Managing Software Projects – Emanuele Della Valle
  • 16. Introduction Project Management 16 What’s a project? PMI definition • A project is a temporary endeavor undertaken to create a unique product or service – “Temporary” Temporary - Can be years - Result can be lasting - Team can be temporary – “Unique” - Ex: thousands of buildings, but each is unique Progressively elaborated • With repetitive elements • Scope should be constant even as elaboration happens A project manager • Analogy: conductor, coach, captain Planning and Managing Software Projects – Emanuele Della Valle
  • 17. Introduction Project vs. Program Management 17 What’s a ‘program’? Mostly differences of scale Often a number of related projects Longer than projects L th j t Definitions vary Ex: Program Manager for OpenOffice Planning and Managing Software Projects – Emanuele Della Valle
  • 18. Introduction Interactions / Stakeholders 18 As a PM, who do you interact with? Project Stakeholders • Project sponsor • Executives • Team • Customers • Contractors • Functional managers Managing all stakeholder Expectations is challenging • conflict Planning and Managing Software Projects – Emanuele Della Valle
  • 19. Introduction PM Tools: Software 19 Low-end • Basic features, tasks management, charting • A spreadsheet can do Milestones Simplicity do, Mid-market • Handle larger projects multiple projects, analysis tools projects, projects • MS Project (approx. 50% of market) • OpenProj (valid opensource alternative) High-end • Very large projects, specialized needs, enterprise • AMS Realtime http://www amsrealtime com/ http://www.amsrealtime.com/ • Primavera Project Manager http://www.primavera.com/ Planning and Managing Software Projects – Emanuele Della Valle
  • 20. Introduction Tools: Gantt Chart 20 Planning and Managing Software Projects – Emanuele Della Valle
  • 21. Introduction Tools: Network Diagram 21 Planning and Managing Software Projects – Emanuele Della Valle
  • 22. Fundamentals PMI’s 9 Knowledge Areas 22 Project integration management Scope Time Cost C t Quality Human resource Communications Risk Procurement Planning and Managing Software Projects – Emanuele Della Valle
  • 23. Fundamentals First Principles 23 One size does not fit all! Patterns and Anti-Patterns (see Classic Mistakes later) Anti Patterns Spectrums • Project types j yp • Sizes • Formality and rigor Project are like families, each dysfunctional in it’s own “special way” special way Planning and Managing Software Projects – Emanuele Della Valle
  • 24. Fundamentals Our Pattern: Rapid Development 24 Faster delivery Reduced risk Increased visibility to customer Don’t f D ’t forsake quality k lit Planning and Managing Software Projects – Emanuele Della Valle
  • 25. Fundamentals Rapid Development Strategy 25 Classic Mistake Avoidance Development Fundamentals Risk Management Schedule-Oriented Practices S h d l O i t dP ti Planning and Managing Software Projects – Emanuele Della Valle
  • 26. Fundamentals Four Project Dimensions 26 People Process Product Technology T h l Planning and Managing Software Projects – Emanuele Della Valle
  • 27. Fundamentals Trade-off Triangle 27 Fast, cheap, good. Choose two. Planning and Managing Software Projects – Emanuele Della Valle
  • 28. Fundamentals Comics 28 Source: http://geekandpoke.typepad.com/geekandpoke/2009/11/thats-why-we-love-this-job.html Planning and Managing Software Projects – Emanuele Della Valle
  • 29. Fundamentals Trade-off Triangle 29 Know which of these are fixed & variable for every project Planning and Managing Software Projects – Emanuele Della Valle
  • 30. Fundamentals – Four Dimensions People 30 “It’s always a people problem” - Gerald Weinberg, “The Secrets of Consulting” Developer productivity: 10-to-1 range • Read more: http://forums.construx.com/blogs/stevemcc/archive/200 http://forums construx com/blogs/stevemcc/archive/200 8/03/27/productivity-variations-among-software- developers-and-teams-the-origin-of-quot-10x-quot.aspx Improvements: • Team selection • Team organization • Motivation Planning and Managing Software Projects – Emanuele Della Valle
  • 31. Fundamentals – Four Dimensions People 2 31 Other success factors • Matching people to tasks • Career development • Balance: individual and team • Clear communication Planning and Managing Software Projects – Emanuele Della Valle
  • 32. Fundamentals – Four Dimensions Process 32 Is process stifling? 2 Types: Management & Technical Development fundamentals Quality Q lit assurance Risk management Lifecycle planning Avoid abuse by neglect y g Planning and Managing Software Projects – Emanuele Della Valle
  • 33. Fundamentals – Four Dimensions Process 2 33 Customer orientation Process maturity improvement Rework avoidance Planning and Managing Software Projects – Emanuele Della Valle
  • 34. Fundamentals – Four Dimensions Product 34 The “tangible” dimension Product size management Product characteristics and requirements Feature creep management F t t Planning and Managing Software Projects – Emanuele Della Valle
  • 35. Fundamentals – Four Dimensions Technology 35 Often the least important dimension Language and tool selection Value and cost of reuse Planning and Managing Software Projects – Emanuele Della Valle
  • 36. Fundamentals Planning 36 Determine requirements Determine resources Select lifecycle model Determine product features strategy D t i d tf t t t Planning and Managing Software Projects – Emanuele Della Valle
  • 37. Fundamentals Tracking 37 Cost, effort, schedule Planned vs. Actual How to handle when things go off plan? Planning and Managing Software Projects – Emanuele Della Valle
  • 38. Fundamentals Measurements 38 To date and projected • Cost • Schedule • Effort • Product features Alternatives • Earned value analysis • Defect rates • Productivity (ex: SLOC) • Complexity (ex: function points) Planning and Managing Software Projects – Emanuele Della Valle
  • 39. Fundamentals Technical Fundamentals 39 Requirements Analysis Design Construction C t ti Quality Assurance Deployment Planning and Managing Software Projects – Emanuele Della Valle
  • 40. Fundamentals Project Phases 40 All projects are divided into phases All phases together are known as the Project Life Cycle Each phase is marked by completion of Deliverables Identify th Id tif the primary software project phases i ft j t h Planning and Managing Software Projects – Emanuele Della Valle
  • 41. Fundamentals Lifecycle Relationships 41 Planning and Managing Software Projects – Emanuele Della Valle
  • 42. Fundamentals Seven Core Project Phases 42 Planning and Managing Software Projects – Emanuele Della Valle
  • 43. Fundamentals Project Phases A.K.A. 43 Planning and Managing Software Projects – Emanuele Della Valle
  • 44. Fundamentals Phases Variation 44 Concept Exploration System S t Exploration Requirements Design Implementation Installation Operations and Support Maintenance Retirement Planning and Managing Software Projects – Emanuele Della Valle
  • 45. 36 Classic Mistakes 45 McConnell’s Anti-Patterns • The mistakes http://www.stevemcconnell.com/rdenum.htm • A case study htt // http://www.stevemcconnell.com/rdmistak.htm t ll / d i t k ht Seductive Appeal Types • People-Related • Process Related Process-Related • Product-Related • Technology-Related Gilligan’s Island • Every week there's some new, crazy scheme to escape the island, but at the end of the episode, the castaways , p , y always end up stuck on the island for yet another week. • See http://www.codinghorror.com/blog/archives/000889.html Planning and Managing Software Projects – Emanuele Della Valle
  • 46. Classic Mistakes People-Related Mistakes Part 1 46 Undermined motivation Weak personnel • Weak vs. Junior Uncontrolled problem employees p p y Heroics Adding people to a late project Planning and Managing Software Projects – Emanuele Della Valle
  • 47. Classic Mistakes People-Related Mistakes Part 2 47 Noisy, crowded offices Customer Developer Customer-Developer friction Unrealistic expectations Politics P liti over substance b t Wishful thinking Planning and Managing Software Projects – Emanuele Della Valle
  • 48. Classic Mistakes People-Related Mistakes Part 3 48 Lack of effective project sponsorship Lack of stakeholder buy-in buy in Lack of user input Planning and Managing Software Projects – Emanuele Della Valle
  • 49. Classic Mistakes Process-Related Mistakes Part 1 49 Optimistic schedules Insufficient risk management Contractor failure Insufficient planning I ffi i t l i Abandonment of plan under pressure Planning and Managing Software Projects – Emanuele Della Valle
  • 50. Classic Mistakes Process-Related Mistakes Part 2 50 Wasted time during fuzzy front end Shortchanged upstream activities Inadequate design Shortchanged quality assurance Sh t h d lit Planning and Managing Software Projects – Emanuele Della Valle
  • 51. Classic Mistakes Process-Related Mistakes Part 3 51 Insufficient management controls Frequent convergence Omitting necessary tasks from estimates Planning t catch-up l t Pl i to t h later Code-like-hell programming Planning and Managing Software Projects – Emanuele Della Valle
  • 52. Classic Mistakes Product-Related Mistakes 52 Requirements gold-plating • Gilding the lily Feature creep Developer g p gold-plating p g • Beware the pet project Push-me, pull-me negotiation Research-oriented development Planning and Managing Software Projects – Emanuele Della Valle
  • 53. Classic Mistakes Technology-Related Mistakes 53 Silver-bullet syndrome Overestimated savings from new tools and methods • Fad warning [ source http://blogs.infosupport.com/blogs/richardz/archive/2010/02/26/dilbert-on-changing-methodology-during-a-project.aspx ] Switching tools in mid-project Lack of automated source-code control Planning and Managing Software Projects – Emanuele Della Valle
  • 54. Optional Reading 54 McConnell: Chapters 1-4 • We covered most of Ch 3 today Schwalbe: chapters 1-2, 11 (344-345) Planning and Managing Software Projects – Emanuele Della Valle