99 Bottles of OOP


Sandi Metz - 2016
    This book fills that gap. It explains the process of writing good code, and teaches you to achieve beautifully programmed ends by way of extremely practical means. What It's About99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code. It explores: Recognizing when code is "good enough"Getting the best value from Test-Driven Development (TDD)Doing proper refactoring, not random "rehacktoring"Locating concepts buried in codeFinding names that convey deeper meaning Safely altering code by following the "Flocking Rules" Simplifying new additions with the Open/Closed PrincipleAvoiding conditionals by obeying the Liskov Substitution PrincipleMaking targeted improvements by reducing Code SmellsWhat Makes It Unique?We are practical people. We love beautiful code but we're committed to getting things done. 99 Bottles of OOP enables both of these desires. It teaches a practical technique for getting things done that leads, naturally and inevitably, to beautiful code.This book contains an extended refactoring, and it details the rationale behind every change. It is a hands-on workbook rather than a list of theoretical ideas. It explains how to use the principles of object-oriented design to guide, not just the final arrangement of code, but each decision about what line of code to write next.It teaches the theory of what good OO looks like, but even better, it supplies step-by-step guidance about how to achieve it.Who Should Read It?The lessons work for programmers with a broad range of experience, from rank novice to grizzled veteran. The code examples are written in Ruby, but this book is not about Ruby--it's about object-oriented programming and design. Regardless of your background, applying these techniques will make your code easier to understand, simpler to change, and more satisfying to contemplate.

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

Contagious: Why Things Catch On


Jonah Berger - 2013
    People don't listen to advertisements, they listen to their peers. But why do people talk about certain products and ideas more than others? Why are some stories and rumors more infectious? And what makes online content go viral? Wharton marketing professor Jonah Berger has spent the last decade answering these questions. He's studied why New York Times articles make the paper's own Most E-mailed List, why products get word of mouth, and how social influence shapes everything from the cars we buy to the clothes we wear to the names we give our children. In this book, Berger reveals the secret science behind word-of-mouth and social transmission. Discover how six basic principles drive all sorts of things to become contagious, from consumer products and policy initiatives to workplace rumors and YouTube videos.Contagious combines groundbreaking research with powerful stories. Learn how a luxury steakhouse found popularity through the lowly cheese-steak, why anti-drug commercials might have actually increased drug use, and why more than 200 million consumers shared a video about one of the seemingly most boring products there is: a blender. If you've wondered why certain stories get shared, e-mails get forwarded, or videos go viral, Contagious explains why, and shows how to leverage these concepts to craft contagious content. This book provides a set of specific, actionable techniques for helping information spread - for designing messages, advertisements, and information that people will share. Whether you're a manager at a big company, a small business owner trying to boost awareness, a politician running for office, or a health official trying to get the word out, Contagious will show you how to make your product or idea catch on.

Head First Design Patterns


Eric Freeman - 2004
     At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.

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.

Super Thinking: The Big Book of Mental Models


Gabriel Weinberg - 2019
    If the facts don't hang together on a latticework of theory, you don't have them in a usable form. You've got to have models in your head."- Charlie Munger, investor, vice chairman of Berkshire HathawayThe world's greatest problem-solvers, forecasters, and decision-makers all rely on a set of frameworks and shortcuts that help them cut through complexity and separate good ideas from bad ones. They're called mental models, and you can find them in dense textbooks on psychology, physics, economics, and more.Or, you can just read Super Thinking, a fun, illustrated guide to every mental model you could possibly need. How can mental models help you? Well, here are just a few examples... • If you've ever been overwhelmed by a to-do list that's grown too long, maybe you need the Eisenhower Decision Matrix to help you prioritize. • Use the 5 Whys model to better understand people's motivations or get to the root cause of a problem. • Before concluding that your colleague who messes up your projects is out to sabotage you, consider Hanlon's Razor for an alternative explanation. • Ever sat through a bad movie just because you paid a lot for the ticket? You might be falling prey to Sunk Cost Fallacy. • Set up Forcing Functions, like standing meeting or deadlines, to help grease the wheels for changes you want to occur.So, the next time you find yourself faced with a difficult decision or just trying to understand a complex situation, let Super Thinking upgrade your brain with mental models.Note: in the US the subtitle is The Big Book of Mental Models and outside it is Upgrade Your Reasoning and Make Better Decisions with Mental Models.

Intercom on Product Management


