Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation.

Slides:



Advertisements
Similar presentations
Lecture 2 Team Coordination 1 ICS 126 Team Coordination Team Formation and Organization Group Management Meeting Techniques Large software systems require.
Advertisements

Project Management Process. Managing the Information Systems Project Focus of project management To ensure that information system projects meet customer.
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
SOFTWARE PROCESS MODELS. Software Process Models  Process model (Life-cycle model) -steps through which the product progresses Requirements phase Specification.
SDLC Software Development Life Cycle. SDLC Acronym for system development life cycle. Acronym for system development life cycle. Is the process of developing.
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
1 Teams Xiaojun Qi. 2 Team Organization Suppose that a product can be accomplished by 1 person-year of programming. If this product must be completed.
Introduction to Software Engineering Lecture 4 André van der Hoek.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
The Human Side of Project Management
Software Configuration Management
© 2005 by Prentice Hall Chapter 5 Maintaining Information Systems Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
Lecture 2b: Software Project Management CSCI102 - Introduction to Information Technology B ITCS905 - Fundamentals of Information Technology.
Slide 12.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Teams.
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
Design, Implementation and Maintenance
PROJECT MANAGEMENT CONCEPTS & TEAMS
CHAPTER 19 Building Software.
By the end of this session you should be able to...
Ch 2: Software Life-Cycle Models CSCI Ideal Software Development.
OHT 16.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The objectives of training and certification The training and certification.
Copyright Course Technology 1999
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
CHAPTER 4 TEAMS.
CPIS 357 Software Quality & Testing
Development and Impact of Software Solutions Application of software development approaches.
Software Testing Course Shmuel Ur
Copyright©2008 N.AlJaffan®KSU1 Chapter 11 Information system development and programming language.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Engineering Teams James Gain
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Teamwork to Improve IT Productivity Dr. Chung Lee VP, Professor of CS Huree ICT University.
CSE 308 Software Engineering Software Engineering Strategies.
Slide 4.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Software Project Management By Deepika Chaudhary.
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Slide 1 Teams l Most products are too large to be completed by a single software professional with the given time constraints l You will work within a.
IS2210: Systems Analysis, Systems Design and Change Twitter:
Slide 4.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
CSC 395 – Software Engineering Lecture 5: Teams -or- How to Motivate and Manage the Unwashed Masses.
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Slide 4.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Slide 4.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
Slide 4.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
4.1/62 TEAMS 4.2/62 Overview l Introduction, l Democratic team approach, l Classical chief programmer team approach, l Beyond chief programmer and democratic.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Manjot Lidder, Randy Johal, & Jasraj Bath. You will learn how to: Describe how different management styles can influence employee productivity Explain.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
ORGANIZATIONAL STRUCTURES YOUR BUSINESS NEEDS SOME FORM OF ORGANIZATION THAT IDENTIFIES WHO IS RESPONSIBLE FOR WHICH TASK.
Project Management Why do projects fail? Technical Reasons
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Systems Development Life Cycle
Principles of Information Security, Fourth Edition Chapter 1 Introduction to Information Security Part II.
Slide 4.1 TEAMS. Slide 4.2 Overview l Team organization l Democratic team approach l Classical chief programmer team approach l Beyond chief programmer.
Software Configuration Management
Fundamentals of Information Systems, Sixth Edition
Chapter 18 Maintaining Information Systems
Lecture 3: Organizing Teams
System Development Life Cycle (SDLC)
Roles and Responsibilities (1/3)
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Processes Process should be
Agile software development
Presented By Justas Raslanas
Presentation transcript:

Software Project Development Teams

Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation two extreme approaches: –democratic team –chief programmer team

Democratic Team Group works for a common cause with no single leader; each member finds faults in others’ code advantages –positive attitude towards finding faults –especially productive in solving hard problems disadvantages –management has difficulty working with egoless team –senior members may resent review by beginners

Chief Programmer Team Introduced in the 70’s, in the keypunch days chief programmer –directs and reviews work of other team members –does design and complex implementations backup chief programmer other programmers –specialized; work on detailed design and coding programming secretary (librarian) –maintains project library (code, test cases, etc.) –compiles, executes and runs test cases

Impracticality of chief programmer approach Good chief programmers are hard to find –must be both good programmer and good manager Good backup chief programmers are even harder to find Nowadays programmers compile, run and test their software at their workstations Disadvantage: chief is present at code reviews and also does evaluation of members; doesn’t foster positive attitude toward finding faults

Combined approach (Modern Team) Team leader –responsible for technical aspects –attends all code reviews team manager –responsible for non-technical aspects (budget, performance appraisals) –does not attend code reviews, but assesses performance based on periodic team meetings can be scaled up for large projects decentralize decision-making

Synchronize-and-Stabilize Team Used by Microsoft Corp. Work is divided into several builds; first build is for most critical features Each build carried out by a number of small teams working in parallel All teams synchronize daily by putting partially completed components together, testing, debugging Stabilize at the end of each build Advantages: –ensures components work together –get early insight into operation of the product

Synchronize and Stabilize Team Organization Program manager leads each team 3 to 8 developers per team 3 to 8 testers work one-on-one with developers Team is given specifications, team members design and implement their portion Must meet at regular times for synchronization advantages: –promotes individual creativity –daily synchronization promotes communication and coordination