1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 8 Process Quality: Management, Teams and QA (Based on Stevens and Pooley,

Slides:



Advertisements
Similar presentations
M. Saleem K.E.S.C. Pakistan. Customer service is an organization' s ability to supply their customers' wants and needs. Any reputable organization should.
Advertisements

QA Programs for Local Health Departments
ISO 9001 : 2000.
Stepan Potiyenko ISS Sr.SW Developer.
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
1 Certification Chapter 14, Storey. 2 Topics  What is certification?  Various forms of certification  The process of system certification (the planning.
School of Computing, Dublin Institute of Technology.
Quality Management.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
THE PRINCIPLES OF QUALITY MANAGEMENT. DEFINING QUALITY Good Appearance? High Price? The Best? Particular Specification? Not necessarily, but always: Fitness.
Standardization. Introduction A standard is a document. It is a set of rules that control how people should develop and manage materials, products, services,
Welcome ISO9001:2000 Foundation Workshop.
Chapter 3 Project Management
What is Business Analysis Planning & Monitoring?
Chapter : Software Process
University of Sunderland CIFM03Lecture 3 1 QMS / Standards CIFM03 Lecture 3.
Implementing Total Quality Management
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
© 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
Test Organization and Management
N By: Md Rezaul Huda Reza n
Software Project Management Introduction to Project Management.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Quality Assurance Lecture 4. Lecture Outline ISO ISO 9000 Series of Standards ISO 9001: 2000 Overview ISO 9001: 2008 ISO 9003: 2004 Overview.
OHT 23.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The benefits of use of standards The organizations involved in standards.
CO2403 and CO3808 – Quality Management Systems Quality process definition, administration and accreditation.
Introduction to ISO 9001:2000.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1 Process Improvement u Understanding, Modelling and Improving the Software Process.
Quality Management.  Quality management is becoming increasingly important to the leadership and management of all organisations. I  t is necessary.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
Basic of Project and Project Management Presentation.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Process Improvement l Understanding, Modelling and Improving the Software Process.
1 Activities covered by project management Feasibility study Is project technically feasible and worthwhile from a business point of view? Planning Only.
BSBPMG505A Manage Project Quality Manage Project Quality Project Quality Processes Diploma of Project Management Qualification Code BSB51507 Unit.
Important informations
Georgia Institute of Technology CS 4320 Fall 2003.
PLANNING How To Best Meet Your Mission We must plan for the future, because people who stay in the present will remain in the past. Abraham Lincoln.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Copyright  2005 McGraw-Hill Australia Pty Ltd PPTs t/a Australian Human Resources Management by Jeremy Seward and Tim Dein Slides prepared by Michelle.
Apply Quality Management Techniques Project Quality Processes Certificate IV in Project Management Qualification Code BSB41507 Unit Code BSBPMG404A.
2.4 Key Management Roles KEY CONCEPT
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
ISO 9001:2000 The 5 Phase Plan to Implementation Sterling, VA Terry & Associates Quality.
BSBPMG404A Apply Quality Management Techniques Apply Quality Management Techniques Project Quality Processes C ertificate IV in Project Management
Dr Izzat M Alsmadi Edited from ©Ian Sommerville & others Software Engineering, Chapter 3 Slide 1 Project management (Chapter 5 from the textbook)
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 11: Improving the Testing Process.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
COMPGZ07 Project Management CMMI Project Planning Lecture 5b Graham Collins, UCL.
Planning and Organizing Chapter 13. The Planning Function Planning for a business should stem from the company’s Business Plan – The business plan sets.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
P3 Business Analysis. 2 Section F: Project Management F1.The nature of projects F2. Building the Business Case F4. Planning,monitoring and controlling.
Outcomes of the FMC review Vania Tomeva, PIFC consultant July 2013, Tbilisi 1.
1 Using CobiT to Enhance IT Security Governance LHS © John Mitchell John Mitchell PhD, MBA, CEng, CITP, FBCS, MBCS, FIIA, CIA, CISA, QiCA, CFE LHS Business.
Chapter 3 Project Management Parts of this presentation is extracted from Ian Sommerville’s slides located at
Edexcel BTEC Level 2 Diploma in Construction Members of the Construction Team Unit 1 Structure of the Construction Industry.
Chapter 25 Process Improvement.
CS4311 Spring 2011 Process Improvement Dr
Chapter 10 Software Quality Assurance& Test Plan Software Testing
The Systems Engineering Context
Software engineering Lecture 21.
CMMI – Staged Representation
Quality management standards
Performance Management
Software Engineering I
Chapter # 8 Quality Management Standards
Presentation transcript:

1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 8 Process Quality: Management, Teams and QA (Based on Stevens and Pooley, 2006, Chapter 20) David Meredith

2 Process quality Some defects in a product may be due to the development process –Need to evaluate process frequently and improve it when necessary In this lecture, we consider process quality –Contribution made to quality of a system by Organisation that builds it –Management –Leadership –Teamwork Quality assurance processes

3 Management Two types of management important in software development –People management –Project management Each type of management can be seen in two ways –Management as enabling activity –Management as (financial) control

4 Management as enabling activity Manager enables people working on task to get the job done Minimises obstacles and risks, e.g., –Missing information –Inadequate training –Equipment lack –Unrealistic schedules –Mindless bureaucracy

5 Management as (financial) control Controls what happens with view to maximising organisation’s financial success Primary goal is financial gain High quality product, social contribution, ensuring satisfaction of employees and customers all only matter insofar as they indirectly promote financial success

6 Project management Project manager has overall responsibility for success of project Responsibilities include –Analysing and controlling risk –Liaising with the customer and other parts of the organisation –Defining lines of communication between teams and between developers and customer –Employing and training the right people –Planning: schedule, cost estimate, quality plan –Assigning tasks –Measuring progress –Ensuring appropriate components, tools and techniques are used –Keeping project on schedule –Ensuring contractual obligations fulfilled –Ensuring that project implements lessons learned in previous projects and feeds back new experience into organisation’s other projects

7 Estimating an iterative project In waterfall process, clear milestones (end of analysis phase, end of design phase, etc.) In iterative process, need to define goals for each iteration which could be particular subset of functionality Beck’s planning game: estimate time required to realise each use case (including design, implementation, testing and documentation) Schedule estimation is always very difficult –Particularly with one-off custom systems that satisfy a particular customer’s needs –Schedule usually set long before developers have a good idea of what is required –Requirements change throughout a project –Customers pressure developers to promise delivery as early as possible, sometimes unrealistically quickly Project manager must defend realistic schedule against customer’s impatience

8 Managing component-based development Project manager should make sure that developers make good use of available components –Authorizing investigation and purchase of component libraries –Liaising with other departments on reuse –Ensuring effective reuse within project If use case driven project, then must identify appropriate > relationships between use cases to minimise duplication of effort Development should be architecture-centric –Implies should be one person who is ultimately responsible for architectural decisions in project Usually not project manager –Promotes unity of vision within project and coherence of system

9 People management Matrix management –Each person has a project manager and a personal manager –Personal manager responsible for career development, training, performance assessment, etc. –Project manager determines work done on a particular project –Project and personal managers have different interests Personal manager concerned with employee’s career development Project manager concerned with success of project

10 Teams What makes a successful team? –Team needs people who are good at Seeing the customer’s point of view Coming up with ideas Finding flaws in ideas Helping the team to stay focused on task Making sure everyone’s voice is heard –Team should have good balance of skills –Team should get on with each other –Organisation should be happy and successful Team usually has 3-8 people at lowest level –Keeps communication under control Team should have clearly defined task Team has team manager who manages interactions with other teams Many software project failures arise from lack of communication –Some people think all communication should be controlled, passing through well-defined channels –Others think all communication should be open with project meetings to which everyone is invited Individual roles within a team may or may not be well-defined

11 Leadership Leadership is not the same as management: –A manager is a smoother-down and a leader is a shaker-up I prefer “A leader inspires, a manager facilitates” Leaders –Know where they’re going –Have ideas on how to achieve their goals –Have “vision” –Stay focused on goal, sometimes to the exclusion of all other considerations Leaders not necessarily good managers! Leadership important when reforming development process (e.g., changing from waterfall to iterative, functional to OO, etc.)

12 Quality assurance Quality assurance is –Convincing developers and customers that product will have high quality –Providing a basis for continuous improvement Involves monitoring and improving development process to increase likelihood that high-quality software will be produced Organisation usually has a Quality Management System (QMS) –Specifies structures and processes within an organisation for Ensuring each project follows a high quality process Ensuring process is continually improved using experience from previous projects –QMS may specify that each project should have a quality plan and define what should be covered in it Quality plan prescribes aspects of overall project plan that are intended to ensure high quality –e.g., may define what design documents are to be produced and how they are reviewed –QMS also specifies how quality audits are carried out to make sure project adheres to quality plan –QMS specifies how improvements are proposed, validated and rolled out

13 More on QA Organisation may acquire quality certification (e.g., ISO9001, BS5750) –Involves satisfying several external auditors –In some domains (e.g., defence, government) quality certification may be compulsory Main point of QA is that documenting and measuring process used and how successful it is allows for process to be improved Many quality management systems work against this by making it difficult to implement changes

14 Capability Maturity Model Company may classify its process as “CMM level n” where n is between 1 and 5 –CMM stands for “Capability Maturity Model”, a framework for process evaluation and improvement developed at Carnegie Mellon University’s Software Engineering Institute Aims to improve process quality by –Documenting way work is performed –Measuring performance –Using data to control performance –Planning based on historical performance –Training people CMM level 1 is defined as “ad hoc” where projects succeed through “individual heroism” CMM level 5 indicates that an organisation makes quantitative evaluations of its projects and uses these to tune the process CMM level 3 is about equivalent to ISO9001 and indicates that organisation has well-defined process but may not carry out quantitative evaluations of it

15 The case against QA If formalized QA is such a good thing, why aren’t all companies aiming for ISO9001 or high CMM levels etc.? –Increasing bureaucracy and cost outweigh benefits –Documenting project makes it inflexible and less responsive Less likely to make changes if have to be accompanied by lots of documentation –Formalized QMS discourages people from thinking independently about how to ensure high quality –Demoralizes best staff: best developers have to spend more time having meetings and writing documentation

16 Summary To ensure high quality of product, should consider quality of process as well as that of product itself Two types of management –People management –Project management Two views of what management is –enabling activity - employees' effectiveness paramount –financial control - financial gain is paramount Role of project manager Estimating an iterative project –Beck's planning game Managing component-based development Managing people and matrix management –separating project management from personal management Teams –what makes it successful? –Importance of communication Leadership vs. management A manager enables, a leader inspires Quality assurance –Quality management system –Quality certification –Capability maturity model –The case against QA