SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Quality and Productivity
Factors
Mrs. R. Nancy Beaulah MCA., M.Phil.,
Assistant Professor
Department of Computer Applications
V.V.Vanniaperumal College for Women
Virudhunagar
Quality and Productivity
Factors
 Development and Maintenance of
software products are complex tasks.
 It requires Technical and Managerial
skills.
 It’s Quality and Productivity depends
on the processes which develop and
maintain those software products.
 Some factors that influence quality
and productivity are:
1. Individual Ability
2. Team Communication
3. Product Complexity
4. Appropriate Notations
5. Systematic Approaches
6. Change Control
7. Level of Technology
8. Level of Reliability
9. Problem Understanding
10. Available Time
11. Required Skills
12. Facilities and Resources
13. Adequacy of Training
14. Management Skills
15. Appropriate Goals
16. Rising Expectations
17. Other Factors
Individual Ability
 Software Engineering is labor –intensive. So, its
Productivity and Quality needs ability and effort.
 There are two aspects to ability.
 The general competence of the individual
 Familiarity of the individual with the particular application
area.
 On very large and extremely large projects, the
no of programmers is so large that individual
differences in programmer productivity will be
average.
 But, small and medium size projects are
extremely sensitive to the ability of the individual
programmer.
 Lack of familiarity with the application area will
result in low Productivity and poor Quality.
Team Communication
 In general, programming is an individual and
private activity.
 But, in large projects, the programmers need
to discuss the exact details of their work.
 Sometimes, the programmers may
misunderstand their roles and commit
mistakes.
 So, the communication among the
programmers must be improved and it is a
goal of Software Engineering.
 If the product size increases, then the
complexity of interactions among program
components increases. As a result,
programmer productivity decreases.
Contd…
No of communication path among
programmers = ( n ( n - 1 ) ) / 2
Where, n – no of programmers.
If the no of team members is increased from 3 to 4 to 5,
then the no of communication paths also increased from 3
to 6 to 10.
Brooks Law:
Adding more programmers to a late
project may make it later.
Product Complexity
 There are three levels of Product Complexity.
◦ Application Programs
◦ Utility Programs
◦ System – level Programs
 Application Programs:
◦ It includes scientific and data processing routines written in a high level
language such as COBOL, FORTRON, C, C++.
◦ It has the highest productivity.
◦ It can be produced at a rate 25 to 100 times that of system programs.
 Utility Programs:
◦ It includes compliers, assemblers, linkage Editors and loaders.
◦ They may be written in high level language or assembly language.
◦ It can be produced at a rate 5 to 10 times that of system programs.
 System-level Programs:
◦ It includes data communications packages, real-time process control systems
and Operating systems routines.
◦ They may be written in high-level system language.
◦ They have the lowest Productivity.
Appropriate Notations
 Programming languages provide compact notations for
the implementation phase of Software development.
 Good notations clarify the relationships and interactions
of interest, whereas, poor notations complicate.
 Generally, programming languages provide concise
notations for implementation.
 But, there are no universally accepted notations in
Software Engineering.
 Appropriate notations provide vehicles of
communication among project personnel.
 It introduces the possibility of using automated software
tools to manipulate the notations and verify proper
usage.
Systematic Approaches
 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.
 Therefore, either one or a combination
of the methods is followed to software
development and maintenance.
Change Control
 The flexibility of software is a great strength and
also a great source of difficulty in Software
Engineering.
 The requirements to change may occur due to
poor understanding of the problem, changes in
hardware or software environment, or external
economic or political factors.
 Notations and procedures provide the ability to
trace and assess the impact of proposed
changes.
 Use of appropriate notations and techniques
makes controlled change possible without
degrading the Quality of work products.
 Planning for a 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.
 In the programming language, the facilities for data
definition and data usage are improved.
 The machine environment includes a set of hardware
and software facilities available for developing, using
and maintaining a software product. Its stability and
availability has a strong influence on productivity and
Quality.
 Modern programming practices include use of
