Global software development handbook

Free Download

Authors:

Series: Auerach series on applied software engineering

ISBN: 9780849393846, 0-8493-9384-1

Size: 5 MB (5675027 bytes)

Pages: 290/290

File format:

Language:

Publishing Year:

Raghvinder Sangwan, Matthew Bass, Neel Mullick, Daniel J. Paulish, Juergen Kazmeier9780849393846, 0-8493-9384-1

Economics and technology have dramatically re-shaped the landscape of software development. It is no longer uncommon to find a software development team dispersed across countries or continents. Geographically distributed development challenges the ability to clearly communicate, enforce standards, ensure quality levels, and coordinate tasks. Global Software Development Handbook explores techniques that can bridge distances, create cohesion, promote quality, and strengthen lines of communication. The book introduces techniques proven successful at international electronics and software giant Siemens AG. It shows how this multinational uses a high-level process framework that balances agility and discipline for globally distributed software development. The authors delineate an organizational structure that not only fosters team building, but also achieves effective collaboration among the central and satellite teams. The handbook explores the issues surrounding quality and the processes required to realize quality in a distributed environment. Communication is a tremendous challenge, especially for teams separated by several time zones, and the authors elucidate how to uncover patterns of communication among these teams to determine effective strategies for managing communication. The authors analyze successful and failed projects and apply this information to how a project can be successful with distributed teams. They also provide lightweight processes that can be dynamically adapted to the demands of any project.

