December 23, 2008

Agile Testing: A Practical Guide for Testers and Agile Teams


Product Description
“As Agile methods have entered the mainstream, we’ve learned a lot about how the testing discipline fits into Agile projects. Lisa and Janet give us a solid look at what to do, and what to avoid, in Agile testing.”
—Ron Jeffries, www.XProgramming.com

“An excellent introduction to agile and how it affects the software test community!”
—Gerard Meszaros, Agile Practice Lead and Chief Test Strategist at Solution Frameworks, Inc., an agile coaching and lean software development consultancy

“In sports and music, people know the importance of practicing technique until it becomes a part of the way they do things. This book is about some of the most fundamental techniques in software development—how to build quality into code—techniques that should become second nature to every development team. The book provides both broad and in-depth coverage of how to move testing to the front of the development process, along with a liberal sprinkling of real-life examples that bring the book to life.”
—Mary Poppendieck, Author of Lean Software Development and Implementing Lean Software Development

“Refreshingly pragmatic. Chock-full of wisdom. Absent of dogma. This book is a gamechanger. Every software professional should read it.”
—Uncle Bob Martin, Object Mentor, Inc.

“With Agile Testing, Lisa and Janet have used their holistic sensibility of testing to describe a culture shift for testers and teams willing to elevate their test effectiveness. The combination of real-life project experiences and specific techniques provide an excellent way to learn and adapt to continually changing project needs.”
—Adam Geras, M.Sc. Developer-Tester, Ideaca Knowledge Services

“On Agile projects, everyone seems to ask, ‘But, what about testing?’ Is it the development team’s responsibility entirely, the testing team, or a collaborative effort between developers and testers? Or, ‘How much testing should we automate?’ Lisa and Janet have written a book that finally answers these types of questions and more! Whether you’re a tester, developer, or manager, you’ll learn many great examples and stories from the real-world work experiences they’ve shared in this excellent book.”
—Paul Duvall, CTO of Stelligent and co-author of Continuous Integration: Improving Software Quality and Reducing Risk

“Finally a book for testers on Agile teams that acknowledges there is not just one right way! Agile Testing provides comprehensive coverage of the issues testers face when they move to Agile: from tools and metrics to roles and process. Illustrated with numerous stories and examples from many contributors, it gives a clear picture of what successful Agile testers are doing today.”
—Bret Pettichord, Chief Technical Officer of WatirCraft and Lead Developer of Watir


Testing is a key component of agile development. The widespread adoption of agile methods has brought the need for effective testing into the limelight, and agile projects have transformed the role of testers. Much of a tester’s function, however, remains largely misunderstood. What is the true role of a tester? Do agile teams actually need members with QA backgrounds? What does it really mean to be an “agile tester?” 

Two of the industry’s most experienced agile testing practitioners and consultants, Lisa Crispin and Janet Gregory, have teamed up to bring you the definitive answers to these questions and many others. InAgile Testing, Crispin and Gregory define agile testing and illustrate the tester’s role with examples from real agile teams. They teach you how to use the agile testing quadrants to identify what testing is needed, who should do it, and what tools might help. The book chronicles an agile software development iteration from the viewpoint of a tester and explains the seven key success factors 
of agile testing.

Readers will come away from this book understanding
  • How to get testers engaged in agile development
  • Where testers and QA managers fit on an agile team
  • What to look for when hiring an agile tester
  • How to transition from a traditional cycle to agile development
  • How to complete testing activities in short iterations
  • How to use tests to successfully guide development
  • How to overcome barriers to test automation
This book is a must for agile testers, agile teams, their managers, and their customers.



About the Author
Lisa Crispin is dedicated to helping agile teams and testers discover good ways to deliver the best possible product. She specializes in showing testers and agile teams how testers can add value and how to guide development with business-facing tests. Since 2003, she’s been a tester on a Scrum/XP team at ePlan Services, Inc., and frequently leads tutorials and workshops on agile testing at conferences. Lisa regularly contributes articles about agile testing to publications such as Better Software magazine, IEEE Software, and Methods and Tools. Lisa also coauthored Testing Extreme Programming (Addison-Wesley, 2002) with Tip House.