systematic analysis and design techniques, appropriate
notations, structured coding, systematic techniques for
examining design documents and source code and
systematic testing.
Level of Reliability
 Every software product must possess
basic level of reliability.
 Extreme Reliability is gained only with
great care in analysis, design,
implementation, testing and
maintenance of software product.
 But, extreme reliability results in low
productivity.
Problem Understanding
 It is a difficult issue that it fails to
understand the true nature of a problem
to be solved.
 The customer may not understand the
nature of the problem. The software
Engineers don’t understand the area of
the application.
 Careful planning, customer interviews,
task observations, prototyping, user’s
manual and precise product specification
can increase the problem understanding
of both customer and developer.
Available Time
 Software projects are sensitive to total
effort and also to elapse time and the no
of people involved.
 Instead of using 6 programmers for 1
month, it is effective to use only one
programmer for 6 months. This is
because the learning curve, co-
ordination and communication occupy a
large percentage of elapsed time.
 Staffing levels and elapsed times for a
software development play an important
and difficult role in cost and resource
Required Skills
 Software Engineering requires many
skills.
 For Programmers:
◦ Good Communication Skills
 Needed to extract information from Customer
 Important for gaining user needs and constraints.
◦ Knowledge about application area.
◦ Problem solving skills.
 To create requirement definition and design
activities.
◦ Concentrated attention
 To implement the software.
Contd…
 Development of a software is similar
to publishing a book.
◦ No spelling mistakes, No errors even
punctuation.
 Deductive Skills
◦ To debug the software
 Consideration of each and every
situation
◦ For Test Planning
 Destructive Skills
◦ For Stress testing
Contd…
 Good Writing Skills
◦ Preparation of external documents.
 Interpersonal Communication and oral
skills.
◦ Working with customers and developers.
 For Software Engineers:
◦ Social Skills
 To interact with managers, customers and other
engineers.
 There is no need that every software engineer
should have all the skills for a programmer.
 But all the skills must be present inside a
programming team.
 Project manager should assign work according to
the individual programmer skills.
Facilities and Resources
 Facilities that motivate programmers
◦ Work related factors (good machine
access)
◦ Quiet place to work
◦ Giving importance to the programmer
than the status related factors.
◦ Reserved parking areas.
◦ Keys to the executive rest rooms.
 Positive aspects always create
challenges and advancement to the
professional progress.
Contd…
 Negative aspects
◦ Inappropriate management
◦ Company’s policies
◦ Organization which has rigid and procedures,
policies and constraints.
 Programmers should receive
motivational rewards according to their
work.
 They will get easily frustrated with poor
facilities and inadequate resources.
 Software engineers should balance
between motivating and frustrating
factors.
Adequacy of Training
 Product implementation is one step in
software development.
 But most of the institution train only for
this.
 Only some of the institution alone offer
courses for analysis, design, testing
and so on.
 Such institution are small in number.
Contd…
 Lacking Skill in entry level
programmers:
◦ Express oneself clearly in English.
◦ Develop and validate software
requirements and design specification.
◦ Work with in application area.
◦ Perform software maintenance.
◦ Perform economic analyses.
◦ Work with management techniques.
◦ Work in groups.
Contd…
 Reasons for Lacking Skills:
◦ It is difficult to find out the exact reasons.
◦ There is major difference in education supply
and industrial demand.
◦ Most programmers are trained as computer
scientists not as software engineers.
◦ Computer Science education provides a
basic understanding of the underlying
theories and concepts.
◦ But software engineering requires analyzing,
designing, constructing, testing, verifying and
so on.
Management Skills
 Software projects are often managed
by the people who know little about
software engineering.
 Most of the software engineering
problems are unique.
 Managers who managed software
projects even find harder for managing
software projects.
 The activities of hardware projects and
software projects differ.
Contd…
 Mostly software engineer has to report
