Cover image for Running an Agile Software Development Project.
Running an Agile Software Development Project.
Title:
Running an Agile Software Development Project.
Author:
Holcombe, Mike.
ISBN:
9780470385876
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (328 pages)
Contents:
Running an Agile Software Development Project -- Contents -- Preface -- 1. What Is an Agile Methodology? -- 1.1 Rapid Business Change: The Ultimate Driver -- 1.2 What Must Agile Methodologies be Able to Do? -- 1.3 Agility: What Is It and How Do We Achieve It? -- 1.4 Evolving Software: Obstacles and Possibilities -- 1.5 The Quality Agenda -- 1.6 Do We Really Need All This Mountain of Documentation? -- 1.7 The Human Factor -- 1.8 Some Agile Methodologies -- 1.8.1 Dynamic Systems Development Method -- 1.8.2 Feature-Driven Design -- 1.8.3 Crystal -- 1.8.4 Agile Modeling -- 1.8.5 SCRUM -- 1.8.6 Summary Table -- 1.9 Review -- Exercise -- Conundrum -- References -- 2. Extreme Programming Outlined -- 2.1 Some Guiding Principles -- 2.2 The Five Values -- 2.2.1 Communication -- 2.2.2 Feedback -- 2.2.3 Simplicity -- 2.2.4 Courage -- 2.2.5 Respect -- 2.3 The 12 Basic Practices of XP -- 2.3.1 Test-First Programming -- 2.3.2 Pair Programming -- 2.3.3 On-Site Customer -- 2.3.4 The Planning Game -- 2.3.5 System Metaphor -- 2.3.6 Small, Frequent Releases -- 2.3.7 Always Use the Simplest Solution That Adds Business Value -- 2.3.8 Continuous Integration -- 2.3.9 Coding Standards -- 2.3.10 Collective Code Ownership -- 2.3.11 Refactoring -- 2.3.12 Forty-Hour Week -- 2.4 Can XP Work? -- 2.5 The Evidence for XP -- 2.5.1 Evidence for Test First -- 2.5.2 Evidence for Pair Programming -- 2.5.3 Evidence for XP -- 2.6 Preparing to XP -- Exercise -- Conundrum -- References -- 3. Foundations: People and Teams Working Together -- 3.1 Software Engineering in Teams -- 3.2 Personalities and Team Success -- 3.3 Observations of Team Behavior in XP Projects -- 3.4 Setting Up a Team -- 3.5 Developing Team Skills -- 3.6 Training Together -- 3.7 Finding and Keeping a Client for a University-Based Project or a Small Business Start-Up -- 3.8 The Organizational Framework -- 3.9 Planning.

3.9.1 PERT (Program Evaluation and Review Technique) -- 3.9.2 Gantt Charts -- 3.10 Dealing with Problems -- 3.10.1 Basic Strategies -- 3.10.2 When Things Go Really Wrong -- 3.11 Risk Analysis -- 3.12 Review -- Exercises -- Conundrum -- References -- 4. Starting an XP Project -- 4.1 Project Beginnings -- 4.1.1 Researching the Business Background -- 4.1.2 Exploring the Outline System Description -- 4.2 The First Meetings with the Client -- 4.3 Business Analysis and Problem Discovery -- 4.4 The Initial Stages of Building a Requirements Document -- 4.5 Techniques for Requirements Elicitation -- 4.6 Putting Your Knowledge Together -- 4.7 Getting Technical -- 4.8 Developing the Requirements Documents -- 4.9 Specifying and Measuring the Quality Attributes of the System -- 4.9.1 Identifying Attributes -- 4.9.2 Specifying the Acceptable Level of an Attribute -- 4.9.3 User Characteristics and User Interface Characteristics -- 4.10 The Formal Requirements Document and System Metaphor -- 4.10.1 Commentary -- 4.11 Contract Negotiation -- 4.12 Case Study: The Impact of Organizational Politics -- 4.13 Review -- Conundrum -- References -- 5. Identifying Stories and Preparing to Build -- 5.1 Looking at the User Stories -- 5.2 Collections of Stories -- 5.2.1 Pharmacovigilance -- 5.2.2 Stamps System -- 5.2.3 DELTAH (Developing European Leadership Through Action-Learning in Healthcare) -- 5.3 User Interfaces -- 5.4 Communicating Clearly with the Customer and Building Confidence -- 5.5 Demonstrating the Non-Functional Requirements -- 5.5.1 Non-Functional Requirements -- 5.6 Estimating Resources -- 5.6.1 Software Cost Estimation -- 5.6.2 Object Point Analysis -- 5.6.3 COSMIC FFP -- 5.7 Review -- Exercises -- Conundrum -- References -- 6. Bringing the System Together as a Coherent Concept -- 6.1 What is the Problem? -- 6.2 A Simple Common Metaphor.

