Project Management eBook
Fundamentals of Software Engineering Project Management
By Dr. Johan Gouws and Mrs. Leonie Gouws
"A contribution to the education of software engineering project managers and others involved in software development."
Software Project Management Sample - contents
Fundamentals of Software Engineering Project Management eBook | |
ESBN: M01-136A-4652-98A1 | |
Description: For many engineering and other projects, software has become the pivotal part: it controls generation and distribution of electricity; water purification and distribution; robotic systems in production plants; vehicles, their engines, and traffic flows; household equipment; aircraft, air traffic, and passenger bookings; telecommunications; logistics; spacecraft and space missions, etc., etc. Software also plays an ever-increasing role in business management: it controls equipment maintenance management, logistics, resource allocations, business processes, financial transactions, accounting, communication, human resources, etc.
Because of software's growing importance, its development must be managed even more carefully than other areas of large projects. Software development has grown from an art, to a craft, to a proper engineering discipline. Merging the application of structured engineering with that of disciplined project management for software development, results in the concept 'software engineering project management' - and that is the focus of this E-Book.
"Software is a product (although a rather "fluid" one), like any other result of engineering methodologies. Software development requirements are a structured application of scientific and engineering principles in order to analyze, design, construct, document and maintain it. Like any engineering development, large-scale software development also requires the disciplined application of project management principles."
The intention with this E-Book is not to instantly convert readers into the world's leading managers for software development projects, nor to provide recipes or quick-fix solutions for engineering management - but it is specifically aimed at:
About the Authors ...
| |
Email with download link sent immediately after purchase. | |
Price: US$29.95 (230 Pages) | |
The automated download system is powered by our preferred method of payment, secure PayPal.
(After purchasing with the 'add to cart' button above, you immediately receive an email with a download link.)
Table of Contents
1. INTRODUCTION 9
1.1 SOFTWARE'S GROWING IMPORTANCE 9
1.2 MANAGING SOFTWARE DEVELOPMENT 9
1.3 PURPOSE AND SCOPE OF THIS E-BOOK 10
2. MANAGING SOFTWARE PROJECTS 12
2.1 FUNDAMENTALS OF MANAGEMENT 12
2.2 THE ELEMENTS OF MANAGEMENT 12
2.3 THE UNIVERSALITY OF MANAGEMENT 14
2.4 PREREQUISITES FOR EFFECTIVE MANAGEMENT 15
2.5 MANAGEMENT AS A FEEDBACK SYSTEM 18
2.6 DIFFERENT MANAGEMENT APPROACHES 20
2.7 COMMUNICATION AND DOCUMENTATION 20
2.8 PROJECT MANAGEMENT FUNDAMENTALS 22
2.9 RISK MANAGEMENT FOR PROJECTS 22
2.9.1 Introduction 22
2.9.2 Risk Identification 23
2.9.3 Risk Analysis 24
2.9.4 Options for Risk Alleviation 25
2.9.5 Cost of Risk Abatement 26
2.10 A CHECKLIST FOR PROJECT MANAGEMENT 26
3. INTRODUCTION TO SOFTWARE ENGINEERING 29
3.1 IS SOFTWARE AN ENGINEERING DISCIPLINE? 29
3.2 THE "SOFTWARE CRISIS" 30
3.2.1 Typical Software Development Problems 30
3.2.2 Case Studies 31
3.2.3 Software Development Status 32
3.2.4 The Quest for First-Time-Right Software 33
3.3 FUTURE SOFTWARE DEVELOPMENT TRENDS 35
3.3.1 Software Development Categories 35
3.3.2 Software Factories 36
3.4 SOFTWARE PROCESS MODELS 37
3.4.1 Introduction 37
3.4.2 Linear Sequential Models 38
3.4.3 Waterfall Model 41
3.4.4 The V-Model 42
3.4.5 Prototyping Model 42
3.4.6 Incremental / Evolutionary Model 43
3.4.7 Concurrent Model 44
3.5 DEVELOPMENT POLICIES / METHODOLOGIES 45
3.5.1 Objectives of Software Development Policies and Methodologies 45
3.5.2 Typical Benefits of Software Development Policies 46
3.5.3 Typical Aspects Defined by Software Development Policies 46
3.6 USING NEW TECHNOLOGY FOR SOFTWARE PROJECTS 47
3.6.1 Introduction 47
3.6.2 Expected Future Practices 48
3.6.3 General Advice on Using New Technology 49
3.6.4 Inserting New Technologies into a Software Project 49
3.7 THE CAPABILITY MATURITY MODEL 50
3.7.1 Background 50
3.7.2 Five Levels of Software Process Maturity 51
3.7.3 Examples of Practical Application of CMM 52
4. PLANNING A SOFTWARE PROJECT 55
4.1 INTRODUCTION 55
4.2 PROJECT PLANNING 55
4.2.1 Major Problems in Project Planning 55
4.2.2 The Two Pillars of Project Planning 57
4.2.3 Summary of Project Planning Activities 58
4.3 REQUIREMENTS DEFINITION 59
4.3.1 Goal of the Requirements Definition Phase 59
4.3.2 Perspectives on Software Requirements 59
4.3.3 Effects of Improper Requirements Definition 60
4.3.4 Proper Requirements Definition 61
4.3.5 Methods to Aid Requirements Definition 65
4.3.6 Essentials of Requirements Definition 67
4.4 WORK BREAKDOWN 68
4.4.1 Introduction 68
4.4.2 Types of Work Breakdown Structures 68
4.4.3 Developing a WBS 71
4.5 SOFTWARE EFFORT ESTIMATION 72
4.5.1 Introduction 72
4.5.2 Common Estimation Techniques 72
4.5.3 Major Problems in Estimating Software Effort 73
4.5.4 Experience-Based Estimation Methods 74
4.5.5 Empirical Estimation Methods 75
4.5.6 Improving Estimation Accuracy 75
4.6 THE CONSTRUCTIVE COST MODEL (COCOMO) 76
4.6.1 Introduction 76
4.6.2 COCOMO Definitions and Assumptions 77
4.6.3 COCOMO Software Development Types 78
4.6.4 Basic COCOMO 78
4.6.5 COCOMO for Software Maintenance 79
4.6.6 Adapting COCOMO to Own Needs 80
4.6.7 Later versions of COCOMO 80
4.7 ESTIMATING SOFTWARE SYSTEM SIZE 81
4.7.1 Introduction 81
4.7.2 Function Block Counting 82
4.7.3 Function Points 82
4.7.4 Object Points 85
4.7.5 Software Size Growth 86
4.7.6 Size Estimation for Reuse and Breakage 87
4.8 STEPS FOR IMPROVING ESTIMATION ACCURACY 87
4.9 PROJECT SCHEDULING 88
4.9.1 Introduction 88
4.9.2 Scheduling Techniques 89
4.9.3 Comparison of Scheduling Techniques 91
4.10 ESTIMATING SOFTWARE PROJECT SCHEDULES 92
4.10.1 Introduction 92
4.10.2 Estimating the Development Schedule 93
4.10.3 Impact of Reused Code on Development Schedule 94
4.10.4 Exchanging People and Months 95
4.11 SCHEDULE SLIP 96
4.11.1 An Unstable System 96
4.11.2 Project On Schedule until Testing Begins 97
4.11.3 Does Project Slip Matter? 98
4.12 USING RULES OF THUMB FOR PROJECT ESTIMATION 100
4.12.1 Introduction 100
4.12.2 Why Bother With Rules Of Thumb? 101
4.12.3 General Rules of Thumb 101
4.12.4 Rules of Thumb for Schedule and Effort 104
4.12.5 Cautionary Remarks on Rules of Thumb 105
5. ORGANIZING AND STAFFING A SOFTWARE PROJECT 106
5.1 INTRODUCTION 106
5.2 ORGANIZATIONAL STRUCTURES 107
5.2.1 Introduction 107
5.2.2 Functional Structures 107
5.2.3 Project Structures 109
5.2.4 Matrix Structures 110
5.3 SOFTWARE TEAM STRUCTURES 115
5.3.1 Introduction 115
5.3.2 The Democratic Decentralized (Weinberg) Team 115
5.3.3 The Controlled Centralized (Baker) Team 115
5.3.4 The Controlled Decentralized Team Structure 116
5.3.5 Choosing a Team Structure 116
5.4 NUMBER OF SOFTWARE STAFF REQUIRED 118
5.4.1 Software Development Productivity 118
5.4.2 Back to the COCOMO Formulae 119
5.4.3 The Rayleigh Function 120
5.4.4 Rule of Thumb for Software Project Staffing 123
5.5 JOB ANALYSIS 124
5.5.1 Reasons for Job Analysis 124
5.5.2 Defining the Job Type and Job Title 125
5.5.3 Determining Job Content 125
5.5.4 Objective Assessment of the Vacancy 127
5.5.5 The Bigger Picture 128
5.6 JOB SPECIFICATION 128
5.7 STAFFING A SOFTWARE PROJECT 129
5.8 RECRUITMENT 130
5.8.1 Recruiting Suitable Candidates 130
5.8.2 Important Aspects of Recruiting 131
5.9 SELECTING THE RIGHT PEOPLE 131
5.9.1 Introduction 131
5.9.2 Profile of the Software Developer 132
5.9.3 Selection Tools 132
5.9.4 Different Interview Methods 133
5.9.5 Guidelines for Conducting a Structured Interview 134
5.10 APPOINTMENT AND KEEPING THE POSITIONS FILLED 136
5.10.1 The Initial Days 136
5.10.2 Staff Turnover 136
5.10.3 Suitability-Replaceability Matrix 137
5.10.4 Career Planning 139
5.11 PERFORMANCE APPRAISAL 140
5.11.1 Purpose of Performance Appraisals 140
5.11.2 Ability and Willingness 140
5.11.3 Factors Influencing Job Performance 141
5.11.4 Important Issues in Performance Appraisal 142
5.11.5 Guidelines for Effective Performance Appraisal 142
5.12 TRAINING 144
5.12.1 Importance of Training 144
5.12.2 Important Issues in Training 145
5.12.3 Training To Help New Employees Settle In 145
6. DIRECTING A SOFTWARE PROJECT 144
6.1 INTRODUCTION 147
6.2 LEADERSHIP AND EFFECTIVE USE OF POWER 147
6.2.1 Introduction 147
6.2.2 Types of Power 147
6.2.3 Making People Feel in Control 148
6.2.4 Goal-Oriented Behavior 148
6.2.5 Assess Your Own Situation as a Leader 149
6.3 DELEGATION 149
6.3.1 Introduction 149
6.3.2 Helping Employees Develop 150
6.3.3 Making Delegation Easier 151
6.3.4 Determining What and How Much to Delegate 151
6.4 MOTIVATING AND KEEPING SOFTWARE DEVELOPERS 153
6.4.1 Introduction 153
6.4.2 Creating Enthusiasm and a Shared Vision 153
6.4.3 Using People's Intelligence 155
6.4.4 Rewards versus Incentives 156
6.4.5 Hygienes versus Motivators 157
6.5 CONFLICT MANAGEMENT 158
6.5.1 Introduction 158
6.5.2 Sources of Conflict 159
6.5.3 Different Perceptions on Conflict 160
6.5.4 Dealing with Conflict 161
7. CONTROLLING A SOFTWARE PROJECT 163
7.1 INTRODUCTION 163
7.2 TWO BRANCHES OF PROJECT CONTROL 163
7.3 FEEDBACK CONTROL FOR PROJECT MANAGEMENT 164
7.4 STATUS- VERSUS ACTION INFORMATION 165
7.5 MEASUREMENT FOR COST AND PROGRESS CONTROL 165
7.5.1 Binary Reporting 165
7.5.2 Budgeted- versus Actual Effort 166
7.6 PROJECT DOCUMENTATION 168
7.6.1 Importance of Project Documentation 168
7.6.2 Document Reviews 169
7.6.3 Types of Project Documents 170
7.7 SOFTWARE PROJECT MANAGEMENT PLAN 170
7.7.1 Scope and Purpose of a Project Management Plan 170
7.7.2 Framework for a Project Management Plan 171
7.8 THE UNIT DEVELOPMENT FOLDER (UDF) 173
7.8.1 Scope and Purpose of the Unit Development Folder 173
7.8.2 Framework for a Unit Development Folder 174
7.9 SOFTWARE QUALITY ASSURANCE 177
7.10 IMPROVING SOFTWARE QUALITY 178
7.11 TECHNIQUES FOR SOFTWARE QUALITY CONTROL 178
7.11.1 Failure Analysis 178
7.11.2 Early Defect Removal 179
7.11.3 Adherence to Task Entry / Exit Criteria 180
7.11.4 Software Testing 180
7.11.5 Other Techniques 181
7.12 SOFTWARE CONFIGURATION MANAGEMENT 181
7.13 BASELINE IDENTIFICATION 182
7.14 SOFTWARE CONFIGURATION CONTROL 183
7.15 SOFTWARE CONFIGURATION AUDITING 184
7.16 SOFTWARE PROJECT AUDITS 185
7.16.1 Important Issues in Software Project Audits 186
7.16.2 Things to Look for During an Audit 187
7.16.3 Where and How To Do An Audit 188
7.16.4 Who Must Do An Audit? 188
7.16.5 Tools For The Audit Team 188
7.17 SOFTWARE PEER REVIEWS 189
7.18 SOFTWARE INSPECTION 189
7.18.1 Principal Steps in the Software Inspection Process 190
7.18.2 Data Collection 191
7.18.3 Implementing Inspections 191
7.19 SOFTWARE WALK-THROUGHS 191
7.20 OTHER REVIEW PROCESSES 192
7.21 BENEFITS AND COSTS OF PEER REVIEWS 194
7.22 SOFTWARE METRICS 196
7.22.1 Definitions 196
7.22.2 Successful Use of Metrics 197
7.22.3 Main Categories of Metrics 197
7.22.4 Sub-Categories of Metrics 198
7.22.5 Implementation of Metrics 198
7.22.6 Typical Metrics Implementation Problems 200
7.22.7 Examples of Metrics 202
7.23 REASONS FOR PROJECT CONTROL PROBLEMS 208
7.24 STEPS FOR MORE EFFECTIVE PROJECT CONTROL 210
8. CONCLUSION 212
8.1 IMPORTANCE OF PROJECT MANAGEMENT 212
8.2 SETTING THE SCENE FOR A SOFTWARE PROJECT 213
8.3 PLANNING A SOFTWARE PROJECT 215
8.4 ORGANIZING A SOFTWARE PROJECT 217
8.5 STAFFING A SOFTWARE PROJECT 218
8.6 DIRECTING A SOFTWARE PROJECT 219
8.7 CONTROLLING A SOFTWARE PROJECT 220
9. LITERATURE REFERENCES 223
Price: US$29.95
The automated download system is powered by our preferred method of payment, secure PayPal.
(After purchasing with the 'add to cart' button above, you immediately receive an email with a download link.)
Related Titles:
"Frameworks for Selected System Engineering Reports EBook"
"Frameworks for Selected Engineering Project Management Reports EBook"
"Frameworks for Selected Business Management Reports EBook"
"An Organizational Change of Quality Management"