everything to a hardware engineer or
people who have little knowledge about
software.
 This is very unfortunate situation for both
of them.
 Promoting technically competent people
to manage software is also fails.
 Most of the time organization give
management training to software
engineers and promote them as software
engineers.
 But it is not always succeeded.
Appropriate goals
 Goal of software engineering is
development of software products
appropriate for their intended use.
 Commonly, every software product
must posses certain level of
generality, efficiency and reliability.
 Excessive effort sometimes make it
difficult for programmers.
 So the trade off is achieving goals in
project planning.
Rising Expectations
 Main problem in software engineering is
rising expectations.
 Development of tools and techniques
improve software quality and
productivity.
 But diversity, size and complexity of the
software increases faster than the
demand.
 Vast technological improvement in
hardware technology also increases the
expectation towards software technology
Contd…
 This increases pressure to the
software engineers.
 Currently we are unable to satisfy the
demand for software product.
 We are clear about the reasons.
◦ May be nature of the software.
◦ Human problem solving capabilities.
◦ Immaturity of Software engineering
discipline.
 Convinced that systematic techniques
will some what improve the product
Other Factors
 Other factors that affect programmer’s
productivity are
◦ Familiarity with the application area.
◦ Stability of the computing system used to
develop and modify the software.
◦ Memory and timing constraints of the
software product.
◦ Experience with the programming
language.
◦ Data base size.
Reference:
Software Engineering Concepts,
Richard Fairley, Tata McGraw Hill
Edition.

Weitere ähnliche Inhalte

Was ist angesagt?

Programming team structure
Programming team structureProgramming team structure
Programming team structureNancyBeaulah_R
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsStephennancy
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costslalithambiga kamaraj
 
Planning the development process
Planning the development processPlanning the development process
Planning the development processSiva Priya
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquesSiva Priya
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenanceakiara
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.pptJAYAPRIYAR7
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed designpriyapavi96
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structuresNur Islam
 

Was ist angesagt? (20)

Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Design notation
Design notationDesign notation
Design notation
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Software design
Software designSoftware design
Software design
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 

Ähnlich wie Factors influencing quality and productivity in software engineering

application development analyst roles and responsibilities.pdf
application development analyst roles and responsibilities.pdfapplication development analyst roles and responsibilities.pdf
application development analyst roles and responsibilities.pdfSocialMediaCyberDolp
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro pptNancyBeaulah_R
 
Software Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxSoftware Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxNikilesh8
 
Full Stack Development: Challenges and the Way Forward
Full Stack Development: Challenges and the Way ForwardFull Stack Development: Challenges and the Way Forward
Full Stack Development: Challenges and the Way ForwardUmar khan
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdfShivareddyGangam
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdfShivareddyGangam
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdfMUSAIDRIS15
 
Conventional and Object Oriented Software Engineering
Conventional and Object Oriented Software EngineeringConventional and Object Oriented Software Engineering
Conventional and Object Oriented Software Engineeringssrkai2020
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGSangeetha Rangarajan
 
Top 7 Skills Employers Look for in Software Testing Jobs
Top 7 Skills Employers Look for in Software Testing JobsTop 7 Skills Employers Look for in Software Testing Jobs
Top 7 Skills Employers Look for in Software Testing JobsTelent Duniya Blog
 
Resume-Akanksha_IBM_3yrs_Mainframe &Salesforce
Resume-Akanksha_IBM_3yrs_Mainframe &SalesforceResume-Akanksha_IBM_3yrs_Mainframe &Salesforce
Resume-Akanksha_IBM_3yrs_Mainframe &SalesforceAkanksha 10
 
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metricsPiyush Sohaney
 
A Guide to Software Development Manager Responsibilities.pdf
A Guide to Software Development Manager Responsibilities.pdfA Guide to Software Development Manager Responsibilities.pdf
A Guide to Software Development Manager Responsibilities.pdfLaura Miller
 

