Agile Technologies in Open Source Development

pdf
Số trang Agile Technologies in Open Source Development 388 Cỡ tệp Agile Technologies in Open Source Development 4 MB Lượt tải Agile Technologies in Open Source Development 0 Lượt đọc Agile Technologies in Open Source Development 1
Đánh giá Agile Technologies in Open Source Development
4.1 ( 4 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 388 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Agile Technologies in Open Source Development Barbara Russo Free University of Bozen-Bolzano, Italy Marco Scotto Free University of Bozen-Bolzano, Italy Alberto Sillitti Free University of Bozen-Bolzano, Italy Giancarlo Succi Free University of Bozen-Bolzano, Italy InformatIon ScIence reference Hershey • New York Director of Editorial Content: Senior Managing Editor: Assistant Managing Editor: Publishing Assistant: Typesetter: Cover Design: Printed at: Kristin Klinger Jamie Snavely Michael Brehm Sean Woznicki Christopher Hrobak Lisa Tosheff Yurchak Printing Inc. Published in the United States of America by Information Science Reference (an imprint of IGI Global) 701 E. Chocolate Avenue, Hershey PA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: cust@igi-global.com Web site: http://www.igi-global.com/reference Copyright © 2010 by IGI Global. All rights reserved. No part of this publication may be reproduced, stored or distributed in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher. Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark. Library of Congress Cataloging-in-Publication Data Agile technologies in open source development / by Barbara Russo ... [et al.]. p. cm. Includes bibliographical references and index. Summary: “The aim of this book is to analyze the relationship between agile methods and open source, presenting the basic principles and practices and providing evidence through a set of specific empirical investigations”-Provided by publisher. ISBN 978-1-59904-681-5 (hardcover) -- ISBN 978-1-59904-683-9 (ebook) 1. Agile software development. 2. Open source software. I. Russo, Barbara. QA76.76.D47A395 2009 005.1--dc22 2008054195 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library. All work contributed to this book is new, previously-unpublished material. The views expressed in this book are those of the authors, but not necessarily of the publisher. Table of Contents Foreword ............................................................................................................. ix Preface ................................................................................................................ xi Section 1: Comparing Agile and Open Source Development Introduction ......................................................................................................... 1 Chapter 1 Historical Evolution of the Agile and Open Source Movements .................... 4 Agile Methods ....................................................................................................... 4 The Win-Win Spiral Software Development Model............................................... 5 The XP Software Development Model ................................................................ 10 Open Source Software Development .................................................................. 13 Comparison of OS and Agile Development ........................................................ 19 References ........................................................................................................... 20 Endnotes.............................................................................................................. 22 Chapter 2 The Agile Manifesto and Open Source Software ........................................... 23 Introduction ......................................................................................................... 23 Principles of Agile Software Development ......................................................... 25 VTK Example ...................................................................................................... 26 Conclusion .......................................................................................................... 28 References ........................................................................................................... 28 Endnotes.............................................................................................................. 29 Chapter 3 Values and Principles Practices in Agile and Open Source Development ... 30 Introduction ......................................................................................................... 30 Values in Agile and in Open Source Development .............................................. 31 Principles in Agile and in Open Source .............................................................. 33 Software Practices in Agile and in Open Source Development .......................... 35 Putting the Analysis Together ............................................................................. 39 References ........................................................................................................... 40 Endnote ............................................................................................................... 40 Chapter 4 Models of Organization .................................................................................... 41 Introduction ......................................................................................................... 41 The Agile Manifesto ............................................................................................ 42 Culture, People, Communication ........................................................................ 43 Goals of Organization Models for AMs and XP ................................................. 43 Organization ....................................................................................................... 46 Key Points for Organizations .............................................................................. 48 References ........................................................................................................... 49 Chapter 5 Coordination in Agile and Open Source ......................................................... 51 Introduction ......................................................................................................... 51 What is Coordination? ........................................................................................ 52 Interdependencies and Coordination Mechanisms ............................................. 54 Coordination and New Software Development Approaches ............................... 61 References ........................................................................................................... 72 Endnotes.............................................................................................................. 74 Chapter 6 Other Agile Methods ......................................................................................... 75 Introduction ......................................................................................................... 75 Crystal ................................................................................................................. 76 DSDM ................................................................................................................. 79 LSD ..................................................................................................................... 83 References ........................................................................................................... 89 Section 2: Agile Software Practices for Open Source Development Chapter 7 Testing ............................................................................................................... 91 Introduction ......................................................................................................... 91 Testing in the Open Source Development ........................................................... 92 Use of xUnit in Agile and OS Development ........................................................ 94 A Method to Reveal the Adoption of Test First in OS Projects ........................... 95 Adoption of Test First in Open Source Projects: A Manual Inspection .............. 96 Tool Supporting the Repository’s Inspection....................................................... 99 Excel Tool for the Analysis and Evaluation of Collected Metrics .....................116 Example of the Use of the Macro, CruiseControl_2.1.1 ....................................116 Manual Test First Analysis.................................................................................119 References ......................................................................................................... 122 Endnote ............................................................................................................. 123 Chapter 8 Code Ownership .............................................................................................. 124 Introduction ....................................................................................................... 124 Pareto Analysis ................................................................................................. 125 Adoption of Code Ownership in Open Source Development ............................ 125 References ......................................................................................................... 132 Chapter 9 Design Approaches .......................................................................................... 133 Introduction ....................................................................................................... 133 Agile Approaches to Design .............................................................................. 134 Adoption of Big Upfront Design in Open Source Development........................ 135 Time Series Analysis ......................................................................................... 136 References ......................................................................................................... 142 Chapter 10 Case Studies ..................................................................................................... 144 Introduction ....................................................................................................... 144 The Eclipse Software Development Process ..................................................... 145 The Eclipse Software Development Process and the XP values and practices 150 The Funambol Release Life Cycle .................................................................... 151 References ......................................................................................................... 155 Section 3: Empirical Evaluations Chapter 11 A Framework for Collecting Experiences..................................................... 157 The Rationale .................................................................................................... 157 Structure of the Experience Framework ........................................................... 158 Standards for Data Collection .......................................................................... 159 Standards for Data Analysis ............................................................................. 167 Standards for the Set Up of Experiments .......................................................... 170 Standardization for the Generalization and Validation of the Results.............. 176 How to use the Experience Framework: An Example of Repository ................ 179 References ......................................................................................................... 187 Endnote ............................................................................................................. 188 Chapter 12 Improving Agile Methods ............................................................................... 189 Motivation ......................................................................................................... 189 Data Collection ................................................................................................. 194 Case Study I ...................................................................................................... 198 Case Study II ..................................................................................................... 205 Generalization....................................................................................................211 Methods for Assessing Generalization.............................................................. 212 Limitations of the Experiments ......................................................................... 218 Summing Up ...................................................................................................... 220 Final Considerations ........................................................................................ 222 Acknowledgment ............................................................................................... 227 References ......................................................................................................... 227 Endnotes............................................................................................................ 231 Chapter 13 Effort Estimation ............................................................................................ 232 Effort Estimation in Agile Environments using Multiple Projects .................... 232 Effort Estimation Models: An Overview ........................................................... 236 Comparative Analysis Using Two Case Studies ............................................... 241 Model Building and Prediction ......................................................................... 244 Summing Up ...................................................................................................... 250 References ......................................................................................................... 251 Endnote ............................................................................................................. 255 Chapter 14 Discontinuous use of Pair Programming ...................................................... 256 Introduction ....................................................................................................... 256 Structure of the Experiment .............................................................................. 257 Results ............................................................................................................. 262 Summing Up ...................................................................................................... 266 References ......................................................................................................... 267 Chapter 15 Requirements Management ........................................................................... 268 Introduction ....................................................................................................... 268 Background ....................................................................................................... 269 Survey ............................................................................................................. 274 Results ............................................................................................................. 275 Discussion ......................................................................................................... 280 Summing Up ...................................................................................................... 283 References ......................................................................................................... 284 Chapter 16 Project Management ....................................................................................... 287 Introduction ....................................................................................................... 287 The Structure of the Investigation ..................................................................... 288 Results ............................................................................................................. 293 Summing Up ...................................................................................................... 298 References ......................................................................................................... 299 Endnotes............................................................................................................ 300 Section 4: Industrial Adoption and Tools for Agile Development Chapter 17 Open Source Assessment Methodologies ...................................................... 302 Introduction ....................................................................................................... 302 Open Source Maturity Model (OSMM) from Cap Gemini................................ 303 Open Source Maturity Model (OSMM) from Navica ........................................ 305 Methodology of Qualification and Selection of Open Source Software (QSOS).....307 Open Business Readiness Rating (OpenBRR) .................................................. 308 References ......................................................................................................... 310 Chapter 18 Adoption of Open Source Processes in Large Enterprises ...........................311 Introduction ........................................................................................................311 The Study........................................................................................................... 312 Chapter 19 Trust Elements in Open Source ..................................................................... 334 Introduction ....................................................................................................... 334 Trustworthy Elements........................................................................................ 337 Trustworthy Elements in Companies ................................................................ 340 References ......................................................................................................... 342 Endnote ............................................................................................................. 342 Chapter 20 Overview of Open Source Tools for Agile Development .............................. 343 Introduction ....................................................................................................... 343 Version Control Tools ........................................................................................ 345 Automated Build Tools ...................................................................................... 348 Continuous Integration Tools............................................................................ 350 Issue Tracking Tools.......................................................................................... 351 Synchronous and Asynchronous Communication Tools ................................... 352 Project Management Tools................................................................................ 354 Testing Tools...................................................................................................... 355 Tools to Support Specific Agile Practices ......................................................... 356 Measuring Tools ................................................................................................ 360 Endnotes............................................................................................................ 361 Conclusion ....................................................................................................... 362 Glossary ........................................................................................................... 364 About the Authors .......................................................................................... 365 Index ................................................................................................................. 367 ix Foreword This book approaches two contemporary topics in the field of software engineering that have had more than a significant impact in the way the modern software is being developed. Agile movement raised the role of experience and people in the centre stage having a profound impact on large and small software organizations alike. Research and practice have shown that agile is penetrating practically in all industrial domains including the globally operating, hardware-bound software development. Open source software development was considered to be outside of the scope of professional software development practice for long time. Companies perceived the voluntarily lead programming initiatives as something that could not be part of their strategic goal setting or daily practice. Today, a great majority of the companies utilize the open source solutions at many levels of the organization. The corporate strategies often include a plan where part of the software product has been opened for getting the benefits that are associated with the open source communities. There are many similarities in agile and open source movements. They have taken the field by surprise and gained a significant momentum that bear long lasting impact on the practice of software development. Both were initiated by a small group of practitioners. They are based on a value structure, which is far from the traditional technology orientation of many other software engineering innovations. Finally, the two approaches value people, collaboration, and excellence as the primary drivers of software development.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.