Interface Oriented Design
Learn by pragmatic example how to create effective designs composed of interfaces to objects, components and services.

You'll learn what polymorphism and encapsulation really mean, and how to use these ideas more effectively. See how to create better interfaces using agile development techniques, and learn the subtle differences between implementing an interface and inheriting an implementation. Take a fresh, modern view of Design By Contract and class responsibilities. Understand the basis of a service-oriented architecture, including stateful versus stateless interfaces, procedural versus document models, and synchronous versus asynchronous invocations. more »
Practices of an Agile Developer
Want to be a better developer? This book collects the personal habits, ideas, and approaches of successful agile software developers and presents them in a series of short, easy-to-digest tips.

You'll learn how to improve your software development process, see what real agile practices feel like, avoid the common temptations that kill projects, and keep agile practices in balance. more »
Ruby on Rails for Microsoft Developers
This definitive guide examines how to take advantage of the new Agile methodologies offered when using Ruby on Rails (RoR). You'll quickly grasp the RoR methodology by focusing on the RoR development from the point of view of the beginner- to intermediate-level Microsoft developer. Plus, you'll get a reliable roadmap for migrating your applications, skill set, and development processes to the newer, more agile programming platform that RoR offers. more »
The Art of Agile Development
The Art of Agile Development contains practical guidance for anyone considering or applying agile development for building valuable software. Plenty of books describe what agile development is or why it helps software projects succeed, but very few combine information for developers, managers, testers, and customers into a single package that they can apply directly.

This book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience with Extreme Programming (XP). You get a gestalt view of the agile development process, including comprehensive guidance for non-technical readers and hands-on technical practices for developers and testers. more »
Agile Software Engineering with Visual Studio, 2nd Edition
Using agile methods and the tools of Visual Studio 2010, development teams can deliver higher-value software faster, systematically eliminate waste, and increase transparency throughout the entire development lifecycle. Now, Microsoft Visual Studio product owner Sam Guckenheimer and leading Visual Studio implementation consultant Neno Loje show how to make the most of Microsoft's new Visual Studio 2010 Application Lifecycle Management (ALM) tools in your environment.

This book is the definitive guide to the application of agile development with Scrum and modern software engineering practices using Visual Studio 2010. You'll learn how to use Visual Studio 2010 to empower and engage multidisciplinary, self-managing teams and provide the transparency they need to maximize productivity. Along the way, Guckenheimer and Loje help you overcome every major impediment that leads to stakeholder dissatisfaction - from mismatched schedules to poor quality, blocked builds to irreproducible bugs, and technology "silos" to geographic "silos". more »
Agile in a Flash
Agile in a Flash cards teach leadership, teamwork, clean programming, agile approaches to problem solving, and tips for coaching agile teams. Use the cards for learning, as ice breakers for conversations, as constant reminders, and as a potent source of useful tips and hard-won wisdom.

The Agile in a Flash deck is broken into four sections: agile concepts, planning, teamwork, and coding. The front of each card features a concise list of the concepts you need to know and remember. The back provides further detail, with sage nuggets of knowledge based on the authors two decades of experience coaching and doing agile-style projects. more »
Agile ALM
Agile ALM is a guide for Java developers who want to integrate flexible agile practices and lightweight tooling along all phases of the software development process. The book introduces a new vision for managing change in requirements and process more efficiently and flexibly. It synthesizes technical and functional elements to provide a comprehensive approach to software development.

Agile Application Lifecycle Management (Agile ALM) combines flexible processes with lightweight tools in a comprehensive and practical approach to building, testing, integrating, and deploying software. Taking an agile approach to ALM improves product quality, reduces time to market, and makes for happier developers. more »
Agile Coaching
To lead change, you need to expand your toolkit, and this book gives you the tools you need to make the transition from agile practitioner to agile coach.

Agile Coaching is all about working with people to create great agile teams. You'll learn how to build a team that produces great software and has fun doing it. In the process, you'll grow a team that's self-sufficient and skillful.

This book provides you with deeper knowledge of how agile practices work and how to inspire your team to improve. Discover how to coach your team through the agile lifecycle, from planning to writing software. Learn the secrets of running effective agile meetings and how to get your team following a consistent approach to creating software. You'll find chapters dedicated to introducing Test-Driven Development, designing Retrospectives, and making progress visible. more »
Pro Agile .NET Development with Scrum
Pro Agile .NET Development with Scrum guides you through a real-world ASP.NET project and shows how agile methodology is put into practice.

There is plenty of literature on the theory behind agile methodologies, but no book on the market takes the concepts of agile practices and applies these in a practical manner to an end-to-end ASP.NET project, especially the estimating, requirements and management aspects of a project. Pro Agile .NET Development with Scrum takes you through the initial stages of a project - gathering requirements and setting up an environment - through to the development and deployment stages using an agile iterative approach: namely, Scrum. more »
Pro Website Development and Operations
Pro Website Development and Operations gives you the experience you need to create and operate a large-scale production website. Large-scale websites have their own unique set of problems regarding their design - problems that can get worse when agile methodologies are adopted for rapid results. Managing large-scale websites, deploying applications, and ensuring they are performing well often requires a full scale team involving the development and operations sides of the company - two departments that don't always see eye to eye. more »