Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days


Jake Knapp - 2016
    And now there’s a sure-fire way to solve their problems and test solutions: the sprint.While working at Google, designer Jake Knapp created a unique problem-solving method that he coined a “design sprint”—a five-day process to help companies answer crucial questions. His ‘sprints’ were used on everything from Google Search to Chrome to Google X. When he moved to Google Ventures, he joined Braden Kowitz and John Zeratsky, both designers and partners there who worked on products like YouTube and Gmail. Together Knapp, Zeratsky, and Kowitz have run over 100 sprints with their portfolio companies. They’ve seen firsthand how sprints can overcome challenges in all kinds of companies: healthcare, fitness, finance, retailers, and more.A practical guide to answering business questions, Sprint is a book for groups of any size, from small startups to Fortune 100s, from teachers to non-profits. It’s for anyone with a big opportunity, problem, or idea who needs to get answers today.

Beyond Blame: Learning From Failure and Success


Dave Zwieback - 2015
    Our increasingly complex world demands that we continuously learn from failures (and successes) in order to survive and thrive. And yet, our learning is too often undermined. We construct biased but comfortable stories, which often feature a simple, single "root cause"--a villain, someone to take the blame. Having done that, we short-circuit the possibility of developing any deeper understanding of the complex systems we work with. With this common approach, our systems will become more fragile and drift into failure. In this concise and entertaining book, I.T. veteran Dave Zwieback describes an incident that threatens the very existence of a large financial institution, and the counterintuitive steps its leadership took to stop the downward spiral. Their novel approach is grounded in proven concepts from complexity science, resilience engineering, human factors, cognitive science, and organizational psychology. It allows us to identify the underlying conditions for failure, and make our systems (and organizations) safer and more resilient.- Get a clear understanding of the downside of blame- Learn how to identify (and counteract) cognitive biases in groups- See how organizations can determine the real root cause of problems- Establish real accountability with your organization- Use the Learning Review Framework to fully learn from failures of complex systems- Find practical insights and tips for moving beyond blame in your own organization

The Goal: A Process of Ongoing Improvement


Eliyahu M. Goldratt - 1984
    His factory is rapidly heading for disaster. So is his marriage. He has ninety days to save his plant—or it will be closed by corporate HQ, with hundreds of job losses. It takes a chance meeting with a colleague from student days—Jonah—to help him break out of conventional ways of thinking to see what needs to be done.The story of Alex's fight to save his plant is more than compulsive reading. It contains a serious message for all managers in industry and explains the ideas which underline the Theory of Constraints (TOC) developed by Eli Goldratt.

The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity


Alan Cooper - 1999
    Cooper details many of these meta functions to explain his central thesis: programmers need to seriously re-evaluate the many user-hostile concepts deeply embedded within the software development process. Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or de-prioritise lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays: "computers are hard, mysterious, unwieldy things." (An average user, Cooper asserts, who doesn't think that way or who has memorised all the esoteric commands and now lords it over others, has simply been desensitised by too many years of badly designed software.) Cooper's writing style is often overblown, with a pantheon of cutesy terminology (i.e. "dancing bearware") and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: "How did you do that?" to which he writes: "I love stumping Bill!") More seriously, he is also unable to see beyond software development's importance--a sin he accuses programmers of throughout the book. Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers and what he calls "interaction designers" to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be "not to make anyone feel stupid." Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. -- Jennifer Buckendorff, Amazon.com

Continuous Integration: Improving Software Quality and Reducing Risk


Paul Duvall - 2007
    The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques. The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility. The book covers How to make integration a "non-event" on your software development projects How to reduce the amount of repetitive processes you perform when building your software Practices and techniques for using CI effectively with your teams Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software Assessments of different CI servers and related tools on the market The book's companion Web site, www.integratebutton.com, provides updates and code examples

Fifty Quick Ideas to Improve Your User Stories


Gojko Adzic - 2014
    Above all, this book will help you achieve the promise of agile and iterative delivery: to ensure that the right stuff gets delivered through productive discussions between delivery team members and business stakeholders.

Kanban in Action


Marcus Hammarberg - 2013
    Kanban leverages visual management techniques to involve stakeholders and to facilitate understanding of how the work works. Through limiting the amount of work in process, and by focusing on finishing that work as soon as possible, kanban helps you to adjust demand to capacity, to reduce lead times and to create a driver for continuous improvement.Kanban in Action is a down-to-earth, no-frills, get-to-know-the-ropes introduction to kanban. It's based on the real-world experience and observations from two kanban coaches who have introduced this process to dozens of teams. In this book, you'll discover basic but powerful techniques on how to visualize and track work, how to construct a kanban board, how to visualize queues and bottlenecks, and much much more. You'll learn the principles of why kanban works as well as nitty-gritty details like how to use different color stickies to help you organize and track your work items.

Practical Vim: Edit Text at the Speed of Thought


Drew Neil - 2012
    It's available on almost every OS--if you master the techniques in this book, you'll never need another text editor. Practical Vim shows you 120 vim recipes so you can quickly learn the editor's core functionality and tackle your trickiest editing and writing tasks. Vim, like its classic ancestor vi, is a serious tool for programmers, web developers, and sysadmins. No other text editor comes close to Vim for speed and efficiency; it runs on almost every system imaginable and supports most coding and markup languages. Learn how to edit text the "Vim way:" complete a series of repetitive changes with The Dot Formula, using one keystroke to strike the target, followed by one keystroke to execute the change. Automate complex tasks by recording your keystrokes as a macro. Run the same command on a selection of lines, or a set of files. Discover the "very magic" switch, which makes Vim's regular expression syntax more like Perl's. Build complex patterns by iterating on your search history. Search inside multiple files, then run Vim's substitute command on the result set for a project-wide search and replace. All without installing a single plugin! You'll learn how to navigate text documents as fast as the eye moves--with only a few keystrokes. Jump from a method call to its definition with a single command. Use Vim's jumplist, so that you can always follow the breadcrumb trail back to the file you were working on before. Discover a multilingual spell-checker that does what it's told.Practical Vim will show you new ways to work with Vim more efficiently, whether you're a beginner or an intermediate Vim user. All this, without having to touch the mouse.What You Need: Vim version 7

JavaScript: The Good Parts


Douglas Crockford - 2008
    This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole--a subset you can use to create truly extensible and efficient code.Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:SyntaxObjectsFunctionsInheritanceArraysRegular expressionsMethodsStyleBeautiful featuresThe real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.

Pro Git


Scott Chacon - 2009
    It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects.A book by Git experts to turn you into a Git expert. Introduces the world of distributed version control Shows how to build a Git development workflow.

It Doesn't Have to Be Crazy at Work


Jason Fried - 2018
    Now, they build on their message with a bold, iconoclastic strategy for creating the ideal company culture—what they call "the calm company." Their approach directly attack the chaos, anxiety, and stress that plagues millions of workplaces and hampers billions of workers every day.Long hours, an excessive workload, and a lack of sleep have become a badge of honor for modern professionals. But it should be a mark of stupidity, the authors argue. Sadly, this isn’t just a problem for large organizations—individuals, contractors, and solopreneurs are burning themselves out the same way. The answer to better productivity isn’t more hours—it’s less waste and fewer things that induce distraction and persistent stress.It’s time to stop celebrating Crazy, and start celebrating Calm, Fried and Hansson assert.Fried and Hansson have the proof to back up their argument. "Calm" has been the cornerstone of their company’s culture since Basecamp began twenty years ago. Destined to become the management guide for the next generation, It Doesn't Have to Be Crazy at Work is a practical and inspiring distillation of their insights and experiences. It isn’t a book telling you what to do. It’s a book showing you what they’ve done—and how any manager or executive no matter the industry or size of the company, can do it too.

Enterprise Architecture As Strategy: Creating a Foundation for Business Execution


Jeanne W. Ross - 2006
    In Enterprise Architecture as Strategy: Creating a Foundation for Business Execution, authors Jeanne W. Ross, Peter Weill, and David C. Robertson show you how.The key? Make tough decisions about which processes you must execute well, then implement the IT systems needed to digitize those processes. Citing numerous companies worldwide, the authors show how constructing the right enterprise architecture enhances profitability and time to market, improves strategy execution, and even lowers IT costs. Though clear, engaging explanation, they demonstrate how to define your operating model—your vision of how your firm will survive and grow—and implement it through your enterprise architecture. Their counterintuitive but vital message: when it comes to executing your strategy, your enterprise architecture may matter far more than your strategy itself.

Project to Product: How to Survive and Thrive in the Age of Digital Disruption with the Flow Framework


Mik Kersten - 2018
    Mastering large-scale software delivery will define the economic landscape of the 21st century, just as mass production defined the landscape in the 20th. Unfortunately, business and technology leaders outside of the tech giants are woefully ill-equipped to solve the problems posed by digital transformation. A new approach is needed.In Project to Product, value stream network pioneer and technology leader Dr. Mik Kersten introduces the Flow Framework. This new way of building an infrastructure for innovation will change the way enterprises think about software delivery, enabling every organization the opportunity to win a portion of the $18.5 trillion (IDC) that will be created annually through better software delivery.Project to Product provides leaders the missing framework needed to create the technology equivalent of an advanced manufacturing line, across thousands of IT professionals, and enables optimizing value creation across the entire organization. This book is ideal for C-suite leadership and IT management at every level.

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software


Scott Rosenberg - 2007
    Along the way, we encounter black holes, turtles, snakes, dragons, axe-sharpening, and yak-shaving—and take a guided tour through the theories and methods, both brilliant and misguided, that litter the history of software development, from the famous ‘mythical man-month’ to Extreme Programming. Not just for technophiles but for anyone captivated by the drama of invention, Dreaming in Code offers a window into both the information age and the workings of the human mind.

Introduction to Algorithms


Thomas H. Cormen - 1989
    Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.