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...