Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 325 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
325
Dung lượng
4,28 MB
Nội dung
SOFTWARE DEVELOPMENT RHYTHMS SOFTWARE DEVELOPMENT RHYTHMS Harmonizing Agile Practices for Synergy Kim Man Lui and Keith C C Chan The Hong Kong Polytechnic University, Hong Kong A JOHN WILEY & SONS, INC., PUBLICATION Copyright Ó 2008 by John Wiley & Sons, Inc All rights reserved Published by John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, 978750-8400, fax 978-750-4470, or on the web at www.copyright.com Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, 201-748-6011, fax (201) 748-6008, or online at http:// www.wiley.com/go/permission Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose No warranty may be created or extended by sales representatives or written sales materials The advice and strategies contained herein may not be suitable for your situation You should consult with a professional where appropriate Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at 800-762-2974, outside the United States at 317-572-3993 or fax 317-572-4002 Wiley also publishes its books in a variety of electronic formats Some content that appears in print may not be available in electronic formats For more information about Wiley products, visit our web site at www.wiley.com Library of Congress Cataloging-in-Publication Data: Lui, Kim Man Software development rhythms : using the flexibility of agile software practices in combination/By Kim Man Lui & Keith C.C Chan p cm Includes index ISBN 978-0-470-07386-5 (cloth) Computer software – Development I Chan, Keith C.C II Title QA76 76 D47L86 2007 005.1–dc22 2007019073 Printed in the United States of America 10 To my mother and my sister — K.M.L To my parents and sisters and to Emily, Samantha, and Jeremy — K.C.C.C CONTENTS PREFACE xiii NO PROGRAMMER DIES 1.1 Developing Software versus Building a Tunnel 1.1.1 The Good Old Days? 1.1.2 The More Things Change, the More They Stay the Same? 1.1.3 Behind Software Products 1.1.4 Deal or No Deal 1.2 Do-Re-Mi Do-Re-Mi 1.2.1 Iterative Models 1.2.2 Code and Fix 1.2.3 Chaos 1.2.4 Methodology that Matters 1.3 Software Development Rhythms 1.3.1 Stave Chart by Example 1.3.2 Game Theory 1.3.3 In–Out Diagram 1.3.4 Master–Coach Diagram 1.3.5 No Mathematics 1.3.6 Where to Explore Rhythms References 10 12 14 16 17 21 24 25 28 30 31 32 33 34 UNDERSTANDING PROGRAMMERS 2.1 Personality and Intelligence 2.1.1 Virtuosi 37 39 40 vii CONTENTS viii 2.1.2 Meeting Your Team 2.1.3 Recruiting Programmers 2.2 Outsourced Programmers 2.2.1 Programmers in Their Environments 2.2.2 Programmers, Cultures, and Teams 2.3 Experienced Management 2.3.1 Being Casual about Causal Relationships 2.3.2 Not Learning from Experience 2.3.3 Doing Things Right Right Now References 41 43 45 46 47 48 49 50 52 54 START WITH OPEN SOURCE 3.1 Process and Practice 3.1.1 The Four Ps of Projects 3.1.2 Agile Values 3.1.3 Zero-Point Collaboration 3.2 Open-Source Software (OSS) Development 3.2.1 Software Cloning 3.2.2 Software Quality 3.2.3 Starting Processes 3.2.4 Open-Source Development Community 3.2.5 Ugrammers 3.2.6 Participant Roles 3.2.7 Rapid Release 3.2.8 Blackbox Programming 3.2.9 OSS Practices 3.3 OSS-Like Development 3.3.1 Agile Practices 3.3.2 Communication Proximity 3.3.3 Loose and Tight Couples 3.3.4 Collocated Software Development 3.4 Conclusion References 55 58 60 63 64 65 66 67 68 69 70 71 72 74 76 77 78 79 80 81 82 83 PLAGIARISM PROGRAMMING 4.1 Plagiarism 4.1.1 Existing Code 87 89 90