Janet Gregory is the founder of DragonFire, Inc., an agile quality process consultancy and training firm. Her passion is helping teams build quality systems. Since 1998, she has worked as a coach and tester introducing agile practices into both large and small companies. Her focus is working with business users and testers to understand their role in agile projects. Janet is a frequent speaker at agile and testing software conferences, and she is a major contributor to the North American agile testing community.

December 22, 2008

Agile Documentation: A Pattern Guide to Producing Lightweight Documents for Software Projects


Review
A"A...many (Test Documents) would benefit from this treatmentA...A" (Professional Tester, October 03) "...applicable to documentation for any project...highly recommended..." (CVu, Vol 16(4), August 2004)

many (Test Documents) would benefit from this treatment (Professional Tester, October 03)

"...applicable to documentation for any project...highly recommended..." (CVu, Vol 16(4), August 2004) 

Product Description
Documentation is the castor oil of programming. Managers think it is good for programmers, and programmers hate it! Jerry Weinberg in Psychology of Computer Programming

Andreas RĂ¼ping sugars the pill by giving sound advice on how to produce lean and lightweight software documentation. It will be welcomed by all project team members who want to cut out the fat from this time consuming task. Guidance given in pattern form, easily digested and cross-referenced, provides solutions to common problems. Straightforward advice will help you to judge:

  • What details should be left in and what left out
  • When communication face-to-face would be better than paper or online
  • How to adapt the documentation process to the requirements of individual projects and build in change
  • How to organise documents and make them easily accessible
  • When to use diagrams rather than text
  • How to choose the right tools and techniques
  • How documentation impacts the customer

Better than offering pat answers or prescriptions, this book will help you to understand the elements and processes that can be found repeatedly in good project documentation and which can be shaped and designed to address your individual circumstance. The author uses real-world examples and utilises agile principles to provide an accessible, practical pattern-based guide which shows how to produce necessary and high quality documentation. 



December 21, 2008

Agile Software Development


Product Description
Lightweight methodologies are exploding in popularity because their flexibility is ideal for today's fast-changing development environments. In Agile Software Development, legendary software expert Alistair Cockburn reviews the advantages and disadvantages of lightweight methods, synthesizing the field's key lessons into a simplified approach that allows developers to focus on building quality software rapidly, cost-effectively, and without burnout. Ideal for managers seeking to transcend yesterday's failed approaches, the agile movement views software development as a cooperative game. As players move throughout the game, they use markers and props to inform, remind, and inspire themselves and each other. The goal of the game: to deliver a working software system -- and to use the lessons of each project to build a new, smarter "game" for the next project. For every IT executive and manager, software developer, team leader, team member, and client concerned with building robust, cost-effective software. 

From the Back Cover

"Coming of age for software developers means understanding that software is a cooperative effort, not something individuals do in isolation. This is a book that teams of software developers can thrive upon, full of sensible advice for a cooperative development approach."

--Tom DeMarco, The Atlantic Systems Guild

Software development paradigms are shifting. The development group's "team" ability, and the effects of the individual developer, become more important as organizations recognize that the traditional approach of increasing process pressure and overworking team members is not meeting getting the job done. The pioneers of Agile methodologies question the preconceived processes within which development teams work. Rather than adding to the burden of the individual developer, Agile asks "how can we change the process so that the team is more productive, while also improving quality?" The answer is in learning to play the "game."

Written for developers and project managers, Agile Software Development compares software development to a game. Team members play the game knowing that the ultimate goal is to win--always remembering what they have learned along the way, and always keeping in mind that they will never play the same way twice. Players must keep an open mind to different methodologies, and focus on the goal of developing quality software in a short cycle time.

Based on a decade's work and research, and interviews with software project teams, this book presents sound advice for bringing difficult projects to successful conclusion with a minimum of stress. It includes advice on:

  • The principals behind agile methodologies
  • Which methodologies fit different projects--including appendixes to select the appropriate methodology on a project
  • New vocabulary for describing methodologies
  • Just-in-time methodology tuning
  • Managing the incompleteness of communication
  • Continuous methodology reinvention
  • The manifesto for agile software development

