Software project
        management


       Process, people,
                        power tools

14:1
Project Management




“... can be a profession, a job, a role, or an activity.”
                                      —Sc...
Project Management: the tasks

 • estimating & negotiating
 • organizing & sta ng
 • planning & scheduling
 • managing ris...
Project Management: the context

“ e bad news for so ware developers is that some of the
 most fundamental aspects of crea...
Project Management: facilitating, motivating, & mediating



 Software Development Teams
 types     • formal vs. self-orga...
Software Development Teams


 Structure & anatomy
   • members
   • individual needs & experiences
   • group norms
   • l...
Software Development Teams: structure & anatomy



  Members
    • skill sets
    • roles
    • personalities
Duncan on types of programmers

the authority knows all things on all subjects, regardless of actual experience
the old-sc...
Software Development Teams: structure & anatomy



  Individual needs (“interpersonal underground”)
    • nding a place in...
Software Development Teams: structure & anatomy




  Group norms
    e.g.      “Everyone comes to meetings prepared”
    ...
Software Development Teams: structure & anatomy



  Organizational style
    • democracy
    • autocracy
    • free agenc...
Software Development Teams

  Managing interpersonal dynamics
    • communication
         levels (a er Berkun):
         ...
Software Development Teams

  Managing interpersonal dynamics
    • communication
    • con ict
         listen
          ...
Software Development Teams



  Team maladies/maladaptations
    • cosmetic teams
    • free riding
    • risky shift
Duncan on the corporate food chain

the CEO from his lo y view, all the details that are critical from your front-line
  p...
Project Management

 Methodologies/processes/practices
 • cowboy management
 • heavyweight - “Rational...”
 • lightweight ...
Software Project Management:
A Unified Framework
(Hardcover)
by Walker Royce
              (22 customer reviews)




“...a...
"le _hand" (Boulder, CO United States) - See all my reviews
Royce’s text provides a lucid, straightforward explanation fro...
asmythee (United States) - See all my reviews
From an above review:
“ e message rings out clearly: so ware development as ...
P. Heath (Hurst, TX United States) - See all my reviews
               
   is book is hard to rate because I think the aut...
Project Management: methodologies/processes/practices



 Heavy methodologies
 • Capability Maturity Model (CMM)
       le...
Project Management: methodologies/processes/practices



 Heavy methodologies
 • Capability Maturity Model (CMM)
 • Ration...
Project Management: methodologies/processes/practices



 Light methodologies
 • Agile Software Development
   The Manifes...
Project Management: methodologies/processes/practices



 Light methodologies
 • Agile Software Development
 • Extreme Pro...
Agile Software Development: Extreme Programming

 Practices
 • Simple design - the simplest thing that could possibly work...
Agile Software Development: Extreme Programming


 Power tools
 • Version control
   ➢ CVS
   ➢ Subversion
Agile Software Development: Extreme Programming


 Power tools
 • Version control
 • Unit testing
   ➢ JUnit     import ju...
Agile Software Development: Extreme Programming


 Power tools
 • Version control
 • Unit testing
 • System builds
   ➢ An...
Software project management Process, people, power tools
Software project management Process, people, power tools
Upcoming SlideShare
Loading in …5
×

Software project management Process, people, power tools

