Agile Adoption Patterns: A Roadmap to Organizational Success

Nav:Home > Textbooks > Computer Science > Agile Adoption Patterns: A Roadmap to Organizational Success

Press:Addison-Wesley Professional Addison-Wesley Professional; 1 edition (July 7, 2008)
Publication Date:2008-07-07
Author Name:Amr Elssamadisy
Edition:1st Edition


Proven Patterns and Techniques for Succeeding with Agile in Your Organization     Agile methods promise to help you create software that delivers far more business value—and do it faster, at lower cost, and with less pain. 
However, many organizations struggle with implementation and leveraging these methods to their full benefit.
In this book, Amr Elssamadisy identifies the powerful lessons that have been learned about successfully moving to agile and distills them into 30 proven agile adoption patterns.
Elssamadisy walks you through the process of defining your optimal agile adoption strategy with case studies and hands-on exercises that illuminate the key points.
He systematically examines the most common obstacles to agile implementation, identifying proven solutions.
You’ll learn where to start, how to choose the best agile practices for your business and technical environment, and how to adopt agility incrementally, building on steadily growing success.
Next, he presents the definitive agile adoption pattern reference: all the information you need to implement the strategy that you’ve already defined.
Utilizing the classic pattern format, he explains each agile solution in its proper context, revealing why it works—and how to make the most of it.
The pattern reference prepares you to Understand the core drivers, principles, and values associated with agile success Tightly focus development on delivering business value–and recognize the “smells” of a project headed off track Gain rapid, effective feedback practices: iteration, kickoff and stand-up meetings, demos, retrospectives, and much more Foster team development: co-location, self-organization, cross-functional roles, and how to bring the customer aboard Facilitate technical tasks and processes: testing, refactoring, continuous integration, simple design, collective code ownership, and pair programming Act as an effective coach, learning to engage the community and promote learning Integrate “clusters” of agile practices that work exceptionally well together Agile Adoption Patterns will help you whether you’re planning your first agile project, trying to improve your next project, or evangelizing agility throughout your organization.
This actionable advice is designed to work with any agile method, from XP and Scrum to Crystal Clear and Lean.
The practical insights will make you more effective in any agile project role: as leader, developer, architect, or customer.
Foreword xxiii & xxvi Preface xxvii Acknowledgments xxxiii About the Author xxxvii Part 1: Thoughts about Software Development 1 Chapter 1: Learning Is the Bottleneck 3 Chapter 2: Personal Agility for Potent Agile Adoption 13 Part 2: Crafting an Agile Adoption Strategy 21 Chapter 3: Business Value 23 Chapter 4: Smells 29 Chapter 5: Adopting Agile Practices 37 Part 3: The Pattern Catalog 53 Chapter 6: The Patterns of Agile Practice Adoption 55 Chapter 7: Goal 61 Chapter 8: Cycle 65 Part 3.1: Feedback Practices 69 Chapter 9: Iteration 71 Chapter 10: Kickoff Meeting 77 Chapter 11: Backlog 81 Chapter 12: Planning Poker 87 Chapter 13: Stand-Up Meeting 93 Chapter 14: Done State 99 Chapter 15: Demo 103 Chapter 16: Retrospective 109 Chapter 17: Release Often 115 Chapter 18: Co-Located Team 119 Chapter 19: Self-Organizing Team 125 Chapter 20: Cross-Functional Team 131 Chapter 21: Customer Part of Team 137 Chapter 22: Evocative Document 143 Chapter 23: User Story 149 Chapter 24: Use Case 153 Chapter 25: Information Radiator 157 Part 3.2: Technical Practices 161 Chapter 26: Automated Developer Tests 163 Chapter 27: Test-Last Development 173 Chapter 28: Test-First Development 177 Chapter 29: Refactoring 183 Chapter 30: Continuous Integration 189 Chapter 31: Simple Design 197 Chapter 32: Functional Tests 203 Chapter 33: Collective Code Ownership 219 Chapter 34: Pair Programming 223 Part 3.3: Supporting Practices 229 Chapter 35: Coach 231 Chapter 36: Engage the Community 235 Chapter 37: Reading Circle 239 Chapter 38: Workshop 245 Chapter 39: Classroom Training 249 Part 3.4: The Clusters 255 Chapter 40: Agile Iteration 257 Chapter 41: Communication Cluster 263 Chapter 42: Evolutionary Design 269 Chapter 43: Test-Driven Development 277 Chapter 44: Test-Driven Requirements 285 Part 4: Case Studies 293 Chapter 45: BabyCenter 295 Chapter 46: Company X 305 Part 5: Appendices 321 Appendix A: Pattern to Business Value Mappings 323 Appendix B: Pattern-to-Smell Mappings 325 Appendix C: Getting the Most from Agile Practice Patterns 327 Appendix D: Further Reading 331 Bibliography 333 Index 339