Table of contents :
Contents……Page 6
Foreword by Manfred Broy……Page 14
Foreword by James D. Herbsleb……Page 18
Preface……Page 20
Acknowledgments……Page 24
About the Authors……Page 26
Glossary……Page 28
Abbreviation List……Page 30
INTRODUCTION……Page 34
1.1 What is Global Software Development (GSD)?……Page 36
1.2 Challenges to Global Software Development……Page 37
1.3 Managing Global Software Development……Page 39
References……Page 40
Critical Success Factors for Global Software Development……Page 42
2.2.1 Reduce Ambiguity……Page 43
2.2.2 Maximize Stability……Page 44
2.2.3 Understand Dependencies……Page 45
2.2.5 Balance Flexibility and Rigidity……Page 46
2.3 A Process Framework……Page 47
2.4 Development Phases and Decision Points……Page 49
2.6 Discussion Questions……Page 52
References……Page 53
PLANNING……Page 54
Requirements Engineering……Page 56
3.1.1 Change Management……Page 57
3.2 Requirements Engineering Process……Page 58
3.2.1 Elicitation……Page 59
3.2.2 Modeling……Page 60
3.2.3 Requirements Review……Page 65
3.3 Tooling……Page 66
3.4 Phasing……Page 67
3.6 Discussion Questions……Page 68
References……Page 69
Requirements for the Architecture……Page 70
4.1.1 How Does an Architecture Relate to the Business Goals?……Page 71
4.1.3 What Information Does an Architect Need?……Page 73
4.1.4 What is the Infuence of GSD on the Architecture?……Page 74
4.2.1 Elicitation……Page 75
4.2.2 Follow-on Activities……Page 81
4.2.3 Documentation……Page 82
References……Page 83
Architecture……Page 84
5.1.1 Accounting for Quality Attribute Requirements……Page 85
5.1.3 Making Architectural Trade-offs……Page 86
5.2 Designing the System……Page 87
5.2.1 Define ork Units……Page 88
5.2.2 Identify Module Responsibilities……Page 89
5.2.3 Analyze Dependencies……Page 91
5.2.4 Identify Critical Paths……Page 93
5.2.5 Document the Architecture……Page 94
5.2.6 Review the Architecture……Page 96
5.4 Discussion Questions……Page 97
References……Page 98
Risk Analysis……Page 100
6.1.1 What is a Risk?……Page 101
6.1.3 Risks in a GSD Context……Page 102
6.2.1 Risk Identifcation……Page 106
6.2.2 Mitigating Risks……Page 108
6.2.3 Monitoring Risks……Page 109
6.5 Discussion Questions……Page 110
References……Page 111
7.1 Project Planning: An Overview……Page 112
7.2 Feature Release Planning……Page 114
7.2.1 Participants……Page 115
7.3 Development Planning……Page 116
7.3.1 Participants……Page 118
7.5.1 Planning during the Inception Phase……Page 119
7.5.3 Planning during the Construction Phase……Page 122
7.7 Discussion Questions……Page 123
References……Page 124
Project Estimation……Page 126
8.1 Top-Down Estimation Approach……Page 127
8.1.2 What are the Inputs and Outputs?……Page 128
8.1.3 Global Development Assertion……Page 129
8.1.4 Size……Page 131
8.1.5 Effort……Page 132
8.1.7 Top-Down Estimation Steps……Page 133
8.2 Bottom-Up Estimate……Page 136
8.4 Summary and Conclusions……Page 139
References……Page 140
ORGANIZATION STRUCTURE……Page 142
Software Development Teams……Page 144
9.1 Structure of a GSD Project……Page 145
9.1.1 Roles and Responsibilities……Page 150
9.3 Summary and Conclusions……Page 153
References……Page 154
Supplier Manager……Page 156
10.1 Roles and Responsibilities……Page 157
10.2 Desired Skills……Page 159
10.3 Organizational Models……Page 162
10.4 Intercultural Issues……Page 164
10.5 Summary and Conclusions……Page 165
References……Page 166
MONITORING AND CONTROL……Page 168
11.1 Background……Page 170
11.1.1 QA in a Global Context……Page 171
11.2.2 Defining Measues……Page 173
11.3.1 Defect Types……Page 175
11.3.3 Strategies for Maintaining Quality in a GSD Context……Page 176
11.4 Product Maintenance……Page 177
11.4.1 Product Maintenance in a Global Context……Page 178
11.6 Discussion Questions……Page 181
References……Page 182
Infrastructure Support for Global Software Development……Page 184
12.1.2 Collaboration and Concurrency……Page 185
12.1.4 Awareness and Integration……Page 186
12.2.1 Communication and Collaboration Strategy……Page 187
12.2.2 Communication and Collaboration Infrastructure……Page 188
12.3 Knowledge Management: Software Design, Models, and Documentation……Page 190
12.3.1 Selecting the Knowledge Management Infrastructure……Page 192
12.3.2 Knowledge Management Infrastructure (Gersmann, 2005)……Page 193
12.4 Software Configuation Management……Page 195
12.4.2 The Software Configuation Management Infrastructure……Page 196
12.4.3 SCM Processes to Facilitate Global Software Development……Page 197
12.5 Summary and Conclusions……Page 200
References……Page 201
Communication……Page 202
13.1 Communication Drivers……Page 203
13.2 Communication Barriers……Page 204
13.3 Communication and Coordination……Page 206
13.4 Communication and Control……Page 208
13.4.1 Social Network Analysis……Page 209
13.6 Discussion Questions……Page 212
References……Page 213
CASE STUDIES……Page 214
GSP 2005……Page 216
14.1 The MSLite Project……Page 217
14.2 Challenges Faced during First Year of MSLite’s Development……Page 218
14.3.1 Process……Page 220
14.3.2 Collaboration, Communication, and Knowledge Management……Page 223
14.3.3 Requirements……Page 225
14.3.5 Technical……Page 227
14.3.6 Strategic Issues: Planning and Control……Page 228
14.3.7 Quality Assurance……Page 232
14.3.8 Training……Page 233
14.5 Next Steps for MSLite……Page 234
References……Page 235
15.1 Background……Page 236
15.2 Global Analysis……Page 237
15.5 Project Planning……Page 238
15.6 Project Management……Page 239
15.7 Lessons Learned……Page 240
15.8 Summary……Page 242
References……Page 243
16.1 Requirements for the New Enterprise……Page 244
16.2 Scaling the Development Process……Page 245
16.4 Restructuring the Organization……Page 247
16.5 Achieving Integration……Page 248
16.6 Lessons Learned……Page 249
16.7 Summary……Page 250
17.1 Background……Page 252
17.2 Global Analysis……Page 253
17.3 BAS Architecture……Page 254
17.5 Project Management……Page 255
17.6 Lessons Learned……Page 256
References……Page 259
CONCLUDING REMARKS……Page 260
18.1 Issues in Globally Distributed Development……Page 262
18.2 Recipe for Success……Page 264
18.3 Sharing Best Practices……Page 266
18.4 Summary and Conclusions……Page 267
References……Page 268
Index……Page 272

Reviews

There are no reviews yet.

Be the first to review “Global software development handbook”
Shopping Cart
Scroll to Top