Software Engineering Project Management.

Slides:



Advertisements
Similar presentations
Project Management M Taimoor Khan
Advertisements

1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
W5HH Principle As applied to Software Projects
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Project Management Software Projects – factors that influence results: –size –delivery deadline –budgets and costs –application domain –technology to be.
Project Management Concepts
1 Chapter 3 Project Management. 2 The 4 P’s  People — the most important element of a successful project  Product — the software to be built  Process.
1 Project Management CIS 375 Bruce R. Maxim UM-Dearborn.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Project Management Instructor: Dr. Jerry Gao. Project Management Jerry Gao, Ph.D. Jan The Management Spectrum - People - The Players - Team Leaders.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CPTE 209 Software Engineering Summary and Review.
Software Project Management Introduction to Project Management.
1 Chapter 3 Project Management. 2 Software project management  Concerned with activities involved in ensuring that software is delivered on time and.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 21 Project Management Concepts
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CSEB233: Fundamentals of Software Engineering
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 3 Project Management Concepts
1 Chapter 3 Project Management. 2 Project Management Concerns staffing? cost estimation? project scheduling? project monitoring? other resources? customer.
Project Scheduling 1. Why Are Projects Late? An unrealistic deadline established by someone outside the software development group Changing customer requirements.
Software Project Management By Deepika Chaudhary.
Project Management Concepts 1. What is Project Management? Project management is the process of the application of knowledge, skills, tools, and techniques.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Lecture 16: Chapter 24 Project Management Concepts
Software Engineering Summary James Gain
Company LOGO CSEB233 Fundamentals of Software Engineering Module 9: Software Project Management Badariah Solemon 2010.
Software Project Management Lecture # 2. Outline The 4 Ps in Project Management Detailed Insight of each P.
Project Management Concepts By: Sohaib Ejaz Lecturer,UoS.
Chapter : Project Management Concept
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Project Management Lecture # 2 Originally shared for: mashhoood.webs.com.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Programming Techniques Lecture 15 Project Management Based on: Software Engineering, A Practitioner’s Approach, 6/e, R.S. Pressman Lecture 4 An Introduction.
Interacting with consumer Software Engineering. So far… What is Software Engineering? Different software process models waterfall, incremental, spiral.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Management of Software1 Advanced Software Engineering COM360 University of Sunderland © 1998.
Chapter : Project Management Concept
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Monitoring Risk Factors General attitude of team members based on project pressures The degree to which the team is jelled Interpersonal relationships.
Project Management Why do projects fail? Technical Reasons
Software Project Management
INTRODUCTION: Project management involves the planning, monitoring, and control of the people, process, and events that occur as – software evolves from.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
PROJECT MANAGEMENT Software Engineering CSE
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 6/e Part 4 Supplementary Slides for Software Engineering: A Practitioner's.
Software Project Management
Software Engineering (CSI 321)
Chapter 3 Project Management
Software Project Management
Chapter 21 Project Management Concepts
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Project Planning &
Software engineering Lecture 21.
Software Project Management
Project Management.
For University Use Only
Mumtaz Ali Rajput +92 – SOFTWARE PROJECTMANAGMENT– WEEK 3 Mumtaz Ali Rajput +92 – 301-
Chapter 3 Project Management
SE 3800 Note 10 Project Management
Project Management Process Groups
Chapter 31 Project Management Concepts
Project Management Concepts May 5th, 2016
CBGD: Nguyễn Thanh Tùng
Software Project Management
Chapter 21 Project Management Concepts
Chapter 26 Estimation for Software Projects.
Presentation transcript:

Software Engineering Project Management

Objectives To summarize the software engineering life cycle and a simple object oriented process To introduce the role of project management To discuss the management of technical people

Analysis Summary Process Model Output 1. Elicit customer requirements and identify use-cases Use-Case Diagrams 2. Extract candidate classes, Identify attributes and methods, Define a class hierarchy Class Responsibility Collaborator (CRC) Cards 3. Build an object-relationship model (structural) Conceptual Class Diagram 4. Build an object-behaviour model (dynamic) Interaction and State Diagrams analysis design code test