About the Author

Amr Elssamadisy ( is a software development practitioner who works with his clients to build better, more valuable software. 
He and his colleagues at Gemba Systems help both small and large development teams learn new technologies, adopt and adapt appropriate Agile development practices, and focus their efforts to maximize the value they bring to their organizations.
Amr’s technical background and experience in C/C++, Java/J2EE, and .NET allows him to appreciate the problems of development teams and offer them support.
At the same time, he realizes that most problems–even in software–are people problems that are not solved by tools and technology.
Therefore, Amr and his colleagues at Gemba Systems focus on issues such as personal agility, team building, communication, feedback, and all the other soft skills that distinguish excellent teams.
Amr is also the author of Patterns of Agile Practice Adoption: The Technical Cluster.
He is an editor for the AgileQ at InfoQ, a contributor to the Agile Journal, and a frequent presenter at software development conferences.

Excerpt. © Reprinted by permission. All rights reserved.

Preface   Preface In this book, you and I focus on adoption of agile practices. 
I help you answer basic questions that are on your mind: Where do I start? What practice(s) are best for my particular environment? How can I adopt these practices incrementally? What pitfalls should I watch out for? Is This Book for You? Are you adopting one or more Agile practices or seriously thinking about trying out one or more practices on your team? Have you read any of the Agile methodology books on Extreme Programming, Scrum, or Test-Driven Development, and are you theoretically convinced about at least trying the practices? Or perhaps you're coming off your first project and you've been asked to join another team to help them succeed as you did previously.
Of course, every project is different.
Are the same practices you used the last time going to be as effective on the next project? It depends! This book helps you get past "It depends!" to determine what practices should be adopted and give you some hints how they may need to be adapted.
Or maybe you are unlucky enough to have been part of a failing Agile project (or possibly are still on one).
Read this book to get an idea why the practices you are using may not be applicable.
Be agile about your Agile practices.
If any of these scenarios fit, this book is for you.
It helps you look at the individual practices and their relationships and gives you a strategy that has been used successfully several times on multiple projects by multiple companies.
It also provides you with warnings concerning how practices have gone wrong before and how you can recognize and respond to the problems that occur.
This is not just one person's opinion or an untried method.
All the patterns you will read about here come from real-world project experience.
Finally, let me say a few words about who this book isn't for: Advanced practitioners who already get agile practices and are looking for new theories or practices.
All the information in this book is collected from the experience of multiple projects, so chances are you've already heard about everything here.
Beginners who want to start from zero.
This book does not adequately describe the practices from ground zero.
However, this book will be a good companion to other works that delve more deeply into full agile practices.
The Plan I give you even more questions that you should consider and answer on your journey toward adopting agile practices.
Does this sound too good to be true? It isn't really.
Many of us who have been in the Agile community for several years have figured this out the hard waymdby trial and error.
This book shares those experiences.
Here is an overview of what you will be able to accomplish by reading this book.
Understand some of the basic drivers or principles and values that underlie all Agile practices and make them successful.
Focus on business value to the customer.
List important areas of value to many customers.
An example of a business value would be Reduce Cost.
Introduce symptoms that occur when business value is not being delivered.
I'll call these symptoms smells.
An example of a smell related to the Reduce Cost business value is Customer Asks for Everything Including the Kitchen Sink.
Tie these business values and smells to individual agile practices.
Use the information in the first three items to decide which practices to adopt to increase your business value and remove the smells present at your company.
At this point, you will be able to come up with a coarse-grained adoption strategy for your environment.
Provide a detailed description of each practice in pattern format, and include adoption information for each practice.
Call out practices that work well together as clusters.
Relate these clusters to business values and smells.
Describe the clusters and adoption strategies as done for the practices.
Structure and Content This book is organized into several parts and subparts, so a quick overview of the structure and content of those parts is in order.
I recommend that you read chapters 1 through 8 straight through and do all the exercises where applicable.
This will give you essential context concerning software development so that you and I are on the same page, take you step by step through the creation of an Agile adoption strategy tailored to your organization's context, and introduce you to the pattern format in which all the practices are presented in the pattern catalog.
After you have finished these eight chapters, use Part III of the book as a reference to implement the strategy you've created.
Skip around or read straight through.
Both will work; you can read the patterns presented independently.
Each chapter will help you adopt a particular practice, warn you of pitfalls, and give you references for further reading.
Read the case studies to get a feel for how this approach has translated to other organizations, but bewaremdit gets messy in real-life situations.
Finally, the appendixes are chapters that were too useful not to include but didn't quite fit in with the flow of the book.
They are short, so feel free to take a look at them at any time throughout your reading.
Part I: Thoughts about Software Development Part I covers some basic issues of software development and sets the context for the rest of the book.
I examine reasons why software development is so difficult.
I also look at why adoption of new practicesmdany practices, not just Agile practicesmdare difficult and depend on your personal involvement and commitment.
Read the chapters in this section, and keep the ideas in the back of your mind as you go through the rest of the book.
Chapter 1 "Learning Is the Bottleneck" Chapter 2 "Personal Agility for Potent Agile Adoption" Part II: Crafting an Agile Adoption Strategy Part II starts to get into the meat of the problemmdpicking and choosing Agile practices for your particular context.
By the time you are done with these chapters and have completed the exercises, you will have an initial set of practices that your team should start to adopt.
Be aware that for the purposes of creating an adoption strategy, I will refer to many practices that are described in the remainder of the book.
So don't worry if you have a set of practices to adopt that you do not completely understand yet.
Their descriptions are in the later sections.
Chapter 3 "Business Value" Chapter 4 "Smells" Chapter 5 "Adopting Agile Practices" Part III: The Pattern Catalog Part III is the pattern catalog.
The pattern catalog details how to successfully adopt and adapt the practices that you've determined in Part II meet your organization's business goals.
This section should be used as a reference to put your adoption plan to practice.
Read Chapters 6, 7, and 8 ,and then use the rest on an as-needed basis to execute your adoption strategy.
Note that the practices are organized into subparts as well.
Chapter 6 "The Patterns of Agile Practice Adoption" Chapter 7 "Goal" Chapter 8 "Cycle" Part 3.1 Feedback Practices The feedback practices are predominantly concerned with working as a team and planning functions.
They are practices that help you and your team "solve the right problem" by iteratively building your software system and consistently checking whether the system solves the needs of the customer.
Chapter 9 "Iteration" Chapter 10 "Kickoff Meeting" Chapter 11 "Backlog" Chapter 12 "Planning Poker" Chapter 13 "Stand-Up Meeting" Chapter 14 "Done State" Chapter 15 "Demo" Chapter 16 "Retrospective" Chapter 17 "Release Often" Chapter 18 "Co-Located Team" Chapter 19 "Self-Organizing Team" Chapter 20 "Cross-Functional Team" Chapter 21 "Customer Part of Team" Chapter 22 "Evocative Document" Chapter 23 "User Story" Chapter 24 "Use Case" Chapter 25 "Information Radiator" Part 3.2 Technical Practices The technical practices are concerned with "solving the problem right" by creating and maintaining the code of your software system.
They are the bit-head practices that your team will use to build and evolve the software system.
Chapter 26 "Automated Developer Tests" Chapter 27 "Test-Last Development" Chapter 28 "Test-First Development" Chapter 29 "Refactoring" Chapter 30 "Continuous Integration" Chapter 31 "Simple Design" Chapter 32 "Automated Functional Tests" Chapter 33 "Collective Code Ownership" Chapter 34 "Pair Programming" Part 3.3 Supporting Practices These are not Agile practices per se, but they are practices that you can use to support your team's adoption and introduce change into your organization.
Chapter 35 "Coach" Chapter 36 "Engage the Community" Chapter 37 "Reading Circle" Chapter 38 "Workshop" Chapter 39 "Classroom Training" Part 3.4 The Clusters The clusters of practices are sets of Agile practice patterns that work especially well together.
The first two clusters are focused on people, interactions, and teamwork.
The practices that make up these clusters enable a team to recognize change as it happens and provide a working process for responding to those changes.
The last three clusters are technical in nature and give the team the technical ability to respond to changes as they occur.
Chapter 40 "Agile Iteration" Chapter 41 "Communication Cluster" Chapter 42 "Evolutionary Design" Chapter 43 "Test-Driven Development" Chapter 44 "Test-Driven Requirements" Part IV Case Studies These are reports of two different adoption efforts.
They get beyond the theory and show how two organizations are working through their Agile adoption.
One has been very successful, and the other is still struggling.
Both are real companies, with real people and real politics.
It gets messy.
But, in the end, so will your adoption effort before you succeed.
Chapter 45 "Case Study: BabyCenter" Chapter 46 "Case Study: Company X" Appendixes The appendixes contain material that does not quite fit in the main flow of the book but that could be useful to you.
Appendix A "Pattern to Business Value Mappings" Appendix B "Pattern to Smell Mappings" Appendix C "Getting the Most from Agile Practice Patterns" Appendix D "Further Reading" How to Read this Book Okay.
So enough about what you are going to do.
How do you do it? The first thing you have to do is come up with a set of agile development practices for you and your team.
You can do that by reading Part I and taking the time to do the exercises at the end of Chapters 3, 4, and 5.
It is important that you spend the time to work through the exercises.
After completing these chapters, you will have a list of prioritized practices to consider.
At that point, you can start with the third part of the bookmdthe patterns.
You will use the list of practices on your list to "dig deep" by reading each pattern and deciding if it is really applicable to your environment.
When you find a practice that matches, you and your team will start adopting it incrementally using the guidance in that pattern.
You'll also watch out for symptoms of that practice going bad by using the guidance in the "smells" documented in each pattern.
Finally, you'll continuously evaluate the effectiveness of the practices you've adopted and adapt them to get greater value from them for your business.
Start right now by turning to the next chapter.
© Copyright Pearson Education.
All rights reserved.

window.ue_csm.cel_widgets = [
{ id: "detail-bullets" } , { id: "featurebullets_feature_div" } , { id: "summaryContainer" } , { id: "sims_fbt" } , { id: "purchase-sims-feature" } , { id: "session-sims-feature" } , { id: "quickPromoBucketContent" } , { id: "productDescription" } , { id: "technicalSpecifications_feature_div" } , { id: "prodDetails" } , { id: "related_ads" } , { id: "technical-data" } , { id: "tagging_lazy_load_div" } , { id: "consumption-sims" } , { id: "moreBuyingChoices_feature_div" } , { id: "product-ads-feedback_feature_div" } , { id: "DAcrt" } , { id: "vtpsims" } , { c: "celwidget" } , { id: "fallbacksessionShvl" } , { id: "rhf" } , { id: "unifiedLocationPopoverSelections" } , { c: "feature" }

(function(a){var b=document.ue_backdetect;b&&b.ue_back&&a.ue&&(a.ue.bfini=b.ue_back.value);a.uet&&a.uet("be");a.onLdEnd&&(window.addEventListener?window.addEventListener("load",a.onLdEnd,!1):window.attachEvent&&window.attachEvent("onload",a.onLdEnd));a.ueh&&a.ueh(0,window,"load",a.onLd,1);a.ue&&a.ue.tag&&(a.ue_furl&&a.ue_furl.split?(b=a.ue_furl.split("."))&&b[0]&&a.ue.tag(b[0]):a.ue.tag("nofls"))})(ue_csm);

var ue_pty='Detail', ue_spty='Glance', ue_pti='0321514521';



Textbooks,Computer Science,Software Design & Engineering,Computers & Technology,Programming,Software Design, Testing & Engineering,Software Development,Programming Languages

 PDF Download And Online Read: Agile Adoption Patterns: A Roadmap to Organizational Success



Comment List (Total:14)

  •     Elssamadisy's book is in tough, tough company. How can you compete in the same space as amazing works like Subramaniam and Hunt'sPractices of an Agile Developeror Shore and Warden'sThe Art of Agile Development? Those are tough, tough classics to go against when trying to explain how teams/companies should adopt agile practices.Amr pulls it off by organizing his material in a fresh form which I found very useful. He hits many of the same points as other works on Agile (smells, process, team empowerment, practices, etc.), but emphasizes the business value of each point. For example, his chapter on User Story lays out the case that user stories are simple documents in their initial draft. The value comes from developers having conversations to flesh out the details and implementation of the story. Product utility is improved, and development costs are reduced.This same approach is carried on throughout the book, making it very clear what specific benefits you can find from each practice. Additionally, each practice or chapter follows a nice recipe-like format. Start off with business value, move on to a sketch describing the practice, follow up with context of the practice and forces impacting it, then look to why you'd want the particular practice, adoption details, and a bit on the practice's cons and variations.The book starts out with a high-level overview of agile, then moves on to specific patterns/practices. Each pattern is a short, separate chapter with about 40 patterns in total. The style of the book is clear, concise, and it's nicely produced.Another great point about the book is Elssamadisy's ongoing assertion that you don't need to adopt all of the practices. Rather, find the pain points you have in your environment and look to implement only the patterns which will ease that pain. This pragmatic approach to agile adoption is a refreshing view in a world where some Agile fanatics insist you must adopt every single practice or you're not doing Agile. (A fanaticism I emphatically disagree with.)Overall I think it's a solid addition to the Agile section of your bookshelf. It's not a replacement for things like Subramaniam's or Shore's works; it's a solid addition to them.
  •     This book has some great information and insights that will help management with agile adoption. From strategy to implementing scrum. His idea of 'smells' made me aware of certain issues in the sense that I now recognize it as a smell and start thinking about what the root cause is, for instance: lets build this as this feature already in case we need it in the future... one hat pops up every time because the change process is too expensive and our software complex... when you recognize the smell you can start tackling the root cause.
  •     A very practical book. It will prove to be a useful reference book as well.
  •     This is an entirely useful and completely practical guide to essential Agile practices from author Amr Elssamadisy.Amr is a personal friend. But wait...keep reading.
  •     Amazon says kindle previews are supposed to be the first chapter, yet this book doesnt even get half way through the foward. it is all TOC and praise.
  •     Proven patterns for succeeding with Agile in an organization are presented in a series of case studies and hands-on exercises in Agile Adoption Patterns: a Roadmap to...
  •     I picked this book up about a month ago before kicking off a critical assessment project and it's paid for itself many times over.
  •     Well written and practical way to introduce agile to organizations based on business value. I love the diagrams that list business values (time to market, quality to market,...
  •     This book is excellent to get the bigger picture of what agile development is. It is based on some of the classics of Agile books and studies together with real case studies.The only reason for a 4 and not a 5 star rating is that some new things were added and some things are no longer the most common best practice. With all this said 99% of it is valid and stood the test of time so far. Having all these practices summarized in one book is priceless. From here you can start implementing while taking deep dives into the things that you are missing the most.
  •     Agile adoption is not a technical problem - it's about people, organizations, processes, and group and individual psychology.
  •     A very well written book, focusing on the business value. It appeals to all the members of the agile and "wanna be agile" communities!
  •     Really good book with a lot of techniques I can use at my day-to-day work. Good choice for everyone who already knows agile project management methodologies and would like to improve its toolbox.
  •     There are many books about the theories and practices that are encompassed in the word "agile". Quite a number of them are quite good in terms of addressing the specific practices and how to implement them. It you want to learn Scrum or XP, there is no shortage of books and how-to materials, along with plenty of advice.This book, however, addresses the goal of agile adoption from a new perspective - patterns of behavior and thought, and how to specifically leverage and/or address them. It addresses this from the organizational/team perspective, rather than the individual perspective, which makes it particularly valuable for those of us who are working in an organizational transformation/agile adoption environment.While it might seem that "patterns" would appeal to the techies in its audience, my experience is that Amr has managed to frame his work in terms and concepts that are readily understood by all. This book is readily digestible by non-technical managers and staff, as well as by those of us who have spent/currently spend our time in a technology environment. It is not necessary to understand what design patterns are, for instance, to understand the patterns in this book.For those who are either anticipating agile adoption or actively engaged in it, or even those who are struggling with what seems to be a failed adoption, this book is required reading. The way in which the patterns are presented, the clear and pragmatic exercises described to help work through them, and the suggestions for ways to approach it all are just what's needed.Real world, pragmatic, easy to read, and easy to digest - that's what this book is all about.It will be on my desk and heavily thumbed in short order.
  •     If you understand Agile and your team adopts all the practices with success overnight, then this book is not for you. If like the rest of us you have an understanding of Agile, but need some help to go beyond a few superficial practices, then buy the book and use it!Amr starts with the fundamentals of Agile, from its deep roots in team dynamics and individual attitudes, and then guide you towards building a strategy for Agile adoption - not a generic strategy, but one that is adequate for your team and your objectives. Once the strategy is defined, we can put the Agile patterns to good use, one at a time, in good order, while minding the impacts, consequences and pitfalls.This was exactly the book I was looking for. For my longer review, please refer to: [...]

Relation Books


Legal Theory & Systems,Cooking Methods,Physics,Dentistry,Other Team Sports,Infantil y juvenil,Cars, Trains & Things That Go,Christian Denominations & Sects Book,。 FreeBook 

FreeBook @ 2018