22
Loading Loading … Please Wait… … Please Wait…

Loading … Please Wait…

Embed Size (px)

DESCRIPTION

Loading … Please Wait…. Quality in IT project. Michał Szymerski Rafał Staszewski. What is quality?. - PowerPoint PPT Presentation

Citation preview

Page 1: Loading … Please Wait…

LoadingLoading… Please Wait…… Please Wait…

Page 2: Loading … Please Wait…

Michał SzymerskiRafał Staszewski

Quality in IT project

Page 3: Loading … Please Wait…

What is quality?What is quality?

Quality (according to ISO 9000:2000) is the ability of the product and all its integral parts to satisfy demands of the customer or any other entity that commisioned the project (conformance to specifications)

Essential subjects related to quality are:• Satisfaction of the customer is the main criteria of

quality• Prevention is more crucial than inspection• Management responsibility

• Although teamwork is important and essential to completion of the project, the main entity responsible for the project is the management

Page 4: Loading … Please Wait…

Quality ManagementQuality Management

Quality assurance:Set of functions that are carried out throughout the process of the project creation, that aims at providing overall quality in the project

Quality inspection:Inspecting each and every product of the project in order to assess their compatibility with the project requirements

Quality planning:Assurance of quality must be planned in order to fully satisfy customer’s demand

Page 5: Loading … Please Wait…

Quality PlanningQuality Planning

Quality planning – should start in the early phase of software creation The basis to quality planning in a project is the overall quality policy of the

company(what is the managements idea twoards quality related problems). It is important to note that that this „policy” should not be strict but rather customized twoards individual projects.

The main factors that should be concidered in quality policy: The projects scope The products description Standards and regulaitons well adjusted twoards the scope of the project.

Standards are orders describing the workflow and characteristics of the product.Regulations are the non flexible , law requirements, organization requirements.

While planning the quality it is important to take into concideration the results of other forms of planning.

One of the elemetns of Q.P. is working with the user in order to verify if the way the project is being developed, satisfies him. (For software developement that would be using prototypes)

Page 6: Loading … Please Wait…

Quality management - standardsQuality management - standards

ISO (International Standards Organization)• Established in 1987• Recognized worldwide

• International set of five related standards for qualification of global quality assurance and quality control standards

• Adherence is accomplished through an application process for ISO 9000 certification in company standards for inspecting production processes, updating records, maintaining equipment, training employees and handling customer relations

• Procedures must be documented in company’s quality manual that defines the quality ensurance process.

Page 7: Loading … Please Wait…

Standards continuedStandards continued

• ISO 9001 – most general standard of the ISO 9000• Applies to companies that develop and create products• ISO 9000-3 – auxilary document that describes software

developmentISO 9000

Company’s quality manual

Quality ensurance plan 2

Quality ensurance plan 3

Quality ensurance plan 1

Company’s quality processes

Venture quality management

Used in development of

documents

Its entity is

Page 8: Loading … Please Wait…

Quality management planQuality management plan

• Result of quality planning• Specifies desired product quality• Specifies quality criterias• Specifies company standards that are to be used in project• Should be kept short• Defines most important quality attributes

Page 9: Loading … Please Wait…

Quality management plan - ctdQuality management plan - ctd

Security

Adaptability

Protection

Clearness

Modularity

Fitness to testing

Reliability

Immunity

Solidity Complexity Learning curve

Efectiveness

Reusability

Ease of use

Portability

Page 10: Loading … Please Wait…

Quality assuranceQuality assuranceThe process of quality assurance is a set of functions that is needed in

order for the project to meet its standards.We may specify 2 types of standards, that are part of quality assurance

process:1)Product standards – they relate to the project. They incorporate

document standards that need to be created, such as requirements documentation hierarchy/structure , documenting standards ( expl. Commentary in the objects header), coding standards.

2)Process standards – they define the processes that need to be obeyed durring software developement. This includes defining specification processes as well as document descriptions (that should be created durring developement).

There is a strict bond between quality and process standards. Product standards relate to the results of software developement process.In many cases process standards include specific process tasks, whos goal

is to provide compliance with the product standards.

Page 11: Loading … Please Wait…

Quality Assurance ctd.Quality Assurance ctd.

Quality assurance in projects is mostly done by an outside, project independant quality assurance branch/team, but can also be done by a team inside the project , specificly designated for this task, or by the client himself.

