NoEstimates: How To Measure Project Progress Without Estimating


Vasco Duarte - 2016
    I wrote it because I believe we can do better than the accepted "status quo" in the software industry. It took me years to learn what I needed to learn to come up with my version of the #NoEstimates approach. You can do it in weeks! The techniques and ideas described here will help you explore the #NoEstimates universe in a very practical and hands-on manner. You will walk through Carmen's story. Carmen is a senior, very experienced project manager who is now confronted with a very difficult project. One would say, an impossible project. Through the book, and with the help of Herman, Carmen discovers and slowly adopts #NoEstimates which helps her turn that project around. Just like I expect it will help with the project you are in right now. The book also includes many concrete approaches you can use to adopt #NoEstimates, or just adopt those practices on their own.

What Would Google Do?


Jeff Jarvis - 2009
    By “reverse engineering the fastest growing company in the history of the world,” author Jeff Jarvis, proprietor of Buzzmachine.com, one of the Web’s most widely respected media blogs, offers indispensible strategies for solving the toughest new problems facing businesses today. With a new afterword from the author, What Would Google Do? is the business book that every leader or potential leader in every industry must read.

The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses


Eric Ries - 2011
    But many of those failures are preventable. The Lean Startup is a new approach being adopted across the globe, changing the way companies are built and new products are launched. Eric Ries defines a startup as an organization dedicated to creating something new under conditions of extreme uncertainty. This is just as true for one person in a garage or a group of seasoned professionals in a Fortune 500 boardroom. What they have in common is a mission to penetrate that fog of uncertainty to discover a successful path to a sustainable business.The Lean Startup approach fosters companies that are both more capital efficient and that leverage human creativity more effectively. Inspired by lessons from lean manufacturing, it relies on "validated learning," rapid scientific experimentation, as well as a number of counter-intuitive practices that shorten product development cycles, measure actual progress without resorting to vanity metrics, and learn what customers really want. It enables a company to shift directions with agility, altering plans inch by inch, minute by minute.Rather than wasting time creating elaborate business plans, The Lean Startup offers entrepreneurs - in companies of all sizes - a way to test their vision continuously, to adapt and adjust before it's too late. Ries provides a scientific approach to creating and managing successful startups in a age when companies need to innovate more than ever.

Applied Cryptography: Protocols, Algorithms, and Source Code in C


Bruce Schneier - 1993
    … The book the National Security Agency wanted never to be published." –Wired Magazine "…monumental… fascinating… comprehensive… the definitive work on cryptography for computer programmers…" –Dr. Dobb's Journal"…easily ranks as one of the most authoritative in its field." —PC Magazine"…the bible of code hackers." –The Millennium Whole Earth CatalogThis new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography—the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems. What's new in the Second Edition? * New information on the Clipper Chip, including ways to defeat the key escrow mechanism * New encryption algorithms, including algorithms from the former Soviet Union and South Africa, and the RC4 stream cipher * The latest protocols for digital signatures, authentication, secure elections, digital cash, and more * More detailed information on key management and cryptographic implementations

The Software Craftsman: Professionalism, Pragmatism, Pride


Sandro Mancuso - 2014
    Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too--and they behave accordingly. In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfilling path. If you want to develop software with pride and professionalism; love what you do and do it with excellence; and build a career with autonomy, mastery, and purpose, it starts with the recognition that you are a craftsman. Once you embrace this powerful mindset, you can achieve unprecedented levels of technical excellence and customer satisfaction. Mancuso helped found the world's largest organization of software craftsmen; now, he shares what he's learned through inspiring examples and pragmatic advice you can use in your company, your projects, and your career. You will learn Why agile processes aren't enough and why craftsmanship is crucial to making them work How craftsmanship helps you build software right and helps clients in ways that go beyond code How and when to say "No" and how to provide creative alternatives when you do Why bad code happens to good developers and how to stop creating and justifying it How to make working with legacy code less painful and more productive How to be pragmatic--not dogmatic--about your practices and tools How to lead software craftsmen and attract them to your organization What to avoid when advertising positions, interviewing candidates, and hiring developers How developers and their managers can create a true culture of learning How to drive true technical change and overcome deep patterns of skepticism Sandro Mancuso has coded for startups, software houses, product companies, international consultancies, and investment banks. In October 2013, he cofounded Codurance, a consultancy based on Software Craftsmanship principles and values. His involvement with Software Craftsmanship began in 2010, when he founded the London Software Craftsmanship Community (LSCC), now the world's largest and most active Software Craftsmanship community, with more than two thousand craftsmen. For the past four years, he has inspired and helped developers to organize Software Craftsmanship communities throughout Europe, the United States, and the rest of the world.

Personal Kanban: Mapping Work | Navigating Life


Jim Benson - 2011
    People need to be effective.Productivity books focus on doing more, Jim and Tonianne want you to focus on doing better. Personal Kanban is about choosing the right work at the right time. Recognizing why we do the things we do. Understanding the impact of our actions. Creating value - not just product. For ourselves, our families, our friends, our co-workers. For our legacy.Personal Kanban takes the same Lean principles from manufacturing that led the Japanese auto industry to become a global leader in quality, and applies them to individual and team work. Personal Kanban asks only that we visualize our work and limit our work-in-progress. Visualizing work allows us to transform our conceptual and threatening workload into an actionable, context-sensitive flow. Limiting our work-in-progress helps us complete what we start and understand the value of our choices. Combined, these two simple acts encourage us to improve the way we work and the way we make choices to balance our personal, professional, and social lives.Neither a prescription nor a plan, Personal Kanban provides a light, actionable, achievable framework for understanding our work and its context. This book describes why students, parents, business leaders, major corporations, and world governments all see immediate results with Personal Kanban.

Measure What Matters


John E. Doerr - 2017
     With a foreword by Larry Page, and contributions from Bono and Bill Gates. Measure What Matters is about using Objectives and Key Results (OKRs), a revolutionary approach to goal-setting, to make tough choices in business. In 1999, legendary venture capitalist John Doerr invested nearly $12 million in a startup that had amazing technology, entrepreneurial energy and sky-high ambitions, but no real business plan. Doerr introduced the founders to OKRs and with them at the foundation of their management, the startup grew from forty employees to more than 70,000 with a market cap exceeding $600 billion. The startup was Google. Since then Doerr has introduced OKRs to more than fifty companies, helping tech giants and charities exceed all expectations. In the OKR model objectives define what we seek to achieve and key results are how those top­ priority goals will be attained. OKRs focus effort, foster coordination and enhance workplace satisfaction. They surface an organization's most important work as everyone's goals from entry-level to CEO are transparent to the entire institution. In Measure What Matters, Doerr shares a broad range of first-person, behind-the-scenes case studies, with narrators including Bono and Bill Gates, to demonstrate the focus, agility, and explosive growth that OKRs have spurred at so many great organizations. This book will show you how to collect timely, relevant data to track progress - to measure what matters. It will help any organization or team aim high, move fast, and excel.

JavaScript Patterns


Stoyan Stefanov - 2010
    If you're an experienced developer looking to solve problems related to objects, functions, inheritance, and other language-specific categories, the abstractions and code templates in this guide are ideal -- whether you're writing a client-side, server-side, or desktop application with JavaScript.Written by JavaScript expert Stoyan Stefanov -- Senior Yahoo! Technical and architect of YSlow 2.0, the web page performance optimization tool -- JavaScript Patterns includes practical advice for implementing each pattern discussed, along with several hands-on examples. You'll also learn about anti-patterns: common programming approaches that cause more problems than they solve.Explore useful habits for writing high-quality JavaScript code, such as avoiding globals, using single var declarations, and moreLearn why literal notation patterns are simpler alternatives to constructor functionsDiscover different ways to define a function in JavaScriptCreate objects that go beyond the basic patterns of using object literals and constructor functionsLearn the options available for code reuse and inheritance in JavaScriptStudy sample JavaScript approaches to common design patterns such as Singleton, Factory, Decorator, and moreExamine patterns that apply specifically to the client-side browser environment

Actionable Agile Metrics for Predictability: An Introduction