690 views
582 views

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
690
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Software project management Process, people, power tools

  1. 1. Software project management Process, people, power tools 14:1
  2. 2. Project Management “... can be a profession, a job, a role, or an activity.” —Scott Berkun former Microso project manager e Art of Project Management
  3. 3. Project Management: the tasks • estimating & negotiating • organizing & sta ng • planning & scheduling • managing risks • establishing standards & disciplines • con guration management • measuring & monitoring • facilitating, motivating, & mediating
  4. 4. Project Management: the context “ e bad news for so ware developers is that some of the most fundamental aspects of creating your own security revolve around people skills, political acumen, and all those other ‘so skills’ that most techies look down on.” —Christopher Duncan e Career Programmer: Guerilla Tactics in an Imperfect World “Remember... if your project dies, no one will ever see how cool your code was.”
  5. 5. Project Management: facilitating, motivating, & mediating Software Development Teams types • formal vs. self-organizing • large vs. small • virtual vs. immediate
  6. 6. Software Development Teams Structure & anatomy • members • individual needs & experiences • group norms • life cycle • organizational style
  7. 7. Software Development Teams: structure & anatomy Members • skill sets • roles • personalities
  8. 8. Duncan on types of programmers the authority knows all things on all subjects, regardless of actual experience the old-school programmer there was a time on Earth when computer programmers were geeks... organized and well prepared, and tend to think things through thoroughly before implementing a plan of action the company man a strange genetic hybrid between a Suit and a programmer the slug my personal inclination with such people involves an open h- oor window but, out of consideration for the health and well being of small, hairless canines everywhere, I’ve learned to just let it go... the arrogant bit head possessing no social skills that I’ve ever been able to discern... the terminally educated strong on academia, weak on hitting deadlines the wild man probably just exists for our own personal entertainment
  9. 9. Software Development Teams: structure & anatomy Individual needs (“interpersonal underground”) • nding a place in the group • power & leadership issues • intimacy & trust • motivation & productivity
  10. 10. Software Development Teams: structure & anatomy Group norms e.g. “Everyone comes to meetings prepared” “We don’t talk about con icts”
  11. 11. Software Development Teams: structure & anatomy Organizational style • democracy • autocracy • free agency • community
  12. 12. Software Development Teams Managing interpersonal dynamics • communication levels (a er Berkun): 1. transmitted 2. received 3. understood 4. accepted/agreed with 5. applied/commited to action problems unilateral: unclarity, dictation, ad hominem et al bilateral: mistakenly assumed shared assumptions
  13. 13. Software Development Teams Managing interpersonal dynamics • communication • con ict listen ❧ be (and appear) attentive ❧ don’t argue mentally or be impatient ❧ restate/re ect/reformulate negotiate ❧ separate the people from the problem ❧ focus on interests rather than positions ❧ generate a variety of options before settling
  14. 14. Software Development Teams Team maladies/maladaptations • cosmetic teams • free riding • risky shift
  15. 15. Duncan on the corporate food chain the CEO from his lo y view, all the details that are critical from your front-line position are lost... he has the power to lay waste to entire departments Upper management (heads of accounting, manufacturing, human resources, marketing, software development) these critters are known for their aggressive behavior and are always positioning themselves to take over the turf of any other managers Middle management harmless-looking creatures, attired as they are in their natural “business casual” camo age... [but] the greatest threat to survival o en comes from those just above you in the natural order of things “...advice from one manager is taken more seriously than are recommendations from someone at a lower level who actually produces something... because he is, a er all, a manager.”
  16. 16. Project Management Methodologies/processes/practices • cowboy management • heavyweight - “Rational...” • lightweight - “Agile...” ➵ the result of a dialetic ➵ not one-size- ts-all
  17. 17. Software Project Management: A Unified Framework (Hardcover) by Walker Royce (22 customer reviews) “...a cutting-edge take on how to manage today's object-oriented, iterative so ware development process...”
  18. 18. "le _hand" (Boulder, CO United States) - See all my reviews Royce’s text provides a lucid, straightforward explanation from an elitist management perspective of how... a technical management methodology can be used to exclude so ware engineers from asserting control over the production processes in which they participate.... In this way, the costly freedoms o en exercised by so ware developers bent on maintaining an old-style guild or shop attitude in the workplace (o en disguised as “pride in individual workmanship”) is eliminated. Engineering methodologies replace the personalities and, indeed, even the personhood of the lone so ware developer.... e message rings out clearly: so ware development as a realm of individualized creativity and exploration is now a thing of the past. So ware companies must impose conformity and Taylor-like authoritarian control. So ware developers should be made to realize that they are nothing more than cogs in a wheel, and that management is justi ed in intervening in every aspect of their working life..... An excellent work!
  19. 19. asmythee (United States) - See all my reviews From an above review: “ e message rings out clearly: so ware development as a realm of individualized creativity and exploration is now a thing of the past. So ware companies must impose conformity and Taylor-like authoritarian control. So ware developers should be made to realize that they are nothing more than cogs in a wheel, and that management is justi ed in intervening in every aspect of their working life.” As a programmer and project manager, yes, this is the case. And it should be the case. e roles don’t necessarily mean two di erent and distinct people always, but programming is a commodity function in large so ware projects. At least those that wish to be successful. For example, would you rather y on a plane whose systems were programmed and managed by a group of so ware engineers each of whom was free to exercise his or her own "individualized creativity and exploration" or a group that used Royce's work in managing the project? I’ll be on the latter plane thanks.
  20. 20. P. Heath (Hurst, TX United States) - See all my reviews    is book is hard to rate because I think the author has done a ne job of presenting the material. However, I would caution most people from putting it into practice. e management process outlined is very rigorous, and should be reserved for defense contractors and other organizations that deliver large commercial applications to external clients. For so ware organizations that deliver applications internal to their company, the process in this book is probably a bit more than is needed.... As it turns out, Royce was involved in the development of the CCPDS-R missile command system: “... a critical missile warning communications system... designed to receive, process and display real-time ballistic missile tactical warning and attack assessment information to the national command authorities.”
  21. 21. Project Management: methodologies/processes/practices Heavy methodologies • Capability Maturity Model (CMM) levels of organizational maturity 1. initial (chaotic, ad hoc, heroic) 2. repeatable (project management, process discipline) 3. de ned (institutionalized) 4. managed (quanti ed) 5. optimising (process improvement)
  22. 22. Project Management: methodologies/processes/practices Heavy methodologies • Capability Maturity Model (CMM) • Rational Uni ed Process • heavy use of UML in full detail • software tools for producing diagrams & other documents • proprietary libraries of guidelines, report templates, etc. • focus on predictive control & extensive prescribed docs
  23. 23. Project Management: methodologies/processes/practices Light methodologies • Agile Software Development The Manifesto: We are uncovering better ways of developing so ware by doing it and helping others do it. rough this work we have come to value: • Individuals and interactions over processes and tools • Working so ware over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan
  24. 24. Project Management: methodologies/processes/practices Light methodologies • Agile Software Development • Extreme Programming (XP) ➢ small releases (short timeboxes) ➢ incremental planning; evolutionary design ➢ continuous integration; automated tests ➢ reliance on direct communication ➢ embrace change
  25. 25. Agile Software Development: Extreme Programming Practices • Simple design - the simplest thing that could possibly work • Refactor - restructure without changing behavior (DRY) • Test-driven coding - when it passes the tests, coding is done • On-site customer - there is no ‘us’ and ‘them’ (there is only us) • Bullpens - the most e ective communication is face-to-face • Pair programming - one drives, one navigates • Collective ownership - anyone can change anything anytime
  26. 26. Agile Software Development: Extreme Programming Power tools • Version control ➢ CVS ➢ Subversion
  27. 27. Agile Software Development: Extreme Programming Power tools • Version control • Unit testing ➢ JUnit import junit.framework.*; public class TestSimple extends TestCase { public TestSimple(String name) { super(name); } public void testXmeth() { assertEquals(6.2,xMeth(3,17)); } }
  28. 28. Agile Software Development: Extreme Programming Power tools • Version control • Unit testing • System builds ➢ Ant ➢ Maven

×