Q.A. teams that develop standards should base them upon national and international standards such as:

Progamming languages Notations Software enginering terminology Defining and writing requirements for software. Quality assurance processes and verification and aproval

processes

Quality assurance team should develop a "standards manual”, in which standards apropriate for the company should be defined.

Page 12: Loading … Please Wait…

Process and Product QualityProcess and Product Quality

The main assumption of quality management is that the quality of the creation process has a direct influence on the quality of the delivered product and thus it has a very important influence on software quality

Contrary to mass production systems (in which achieving an acceptable level of process quality guarantees a sustainable product quality), quality management in software development must be ensured in each and every development project or cycle

Quality management process incorporates:1) Defining processes’ standards

(such as the way we make our audits, their time, precision etc)2) Monitoring the creation process in order to assure that standards are being

obeyed3) Informing the management and the client about our software developement

process

The basic technique of quality assurance are audits of the quality (systematic checks aimed at finding eventual incompatibilities with the used standards)

Page 13: Loading … Please Wait…

Standards creationStandards creation

Create productDefine process

Proper

QualityImprove Process

Measure Quality

Develop standardNo Yes

Page 14: Loading … Please Wait…

Quality control:Quality control:

Quality control handles products, half-products and management work results

The basic technique of quality control is inspection. This is checking and testing products in order to state if they comply with their requirements. Inspections are the basis for management decisions regarding the acceptance of a product

Frequent occurences of similar problems should be a basis for modification of the work processes leading to them

Software quality standards are important for quality assurance because they are a set of „best guidlines”. Following these guidelines makes our project better

Page 15: Loading … Please Wait…

Software quality measures:Software quality measures:

Quality needs to be measurable. For every project, a set of measurements, which will be calculated durring the project’s life, must be prepared. The most simple types of quality measures for software developement projects are the number of errors encountered during the process of system usage and the time between their encounters

Other types of measures are:- The amount of code in lines- Fog index (the measure of the readability of a certain fragment of text)

S.Q.M. are especially very useful when it comes to detecting anomalous components, in which we have quality problems. Those components need to be thouroughly examined later

There are no standard or universal measures. Companies must themselves pick their measures and analize the results based on local knowledge and conditions

Page 16: Loading … Please Wait…

Quality evaluationQuality evaluation

Inspection of production process is the most commonly used quality evaluation method

Software measurements are used to accumulate quantitative data about programming and software development techniques. Acquired data can be used to make conclusions about quality of the product and process used

Quality management is an important part of the project, however – it must accompany the project budget; the lower the budget for quality management – the lower quality of the project

Page 17: Loading … Please Wait…

Quality improvement processQuality improvement process

The fundamental assumption of quality improvement process is that product development process is most crucial to the overall quality of the project

Improving the production process in order to avoid defects leads to better products

In case of innovative products, people are often more important than actual production process used

Page 18: Loading … Please Wait…

Factors that impact qualityFactors that impact quality

InInffluence of any of these factors depends on the luence of any of these factors depends on the scale and type of venturescale and type of venture

Product Quality

Technology used

Team quality

Process quality

Expenses, time,schedule

Page 19: Loading … Please Wait…

Factors that impact qualityFactors that impact quality

Large ventures*

The main problems: Integration Management Communication

* large - complicated systems that are composed of many separate subsystems built by many different teams, in which product development can take many years

Page 20: Loading … Please Wait…

Factors that impact qualityFactors that impact quality

Small ventures

In case of small ventures, quality of the project team members is much more important than development process used.

Good team should deliver a good project Inexperienced and incompetent team will, in most cases, not

produce product of desired quality regardless of development technique used

Development technique especially important in case of small teams

Paperwork should never hold back the project Since team members spend a lot of time on planning and

programming, adequate tools will greatly increase their productivity

Page 21: Loading … Please Wait…

Factors that impact qualityFactors that impact quality

Regardless of project size, too little budget and unrealistic expectations of project completion date will greatly affect or ruin the overall quality of the project

Fierce competition often casues companies to unnaturaly lower project costs in order to win contracts. This often leads to grave results as the project fails to have a suitable budget.

Page 22: Loading … Please Wait…

LiteratureLiterature

Ian Sommerville- „Inżynieria oprogramowania” WNT 2003 Wikipedia Internet sources