Design Summary Process Model Output 1. Subsystem Design: partition the system into components A Package Diagram 2. Class and Object Design: define class hierarchies Specification Class Diagram 3. Message Design: convert the object-relationship model into a set of class messages Message Descriptions 4. Responsibility Design: specify the internal structure of classes Specification Class Diagram with full attribute and method syntax C++ Class Headers analysis design code test

Testing Summary Process Technique 1. Class Testing: test methods and state behaviour of classes Random, Partition and White-Box Tests 2. Integration Testing: test the interaction of sets of classes Random and Behavioural Testing 3. Validation Testing: test whether customer requirements are satisfied Use-case based black box and Acceptance tests 4. System Testing: test the behaviour of the system as part of a larger environment Recovery, security, stress and performance tests analysis design code test

Project Management An umbrella activity. Planning, organizing, controlling and monitoring software development. Elements of Project Management (the 4 P’s): Product (the software to be built) Process (the set of framework activities and software engineering tasks to get the job done) People (the most important element of a successful project) Project (all work required to make the product a reality) Tightly interrelated (each depends on the other)

Project Management Concerns product quality? ? risk assessment? measurement? cost estimation? project scheduling? customer communication? staffing? other resources? project monitoring?

Product Management Need sufficient initial information to plan the project. Part of System Engineering and early Requirements Analysis. Establish Scope: a narrative that bounds the problem. Context (How does the software to be built fit into a larger system, product or business context and what constraints are imposed as a result of the context?) Information Objectives (What customer visible data objects are input and output?) Function and performance (What function does the software perform in transforming inputs to outputs. Special performance characteristics?) decompose problem: establishes an initial functional partitioning

Process Management The project manager must decide which process model (linear, prototyping, RAD, spiral, component-based) is most appropriate for: the customers and practitioners the characteristics of the product the project environment in which the software team works Melding the Product and Process: the product functions are listed (vertical) against the process tasks (horizontal). Each cell holds resource requirements, estimated start and end dates and work products.

Melding Problem and Process . Melding Problem and Process Process Activities COMMON PROCESS communication planning analysis engineering FRAMEWORK ACTIVITIES customer risk Software Engineering Tasks Product Functions Text input Editing and formating Automatic copy edit Page layout capability Automatic indexing and TOC File management Document production

People Management Management in major technology companies rightly believes that people are the key to success: CIO1: “I guess if you had to pick one thing out that is most important in our environment, I’d say it’s not the tools that we use, it’s the people”. CIO2: “The most important ingredient that was successful on this project was having smart people...very little else matters in my opinion”. CIO3: “The only rule I have in management is to ensure that I have good people – real good people – and that I grow good people – and that I provide an environment in which good people can produce”. But their actions often contradict this belief. Good management is more than just free coffee.

The Players Senior Managers: define the business issues that have significant influence on the project Project (Technical) Managers: responsible for planning, motivating, organizing and controlling the practitioners who do software work. Practitioners: deliver the technical skills that are necessary to engineer a product or application. Customers: specify the requirements of the software being engineered. End-Users: interact with the system once it is released for production use.

Team Structures Democratic Decentralized (DD): No permanent leader, appointed for short duration. Decisions on problems and approach are made by group consensus. Little control and horizontal communication. Controlled Decentralized (CD): A defined leader who co-ordinates specific tasks. Problem solving is a group activity but implementation of solutions is partitioned among subgroups. Control is vertical and communication is horizontal Controlled Centralized (CC): Top-level problem solving and internal team coordination are managed by a team leader. Control is hierarchical and communication is vertical. Early example – the “Chief Programmer” structure. What about Democratic Centralized (DC)?