Intercom Inc - 2015
     This book by the team at Intercom, a rapidly growing San Francisco software startup, is designed to help those working in the ever evolving field of product management Since Intercom began in 2011, its team has been writing about how it approaches the product challenges it faces. How do you decide what to build? How do you decide what not to build? What questions should you ask beta users? How do you manage feedback? Intercom on Product Management takes the best product posts from Intercom’s award winning blog, Inside Intercom, and collects them together in actionable lessons for product managers. It’s not the definitive book on product management, but we think it’s a damn good place to start. What you’ll learn: CHAPTER 1 Evaluating your product CHAPTER 2 The thing about new features CHAPTER 3 Which new features to build CHAPTER 4 Getting the feature used Intercom on Product Management was written by Des Traynor, co-founder of Intercom and edited by John Collins, managing editor of Intercom's blog. Des has written extensively on product management and strategy and is a regular speaker on the topic at conferences like Business of Software, Launch and Mind the Product. John has over 20 years journalism experience covering technology and business issues, most recently for The Irish Times. Intercom helps web and mobile businesses to see, engage, learn from, and support their customers in incredibly personal ways. More than 4,000 web and mobile businesses use Intercom to communicate with their customers. Praise for Intercom on Product Management "A valuable resource for anyone who wants to build products that customers will want to use time and time again." - Nir Eyal, author of Hooked: How to Build Habit-Forming Products. "Moves beyond the cliches and platitudes and provides astute, actionable advice on modern product management. I'd put it at the top of the reading list for anyone that has anything to do with building great products." - Dharmesh Shah, co-founder and CTO of HubSpot. "Really, really really good. Even better, easily accessible, so you can spend just a few minutes scanning through it and pick up something of value to use quickly." - John Koetsier, VP of Product at VentureBeat. "While books about design and programming abound, resources for the product manager are scant. Intercom has been filling that void with excellent blog posts and now a book of guidance, Intercom on Product Management." - Ryan Singer, Product Manager at Basecamp

Implementing Lean Software Development: From Concept to Cash


Mary Poppendieck - 2006
    These principles have revolutionized manufacturing and have been adopted by the most innovative product companies including Toyota and 3M. In 2003 the Poppendieck's published Lean Software Development: An Agile Toolkit which showed how these same lean principles can be successfully applied to software development. Since that publication the authors have increased their understanding of Lean and Agile problems faced by large organizations and have emerged as leading advocates for bringing Lean production techniques to software development. While their first book provides an introduction, theoretical advice and a reference to Lean, this follow-up incorporates their gained knowledge and understanding of what works and goes steps further to provide hands-on guidance for implementing a Lean system. Using historical case studies from prominent companies such as Polaris, Lockheed and Fujistu the authors prove the overall value of Lean practices and shows how to effectively apply these methods to software production.

The Art of Innovation: Lessons in Creativity from IDEO, America's Leading Design Firm


Tom Kelley - 2001
    At many companies, being first with a concept and first to market are critical just to survive. In The Art of Innovation, Tom Kelley, general manager of the Silicon Valley based design firm IDEO, takes readers behind the scenes of this wildly imaginative and energized company to reveal the strategies and secrets it uses to turn out hit after hit.IDEO doesn't buy into the myth of the lone genius working away in isolation, waiting for great ideas to strike. Kelley believes everyone can be creative, and the goal at his firm is to tap into that wellspring of creativity in order to make innovation a way of life. How does it do that? IDEO fosters an atmosphere conducive to freely expressing ideas, breaking the rules, and freeing people to design their own work environments. IDEO's focus on teamwork generates countless breakthroughs, fueled by the constant give-and-take among people ready to share ideas and reap the benefits of the group process. IDEO has created an intense, quick-turnaround, brainstorm-and-build process dubbed "the Deep Dive."In entertaining anecdotes, Kelley illustrates some of his firm's own successes (and joyful failures), as well as pioneering efforts at other leading companies. The book reveals how teams research and immerse themselves in every possible aspect of a new product or service, examining it from the perspective of clients, consumers, and other critical audiences.Kelley takes the reader through the IDEO problem-solving method:> Carefully observing the behavior or "anthropology" of the people who will be using a product or service> Brainstorming with high-energy sessions focused on tangible results> Quickly prototyping ideas and designs at every step of the way> Cross-pollinating to find solutions from other fields> Taking risks, and failing your way to success> Building a "Greenhouse" for innovationIDEO has won more awards in the last ten years than any other firm of its kind, and a full half-hour Nightline presentation of its creative process received one of the show's highest ratings. The Art of Innovation will provide business leaders with the insights and tools they need to make their companies the leading-edge, top-rated stars of their industries.From the Hardcover edition.

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.