Today's software developers need to recognize that they have a number of methodologies to choose from. With this book as a guide, they can break free of nonproductive habits, move beyond old routines, and clear a new path to success.

December 20, 2008

Agile Modeling: Effective Practices for Extreme Programming and the Unified Process


Review
"...I would not hesitate in recommending this book..." (CVu, October 2004) "...easy--to--follow...enjoyable writing style...overall the book is impressive...valuable reading..." (Software Testing, Verification & Reliability, March 2003)

“…I would not hesitate in recommending this book…” (CVu, October 2004)

“…easy-to-follow…enjoyable writing style…overall the book is impressive…valuable reading…” (Software Testing, Verification & Reliability, March 2003)

...easy-to-follow; enjoyable writing style; overall the book is impressive; valuable reading... -- Software Testing, Verification & Reliability, March 2003 

Product Description
The first book to cover Agile Modeling, a new modeling technique created specifically for XP projects eXtreme Programming (XP) has created a buzz in the software development community-much like Design Patterns did several years ago. Although XP presents a methodology for faster software development, many developers find that XP does not allow for modeling time, which is critical to ensure that a project meets its proposed requirements. They have also found that standard modeling techniques that use the Unified Modeling Language (UML) often do not work with this methodology. In this innovative book, Software Development columnist Scott Ambler presents Agile Modeling (AM)-a technique that he created for modeling XP projects using pieces of the UML and Rational's Unified Process (RUP). Ambler clearly explains AM, and shows readers how to incorporate AM, UML, and RUP into their development projects with the help of numerous case studies integrated throughout the book. 

December 19, 2008

Agile Web Development with Rails


Review
"It's early days for the language so it's no surprise there's only a handful of books out there. Yet it's hard to see why you would need anything more than Agile Web Development with Rails. Programming books, in particular, rarely seem to answer queries straight away, but this one tackles the myths surrounding Rails straight off, and in plain English. But don't panic, it's not a Dummies guide - it will teach you how to use Rails to eliminate tedious web app configuration and, crucially, how to integrate it into AJAX." .NET, December 2005 --This text refers to an out of print or unavailable edition of this title. 

Product Description
The definitive, Jolt-award winning guide to learning and using Rails is now in its Second Edition. Rails is a new approach to web-based application development that enables developers to create full-featured, sophisticated web-based applications using less code and less effort. Now programmers can get the job done right and still leave work on time.

NEW IN THE SECOND EDITION: The book has been updated to take advantage of all the new Rails 1.2 features. The sample application uses migrations, Ajax, features a REST interface, and illustrates new Rails features. There are new chapters on migrations, active support, active record, and action controller (including the new resources-based routing). The Web 2.0 and Deployment chapters have been completely rewritten to reflect the latest thinking. Now you can learn which environments are best for your style application, and see how Capistrano makes managing your site simple. All the remaining chapters have been extensively updated. Finally, hundreds of comments from readers of the first edition have been incorporated, making this book simply the best available.

Rails is a full-stack, open source web framework that enables you to create full-featured, sophisticated web-based applications with a twist...you can create a full Rails application using less code than the setup XML you'd need just to configure some other frameworks.

With this book, you'll learn how to use Rails Active Record to connect business objects and database tables. No more painful object-relational mapping. Just create your business objects and let Rails do the rest. You'll learn how to use the Action Pack framework to route incoming requests and render pages using easy-to-write templates and components. See how to exploit the Rails service frameworks to send emails, talk to web services, and interact dynamically with JavaScript applications running in the browser (the "Ajax" architecture).

You'll see how easy it is to deploy Rails. You'll be writing applications that work with your favorite database (MySQL, Oracle, Postgres, and more) in no time at all. 

December 18, 2008

The Software Project Manager's Bridge to Agility


Product Description

When software development teams move to agile methods, experienced project managers often struggle—doubtful about the new approach and uncertain about their new roles and responsibilities. In this book, two long-time certified Project Management Professionals (PMPRs) and Scrum trainers have built a bridge to this dynamic new paradigm. They show experienced project managers how to successfully transition to agile by refocusing on facilitation and collaboration, not “command and control.”

 