Issues in Choosing Team Structure The following factors must be considered when selecting a software project team structure: the difficulty of the problem to be solved the size of the resultant program(s) in lines of code or function points the time that the team will stay together (team lifetime) the degree to which the problem can be modularized the required quality and reliability of the system to be built the rigidity of the delivery date the degree of sociability (communication) required for the project

Exercise: Which Team Structure? What team structure would you choose if you had been appointed as a project manager for: A small software products company. Task: build a breakthrough product that combines virtual reality hardware with state of the art software. Because competition for the home entertainment market is intense, there is significant pressure to get the job done. A company that services the genetic engineering world. Task: manage the development of a new software product that will accelerate the pace of gene typing. The work is R&D oriented, but must produce a product within the year. An information systems organization. Task: build an application that is quite similar to others your team has built, although this one is larger and more complex. Requirements have been thoroughly documented by the customer.

Team Structure Solutions There are no absolutes in dealing with people. Centralized: Fast. Works for simple well-defined problems. Scales well, since performance of teams is inversely proportional to amount of communication. Decentralized: More and better solutions. Works for difficult problems. Not good for modular problems. Democratic: leads to higher morale and job satisfaction Answers: Controlled Decentralized Democratic Decentralized Controlled Centralized

Jelling Jell: Team Toxicity (factors that work against jelling): In business any group assigned to work together is termed a “team” but they often don’t have a common definition of success or a team spirit An effective tightly knit group displays Jell or “Esprit de Corps”. “Once a team begins to jell, the probability of success goes way up. The team can become unstoppable, a juggernaut for success”. Team Toxicity (factors that work against jelling): A frenzied work atmosphere (which wastes energy and lacks focus) High frustration caused by personal, business, or technological factors that cause friction among team members. Fragmented or poorly coordinated procedures. Unclear definition of roles resulting in a lack of accountability. Morale damaged by continuous and repeated failure.

Coordination and Communication Project coordination techniques can be categorized as: Formal, impersonal approaches (software engineering documents and deliverables, technical memos, project milestones, repository data) Formal, interpersonal procedures (status review meetings, design and code inspections) Informal, interpersonal procedures (group meetings and problem solving) Electronic communication (e-mail, electronic bulletin boards) Interpersonal networking (informal “tea break” discussions)

Value and Use of Coordination Line of Equal Use and Value Formal Impersonal Formal Interpersonal Discussion with Peers Informal Interpersonal Design Review Documents Electronic Comm. Requirements Review Interpersonal Network Milestones Collocation E-mail Group Meetings Code Inspections Value Project Bulletins Source Code Use Data from a rating study of 65 projects

Project Management The high-level activities needed to co-ordinate different aspects of the project. The driving mechanism. A difficult juggling act: size delivery deadline budgets and costs application domain technology to be implemented system constraints user requirements available resources

Why Projects Fail An unrealistic deadline is established Changing customer requirements or technology An honest underestimate of effort Predictable and/or unpredictable risks Technical difficulties Miscommunication among project staff The project team lacks people with appropriate skills Failure in project management

W5HH Principles There are certain questions which need to be asked in creating an initial project management plan: Why is the system being developed?(i.e. Does the business purpose justify the expenditure of people, time and money?) What will be done? By when? (Helps with a project schedule and milestones) Who is responsible for a function? (roles and responsibilities for team members) Where are they organizationally located? (customers and users also have responsibilities) How will the job be done technically and managerially? (a management and technical strategy is needed) How much of each resource (e.g., people, software, tools, database) will be needed? (need to estimate project metrics)

Critical Practices U.S. Department of Defense developed a list of practices considered critical by successful software organizations: Formal risk analysis. What are the top ten risks for this project? For each, what is the chance of occurrence and impact? Empirical cost and schedule estimation. Current estimated size of application software and delivery date. Metrics-based project management. Need to have in place a metrics program as an early warning system. Earned value tracking. Each task given a budgeted cost (in person days). Keep track of progress towards the total. Defect tracking against quality targets. Are the number of open and closed defects tracked from project inception? People aware project management. Staff turnover.