Description
Book SynopsisThis book presents proven, effective agile practices in the areas of development process, coding techniques, developer attitude, project and team management, and iterative and incremental learning. Readers can learn how to apply each practice, and what benefits you can expect.
Table of Contents1 Agile Software Development 2 Beginning Agility 1. Work for Outcome 2. Quick Fixes Become Quicksand 3. Criticize Ideas, Not People 4. Damn the Torpedoes, Go Ahead 3 Feeding Agility 5. Keep Up with Change 6. Invest in Your Team 7. Know When to Unlearn 8. Question Until You Understand 9. Feel the Rhythm 4 Delivering What Users Want 10. Let Customers Make Decisions 11. Let Design Guide, Not Dictate 12. Justify Technology Use 13. Keep It Releasable 14. Integrate Early, Integrate Often 15. Automate Deployment Early 16. Get Frequent Feedback Using Demos 17. Use Short Iterations, Release in Increments 18. Fixed Prices Are Broken Promises 5 Agile Feedback 19. Put Angels on Your Shoulders 20. Use It Before YouBuildIt 21. Different Makes a Difference 22. Automate Acceptance Testing 23. Measure Real Progress 24. Listen to Users 6 Agile Coding 25. Program Intently and Expressively 26. Communicate in Code 27. Actively Evaluate Trade-Offs 28. Code in Increments 29. Keep It Simple 30. Write Cohesive Code 31. Tell, Don't Ask 32. Substitute by Contract 7 Agile Debugging 33. Keep a Solutions Log 34. Warnings Are Really Errors 35. Attack Problems in Isolation 36. Report All Exceptions 37. Provide Useful Error Messages 8 Agile Collaboration 38. Schedule Regular Face Time 39. Architects Must Write Code 40. Practice Collective Ownership 41. Be a Mentor 42. Allow People to Figure It Out 43. Share Code Only When Ready 44. Review Code 45. Keep Others Informed 9 Epilogue: Moving to Agility 9.1 Just One New Practice 9.2 Rescuing a Failing Project 9.3 Introducing Agility: The Manager's Guide 9.4 Introducing Agility: The Programmer's Guide 9.5 The End? A Resources A.1 On the Web A.2 Bibliography