The authors begin by explaining how agile works: how it differs from traditional “plan-driven” methodologies, the benefits it promises, and the real-world results it delivers. Next, they systematically map the Project Management Institute’s classic, methodology-independent techniques and terminology to agile practices. They cover both process and project lifecycles and carefully address vital issues ranging from scope and time to cost management and stakeholder communication. Finally, drawing on their own extensive personal experience, they put a human face on your personal transition to agile--covering the emotional challenges, personal values, and key leadership traits you’ll need to succeed.

 

Coverage includes

  • Relating the PMBOKR Guide ideals to agile practices: similarities, overlaps, and differences
  • Understanding the role and value of agile techniques such as iteration/release planning and retrospectives
  • Using agile techniques to systematically and continually reduce risk
  • Implementing quality assurance (QA) where it belongs: in analysis, design, defect prevention, and continuous improvement
  • Learning to trust your teams and listen for their discoveries
  • Procuring, purchasing, and contracting for software in agile, collaborative environments
  • Avoiding the common mistakes software teams make in transitioning to agile
  • Coordinating with project management offices and non-agile teams
  • “Selling” agile within your teams and throughout your organization

For every project manager who wants to become more agile.

 

Part I    An Agile Overview 7

Chapter 1    What is "Agile"? 9

Chapter 2    Mapping from the PMBOKR Guide to Agile 25

Chapter 3    The Agile Project Lifecycle in Detail 37

Part II    The Bridge: Relating PMBOKR Guide Practices to Agile Practices 49

Chapter 4    Integration Management 51

Chapter 5    Scope Management 67

Chapter 6    Time Management 83

Chapter 7    Cost Management 111

Chapter 8    Quality Management 129

Chapter 9    Human Resources Management 143

Chapter 10    Communications Management 159

Chapter 11    Risk Management 177

Chapter 12    Procurement Management 197

Part III    Crossing the Bridge to Agile 215

Chapter 13    How Will My Responsibilities Change? 217

Chapter 14    How Will I Work with Other Teams Who Aren't Agile? 233

Chapter 15    How Can a Project Management Office Support Agile? 249

Chapter 16    Selling the Benefits of Agile 265

Chapter 17    Common Mistakes 285

Appendix A    Agile Methodologies 295

Appendix B    Agile Artifacts 301

Glossary 321

Bibliography 327

Index 333



About the Author


Michele Sliger has extensive experience in agile software development, having transitioned to Scrum and XP practices in 2000 after starting her career following the traditional waterfall approach. A self-described “bridge builder,” her passion lies in helping those in traditional software development environments cross the bridge to agility. Michele is the owner of Sliger Consulting Inc., where she consults with businesses ranging from small startups to Fortune 500 companies, helping teams with their agile adoption, and helping organizations prepare for the changes that agile adoption brings. A frequent conference speaker and regular contributor to software industry publications, Michele is a strong advocate of agile principles and value-driven development practices. She is a certified Project Management Professional (PMPR) and a Certified Scrum Trainer (CST). She has an undergraduate MIS degree and an MBA. When not working, Michele volunteers as a grief facilitator for teens at Judi’s House, a nonprofit dedicated to helping children learn how to cope with the loss of a loved one.


Stacia Broderick has worked as a project manager for fifteen years, the last eight in software development. She was fortunate to be helped across the bridge under the mentorship of Ken Schwaber while working for Primavera Systems in 2003 and ever since has helped hundreds of teams the world over embrace the principles of and transition to an agile way of creating products. Stacia founded her company, AgileEvolution, Inc., in 2006 based on the belief that agile practices present a humane, logical way for teams and companies to deliver products. Stacia is a Certified Scrum Trainer as well as a PMPR, a mix that proves valuable when assisting organizations’ transition from traditional to modern practices. Stacia enjoys running, playing classical violin, and spending time with her family.

December 17, 2008

Lean Software Development



