Churchill Sizes Up the Giants of His Age, Offers Wisdom for Our Own
**Get more out of your legacy systems: more performance, functionality, reliability, and manageability **
Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.
In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control.
The topics covered include
This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.
© Copyright Pearson Education. All rights reserved.
Adeptly address today’s business challenges with this powerful new book from web analytics thought leader Avinash Kaushik. Web Analytics 2.0 presents a new framework that will permanently change how you think about analytics. It provides specific recommendations for creating an actionable strategy, applying analytical techniques correctly, solving challenges such as measuring social media and multichannel campaigns, achieving optimal success by leveraging experimentation, and employing tactics for truly listening to your customers. The book will help your organization become more data driven while you become a super analysis ninja! Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
“Once again, Abbott and Fisher provide a book that I’ll be giving to our engineers. It’s an essential read for anyone dealing with scaling an online business.”
—Chris Lalonde, VP, Technical Operations and Infrastructure Architecture, Bullhorn
“Abbott and Fisher again tackle the difficult problem of scalability in their unique and practical manner. Distilling the challenges of operating a fast-growing presence on the Internet into 50 easy-to understand rules, the authors provide a modern cookbook of scalability recipes that guide the reader through the difficulties of fast growth.”
—Geoffrey Weber, Vice President, Internet Operations, Shutterfly
“Abbott and Fisher have distilled years of wisdom into a set of cogent principles to avoid many nonobvious mistakes.”
—Jonathan Heiliger, VP, Technical Operations, Facebook
“In The Art of Scalability, the AKF team taught us that scale is not just a technology challenge. Scale is obtained only through a combination of people, process, and technology. With Scalability Rules, Martin Abbott and Michael Fisher fill our scalability toolbox with easily implemented and time-tested rules that once applied will enable massive scale.”
—Jerome Labat,VP, Product Development IT, Intuit
“When I joined Etsy, I partnered with Mike and Marty to hit the ground running in my new role, and it was one of the best investments of time I have made in my career. The indispensable advice from my experience working with Mike and Marty is fully captured here in this book. Whether you’re taking on a role as a technology leader in a new company or you simply want to make great technology decisions, Scalability Rules will be the go-to resource on your bookshelf.”
—Chad Dickerson, CTO, Etsy
“Scalability Rules provides an essential set of practical tools and concepts anyone can use when designing, upgrading, or inheriting a technology platform. It’s very easy to focus on an immediate problem and overlook issues that will appear in the future. This book ensures strategic design principles are applied to everyday challenges.”
—Robert Guild, Director and Senior Architect, Financial Services
“An insightful, practical guide to designing and building scalable systems. A must-read for both product-building and operations teams, this book offers concise and crisp insights gained from years of practical experience of AKF principals. With the complexity of modern systems, scalability considerations should be an integral part of the architecture and implementation process. Scaling systems for hypergrowth requires an agile, iterative approach that is closely aligned with product features; this book shows you how.”
—Nanda Kishore, Chief Technology Officer, ShareThis
“For organizations looking to scale technology, people, and processes rapidly or effectively, the twin pairing of Scalability Rules and The Art of Scalability are unbeatable. The rules-driven approach in Scalability Rules makes this not only an easy reference companion, but also allows organizations to tailor the Abbott and Fisher approach to their specific needs both immediately and in the future!”
—Jeremy Wright, CEO, BNOTIONS.ca and Founder, b5media
50 Powerful, Easy-to-Use Rules for Supporting Hypergrowth in Any Environment
Scalability Rules is the easy-to-use scalability primer and reference for every architect, developer, web professional, and manager. Authors Martin L. Abbott and Michael T. Fisher have helped scale more than 200 hypergrowth Internet sites through their consulting practice. Now, drawing on their unsurpassed experience, they present 50 clear, proven scalability rules–and practical guidance for applying them.
Abbott and Fisher transform scalability from a “black art” to a set of realistic, technology-agnostic best practices for supporting hypergrowth in nearly any environment, including both frontend and backend systems.
For architects, they offer powerful new insights for creating and evaluating designs. For developers, they share specific techniques for handling everything from databases to state. For managers, they provide invaluable help in goal-setting, decision-making, and interacting with technical teams. Whatever your role, you’ll find practical risk/benefit guidance for setting priorities–and getting maximum “bang for the buck.”
• Simplifying architectures and avoiding “over-engineering”
• Scaling via cloning, replication, separating functionality, and splitting data sets
• Scaling out, not up
• Getting more out of databases without compromising scalability
• Avoiding unnecessary redirects and redundant double-checking
• Using caches and content delivery networks more aggressively, without introducing unacceptable complexity
• Designing for fault tolerance, graceful failure, and easy rollback
• Striving for statelessness when you can; efficiently handling state when you must
• Effectively utilizing asynchronous communication
• Learning quickly from mistakes, and much more
What’s it like to work on a great software development team facing an impossible problem? How do you build an effective team? Can a group of people who don’t get along still build good software? How does a team leader keep everyone on track when the stakes are high and the schedule is tight?
Beautiful Teams takes you behind the scenes with some of the most interesting teams in software engineering history. You’ll learn from veteran team leaders’ successes and failures, told through a series of engaging personal stories — and interviews — by leading programmers, architects, project managers, and thought leaders.
This book includes contributions from:
Beautiful Teams is edited by Andrew Stellman and Jennifer Greene, veteran software engineers and project managers who have been writing bestselling books for O’Reilly since 2005, including Applied Software Project Management, Head First PMP, and Head First C#.
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.
Whether it’s in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?
If you’re a developer and don’t want to be on call for 3AM for the rest of your life, this book will help.
In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You’ll learn how to design your application for maximum uptime, performance, and return on investment.
Mike explains that many problems with systems today start with the design.