SlideShare a Scribd company logo
2
Most read
3
Most read
15
Most read
QUALITY AND PRODUCTIVITY
FACTORS
Mrs. G. Chandraprabha
Assistant Professor of IT
V.V.Vanniaperumal College for Women
Virudhunagar
QUALITY AND PRODUCTIVITY FACTORS
Development and maintenance of software product are complex
The degree of formality and the amount of time spent on various activities will vary with the size
and the complexity of the product.
 There is a fundamental difference between writing a small programs for Personal use and
developing or modifying a software product.
 Software Quality and programmer productivity can be improved by improving the process used
to develop and maintain software products.
Some factors
• Individual Ability
• Team communication
• Product complexity
• Appropriate notations
• Systematic approach
• Change control
• Level of technology
• Required reliability
• Available time
• Problem understanding
• Stability requirements
• Required skill
• Facilities and resources
• Adequacy training
• Management skills
• Appropriate goals
• Rising exceptions
Individual Ability
 Production and maintenance of software products are labour intensive activities.
 Productivity and Quality are direct functions of individual ability and effort.
 There are two aspects of ability
 General competition of the individual
Familiarity of the individual with the particular application area.
 Lack of familiarity with the application area can research in low productivity and poor
quality.
 On very large and extremely large projects no of programmers solarage.
 The individual differences in programmer productivity will tend to average out.
 Modules developed by weaker programmers may show poor quality and may lag in delivery
time.
 Small and medium size projects (5-fewer programmers)are extremely sensitive to the ability
of the individual programmer.
 Individual ability is a primary factor in quality
TEAM COMMUNICATION
• Programming has regarded as an individual and private activity.
• Programmers are rarely proceed as public documents and they rarely discuss the exact
details of the work in a systematic manner.
• So as a result ,the programmers may misunderstand the role of their modules in an evolving
system.
• This mades mistake that may not be detected until some time later.
• Many of the recent innovations in software Engineering such as design, reviews and code
reading exercise have the goals of making software more visible and improving
communications among programmers.
• Increasing product size results in decreasing programmer productivity dueto the increased
complexity of interactions among program components.
• Due to this increased communication is required among programmers, managers and
customers.
• From Brooks observation:
• No of communication path among programmers = n(n-1)/2
• Where, n=no of programmers. Increasing the number of team members from 3 to 4 to 5
increases the no of communication path from 3 to 6 to 10.
• Brooks law: “Adding more programmers to a late project may make it later.
PRODUCT COMPLEXITY
• There are 3 levels of product complexity.
• 1. Application Programs
• 2. Utility Programs.
• 3. System level Programs.
• Application Program It includes scientific and data processing routines written in a high level language
such as COBOL,FORTRAN,C,C++.
• Utility Program It includes compilers, Assemblers, linkage Editors and loaders. They may be written
in high level language or Assembly language.
• System Level Programs: It includes data communication packages real time process control system, OS
routines in any languages. (i.e) high level or assembly.
•
• Application programs have the highest productivity and the system programs
the lowest productivity.
• Utility programs can be produced at a rate of 5-10 times of system programs.
• Application programs at a rate of 25-100 times of system programs.
• A product that is twice as large or twice as complex as a known product by
whatever measure other than effort may require 10 times or even 100 times
the amount of effort required for the known product.
APPROPRIATE NOTATIONS
• In software engineer the representation schemes have fundamental importance,
programming languages provides compact notations for the implementation phase of
software development.
• But there are no widely accepted notations for stating functional requirements ,design
specifications, test plans are performance criteria.
• There are no universely accepted notation in software Engineering. Appropriate
notations provide vehicles of communication among project personnel.
• It introduces the possibility of using automated software tools tomanipulate the
notations and verify proper usage.
• In every field there are certain accepted procedures and techniques .
• A Single approach to software development and maintenance will not be adequate
to cover all situations.
• In the evaluation of software engineering it is not clear which of the various
approaches to software development should be used in which situation.
CHANGE CONTROL
• The flexibility of software is a great strength and also a great source of difficulty in software
engineering.
• Requirements can also change due to poor understanding of the problem are external
economic and political factors beyond the control of the customers or developers.
• Notations and procedures provide the ability to trace and access the impact of proposed
changes are necessary to make visible the true cost of apparently small changes to source
code.
• Use of appropriate notations and techniques makes control change possible without
degrading the quality of work products. Planning for software project must include plans

