For those considering Extreme Programming, this book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience. While plenty of books address the what and why of agile development, very few offer the information users can apply directly.
"In this book, we've collected the personal habits, ideas, and approaches of successful agile software developers and compiled them in a series of short, easy-to-digest tips. For each practice, we expose the evil demon's whisperings - the temptations or shortcuts he's trying to get you to take. And then we explain the agile practices that act as a guardian angel to protect your project and your career."--BOOK JACKET.
Author: Dean Leffingwell
Publisher: Addison-Wesley Professional
Release Date: 2010-12-27
“We need better approaches to understanding and managing software requirements, and Dean provides them in this book. He draws ideas from three very useful intellectual pools: classical management practices, Agile methods, and lean product development. By combining the strengths of these three approaches, he has produced something that works better than any one in isolation.” –From the Foreword by Don Reinertsen, President of Reinertsen & Associates; author of Managing the Design Factory; and leading expert on rapid product development Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments. Part I presents the “big picture” of Agile requirements in the enterprise, and describes an overall process model for Agile requirements at the project team, program, and portfolio levels Part II describes a simple and lightweight, yet comprehensive model that Agile project teams can use to manage requirements Part III shows how to develop Agile requirements for complex systems that require the cooperation of multiple teams Part IV guides enterprises in developing Agile requirements for ever-larger “systems of systems,” application suites, and product portfolios This book will help you leverage the benefits of Agile without sacrificing the value of effective requirements discovery and analysis. You’ll find proven solutions you can apply right now–whether you’re a software developer or tester, executive, project/program manager, architect, or team leader.
This book aims to give you a head start by providing a detailed down-to-earth account of how one Swedish company implemented Scrum and XP with a team of approximately 40 people and how they continuously improved their process over a year's time. Under the leadership of Henrik Kniberg they experimented with different team sizes, different sprint lengths, different ways of defining "done," different formats for product backlogs and sprint backlogs, different testing strategies, different ways of doing demos, different ways of synchronizing multiple Scrum teams, etc. They also experimented with XP practices - different ways of doing continuous build, pair programming, test driven development, etc, and how to combine this with Scrum. This second edition is an annotated version, a "director's cut" where Henrik reflects upon the content and shares new insights gained since the first version of the book.
Presents a process called "prefactoring," the premise of which states that you're better off considering the best possible design patterns before you even begin your projects. This book presents prefactoring guidelines in design, code, and testing, derived from lessons learned by many developers over the years.
Author: Robert C. Martin
Publisher: Pearson Education
Release Date: 2006-07-20
With the award-winning book Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, Agile Principles, Patterns, and Practices in C#. This book presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. The introductory chapters lay out the basics of the agile movement, while the later chapters show proven techniques in action. The book includes many source code examples that are also available for download from the authors’ Web site. Readers will come away from this book understanding Agile principles, and the fourteen practices of Extreme Programming Spiking, splitting, velocity, and planning iterations and releases Test-driven development, test-first design, and acceptance testing Refactoring with unit testing Pair programming Agile design and design smells The five types of UML diagrams and how to use them effectively Object-oriented package design and design patterns How to put all of it together for a real-world project Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, Agile Principles, Patterns, and Practices in C# is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.
Author: Scott W. Ambler
Publisher: IBM Press
Release Date: 2012-05-31
Master IBM’s Breakthrough DAD Process Framework for Succeeding with Agile in Large, Complex, Mission-Critical IT Projects It is widely recognized that moving from traditional to agile approaches to build software solutions is a critical source of competitive advantage. Mainstream agile approaches that are indeed suitable for small projects require significant tailoring for larger, complex enterprise projects. In Disciplined Agile Delivery, Scott W. Ambler and Mark Lines introduce IBM’s breakthrough Disciplined Agile Delivery (DAD) process framework, which describes how to do this tailoring. DAD applies a more disciplined approach to agile development by acknowledging and dealing with the realities and complexities of a portfolio of interdependent program initiatives. Ambler and Lines show how to extend Scrum with supplementary agile and lean strategies from Agile Modeling (AM), Extreme Programming (XP), Kanban, Unified Process (UP), and other proven methods to provide a hybrid approach that is adaptable to your organization’s unique needs. They candidly describe what practices work best, why they work, what the trade-offs are, and when to consider alternatives, all within the context of your situation. Disciplined Agile Delivery addresses agile practices across the entire lifecycle, from requirements, architecture, and development to delivery and governance. The authors show how these best-practice techniques fit together in an end-to-end process for successfully delivering large, complex systems--from project initiation through delivery. Coverage includes Scaling agile for mission-critical enterprise endeavors Avoiding mistakes that drive poorly run agile projects to chaos Effectively initiating an agile project Transitioning as an individual to agile Incrementally building consumable solutions Deploying agile solutions into complex production environments Leveraging DevOps, architecture, and other enterprise disciplines Adapting your governance strategy for agile projects Based on facts, research, and extensive experience, this book will be an indispensable resource for every enterprise software leader and practitioner--whether they’re seeking to optimize their existing agile/Scrum process or improve the agility of an iterative process.
You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.
Author: Ken Schwaber
Publisher: Microsoft Press
Release Date: 2004-02-11
The rules and practices for Scrum—a simple process for managing complex projects—are few, straightforward, and easy to learn. But Scrum’s simplicity itself—its lack of prescription—can be disarming, and new practitioners often find themselves reverting to old project management habits and tools and yielding lesser results. In this illuminating series of case studies, Scrum co-creator and evangelist Ken Schwaber identifies the real-world lessons—the successes and failures—culled from his years of experience coaching companies in agile project management. Through them, you’ll understand how to use Scrum to solve complex problems and drive better results—delivering more valuable software faster. Gain the foundation in Scrum theory—and practice—you need to: Rein in even the most complex, unwieldy projects Effectively manage unknown or changing product requirements Simplify the chain of command with self-managing development teams Receive clearer specifications—and feedback—from customers Greatly reduce project planning time and required tools Build—and release—products in 30-day cycles so clients get deliverables earlier Avoid missteps by regularly inspecting, reporting on, and fine-tuning projects Support multiple teams working on a large-scale project from many geographic locations Maximize return on investment!
A pragmatic companion guide to your Agile journey Key Features Make your team Agile by implementing industry-standard Agile techniques Assess scope, scale up efficiently Create the correct roles and identify the right candidates for your team Finish your projects faster and stay ahead of the curve Book Description This book will help you overcome the common challenges you’ll face when transforming your working practices from waterfall to Agile. Each chapter builds on the last, starting with easy-to-grasp ways to get going with Agile. Next you’ll see how to choose the right Agile framework for your organization. Moving on, you’ll implement systematic product delivery and measure and report progress with visualization. Then you’ll learn how to create high performing teams, develop people in Agile, manage in Agile, and perform distributed Agile and collaborative governance. At the end of the book, you’ll discover how Agile will help your company progressively deliver software to customers, increase customer satisfaction, and improve the level of efficiency in software development teams. What you will learn Create a solid foundation that gives your team an Agile jumpstart Understand how to select and evolve practices to increase your team’s agility Use experiments to accelerate your team’s understanding Fine-tune your approach by incorporating aspects of Lean and Lean Startup Know how to foster an environment of continuous improvement and learning that will become self-sustaining Who this book is for If you’re a software developer or a project manager with little to no experience of Agile, but you want to efficiently implement it, this is the book for you.
• •The latest teachings from noted software development expert Craig Larman •Provides managers and practitioners alike with a summary of the key ideas of agile development, and evidence for its value •Details the four most important iterative methods: Extreme Programming, Scrum, the Rational Unified Process, and Evo
“Companies have been implementing large agile projects for a number of years, but the ‘stigma’ of ‘agile only works for small projects’ continues to be a frequent barrier for newcomers and a rallying cry for agile critics. What has been missing from the agile literature is a solid, practical book on the specifics of developing large projects in an agile way. Dean Leffingwell’s book Scaling Software Agility fills this gap admirably. It offers a practical guide to large project issues such as architecture, requirements development, multi-level release planning, and team organization. Leffingwell’s book is a necessary guide for large projects and large organizations making the transition to agile development.” —Jim Highsmith, director, Agile Practice, Cutter Consortium, author of Agile Project Management “There’s tension between building software fast and delivering software that lasts, between being ultra-responsive to changes in the market and maintaining a degree of stability. In his latest work, Scaling Software Agility, Dean Leffingwell shows how to achieve a pragmatic balance among these forces. Leffingwell’s observations of the problem, his advice on the solution, and his description of the resulting best practices come from experience: he’s been there, done that, and has seen what’s worked.” —Grady Booch, IBM Fellow Agile development practices, while still controversial in some circles, offer undeniable benefits: faster time to market, better responsiveness to changing customer requirements, and higher quality. However, agile practices have been defined and recommended primarily to small teams. In Scaling Software Agility, Dean Leffingwell describes how agile methods can be applied to enterprise-class development. Part I provides an overview of the most common and effective agile methods. Part II describes seven best practices of agility that natively scale to the enterprise level. Part III describes an additional set of seven organizational capabilities that companies can master to achieve the full benefits of software agility on an enterprise scale. This book is invaluable to software developers, testers and QA personnel, managers and team leads, as well as to executives of software organizations whose objective is to increase the quality and productivity of the software development process but who are faced with all the challenges of developing software on an enterprise scale.
Don't just 'survive' the move to agile: thrive! Discover 42 infinitely practical tips for succeeding with agile, right from the start! * *Paves the road to success with a clear plan for creating and releasing software. *Works with any agile methodology, from XP to Scrum. *Practical, actionable, concrete tips for senior managers, program/project managers, developers, and product owners. *Eliminates 'buyer's remorse' associated with bumpy agile transitions, helping teams quickly build confidence and get results. Adopting agile looks easy - on paper! In reality, though, new agile teams encounter many unforeseen challenges. Some lose confidence in their ability to succeed; others muddle through, struggling to solve problems that others have already solved many times over. In this book Mitch Lacey brings together those solutions, helping new agile developers learn from others' experience quickly and painlessly. This engaging, realistic book systematically removes the pain of agile adoption, and breaks down the barriers to rapid success. The Scrum Field Guide is organized into 42 bite-size, practical tips - each supported with highly relevant real-world examples and case studies. Lacey presents a section of tips that apply to everyone on the agile team, from leaders to customers. Next, he offers sections specific to each role - including tips for management, program/project managers, team members, and product owners. Lacey answers the questions new agile adopters ask most often - including 'can I modify standard agile processes and still be agile?' and 'how on Earth can we release software within a short timeframe if we can't even do it in a long timeframe?' Along the way, he presents proven solutions for a wide variety of common problems - from prioritizing requirements to building release plans, creating workable software iterations to getting buy-in from skeptical executives.
Author: Robert C. Martin
Publisher: Pearson Education
Release Date: 2009
Looks at the principles and clean code, includes case studies showcasing the practices of writing clean code, and contains a list of heuristics and "smells" accumulated from the process of writing clean code.