Product Description
Lean Software Development: An Agile Toolkit Mary Poppendieck Tom Poppendieck Forewords by Jim Highsmithand Ken Schwaber *Adapting agile practices to your development organization *Uncovering and eradicating waste throughout the software development lifecycle *Practical techniques for every development manager, project manager, and technical leaderLean Software Development: An Agile Toolkit Lean software development: applying agile principles to your organization In Lean Software Development, Mary and Tom Poppendieck identify seven fundamental "lean" principles, adapt them for the world of software development, and show how they can serve as the foundation for agile development approaches that work. Along the way, they introduce 22 "thinking tools" that can help you customize the right agile practices for any environment. Better, cheaper, faster software development. You can have all three--if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development. *Iterating towards excellence: software development as an exercise in discovery *Managing uncertainty: "decide as late as possible" by building change into the system.*Compressing the value stream: rapid development, feedback, and improvement *Empowering teams and individuals without compromising coordination *Software with integrity: promoting coherence, usability, fitness, maintainability, and adaptability *How to "see the whole"--even when your developers are scattered across multiple locations and contractors Simply put, Lean Software Development helps you refocus development on value, flow, and people--so you can achieve breakthrough quality, savings, speed, and business alignment. 

From the Back Cover
Lean Software Development: An Agile Toolkit

Mary Poppendieck Tom Poppendieck

Forewords by Jim Highsmithand Ken Schwaber

  • Adapting agile practices to your development organization
  • Uncovering and eradicating waste throughout the software development lifecycle
  • Practical techniques for every development manager, project manager, and technical leader
Lean Software Development: An Agile Toolkit

Lean software development: applying agile principles to your organization

In Lean Software Development, Mary and Tom Poppendieck identify seven fundamental "lean" principles, adapt them for the world of software development, and show how they can serve as the foundation for agile development approaches that work. Along the way, they introduce 22 "thinking tools" that can help you customize the right agile practices for any environment.

Better, cheaper, faster software development. You can have all three—if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development.

  • Iterating towards excellence: software development as an exercise in discovery
  • Managing uncertainty: "decide as late as possible" by building change into the system.
  • Compressing the value stream: rapid development, feedback, and improvement
  • Empowering teams and individuals without compromising coordination
  • Software with integrity: promoting coherence, usability, fitness, maintainability, and adaptability
  • How to "see the whole"—even when your developers are scattered across multiple locations and contractors

Simply put, Lean Software Development helps you refocus development on value, flow, and people—so you can achieve breakthrough quality, savings, speed, and business alignment.

December 16, 2008

User Stories Applied


Product Description
The concept of user stories has its roots as one of the main tenets of Extreme Programming. In simple terms, user stories represent an effective means of gathering requirements from the customer (roughly akin to use cases). This book describes user stories and demonstrates how they can be used to properly plan, manage, and test software development projects. The book highlights both successful and unsuccessful implementations of the concept, and provides sets of questions and exercises that drive home its main points. After absorbing the lessons in this book, readers will be able to introduce user stories in their organizations as an effective means of determining precisely what is required of a software application. 

From the Back Cover

Agile requirements: discovering what your users really want. With this book, you will learn to:

  • Flexible, quick and practical requirements that work
  • Save time and develop better software that meets users' needs
  • Gathering user stories -- even when you can't talk to users
  • How user stories work, and how they differ from use cases, scenarios, and traditional requirements
  • Leveraging user stories as part of planning, scheduling, estimating, and testing
  • Ideal for Extreme Programming, Scrum, or any other agile methodology
----------------------------------------------------------------------------------------------------------

Thoroughly reviewed and eagerly anticipated by the agile community, User Stories Applied offers a requirements process that saves time, eliminates rework, and leads directly to better software.

The best way to build software that meets users' needs is to begin with "user stories": simple, clear, brief descriptions of functionality that will be valuable to real users. In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle.

You'll learn what makes a great user story, and what makes a bad one. You'll discover practical ways to gather user stories, even when you can't speak with your users. Then, once you've compiled your user stories, Cohn shows how to organize them, prioritize them, and use them for planning, management, and testing.

  • User role modeling: understanding what users have in common, and where they differ
  • Gathering stories: user interviewing, questionnaires, observation, and workshops
  • Working with managers, trainers, salespeople and other "proxies"
  • Writing user stories for acceptance testing
  • Using stories to prioritize, set schedules, and estimate release costs
  • Includes end-of-chapter practice questions and exercises

