"Extreme Programming Refactored: The Case Against XP" is meant to provide an independent look at Extreme Programming. It is meant to cut through the marketing hype of Extreme Programming and expose a number of weaknesses with this approach to software development. It tries to draw a distinction between true "agility" in a software process and "fragility" inherent in techniques such as oral documentation. Extreme Programming (XP) is a consummate mix of good goals, some good advice, and lots of bad advice. The goals and the good advice draw people in; the bad advice can potentially cause...
"Extreme Programming Refactored: The Case Against XP" is meant to provide an independent look at Extreme Programming. It is meant to cut through the m...
Rigor Without the Mortis Many people (especially agilists) associate a high-ceremony software development process with a dead project (i.e., rigor mortis), and this association is not entirely incorrect. Our approach aims to put back the rigor while le- ing out the mortis--that is, we can do rigorous analysis and design without killing the project with an excessively high-ceremony approach. The goal of this book is to describe that process in full detail. Agility in theory is about moving ahead at speed, making lots of tiny course corrections as you go. The theory (and it's a good one) is...
Rigor Without the Mortis Many people (especially agilists) associate a high-ceremony software development process with a dead project (i.e., rigor mor...
Matt's Preface This book illustrates how to get from use cases to working, maintainable source code in as few steps as possible . . . but without cutting the essential corners. It's also about how to minimize the amount of rework you need to do once you've gotten to source code. Learning by Doing In this book we've tried to capture the essential qualities of Doug's ICONIX training courses-- that is, the "magic qualities" of learning by doing. The ICONIX Jumpstart courses are very practical and hands-on; they draw students in by encouraging them to learn new skills by practicing, often on the...
Matt's Preface This book illustrates how to get from use cases to working, maintainable source code in as few steps as possible . . . but without cutt...
In this chapter we illustrated how to drive unit tests from a software design, identifying test scenarios in a systematic way that ensures the code is covered in all the right places. We also illustrated the use of "stunt services" and mock objects to isolate the code being tested; finally, we discussed driving unit tests deeper into algorithmic code that may benefit from finer-grained testing. Is there a way to get 95% of the benefit of the comprehensive unit testing we did in this chapter with significantly fewer tests? In the next chapter, we'll show how to do exactly that with controller...
In this chapter we illustrated how to drive unit tests from a software design, identifying test scenarios in a systematic way that ensures the code is...
Software development can go in many different directions... ICONIX Process has a long track record of helping companies avoid analysis paralysis on a multitude of projects, and is best suited for developing web and GUI-based systems. But what if your project has some other complexities? What if you're modeling business processes, or developing with web services, or designing an embedded hardware/software system? Answer: Use one (or more) of the process roadmaps in this book This book contains a treasure-trove of tailored roadmaps, proven on demanding real-life projects: Business Process...
Software development can go in many different directions... ICONIX Process has a long track record of helping companies avoid analysis paralysis on a ...