for change control.
LEVEL OF TECHNOLOGY
• It includes factors such as
programming language
 Machine Environment
 The Programming Practices
• Software tools Modern Programming languages provide improved facilities for data definition
and data usage.
• Improve Constructs for specifying control flow , better modularization facilities, user defined
exception Handling and facilities for concurrent programming.
• The machine environment includes a set of hardware and software facilities for developing,
using and maintaining a software product.
• Modern programming practices include use of systematic Analysis and design techniques ,
notations , structure coding , systematic techniques for designing and documenting and testing.
LEVEL RELIABILITY
• Every software product must possess basic level of reliability.
• Extreme reliability is gained only with great care in analysis, design, design implementation ,
system testing and maintenance of software product.
• Both human and machine resources are required to obtained increased reliability.
PROBLEM UNDERSTANDING
Failures to understand the true nature of the problem to be solved is a common and difficult
issue.
Often the customer does not truly understand nature of the problem.
• Often the software engineering does not understand the application area and has trouble
communicating with the customer because of differences in educational backgrounds view
the points and technology.
• Careful planning customer interviews, task observations and prototyping, a preliminary
version of the user’s manual and preciseproduct specification can increase both customer and
developer understanding of the problem to be solved.
• Facilities and Resources: Work related factors such as Good machine access and quiet place
to work are more important.
• Software project managers must be effective in dealing with the factors that motivate the
programmers to maintain high product quality , high programmer productivity and high job
satisfaction.
FACILITIES AND RESOURCES
AVAIABLE TIME
• A software project requiring 6 programmer-months efforts can be completed by 1 programmer
in 6 months or by 6 programmers in 1 month.
• Software projects are sensitive not only to total effort but also to ellipse time and the number of
people involved.
• Utilising 6 programmers for 1 month will be less effective than using 1 programmer for 6
months.
• This is because the learning curve for 6 programmers on an 1 month schedule will occupy a
large percentage of the elapsed time because the effort required for co-ordination and
communication among 6 programmers. Programmer Productivity is also sensitive to the
calendar time availablefor project completion.
• Determining optimum staff in levels and proper elapsed times for various activities in software
product development is an important and difficult aspects of cost and resource estimation.
REQUIRED SKILLS
• Software Engineering requires a vast range of skills.
• Good Communications
• Knowledge of application area
• Requirement definition and design o Problem solving skills o Implementation of software (i.e)Good
programming knowledge, number syntax error
• Debugging and test plans.
• Inter personnel communication skill.
ADEQUACY TRAINING
• Express oneself clearly in English.
• Develop and Validate software requirements and design specifications.
• Work within application area.
• Perform software maintenance.
• Perform economic analysis.
• Work with project management techniques.
• Work in groups.
MANAGEMENT SKILLS
• Many of the problems in software project management are unique.
• Managers experienced in management of computer hardware projects find software project
management to be difficult.
• This is due to the differences in design methods , notations and development tools.
• Many Organizations offer project management training to software engineers to prepare
them for project management task.
• Primary Goal of software engineering is to development of software products for their
intended use.
• Every software product must provide optimal level of 1. Generality2.Reliability 3.Efficiency
APPROPRIATE GOALS
RISING EXPECTIONS
• There are two interrelated aspects of raising expectations
• 1.How much functionality, reliability and performance can be provided by a given amount
of development effort.
• 2.Issues of fundamental limitations of software technology.
• Dramatic advances in hardware technology have created the expectation that software
technology will advance at an equally fast pace.
• Use of systematic techniques to develop and maintain software products results in
increased programmer productivity and improved product quality.
THANK YOU

More Related Content

PDF
SOFTWARE PROJECT PLANNING on Software Engineering
PPTX
Design challenges in embedded systems
PPT
Scheduling algorithms
PPTX
PPTX
Design notation
PPTX
Quality and productivity factors
PPT
2D transformation (Computer Graphics)
PPTX
Principal presentation for NAAC on 22-23 March ,2021.
SOFTWARE PROJECT PLANNING on Software Engineering
Design challenges in embedded systems
Scheduling algorithms
Design notation
Quality and productivity factors
2D transformation (Computer Graphics)
Principal presentation for NAAC on 22-23 March ,2021.

What's hot (20)

PDF
Programming team structure
PDF
Software Cost Estimation Techniques
PPTX
Chapter 1 2 - some size factors
PPTX
Software requirements specification
PPTX
Estimating Software Maintenance Costs
PPTX
Software Engineering Practices and Issues.pptx
PPTX
Phased life cycle model
PPTX
software cost factor
PPTX
Software Cost Estimation Techniques
PPTX
Fundamental design concepts
PPTX
Some Size factors in software engineering
PPTX
Checkpoints of the Process
PPTX
Staffing level estimation
PPTX
Real time and distributed design
PPTX
Planning the development process
PPTX
Software Engineering
PPTX
COCOMO (Software Engineering)
PPTX
Delphi cost estimation model
PPTX
Designing Techniques in Software Engineering
PPTX
Software project management- Software Engineering
Programming team structure
Software Cost Estimation Techniques
Chapter 1 2 - some size factors
Software requirements specification
Estimating Software Maintenance Costs
Software Engineering Practices and Issues.pptx
Phased life cycle model
software cost factor
Software Cost Estimation Techniques
Fundamental design concepts
Some Size factors in software engineering
Checkpoints of the Process
Staffing level estimation
Real time and distributed design
Planning the development process
Software Engineering
COCOMO (Software Engineering)
Delphi cost estimation model
Designing Techniques in Software Engineering
Software project management- Software Engineering
Ad

Similar to Quality and Productivity Factors in Software Engineering (20)

PPTX
PPTX
Introduction Software Engineering Basics-Module(01).pptx
PPTX
Software engineering ppt it will be useful for the people
PPTX
Lecture 1.pptx
PPSX
Student feedback system
PPSX
Software Development
PPTX
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
PPT
Software System Engineering - Chapter 1
PPTX
unit 1 SE.pptx software engineering note
PPTX
A Software Engineer
PPTX
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptx
PPTX
Software-Engineering-Unit-1ffdddbyp.pptx
PPTX
Lesson 1 - System Development LifeCycles_48b8340c0dd570b721da1199655b765e.pptx
PDF
software engineering
PPTX
Software Engineering Intro Module 1 MCA/CSE/IT
PPT
Lecture1 (SE Introduction)
PPSX
Student feedback system
PDF
Kelis king - introduction to s.e.
PDF
Chapter 2
PPTX
Lect5 improving software economics
Introduction Software Engineering Basics-Module(01).pptx
Software engineering ppt it will be useful for the people
Lecture 1.pptx
Student feedback system
Software Development
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
Software System Engineering - Chapter 1
unit 1 SE.pptx software engineering note
A Software Engineer
Advanced Software Engineering Lecture Notes from University of Maiduguri.pptx
Software-Engineering-Unit-1ffdddbyp.pptx
Lesson 1 - System Development LifeCycles_48b8340c0dd570b721da1199655b765e.pptx
software engineering
Software Engineering Intro Module 1 MCA/CSE/IT
Lecture1 (SE Introduction)
Student feedback system
Kelis king - introduction to s.e.
Chapter 2
Lect5 improving software economics
Ad

More from V.V.Vanniaperumal College for Women (20)

PPTX
inheritance in Java with sample program.pptx
PPTX
System testing in software engineering.pptx
PPTX
static analysis and unit testing in SE.pptx
PPTX
software cost estimation techniques ppt.pptx
PPTX
Software cost factors in software engineering.pptx
PPTX
Planning the development Process in SE.pptx
PPTX
PPTX
PPTX
Data_Transfer&Manupulation Instructions.pptx
PPTX
PPTX
PPTX
Instruction Codes.pptx
PPTX
PPTX
Constructors in JAva.pptx
PPTX
PPTX
IS-Delibrate software attacks.pptx
PPT
IS-Nature of forces.ppt
PPTX
IS-cryptograpy algorithms.pptx
inheritance in Java with sample program.pptx
System testing in software engineering.pptx
static analysis and unit testing in SE.pptx
software cost estimation techniques ppt.pptx
Software cost factors in software engineering.pptx
Planning the development Process in SE.pptx
Data_Transfer&Manupulation Instructions.pptx
Instruction Codes.pptx
Constructors in JAva.pptx
IS-Delibrate software attacks.pptx
IS-Nature of forces.ppt
IS-cryptograpy algorithms.pptx

Recently uploaded (20)

PDF
RMMM.pdf make it easy to upload and study
PPTX
Pharma ospi slides which help in ospi learning
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
master seminar digital applications in india
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Basic Mud Logging Guide for educational purpose
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Cell Types and Its function , kingdom of life
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Pre independence Education in Inndia.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Institutional Correction lecture only . . .
RMMM.pdf make it easy to upload and study
Pharma ospi slides which help in ospi learning
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Week 4 Term 3 Study Techniques revisited.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
master seminar digital applications in india
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Basic Mud Logging Guide for educational purpose
2.FourierTransform-ShortQuestionswithAnswers.pdf
Cell Types and Its function , kingdom of life
STATICS OF THE RIGID BODIES Hibbelers.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
Microbial diseases, their pathogenesis and prophylaxis
Pre independence Education in Inndia.pdf
Microbial disease of the cardiovascular and lymphatic systems
Institutional Correction lecture only . . .

Quality and Productivity Factors in Software Engineering

  • 1. QUALITY AND PRODUCTIVITY FACTORS Mrs. G. Chandraprabha Assistant Professor of IT V.V.Vanniaperumal College for Women Virudhunagar
  • 2. QUALITY AND PRODUCTIVITY FACTORS Development and maintenance of software product are complex The degree of formality and the amount of time spent on various activities will vary with the size and the complexity of the product.  There is a fundamental difference between writing a small programs for Personal use and developing or modifying a software product.  Software Quality and programmer productivity can be improved by improving the process used to develop and maintain software products.
  • 3. Some factors • Individual Ability • Team communication • Product complexity • Appropriate notations • Systematic approach • Change control • Level of technology • Required reliability • Available time
  • 4. • Problem understanding • Stability requirements • Required skill • Facilities and resources • Adequacy training • Management skills • Appropriate goals • Rising exceptions
  • 5. Individual Ability  Production and maintenance of software products are labour intensive activities.  Productivity and Quality are direct functions of individual ability and effort.  There are two aspects of ability  General competition of the individual Familiarity of the individual with the particular application area.  Lack of familiarity with the application area can research in low productivity and poor quality.
  • 6.  On very large and extremely large projects no of programmers solarage.  The individual differences in programmer productivity will tend to average out.  Modules developed by weaker programmers may show poor quality and may lag in delivery time.  Small and medium size projects (5-fewer programmers)are extremely sensitive to the ability of the individual programmer.  Individual ability is a primary factor in quality
  • 7. TEAM COMMUNICATION • Programming has regarded as an individual and private activity. • Programmers are rarely proceed as public documents and they rarely discuss the exact details of the work in a systematic manner. • So as a result ,the programmers may misunderstand the role of their modules in an evolving system. • This mades mistake that may not be detected until some time later. • Many of the recent innovations in software Engineering such as design, reviews and code reading exercise have the goals of making software more visible and improving communications among programmers.
  • 8. • Increasing product size results in decreasing programmer productivity dueto the increased complexity of interactions among program components. • Due to this increased communication is required among programmers, managers and customers. • From Brooks observation: • No of communication path among programmers = n(n-1)/2 • Where, n=no of programmers. Increasing the number of team members from 3 to 4 to 5 increases the no of communication path from 3 to 6 to 10. • Brooks law: “Adding more programmers to a late project may make it later.
  • 9. PRODUCT COMPLEXITY • There are 3 levels of product complexity. • 1. Application Programs • 2. Utility Programs. • 3. System level Programs. • Application Program It includes scientific and data processing routines written in a high level language such as COBOL,FORTRAN,C,C++. • Utility Program It includes compilers, Assemblers, linkage Editors and loaders. They may be written in high level language or Assembly language. • System Level Programs: It includes data communication packages real time process control system, OS routines in any languages. (i.e) high level or assembly. •
  • 10. • Application programs have the highest productivity and the system programs the lowest productivity. • Utility programs can be produced at a rate of 5-10 times of system programs. • Application programs at a rate of 25-100 times of system programs. • A product that is twice as large or twice as complex as a known product by whatever measure other than effort may require 10 times or even 100 times the amount of effort required for the known product.
  • 11. APPROPRIATE NOTATIONS • In software engineer the representation schemes have fundamental importance, programming languages provides compact notations for the implementation phase of software development. • But there are no widely accepted notations for stating functional requirements ,design specifications, test plans are performance criteria. • There are no universely accepted notation in software Engineering. Appropriate notations provide vehicles of communication among project personnel. • It introduces the possibility of using automated software tools tomanipulate the notations and verify proper usage.
  • 12. • In every field there are certain accepted procedures and techniques . • A Single approach to software development and maintenance will not be adequate to cover all situations. • In the evaluation of software engineering it is not clear which of the various approaches to software development should be used in which situation.
  • 13. CHANGE CONTROL • The flexibility of software is a great strength and also a great source of difficulty in software engineering. • Requirements can also change due to poor understanding of the problem are external economic and political factors beyond the control of the customers or developers. • Notations and procedures provide the ability to trace and access the impact of proposed changes are necessary to make visible the true cost of apparently small changes to source code. • Use of appropriate notations and techniques makes control change possible without degrading the quality of work products. Planning for software project must include plans  for change control.
  • 14. LEVEL OF TECHNOLOGY • It includes factors such as programming language  Machine Environment  The Programming Practices • Software tools Modern Programming languages provide improved facilities for data definition and data usage. • Improve Constructs for specifying control flow , better modularization facilities, user defined exception Handling and facilities for concurrent programming. • The machine environment includes a set of hardware and software facilities for developing, using and maintaining a software product. • Modern programming practices include use of systematic Analysis and design techniques , notations , structure coding , systematic techniques for designing and documenting and testing.
  • 15. LEVEL RELIABILITY • Every software product must possess basic level of reliability. • Extreme reliability is gained only with great care in analysis, design, design implementation , system testing and maintenance of software product. • Both human and machine resources are required to obtained increased reliability. PROBLEM UNDERSTANDING Failures to understand the true nature of the problem to be solved is a common and difficult issue. Often the customer does not truly understand nature of the problem.
  • 16. • Often the software engineering does not understand the application area and has trouble communicating with the customer because of differences in educational backgrounds view the points and technology. • Careful planning customer interviews, task observations and prototyping, a preliminary version of the user’s manual and preciseproduct specification can increase both customer and developer understanding of the problem to be solved. • Facilities and Resources: Work related factors such as Good machine access and quiet place to work are more important. • Software project managers must be effective in dealing with the factors that motivate the programmers to maintain high product quality , high programmer productivity and high job satisfaction. FACILITIES AND RESOURCES
  • 17. AVAIABLE TIME • A software project requiring 6 programmer-months efforts can be completed by 1 programmer in 6 months or by 6 programmers in 1 month. • Software projects are sensitive not only to total effort but also to ellipse time and the number of people involved. • Utilising 6 programmers for 1 month will be less effective than using 1 programmer for 6 months. • This is because the learning curve for 6 programmers on an 1 month schedule will occupy a large percentage of the elapsed time because the effort required for co-ordination and communication among 6 programmers. Programmer Productivity is also sensitive to the calendar time availablefor project completion. • Determining optimum staff in levels and proper elapsed times for various activities in software product development is an important and difficult aspects of cost and resource estimation.
  • 18. REQUIRED SKILLS • Software Engineering requires a vast range of skills. • Good Communications • Knowledge of application area • Requirement definition and design o Problem solving skills o Implementation of software (i.e)Good programming knowledge, number syntax error • Debugging and test plans. • Inter personnel communication skill.
  • 19. ADEQUACY TRAINING • Express oneself clearly in English. • Develop and Validate software requirements and design specifications. • Work within application area. • Perform software maintenance. • Perform economic analysis. • Work with project management techniques. • Work in groups.
  • 20. MANAGEMENT SKILLS • Many of the problems in software project management are unique. • Managers experienced in management of computer hardware projects find software project management to be difficult. • This is due to the differences in design methods , notations and development tools. • Many Organizations offer project management training to software engineers to prepare them for project management task. • Primary Goal of software engineering is to development of software products for their intended use. • Every software product must provide optimal level of 1. Generality2.Reliability 3.Efficiency APPROPRIATE GOALS
  • 21. RISING EXPECTIONS • There are two interrelated aspects of raising expectations • 1.How much functionality, reliability and performance can be provided by a given amount of development effort. • 2.Issues of fundamental limitations of software technology. • Dramatic advances in hardware technology have created the expectation that software technology will advance at an equally fast pace. • Use of systematic techniques to develop and maintain software products results in increased programmer productivity and improved product quality.