User Stories Applied will be invaluable to every software developer, tester, analyst, and manager working with any agile method: XP, Scrum... or even your own home-grown approach. 


December 15, 2008

Agile Estimating and Planning


From the Back Cover

Praise for Agile Estimating and Planning

"Traditional, deterministic approaches to planning and estimating simply don't cut it on the slippery slopes of today's dynamic, change-driven projects. Mike Cohn's breakthrough book gives us not only the philosophy, but also the guidelines and a proven set of tools that we need to succeed in planning, estimating, and scheduling projects with a high uncertainty factor. At the same time, the author never loses sight of the need to deliver business value to the customer each step of the way."

—Doug DeCarlo, author of eXtreme Project Management: Using Leadership, Principles and Tools to Deliver Value in the Face of Volatility (Jossey-Bass, 2004)

"We know how to build predictive plans and manage them. But building plans that only estimate the future and then embrace change, challenge most of our training and skills. In Agile Estimating and Planning, Mike Cohn once again fills a hole in the Agile practices, this time by showing us a workable approach to Agile estimating and planning. Mike delves into the nooks and crannies of the subject and anticipates many of the questions and nuances of this topic. Students of Agile processes will recognize that this book is truly about agility, bridging many of the practices between Scrum and ExtremeProgramming."

—Ken Schwaber, Scrum evangelist, Agile Alliance cofounder, and signatory to the Agile Manifesto

"In Agile Estimating and Planning, Mike Cohn has, for the first time, brought together most everything that the Agile community has learned about the subject. The book is clear, well organized, and a pleasant and valuable read. It goes into all the necessary detail, and at the same time keeps the reader's burden low. We can dig in as deeply as we need to, without too much detail before we need it. The book really brings together everything we have learned about Agile estimation and planning over the past decade. It will serve its readers well."

—Ron Jeffries, www.XProgramming.com, author of Extreme Programming Installed (Addison-Wesley, 2001) and Extreme Programming Adventures in C# (Microsoft Press, 2004)

"Agile Estimating and Planning provides a view of planning that's balanced between theory and practice, and it is supported by enough concrete experiences to lend it credibility. I particularly like the quote 'planning is a quest for value.' It points to a new, more positive attitude toward planning that goes beyond the 'necessary evil' view that I sometimes hold."

—Kent Beck, author of Extreme Programming Explained, Second Edition (Addison-Wesley, 2005)

"Up-front planning is still the most critical part of software development. Agile software development requires Agile planning techniques. This book shows you how to employ Agile planning in a succinct, practical, and easy-to-follow manner."

—Adam Rogers, Ultimate Software

"Mike does a great follow-up to User Stories Applied by continuing to provide Agile teams with the practical approaches and techniques to increase agility. In this book, Mike provides time-proven and well-tested methods for being successful with the multiple levels of planning and estimating required by Agile. This book is the first to detail the disciplines of Agile estimating and planning, in ways that rival my 1980 civil engineering texts on CPM Planning and Estimating."

—Ryan Martens, President and Founder, Rally Software Development Corporation

"With insight and clarity, Mike Cohn shows how to effectively produce software of high business value. With Agile estimation and planning, you focus effort where it really counts, and continue to do so as circumstances change."

—Rick Mugridge, Rimu Research Ltd., and lead author, Fit for Developing Software (Prentice Hall, 2005)

"Finally! The groundbreaking book my clients have been clamoring for! Agile Estimating and Planning demystifies the process of defining, driving, and delivering great software that matters to the business. Mike's clarity, insight, and experience leap out through every page of this book, offering an approach that is relevant and immediately useful to all members of an Agile project."

—Kert D. Peterson, President, Enterprise Agile Group, LLC

"This isn't yet another generic book on Agile software development. Agile Estimating and Planning fills a gap left by most of the other books and gives you important, practical, down-to-earth techniques needed to be successful on Agile development projects."

—Steve Tockey, Principal Consultant, Construx Software

