1 / 8

CSE 350 - Software Design and Engineering

Explore the complexities of team dynamics and organization in software design, including principles for group selection, communication strategies, and code review practices. Learn how to enhance team performance and adapt to varying individual strengths and weaknesses.

ramiroa
Download Presentation

CSE 350 - Software Design and Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE 350 - Software Design and Engineering Jonathan M. Smith http://www.cis.upenn.edu/~jms 1/30/2001

  2. Groups (review): • One “superprogrammer” not enough - complexity too high • Reasons of specialization, redundancy • Principles for selecting groups, their task and their structure • Last week looked at “Chief Progrommer Team” model of Brooks

  3. “Psychology of Computer Programming” - Weinberg • Covers different issues than Brooks • Particular focus on the individual programmer and use of the group • Encourages communication - use informal communication / code reviews • “Loose” where CPTs are “stiff” • Importance of coffee machine :-)

  4. Factors affecting team life & performance • Variation in individual strengths / wkns • Way goals are set • Structure of program being built • Leadership structure imposed on team • Gender and attitudes (book is dated…) • Communication team<->outside • Technical (in?)competence of leader

  5. Code Review & “Egoless Programming” • Members of the group meet • Goal is to carefully review a piece of code • This is done collaboratively • Good way for senior programmers to advise junior programmers • Good way for junior programmers to learn

  6. Code reviews address some weaknesses of CPT model • CPT assumed right people in right job - CR does not • Weinberg’s model is democratic, not hierarchical • Adaptive to skills, varying interests, etc. • Informal dynamic hierarchy

  7. What about groups of groups? • “The Programming Project” (Ch. 6) • Stability Through Change • Measuring Performance (note Reporting is NOT Measuring!) • Useful feedback accelerates learning (but doesn’t happen for a variety of reasons) • Lines of control == reporting???

  8. Virtues of approach • Reflects “natural” group behavior • Adaptive to interests/skills • Really benefits “newbies” • Adaptive to programming task • Weakness is “looseness” - challenge to manage - and hence for management to appreciate

More Related