6.3 Architectures and Patterns -- 6.4 Finite State Machines -- 6.5 Extreme Modeling (XM) -- 6.6 Multiple Stories and XXMs -- 6.7 Building the Architecture to Suit the Application: A Dynamic System Metaphor -- 6.8 Another Look at Estimation -- 6.9 Review -- Exercise -- Conundrum -- References -- 7. Designing the System Tests -- 7.1 Preparing to Build Functional Test Sets -- 7.1.1 Tests and Testing -- 7.1.2 Testing from a Model -- 7.1.3 Developing the Model -- 7.2 Testing with the Data in Mind -- 7.3 The Full Functional System Testing Strategy -- 7.4 The Thinking Behind the System Test Process -- 7.4.1 An Algorithm for Determining the Transition Cover -- 7.5 Design for Test -- 7.5.1 Design for Test Principle 1: Controllability -- 7.5.2 Design for Test Principle 2: Observability -- 7.6 Test Documentation -- 7.7 Non-Functional Testing -- 7.7.1 Reliability -- 7.7.2 Usability -- 7.7.3 Efficiency -- 7.7.4 Portability -- 7.8 Testing Internet Applications and Web Sites -- 7.9 Review -- Exercise -- Conundrum -- References -- 8. Units and Their Tests -- 8.1 Basic Considerations -- 8.2 Identifying the Units -- 8.3 Unit Testing -- 8.4 More Complex Units -- 8.4.1 Case Example: The AddElement Function in JHotDraw -- 8.5 Automating Unit Tests -- 8.5.1 Writing Unit Tests in JUniti -- 8.5.2 Managing Tests -- 8.6 Documenting Unit Test Results -- 8.7 Review -- Exercises -- Conundrum -- References -- 9. Evolving the System -- 9.1 Requirements Change -- 9.2 Changes to Basic Business Model and Functionality -- 9.3 Dealing with Change: Refining Stories -- 9.3.1 Changes to the Underlying Data Model -- 9.3.2 Changes to the Structure of the Interface, Perhaps the Introduction of a New Screen -- 9.3.3 Adding a New Function -- 9.3.4 Changing the Functionality of a Function -- 9.4 Changing the Model -- 9.4.1 Changing a Process -- 9.4.2 Removing States -- 9.4.3 Adding States.

9.4.4 Adding a Complete Machine -- 9.4.5 Adding Processes -- 9.5 Testing for Changed Requirements -- 9.6 Refactoring the Code -- 9.7 Estimating the Cost of Change -- 9.8 Review -- Exercises -- Conundrum -- Reference -- 10. Documenting and Delivering the System -- 10.1 What is Documentation for and Who Is Going to Use It? -- 10.2 Coding Standards and Documents for Programmers -- 10.3 Coding Standards for Java -- 10.3.1 Genesys Coding Standard for Java -- 10.3.2 Blank Lines -- 10.4 Maintenance Documentation -- 10.5 User Manuals -- 10.6 Version Control -- 10.6.1 The Project Archive -- 10.6.2 Naming Conventions -- 10.7 Delivery and Finalization -- 10.8 Review -- Exercises -- Conundrum -- Reference -- 11. Reflecting on the Process -- 11.1 Skills and Lessons Learned -- 11.2 The XP Experience -- 11.3 Personal and Team Assessment -- 11.4 Review -- Exercises -- 11.5 Conundrums: Discussion -- 11.6 A Final Word -- 12. Lifestyle Matters -- 12.1 Keeping Fit -- 12.1.1 Correct Sitting Position -- 12.1.2 Combating RSI -- 12.2 General Well-Being -- 12.3 Mental Preparation -- 12.4 Diet -- 12.4.1 Diet and Brain Function -- 12.4.2 Summary of Dietary Information -- 12.5 Music and Work -- 12.6 Review -- References -- Appendix -- Bibliography -- Index.
Abstract:
Mike Holcombe, BSC, MSC, PHD, is Professor of Computer Science at the University of Sheffield, UK. He is also founder of Genesys Solutions, which is a student-run commercial software house that is strongly supported by IBM (winning the IBM International Eclipse Innovation Award in 2004 and 2005) and is also designated as a Microsoft Innovation Center. The University of Sheffield has recently "spun out" this company as epiGenesys Ltd. Dr. Holcombe's research interests include software and systems biology. A former dean of the faculty of engineering at the University of Sheffield, he is a Fellow of the British Computer Society and a Fellow of the Institute of Mathematics and Its Applications. He is on the editorial board of the journal BioSystems and Software Testing, Verification and Reliability (Wiley). He is also on the editorial board of the International Journal of Agile and Extreme Software Development and has been appointed to the Academic Advisory Board of Microsoft.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: