Software Quality David Jones, Director. 2 Agenda What is it and why is it important? How do we deliver it? Conclusions.

Slides:



Advertisements
Similar presentations
Agenda for Discussion Agenda for Discussion Risk Management Stakeholder Analysis project solutions for your world Gina Davidovic, PMP
Advertisements

Configuration Management
Effectively applying ISO9001:2000 clauses 6 and 7.
Lecture 5: Requirements Engineering
Prescriptive Process models
 Acceptance testing is a user-run test that demonstrates the application’s ability to meet the original business objectives and system requirements and.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
PRJ270: Essentials of Rational Unified Process
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Dynamic Systems Development Method (DSDM)
Total Quality Management
School of Computing, Dublin Institute of Technology.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Validating and Improving Test-Case Effectiveness Author: Yuri Chernak Presenter: Lam, Man Tat.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Software Quality Assurance For Software Engineering && Architecture and Design.
Software Testing and QA Theory and Practice (Chapter 16: Test Team Organization) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and.
VENDORS, CONSULTANTS AND USERS
Software Life Cycle Model
Release & Deployment ITIL Version 3
1 Software Testing and Quality Assurance Theory and Practice Chapter 16 Test Team Organization.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
MARCH 1 Project Management AIM l to provide a broad and practical understanding of the practice of Project Management l to improve Project Management practices.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Information Services, Griffith University Problem Management Implementation Service Desk Project Phase 2 Project
Building a Corporate Risk Culture Shane Troyer, CPA, CIA, CFE, CISSP Principal Operational Advisory Joost Houwen, CISA,
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
CS3100 Software Project Management Week 26 - Quality Dr Tracy Hall.
Bennett Adelson. Microsoft Solution Center. Independence OH February 4, 2010 BENNETT ADELSON Microsoft® Solution Center.
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
Reducing ITS Project Risk By using and developing consensus based regional ITS architecture and a systems engineering process Robert S. Jaffe, Ph.D., CSEP.
Identify steps for understanding and solving the
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Software Development Process and Management (or how to be officious and unpopular)
Service Transition & Planning Service Validation & Testing
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.
IT Requirements Management Balancing Needs and Expectations.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
European Conference on Quality in Official Statistics Session 26: Quality Issues in Census « Rome, 10 July 2008 « Quality Assurance and Control Programme.
WEEK TWO, Session 2 Information Gathering. Helpdesk metrics must be reprioritized from measuring internal efficiencies to evaluating customer retention.
Reduced Cost for Using The most important justification for the companies who resorts to outsourcing is petty expenses for searching. More of that companies.
Test Team Organization. 2  Test Groups  Integration Test Group  System Test Group  Software Quality Assurance Group  Quality.
14 November, 2007Information System Design, IT60105, Autumn 2007 Information System Design IT60105 Lecture 24 Introduction to System Testing.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Process System Capability An introduction to 9103 ‘VARIATION MANAGEMENT OF KEY CHARACTERISTICS’ Bernard LAURAS AIRBUS.
Software Engineering Lecture # 1.
Stand Up Comedy Project/Product Management
Smart Home Technologies
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
ITIL VS COBIT 06 PLM - Group 9
1 Pertemuan 22 Contingency Planning Matakuliah:A0334/Pengendalian Lingkungan Online Tahun: 2005 Versi: 1/1.
44222: Information Systems Development
ITIL V3 Foundation Certification Exam Questions & Answers Sets Exin Certifications Presents.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
MIS Project Management Instructor: Sihem Smida Project Man agent 3Future Managers1.
Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.
 System Requirement Specification and System Planning.
Process 4 Hours.
Configuration Management
Managing the Project Lifecycle
The Systems Engineering Context
Release Management Release Management.
VENDORS, CONSULTANTS AND USERS
Presentation transcript:

Software Quality David Jones, Director

2 Agenda What is it and why is it important? How do we deliver it? Conclusions

3 Why is Software Quality Important? Software Quality should be an inherent part of developing a solution. If not taken seriously, a lack of quality can impact: –User perception and confidence. –Cost (before and after rollout). –Company brand/image. –Market share. –Customer retention.

4 What do we mean by Software Quality? Hard to define – there are as many perceptions of Quality as there are individuals. The IT press/literature and even research papers are inconsistent in the use of the term “Quality”: –Fewer defects? –Quick testing and acceptance? The ISO 8402 definition of Quality: Note the distinction between stated and implied needs. “The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs.”

5 What do we mean by Software Quality? Having the best technical designers and developers does not guarantee Software Quality It is a big assumption to expect the designers and developers to identify and deliver consistently all of the implied needs. This is especially true when the needs (stated/implied) do not relate solely to functionality: –Corporate Standards. –Non Functional. –Production. –Live Support. Meeting these needs can impact almost any area of the project and often more than one area at a time. So any method for ensuring Software Quality needs to be wider than just development and design.

6 What do we mean by Software Quality? To deliver high quality software, quality needs to be built into all stages of the programme/project lifecycle: –Business objectives. –Requirements analysis and design. –Technical design. –Testing etc. The goal is to have a method in place that allows Software Quality to be a core part of the project from its inception. –The later you identify a problem…the more it costs to fix it!

7 How do we deliver Software Quality? It’s obvious……isn’t it? –Preventative measures: Stop problems before they even start. –Detective measures: As soon as a problem occurs make sure you know about it. –Traceability throughout: Having a clear understanding of how business objectives flow through to requirements, through to technical design, system tests etc. –Architecture: Transparent design and clear ownership of design decisions to understand how you got to where you are. If it is so obvious, why is it often hard for management to take Quality seriously? –Solving problems is an activity with very high visibility. –Preventing problems isn’t! –It feels like a cost with no return.

8 How do we deliver Software Quality? In ancient China there was a family of healers, one of whom was known throughout the land and employed as a physician to a great lord. The physician was asked which of his family was the most skilled healer. He replied: "I tend to the sick and dying with drastic and dramatic treatments, and on occasion someone is cured and my name gets out among the lords." "My elder brother cures sickness when it just begins to take root, and his skills are known among the local peasants and neighbours." "My eldest brother is able to sense the spirit of sickness and eradicate it before it takes form. His name is unknown outside our home."

9 How do we deliver Software Quality: Preventative Measures Clear business objectives. Robust requirements analysis. Transparent requirements management process. Accurate specifications. Best-practice design. Supporting standards and guidelines. Prototyping. Document reviews. Inspections and/or peer reviews. Unit testing.

10 How do we deliver Software Quality: Detective Measures Integration testing. System testing. Usability testing. Performance and volume testing. Resilience and recoverability testing. Internal tester training. Cutover testing. Production testing. Having traceability from business objectives through to test phases ensures that: –The correct things are being developed and tested (and delivered). –Everyone understand which needs (stated/implied) are being met (and those that are not).

11 How do we deliver Software Quality: Architecture Take an Architected approach Architecture is an overused term, but in this context it really means having a joined up, coherent approach to the solution, that considers: –Project/programme objectives. –Business Requirements. –Functional and Technical Design. –Infrastructure/Platform Design. –Test Strategy. A group such as a Solution Architecture Team can support this through having a vision and understanding for the solution that is a reference point for the project team. By having a view across the solution the Solution Architecture Team can spot problems before they occur and ensure Software Quality. This is a content forum not a management forum – this team usually own the solution and all related design decisions.

12 How do we deliver Software Quality: Architecture Example: Large solution with two key components: a package and a custom build element. Both components had a view of customer, however the developers on the custom side had not considered the intractability of the customer definition on the package side. This was causing a considerable problem for integration, and a challenge for quality due to the complexity and risk involved. Solution Architecture Team were able to resolve the problem such that a common definition, that was agreed by the customer and implementable across the whole solution was defined.

13 How do we deliver Software Quality – Conclusions Ensuring Software Quality should not be viewed as an overhead. –It is a key part of ensuring that a solution is delivered to time, to budget and to the customer’s expectations. Ensure the programme/project approach includes provision for Software Quality. –This includes providing an appropriate programme/project budget for these activities Focus on both preventive and detective activities. –The earlier you find a problem, the simpler and cheaper it is to fix. Ensure the whole team know their responsibilities and accountabilities. –Software Quality is the responsibility of all, not just the design and development team. Use an Architected approach. –This ensures that consideration is given to the whole problem not just the different components.