Ähnlich wie Factors influencing quality and productivity in software engineering (20)

SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
application development analyst roles and responsibilities.pdf
application development analyst roles and responsibilities.pdfapplication development analyst roles and responsibilities.pdf
application development analyst roles and responsibilities.pdf
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
M017548895
M017548895M017548895
M017548895
 
Software Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxSoftware Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptx
 
Full Stack Development: Challenges and the Way Forward
Full Stack Development: Challenges and the Way ForwardFull Stack Development: Challenges and the Way Forward
Full Stack Development: Challenges and the Way Forward
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdf
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdf
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdf
 
Conventional and Object Oriented Software Engineering
Conventional and Object Oriented Software EngineeringConventional and Object Oriented Software Engineering
Conventional and Object Oriented Software Engineering
 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
 
Top 7 Skills Employers Look for in Software Testing Jobs
Top 7 Skills Employers Look for in Software Testing JobsTop 7 Skills Employers Look for in Software Testing Jobs
Top 7 Skills Employers Look for in Software Testing Jobs
 
Resume-Akanksha_IBM_3yrs_Mainframe &Salesforce
Resume-Akanksha_IBM_3yrs_Mainframe &SalesforceResume-Akanksha_IBM_3yrs_Mainframe &Salesforce
Resume-Akanksha_IBM_3yrs_Mainframe &Salesforce
 
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metrics
 
A Guide to Software Development Manager Responsibilities.pdf
A Guide to Software Development Manager Responsibilities.pdfA Guide to Software Development Manager Responsibilities.pdf
A Guide to Software Development Manager Responsibilities.pdf
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
Resume_Prashant
Resume_PrashantResume_Prashant
Resume_Prashant
 

Mehr von NancyBeaulah_R

Mehr von NancyBeaulah_R (9)

Addressing Modes
Addressing ModesAddressing Modes
Addressing Modes
 
Common Bus System.pptx
Common Bus System.pptxCommon Bus System.pptx
Common Bus System.pptx
 
Computer Registers.pptx
Computer Registers.pptxComputer Registers.pptx
Computer Registers.pptx
 
Machine Learning.pptx
Machine Learning.pptxMachine Learning.pptx
Machine Learning.pptx
 
Associative memory
Associative memoryAssociative memory
Associative memory
 
Memory hierarchy
Memory hierarchyMemory hierarchy
Memory hierarchy
 
Asynchronous data transfer
Asynchronous  data  transferAsynchronous  data  transfer
Asynchronous data transfer
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Walkthroughs
WalkthroughsWalkthroughs
Walkthroughs
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Kürzlich hochgeladen (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Factors influencing quality and productivity in software engineering

  • 1. Quality and Productivity Factors Mrs. R. Nancy Beaulah MCA., M.Phil., Assistant Professor Department of Computer Applications V.V.Vanniaperumal College for Women Virudhunagar
  • 2. Quality and Productivity Factors  Development and Maintenance of software products are complex tasks.  It requires Technical and Managerial skills.  It’s Quality and Productivity depends on the processes which develop and maintain those software products.  Some factors that influence quality and productivity are:
  • 3. 1. Individual Ability 2. Team Communication 3. Product Complexity 4. Appropriate Notations 5. Systematic Approaches 6. Change Control 7. Level of Technology 8. Level of Reliability 9. Problem Understanding 10. Available Time 11. Required Skills 12. Facilities and Resources 13. Adequacy of Training 14. Management Skills 15. Appropriate Goals 16. Rising Expectations 17. Other Factors
  • 4. Individual Ability  Software Engineering is labor –intensive. So, its Productivity and Quality needs ability and effort.  There are two aspects to ability.  The general competence of the individual  Familiarity of the individual with the particular application area.  On very large and extremely large projects, the no of programmers is so large that individual differences in programmer productivity will be average.  But, small and medium size projects are extremely sensitive to the ability of the individual programmer.  Lack of familiarity with the application area will result in low Productivity and poor Quality.
  • 5. Team Communication  In general, programming is an individual and private activity.  But, in large projects, the programmers need to discuss the exact details of their work.  Sometimes, the programmers may misunderstand their roles and commit mistakes.  So, the communication among the programmers must be improved and it is a goal of Software Engineering.  If the product size increases, then the complexity of interactions among program components increases. As a result, programmer productivity decreases.
  • 6. Contd… No of communication path among programmers = ( n ( n - 1 ) ) / 2 Where, n – no of programmers. If the no of team members is increased from 3 to 4 to 5, then the no of communication paths also increased from 3 to 6 to 10. Brooks Law: Adding more programmers to a late project may make it later.
  • 7. Product Complexity  There are three levels of Product Complexity. ◦ Application Programs ◦ Utility Programs ◦ System – level Programs  Application Programs: ◦ It includes scientific and data processing routines written in a high level language such as COBOL, FORTRON, C, C++. ◦ It has the highest productivity. ◦ It can be produced at a rate 25 to 100 times that of system programs.  Utility Programs: ◦ It includes compliers, assemblers, linkage Editors and loaders. ◦ They may be written in high level language or assembly language. ◦ It can be produced at a rate 5 to 10 times that of system programs.  System-level Programs: ◦ It includes data communications packages, real-time process control systems and Operating systems routines. ◦ They may be written in high-level system language. ◦ They have the lowest Productivity.
  • 8. Appropriate Notations  Programming languages provide compact notations for the implementation phase of Software development.  Good notations clarify the relationships and interactions of interest, whereas, poor notations complicate.  Generally, programming languages provide concise notations for implementation.  But, there are no universally accepted notations in Software Engineering.  Appropriate notations provide vehicles of communication among project personnel.  It introduces the possibility of using automated software tools to manipulate the notations and verify proper usage.
  • 9. Systematic Approaches  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.  Therefore, either one or a combination of the methods is followed to software development and maintenance.
  • 10. Change Control  The flexibility of software is a great strength and also a great source of difficulty in Software Engineering.  The requirements to change may occur due to poor understanding of the problem, changes in hardware or software environment, or external economic or political factors.  Notations and procedures provide the ability to trace and assess the impact of proposed changes.  Use of appropriate notations and techniques makes controlled change possible without degrading the Quality of work products.  Planning for a software project must include plans for change control.
  • 11. Level of Technology  It includes factors such as,  Programming language  Machine environment  The programming practices  Software tools.  In the programming language, the facilities for data definition and data usage are improved.  The machine environment includes a set of hardware and software facilities available for developing, using and maintaining a software product. Its stability and availability has a strong influence on productivity and Quality.  Modern programming practices include use of systematic analysis and design techniques, appropriate notations, structured coding, systematic techniques for examining design documents and source code and systematic testing.
  • 12. Level of Reliability  Every software product must possess basic level of reliability.  Extreme Reliability is gained only with great care in analysis, design, implementation, testing and maintenance of software product.  But, extreme reliability results in low productivity.
  • 13. Problem Understanding  It is a difficult issue that it fails to understand the true nature of a problem to be solved.  The customer may not understand the nature of the problem. The software Engineers don’t understand the area of the application.  Careful planning, customer interviews, task observations, prototyping, user’s manual and precise product specification can increase the problem understanding of both customer and developer.
  • 14. Available Time  Software projects are sensitive to total effort and also to elapse time and the no of people involved.  Instead of using 6 programmers for 1 month, it is effective to use only one programmer for 6 months. This is because the learning curve, co- ordination and communication occupy a large percentage of elapsed time.  Staffing levels and elapsed times for a software development play an important and difficult role in cost and resource
  • 15. Required Skills  Software Engineering requires many skills.  For Programmers: ◦ Good Communication Skills  Needed to extract information from Customer  Important for gaining user needs and constraints. ◦ Knowledge about application area. ◦ Problem solving skills.  To create requirement definition and design activities. ◦ Concentrated attention  To implement the software.
  • 16. Contd…  Development of a software is similar to publishing a book. ◦ No spelling mistakes, No errors even punctuation.  Deductive Skills ◦ To debug the software  Consideration of each and every situation ◦ For Test Planning  Destructive Skills ◦ For Stress testing
  • 17. Contd…  Good Writing Skills ◦ Preparation of external documents.  Interpersonal Communication and oral skills. ◦ Working with customers and developers.  For Software Engineers: ◦ Social Skills  To interact with managers, customers and other engineers.  There is no need that every software engineer should have all the skills for a programmer.  But all the skills must be present inside a programming team.  Project manager should assign work according to the individual programmer skills.
  • 18. Facilities and Resources  Facilities that motivate programmers ◦ Work related factors (good machine access) ◦ Quiet place to work ◦ Giving importance to the programmer than the status related factors. ◦ Reserved parking areas. ◦ Keys to the executive rest rooms.  Positive aspects always create challenges and advancement to the professional progress.
  • 19. Contd…  Negative aspects ◦ Inappropriate management ◦ Company’s policies ◦ Organization which has rigid and procedures, policies and constraints.  Programmers should receive motivational rewards according to their work.  They will get easily frustrated with poor facilities and inadequate resources.  Software engineers should balance between motivating and frustrating factors.
  • 20. Adequacy of Training  Product implementation is one step in software development.  But most of the institution train only for this.  Only some of the institution alone offer courses for analysis, design, testing and so on.  Such institution are small in number.
  • 21. Contd…  Lacking Skill in entry level programmers: ◦ Express oneself clearly in English. ◦ Develop and validate software requirements and design specification. ◦ Work with in application area. ◦ Perform software maintenance. ◦ Perform economic analyses. ◦ Work with management techniques. ◦ Work in groups.
  • 22. Contd…  Reasons for Lacking Skills: ◦ It is difficult to find out the exact reasons. ◦ There is major difference in education supply and industrial demand. ◦ Most programmers are trained as computer scientists not as software engineers. ◦ Computer Science education provides a basic understanding of the underlying theories and concepts. ◦ But software engineering requires analyzing, designing, constructing, testing, verifying and so on.
  • 23. Management Skills  Software projects are often managed by the people who know little about software engineering.  Most of the software engineering problems are unique.  Managers who managed software projects even find harder for managing software projects.  The activities of hardware projects and software projects differ.
  • 24. Contd…  Mostly software engineer has to report everything to a hardware engineer or people who have little knowledge about software.  This is very unfortunate situation for both of them.  Promoting technically competent people to manage software is also fails.  Most of the time organization give management training to software engineers and promote them as software engineers.  But it is not always succeeded.
  • 25. Appropriate goals  Goal of software engineering is development of software products appropriate for their intended use.  Commonly, every software product must posses certain level of generality, efficiency and reliability.  Excessive effort sometimes make it difficult for programmers.  So the trade off is achieving goals in project planning.
  • 26. Rising Expectations  Main problem in software engineering is rising expectations.  Development of tools and techniques improve software quality and productivity.  But diversity, size and complexity of the software increases faster than the demand.  Vast technological improvement in hardware technology also increases the expectation towards software technology
  • 27. Contd…  This increases pressure to the software engineers.  Currently we are unable to satisfy the demand for software product.  We are clear about the reasons. ◦ May be nature of the software. ◦ Human problem solving capabilities. ◦ Immaturity of Software engineering discipline.  Convinced that systematic techniques will some what improve the product
  • 28. Other Factors  Other factors that affect programmer’s productivity are ◦ Familiarity with the application area. ◦ Stability of the computing system used to develop and modify the software. ◦ Memory and timing constraints of the software product. ◦ Experience with the programming language. ◦ Data base size.
  • 29. Reference: Software Engineering Concepts, Richard Fairley, Tata McGraw Hill Edition.