"Estimation, planning, and tracking is a trinity. If you don't do one of them, you don't need the other two. This book provides very practical knowledge for estimation, planning, prioritizing, and tracking. It should be compulsory subject matter for project managers and their teams, even if they hesitate to call themselves Agile."

—Niels Malotaux, Project Coach

"Effective planning is an important, but often misunderstood, part of any successful Agile project. With Agile Estimating and Planning, Mike Cohn has given us a definitive guide to a wide range of Agile estimating and planning practices. With his clear and practical style, Mike not only explains how to successfully get started planning an Agile project, but also provides a wealth of tips and advice for improving any team's Agile planning process. This book is a must-read for managers, coaches, and members of Agile teams."

—Paul Hodgetts, Agile coach and CEO, Agile Logic

"Mike's writing style captures the essence of agility-just the right amount of information to bring clarity to the reader. This book provides an excellent guide for all Agile practitioners, both seasoned and novice."

—Robert Holler, President and CEO, VersionOne, LLC

"It is as if Mike took the distilled knowledge regarding planning and estimation of a great Agile developer (which he is) and laid out all he knows in an easily understandable manner. More importantly, he has a great mix of concepts with real-world examples finished off with a case study so the reader can relate the information to their own situation. Unless you are already an expert Agile planner and estimator, this book is for you."

—Alan Shalloway, CEO, Senior Consultant, Net Objectives, and coauthor of Design Patterns Explained, Second Edition (Addison-Wesley, 2005)

"Although I had plenty of XP experience before trying out Mike Cohn's Agile planning practices, the effectiveness of the practical and proven techniques in this book blew me away! The book recognizes that people, not tools or processes, produce great software, and that teams benefit most by learning about their project and their product as they go. The examples in the book are concrete, easily grasped, and simply reek of common sense. This book will help teams (whether Agile or not) deliver more value, more often, and have fun doing it! Whether you're a manager or a programmer, a tester or a CEO, part of an Agile team, or just looking for a way to stamp out chaos and death marches, this book will guide you."

—Lisa Crispin, coauthor of Testing Extreme Programming (Addison-Wesley, 2003)

"Mike Cohn does an excellent job demonstrating how an Agile approach can address issues of risk and uncertainty in order to provide more meaningful estimates and plans for software projects."

—Todd Little, Senior Development Manager, Landmark Graphics

"Mike Cohn explains his approach to Agile planning, and shows how 'critical chain' thinking can be used to effectively buffer both schedule and features. As with User Stories Applied, this book is easy to read and grounded in real-world experience."

—Bill Wake, author of Refactoring Workbook (Addison-Wesley, 2003)

"Mike brings this book to life with real-world examples that help reveal how and why an Agile approach works for planning software development projects. This book has great breadth, ranging from the fundamentals of release planning to advanced topics such as financial aspects of prioritization. I can see this book becoming an invaluable aid to Agile project managers, as it provides a wealth of practical tips such as how to set iteration length and boot-strap velocity, and communicate progress."

—Rachel Davies, Independent Consultant

"There has been a need for a solid, pragmatic book on the long-term vision of an Agile Project for project managers. Agile Estimating and Planning addresses this need. It's not theory—this book contains project-tested practices that have been used on Agile projects. As Mike's test subjects, we applied these practices to the development of video games (one of the most unpredictable project environments you can imagine) with success."

—Clinton Keith, Chief Technical Officer, High Moon Studios

"When I first heard Mike Cohn speak, I was impressed by a rare combination of qualities: deep experience and understanding in modern iterative and Agile methods; a drive to find and validate easy, high-impact solutions beyond the status quo of traditional (usually ineffective) methods; and the passion and clarity of a natural coach. These qualities are evident in this wonderful, practical guide. I estimate you won't be disappointed in studying and applying his advice."

—Craig Larman, Chief Scientist, Valtech, and author of Applying UML and Patterns, Third Edition (Prentice Hall, 2005) and Agile and Iterative Development (Addison-Wesley, 2004)

"Agile Estimating and Planning is a critical guide on how to successfully provide value to customers of IT services. This book is filled with clear examples that are essential—from project team... 

December 14, 2008

Agile Project Management using SCRUM