Daniel S. Vacanti - 2015
    Think about how many times you have been asked that question. How many times have you ever actually been right?We can debate all we want whether this is a fair question to ask given the tremendous amount of uncertainty in knowledge work, but the truth of the matter is that our customers are going to inquire about completion time whether we like it or not. Which means we need to come up with an accurate way to answer them. The problem is that the forecasting tools that we currently utilize have made us ill-equipped to provide accurate answers to reasonable customer questions. Until now.

Rolling Rocks Downhill: Accelerate Agile using Goldratt's TOC


Clarke Ching - 2012
    What if your software-intensive projects delivered on time - or early - without sacrificing quality? 2. What if your IT department's job was to deliver profits, through software, rather than just software? 3. What if your software developers worked in a way they loved - that didn't feel as if they spent their days ROLLING ROCKS UPHILL? ROLLING ROCKS DOWNHILL is a business novel in the tradition of Eli Goldratt's "The Goal". It introduces Throughput-Driven Development - the combination of Lean, Agile and Goldratt's Theory of Constraints (TOC) thinking to corporate software development.

RESTful Web APIs


Leonard Richardson - 2013
    With this practical guide, you’ll learn what it takes to design usable REST APIs that evolve over time. By focusing on solutions that cross a variety of domains, this book shows you how to create powerful and secure applications, using the tools designed for the world’s most successful distributed computing system: the World Wide Web.You’ll explore the concepts behind REST, learn different strategies for creating hypermedia-based APIs, and then put everything together with a step-by-step guide to designing a RESTful Web API.Examine API design strategies, including the collection pattern and pure hypermediaUnderstand how hypermedia ties representations together into a coherent APIDiscover how XMDP and ALPS profile formats can help you meet the Web API "semantic challenge"Learn close to two-dozen standardized hypermedia data formatsApply best practices for using HTTP in API implementationsCreate Web APIs with the JSON-LD standard and other the Linked Data approachesUnderstand the CoAP protocol for using REST in embedded systems

REST in Practice: Hypermedia and Systems Architecture


Jim Webber - 2010
    You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design

Building a DevOps Culture


Mandi Walls - 2013
    But, as Mandi Walls explains in this Velocity report, DevOps is really about changing company culture—replacing traditional development and operations silos with collaborative teams of people from both camps. The DevOps movement has produced some efficient teams turning out better products faster. The tough part is initiating the change. This report outlines strategies for managers looking to go beyond tools to build a DevOps culture among their technical staff. Topics include: Documenting reasons for changing to DevOps before you commit Defining meaningful and achievable goals Finding a technical leader to be an evangelist, tools and process expert, and shepherd Starting with a non-critical but substantial pilot project Facilitating open communication among developers, QA engineers, marketers, and other professionals Realigning your team’s responsibilities and incentives Learning when to mediate disagreements and conflicts Download this free report and learn how to the DevOps approach can help you create a supportive team environment built on communication, respect, and trust. Mandi Walls is a Senior Consultant with Opscode.

Deep Learning


Ian Goodfellow - 2016
    Because the computer gathers knowledge from experience, there is no need for a human computer operator to formally specify all the knowledge that the computer needs. The hierarchy of concepts allows the computer to learn complicated concepts by building them out of simpler ones; a graph of these hierarchies would be many layers deep. This book introduces a broad range of topics in deep learning.The text offers mathematical and conceptual background, covering relevant concepts in linear algebra, probability theory and information theory, numerical computation, and machine learning. It describes deep learning techniques used by practitioners in industry, including deep feedforward networks, regularization, optimization algorithms, convolutional networks, sequence modeling, and practical methodology; and it surveys such applications as natural language processing, speech recognition, computer vision, online recommendation systems, bioinformatics, and videogames. Finally, the book offers research perspectives, covering such theoretical topics as linear factor models, autoencoders, representation learning, structured probabilistic models, Monte Carlo methods, the partition function, approximate inference, and deep generative models.Deep Learning can be used by undergraduate or graduate students planning careers in either industry or research, and by software engineers who want to begin using deep learning in their products or platforms. A website offers supplementary material for both readers and instructors.

Hackers & Painters: Big Ideas from the Computer Age


Paul Graham - 2004
    Who are these people, what motivates them, and why should you care?Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls “an intellectual Wild West.”The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.