Software Requirements 3


Karl Wiegers - 1999
    Two leaders in the requirements community have teamed up to deliver a contemporary set of practices covering the full range of requirements development and management activities on software projects. Describes practical, effective, field-tested techniques for managing the requirements engineering process from end to end. Provides examples demonstrating how requirements "good practices" can lead to fewer change requests, higher customer satisfaction, and lower development costs. Fully updated with contemporary examples and many new practices and techniques. Describes how to apply effective requirements practices to agile projects and numerous other special project situations. Targeted to business analysts, developers, project managers, and other software project stakeholders who have a general understanding of the software development process. Shares the insights gleaned from the authors' extensive experience delivering hundreds of software-requirements training courses, presentations, and webinars.New chapters are included on specifying data requirements, writing high-quality functional requirements, and requirements reuse. Considerable depth has been added on business requirements, elicitation techniques, and nonfunctional requirements. In addition, new chapters recommend effective requirements practices for various special project situations, including enhancement and replacement, packaged solutions, outsourced, business process automation, analytics and reporting, and embedded and other real-time systems projects.

Making It Right: Product Management For A Startup World


Rian van der Merwe - 2014
    It's not for the faint of heart. It's for people who want to move mountains. It swallows some whole, but others derive endless invigoration and passion from the pace and the impact and the glory and the huge potential for failure as well as success. There's no other job like it, and this is a book to help you make it your job. The role of a product manager goes by many different names - and if that's not reason enough to be confused, some companies define product manager completely differently from how it's understood elsewhere. We sometimes get stuck in our quest to define the damn thing, but in the case of product management, it's effort well spent, because it's quite the jungle out there.

Agile Project Management with Scrum


Ken Schwaber - 2001
    But Scrum’s simplicity itself—its lack of prescription—can be disarming, and new practitioners often find themselves reverting to old project management habits and tools and yielding lesser results. In this illuminating series of case studies, Scrum co-creator and evangelist Ken Schwaber identifies the real-world lessons—the successes and failures—culled from his years of experience coaching companies in agile project management. Through them, you’ll understand how to use Scrum to solve complex problems and drive better results—delivering more valuable software faster.Gain the foundation in Scrum theory—and practice—you need to:Rein in even the most complex, unwieldy projectsEffectively manage unknown or changing product requirementsSimplify the chain of command with self-managing development teamsReceive clearer specifications—and feedback—from customersGreatly reduce project planning time and required toolsBuild—and release—products in 30-day cycles so clients get deliverables earlierAvoid missteps by regularly inspecting, reporting on, and fine-tuning projectsSupport multiple teams working on a large-scale project from many geographic locationsMaximize return on investment!

Learning Agile: Understanding Scrum, XP, Lean, and Kanban


Andrew Stellman - 2013
    This book demystifies agile methodologies: why they’re designed the way they are, what problems they address, and the values, principles, and ideas they embody.Learning Agile helps you recognize the principles that apply to development problems specific to your team, company, and projects. You’ll discover how to use that information to guide your choice of methodologies and practices.With this book you’ll learn:Values that effective software teams possessThe methodologies that embody those valuesThe practices that make up those methodologiesAnd principles that help you bring those values, methodologies, and practices to your team and your company

Blue Ocean Strategy: How to Create Uncontested Market Space and Make the Competition Irrelevant


W. Chan Kim - 1994
    They have fought for competitive advantage, battled over market share, and struggled for differentiation. Yet, as this influential and immensely popular book shows, these hallmarks of competitive strategy are not the way to create profitable growth in the future.In the international bestseller Blue Ocean Strategy, W. Chan Kim and Renee Mauborgne argue that cutthroat competition results in nothing but a bloody red ocean of rivals fighting over a shrinking profit pool. Based on a study of 150 strategic moves (spanning more than 100 years across 30 industries), the authors argue that lasting success comes not from battling competitors, but from creating "blue oceans"—untapped new market spaces ripe for growth. Such strategic moves, which the authors call “value innovation,” create powerful leaps in value that often render rivals obsolete for more than a decade.Blue Ocean Strategy presents a systematic approach to making the competition irrelevant and outlines principles and tools any company can use to create and capture their own blue oceans. A landmark work that upends traditional thinking about strategy, this bestselling business book charts a bold new path to winning the future.