Editorial Reviews

Product Description
Apply the principles of Scrum, one of the most popular agile programming methods, to software project management—and focus your team on delivering real business value. Author Ken Schwaber, a leader in the agile process movement and a co-creator of Scrum, brings his vast expertise to helping you guide the product and software development process more effectively and efficiently. Help eliminate the ambiguity into which so many software projects are borne, where vision and planning documents are essentially thrown over the wall to developers. This high-level reference describes how to use Scrum to manage complex technology projects in detail, combining expert insights with examples and case studies based on Scrum. Emphasizing practice over theory, this book explores every aspect of using Scrum, focusing on driving projects for maximum return on investment. 

About the Author
Ken Schwaber is the co-creator of Scrum. He is one of the leaders of the agile process revolution, as a signatory of the Agile Manifesto and founder and director of the Agile Alliance. He has been in the software development industry for more than 30 years and teaches and speaks at many conferences, including OOPSLA & Software Development.

December 11, 2008

Agile Software Development: The Cooperative Game


Product Description

“Agile Software Development is a highly stimulating and rich book. The author has a deep background and gives us a tour de force of the emerging agile methods.”

–Tom Gilb

 

The agile model of software development has taken the world by storm. Now, in Agile Software Development, Second Edition, one of agile’s leading pioneers updates his Jolt Productivity award-winning book to reflect all that’s been learned about agile development since its original introduction.

 

Alistair Cockburn begins by updating his powerful model of software development as a “cooperative game of invention and communication.” Among the new ideas he introduces: harnessing competition without damaging collaboration; learning lessons from lean manufacturing; and balancing strategies for communication. Cockburn also explains how the cooperative game is played in business and on engineering projects, not just software development

 

Next, he systematically illuminates the agile model, shows how it has evolved, and answers the questions developers and project managers ask most often, including

 

·      Where does agile development fit in our organization?

·      How do we blend agile ideas with other ideas?

·      How do we extend agile ideas more broadly?

 

Cockburn takes on crucial misconceptions that cause agile projects to fail. For example, you’ll learn why encoding project management strategies into fixed processes can lead to ineffective strategy decisions and costly mistakes. You’ll also find a thoughtful discussion of the controversial relationship between agile methods and user experience design.

 

Cockburn turns to the practical challenges of constructing agile methodologies for your own teams. You’ll learn how to tune and continuously reinvent your methodologies, and how to manage incomplete communication. This edition contains important new contributions on these and other topics:

 

·      Agile and CMMI

·      Introducing agile from the top down

·      Revisiting “custom contracts”

·      Creating change with “stickers”

 

In addition, Cockburn updates his discussion of the Crystal methodologies, which utilize his “cooperative game” as their central metaphor.

 

If you’re new to agile development, this book will help you succeed the first time out. If you’ve used agile methods before, Cockburn’s techniques will make you even more effective.

 



About the Author

Dr. Alistair Cockburn is an internationally renowned expert on all aspects of software development, from object-oriented modeling and architecture, to methodology design, to project management and organizational alignment. One of the pioneers who coined the term “agile software development,” he co-authored the 2001 Agile Software Development Manifesto and the 2005 Declaration of Interdependence. Since 1975, he has led projects and taught in places from Oslo to Cape Town, from Vancouver to Beijing. His work has covered topics from design to management to testing, in research, in government, and in industry. His most recent book is Crystal Clear: A Human-Powered Methodology for Small Teams. His books Writing Effective Use Cases and Agile Software Development won back-to-back Jolt Productivity Awards in 2001 and 2002.

December 10, 2008

Clean Code


Product Description
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.

What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.

Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code—of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.

Readers will come away from this book understanding
  • How to tell the difference between good and bad code
  • How to write good code and how to transform bad code into good code
  • How to create good names, good functions, good objects, and good classes
  • How to format code for maximum readability
  • How to implement complete error handling without obscuring code logic
  • How to unit test and practice test-driven development
This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.



About the Author
Robert C. “Uncle Bob” Martin has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor, Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, C#, Ruby, OO, Design Patterns, UML, Agile Methodologies, and eXtreme programming. 

(from amazon)