The Mikado Method
Ola Ellnestam - 2014
The Mikado Method is a process for surfacing the dependencies in a codebase, so that you can systematically eliminate technical debt and get things done.It gets its name from a simple game commonly known as "pick-up sticks." You start with a jumbled pile of sticks. The goal is to remove the Mikado, or Emperor, stick without disturbing the others. Players carefully remove sticks one at a time, leaving the rest of the heap intact, slowly exposing the Mikado. The game is a great metaphor for eliminating technical debt—carefully extracting each intertwined dependency until you're able to successfully resolve the central issue and move on.The Mikado Method is a book by the creators of this process. It describes a pragmatic, straightforward, and empirical method to plan and perform non-trivial technical improvements on an existing software system. The method has simple rules, but the applicability is vast. As you read, you'll practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining the safest way to approach the "Mikado"-your goal. A natural byproduct of this process is the Mikado Graph, a minimalistic, relevant, just-in-time roadmap and information radiator that reflects deep understanding of how your system works.
Ask Your Developer: How to Harness the Power of Software Developers and Win in the 21st Century
Jeff Lawson - 2021
The landscape has shifted from the classic build vs. buy question, to one of build vs. die. Companies have to get this right to survive. But how do they make this transition?Software developers are sought after, highly paid, and desperately needed to compete in the modern, digital economy. Yet most companies treat them like digital factory workers without really understanding how to unleash their full potential. Lawson argues that developers are the creative workforce who can solve major business problems and create hit products for customers—not just grind through rote tasks. From Google and Amazon, to one-person online software companies—companies that bring software developers in as partners are winning. Lawson shows how leaders who build industry changing software products consistently do three things well. First, they understand why software developers matter more than ever. Second, they understand developers and know how to motivate them. And third, they invest in their developers' success.As a software developer and public company CEO, Lawson uses his unique position to bridge the language and tools executives use with the unique culture of high performing, creative software developers. Ask Your Developer is a toolkit to help business leaders, product managers, technical leaders, software developers, and executives achieve their common goal—building great digital products and experiences.How to compete in the digital economy? In short: Ask Your Developer.
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
Scott Meyers - 1991
But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s now STL. Design patterns. Even new functionality being added through TR1 and Boost.) So Meyers has done a top-to-bottom rewrite, identifying the 55 most valuable techniques you need now to be exceptionally effective with C++. Over half of this edition s content is new. Templates broadly impact C++ development, and you ll find them everywhere. There s extensive coverage of multithreaded systems. There s an entirely new chapter on resource management. You ll find substantial new coverage of exceptions. Much is gained, but nothing s lost: You ll find the same depth of practical insight that first made Effective C++ a classic all those years ago. Bill Camarda, from the July 2005 href="http://www.barnesandnoble.com/newslet... Only
Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules
Jeff Johnson - 2010
But as the field evolves, designers enter the field from many disciplines. Practitioners today have enough experience in UI design that they have been exposed to design rules, but it is essential that they understand the psychology behind the rules in order to effectively apply them. In "Designing with the Mind in Mind," Jeff Johnson, author of the best selling "GUI Bloopers," provides designers with just enough background in perceptual and cognitive psychology that UI design guidelines make intuitive sense rather than being just a list of rules to follow. * The first practical, all-in-one source for practitioners on user interface design rules and why, when and how to apply them.* Provides just enough background into the reasoning behind interface design rules that practitioners can make informed decisions in every project.* Gives practitioners the insight they need to make educated design decisions when confronted with tradeoffs, including competing design rules, time constrictions, or limited resources.
Fundamentals of Software Architecture: An Engineering Approach
Mark Richards - 2020
Until now. This practical guide provides the first comprehensive overview of software architecture's many aspects. You'll examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics.Authors Neal Ford and Mark Richards help you learn through examples in a variety of popular programming languages, such as Java, C#, JavaScript, and others. You'll focus on architecture principles with examples that apply across all technology stacks.
APIs: A Strategy Guide
Daniel Jacobson - 2011
Salesforce.com (more than 50%) and Twitter (more than 75% fall into this category. Ebay gets more than 8 billion API calls a month. Facebook and Google, have dozens of APIs that enable both free services and e-commerce, get more than 5 billion API calls each day. Other companies like NetFlix have expanded their service of streaming movies over the the web to dozens of devices using API. At peak times, more than 20 percent of all traffic is accounted for by Netflix through its APIs. Companies like Sears and E-Trade are opening up their catalogs and other services to allow developers and entrepreneurs to create new marketing experiences.
Making an API work to create a new channel is not just a matter of technology. An API must be considered in terms of business strategy, marketing, and operations as well as the technical aspects of programming. This book, written by Greg Brail, CTO of Apigee, and Brian Mulloy, VP of Products, captures the knowledge of all these areas gained by Apigee, the leading company in supporting the rollout of high traffic APIs.
Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing
Elisabeth Hendrickson - 2012
Rather than designing all tests in advance, explorers design and execute small, rapid experiments. In this book, you'll learn how to analyze software to discover key points of vulnerability, how to design experiments on the fly, how to hone your observation skills, and how to focus your efforts.You'll start by crafting charters to guide your exploration. Then you'll vary interactions, sequences, data, timing, and configurations. You'll incorporate analysis techniques such as state modeling, data modeling, and defining context diagrams. Finally, you'll apply the skills and techniques in a variety of contexts and integrate exploration into the development cycle from the beginning.You can apply the techniques in this book to any kind of software to discover its capabilities, limitations, and risks.
Articulating Design Decisions: Communicate with Stakeholders, Keep Your Sanity, and Deliver the Best User Experience
Tom Greever - 2015
The ability to effectively articulate design decisions is critical to the success of a project, because the most articulate person often wins. This practical book provides principles, tactics, and actionable methods for talking about designs with executives, managers, developers, marketers, and other stakeholders who have influence over the project with the goal of winning them over and creating the best user experience.
My Product Management Toolkit: Tools and Techniques to Become an Outstanding Product Manager
Marc Abraham - 2018
Written by successful product manager Marc Abraham, My Product Management Toolkit is a comprehensive guide to developing a physical or digital product that consumers love. Here’s a sample of what you’ll find within these pages: Strategies for determining what customers want—even when they don’t know themselves Clear suggestions for developing both physical and digital products Effective methods to constantly iterate a product or feature Containing wisdom from Abraham’s popular blog, this book explores product management from every angle, including consumer analysis, personnel management, and product evolution. Whether you’re developing a product for a small start-up or a multinational corporation, this book will prove invaluable.
Computer Networks
Andrew S. Tanenbaum - 1981
In this revision, the author takes a structured approach to explaining how networks function.
Product Roadmaps Relaunched: How to Set Direction while Embracing Uncertainty
C. Todd Lombardo - 2017
In fact, this one document can steer an entire organization when it comes to delivering on company strategy.
This practical guide teaches you how to create an effective product roadmap, and demonstrates how to use the roadmap to align stakeholders and prioritize ideas and requests. With it, you’ll learn to communicate how your products will make your customers and organization successful.
Whether you're a product manager, product owner, business analyst, program manager, project manager, scrum master, lead developer, designer, development manager, entrepreneur, or business owner, this book will show you how to:
Articulate an inspiring vision and goals for your product
Prioritize ruthlessly and scientifically
Protect against pursuing seemingly good ideas without evaluation and prioritization
Ensure alignment with stakeholders
Inspire loyalty and over-delivery from your team
Get your sales team working with you instead of against you
Bring a user and buyer-centric approach to planning and decision-making
Anticipate opportunities and stay ahead of the game
Publish a comprehensive roadmap without overcommitting
What is DevOps?
Mike Loukides - 2012
Old-style system administrators may be disappearing in the face of automation and cloud computing, but operations have become more significant than ever. As this O'Reilly Radar Report explains, we're moving into a more complex arrangement known as "DevOps."Mike Loukides, O'Reilly's VP of Content Strategy, provides an incisive look into this new world of operations, where IT specialists are becoming part of the development team. In an environment with thousands of servers, these specialists now write the code that maintains the infrastructure. Even applications that run in the cloud have to be resilient and fault tolerant, need to be monitored, and must adjust to huge swings in load. That was underscored by Amazon's EBS outage last year.From the discussions at O'Reilly's Velocity Conference, it's evident that many operations specialists are quickly adapting to the DevOps reality. But as a whole, the industry has just scratched the surface. This report tells you why.
The Lean Enterprise: How Corporations Can Innovate Like Startups
Trevor Owens - 2014
So why should larger, more established companies take notice? Because they have everything to gain when they examine and adopt the strategies, tools, and attitudes of these smaller competitors. The Lean Enterprise presents a groundbreaking design for revolutionizing larger organizations, one that draws on the ingenious tenets and practices espoused by the startup community. The guidelines in this book will help companies shake the lethargy, bureaucracy, and power struggles that plague large organizations and hold them back from true innovation.At the heart of this resource is a comprehensive, practical approach based on methods, timetables, compensation, financial investment, and case studies that reveal the startup mentality. Respected thought leaders in lean startup methodologies, the authors cover successful enterprise development, development innovation labs, corporate venture arms, and acquisition and integration of startups.- Essential reading for entrepreneurs, product managers, executives and directors in Forbes 2000 organizations, and board members- Presents the tools and methodologies large businesses need to compete with a new generation of highly-empowered entrepreneurs- Covers lean startup culture and principles and identifies the behaviors that arestunting growth at large enterprises- Offers a comprehensive, practical approach for developing exciting products and services and opening vast new marketsDon't be mystified by the success of startups. Master the methods of this new generation of entrepreneurs and compete on a level playing field.
Refactoring to Patterns
Joshua Kerievsky - 2004
In 1999, "Refactoring" revolutionized design by introducing an effective process for improving code. With the highly anticipated " Refactoring to Patterns ," Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book s refactorings General information and new insights about patterns and refactoringDetailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern and when to use each Practical ways to get started even if you have little experience with patterns or refactoring"Refactoring to Patterns" reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you re focused on legacy or greenfield development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively. "
97 Things Every Programmer Should Know: Collective Wisdom from the Experts
Kevlin Henney - 2010
With the 97 short and extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems, learning appropriate best practices, and honing your craft through sound advice.With contributions from some of the most experienced and respected practitioners in the industry--including Michael Feathers, Pete Goodliffe, Diomidis Spinellis, Cay Horstmann, Verity Stob, and many more--this book contains practical knowledge and principles that you can apply to all kinds of projects.A few of the 97 things you should know:"Code in the Language of the Domain" by Dan North"Write Tests for People" by Gerard Meszaros"Convenience Is Not an -ility" by Gregor Hohpe"Know Your IDE" by Heinz Kabutz"A Message to the Future" by Linda Rising"The Boy Scout Rule" by Robert C. Martin (Uncle Bob)"Beware the Share" by Udi Dahan