Similar Ebooks
Effective design is at the heart of everything from software development to engineering to architecture. But what do we really know about the design process? What leads to effective, elegant designs? The Design of Design addresses these questions.
These new essays by Fred Brooks contain extraordinary insights for designers in every discipline. Brooks pinpoints constants inherent in all design projects and uncovers processes and patterns likely to lead to excellence. Drawing on conversations with dozens of exceptional designers, as well as his own experiences in several design domains, Brooks observes that bold design decisions lead to better outcomes.
The author tracks the evolution of the design process, treats collaborative and distributed design, and illuminates what makes a truly great designer. He examines the nuts and bolts of design processes, including budget constraints of many kinds, aesthetics, design empiricism, and tools, and grounds this discussion in his own real-world examples—case studies ranging from home construction to IBM’s Operating System/360. Throughout, Brooks reveals keys to success that every designer, design project manager, and design researcher should know.
In this collection of essays and articles, key members of Google’s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You’ll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient—lessons directly applicable to your organization.
This book is divided into four sections:
Introduction—Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples—Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices—Understand the theory and practice of an SRE’s day-to-day work: building and operating large distributed computing systemsManagement—Explore Google's best practices for training, communication, and meetings that your organization can useNoted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer–but only if you work at it.
What kind of work will you be doing? You’ll be reading code–lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code–of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding
How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
Whether you’re new to agile software development or considering Scrum for general project management, Scrum Basics compiles all of the essentials into one handy little guide. Learn how agile teams use Scrum, with:
• A simple summary of agile project management basics like the Agile Manifesto and 12 Agile Principles
• A concise overview of Scrum roles, artifacts, and activities
• A well-organized breakdown of Scrum practices with helpful illustrations and advice
• A troubleshooting FAQ and 5 case studies to help you visualize Scrum in action
Concepts are clearly illustrated and readers are guided, step by step, toward how to answer the following questions: What will we build? How big will it be? When must it be done? How much can I really complete by then? You will first learn what makes a good plan-and then what makes it agile.
Using the techniques in Agile Estimating and Planning , you can stay agile from start to finish, saving time, conserving resources, and accomplishing more. Highlights include:
Why conventional prescriptive planning fails and why agile planning works How to estimate feature size using story points and ideal days–and when to use each How and when to re-estimate How to prioritize features using both financial and nonfinancial approaches How to split large features into smaller, more manageable ones How to plan iterations and predict your team's initial rate of progress How to schedule projects that have unusually high uncertainty or schedule-related risk How to estimate projects that will be worked on by multiple teamsAgile Estimating and Planning supports any agile, semiagile, or iterative process, including Scrum, XP, Feature-Driven Development, Crystal, Adaptive Software Development, DSDM, Unified Process, and many more. It will be an indispensable resource for every development manager, team leader, and team member.
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.
Learn the latest principles and certification objectives in The PMBOK® Guide, (Fifth Version), in a unique and inspiring way with Head First PMP. This book helps you prepare for the PMP certification exam using a visually rich format designed for the way your brain works. You'll find a full-length sample exam included inside the book.
More than just proof of passing a test, a PMP certification means that you have the knowledge to solve most common project problems. But studying for a difficult four-hour exam on project management isn't easy, even for experienced project managers. Drawing on the latest research in neurobiology, cognitive science, and learning theory, Head First PMP offers you a multi-sensory experience that helps the material stick, not a text-heavy approach that puts you to sleep.
This book will help you:
Learn PMP's underlying concepts to help you understand the PMBOK principles and pass the certification exam with flying colorsGet 100% coverage of the latest principles and certification objectives in The PMBOK Guide, Fifth EditionMake use of a thorough and effective preparation guide with hundreds of practice questions and exam strategiesExplore the material through puzzles, games, problems, and exercises that make learning easy and entertainingHead First PMP puts project management principles into context to help you understand, remember, and apply them—not just on the exam, but also on the job.
With Kanban, every minute you spend on a software project can add value for customers. One book can help you achieve this goal: Agile Project Management with Kanban.
Author Eric Brechner pioneered Kanban within the Xbox engineering team at Microsoft. Now he shows you exactly how to make it work for your team.
Think of this book as “Kanban in a box”: open it, read the quickstart guide, and you’re up and running fast. As you gain experience, Brechner reveals powerful techniques for right-sizing teams, estimating, meeting deadlines, deploying components and services, adapting or evolving from Scrum or traditional Waterfall, and more.
For every step of your journey, you’ll find pragmatic advice, useful checklists, and actionable lessons. This truly is “Kanban in a box”: all you need to deliver breakthrough value and quality.
Use Kanban techniques to:
Start delivering continuous value with your current team and project Master five quick steps for completing work backlogs Plan and staff new projects more effectively Minimize work in progress and quickly adjust to change Eliminate artificial meetings and prolonged stabilization Improve and enhance customer engagement Visualize workflow and fix revealed bottlenecks Drive quality upstream Integrate Kanban into large projects Optimize sustained engineering (contributed by James Waletzky) Expand Kanban beyond software development
A Practical Guide to the Most Popular Agile Process
The Single-Source, Comprehensive Guide to Scrum for All Team Members, Managers, and Executives
If you want to use Scrum to develop innovative products and services that delight your customers, Essential Scrum is the complete, single-source reference you’ve been searching for. Leading Scrum coach and trainer Kenny Rubin illuminates the values, principles, and practices of Scrum, and describes flexible, proven approaches that can help you implement it far more effectively.
Whether you are new to Scrum or years into your use, this book will introduce, clarify, and deepen your Scrum knowledge at the team, product, and portfolio levels. Drawing from Rubin’s experience helping hundreds of organizations succeed with Scrum, this book provides easy-to-digest descriptions enhanced by more than two hundred illustrations based on an entirely new visual icon language for describing Scrum’s roles, artifacts, and activities.
Essential Scrum will provide every team member, manager, and executive with a common understanding of Scrum, a shared vocabulary they can use in applying it, and practical knowledge for deriving maximum value from it.
The authors share their insights on how to lead a team effectively, navigate an organization, and build a healthy relationship with the users of your software. This is valuable information from two respected software engineers whose popular series of talks—including "Working with Poisonous People"—has attracted hundreds of thousands of followers.
Agile has revolutionized the way teams approach software development, but with dozens of agile methodologies to choose from, the decision to "go agile" can be tricky. This practical book helps you sort it out, first by grounding you in agile’s underlying principles, then by describing four specific—and well-used—agile methods: Scrum, extreme programming (XP), Lean, and Kanban.
Each method focuses on a different area of development, but they all aim to change your team’s mindset—from individuals who simply follow a plan to a cohesive group that makes decisions together. Whether you’re considering agile for the first time, or trying it again, you’ll learn how to choose a method that best fits your team and your company.
Understand the purpose behind agile’s core values and principlesLearn Scrum’s emphasis on project management, self-organization, and collective commitmentFocus on software design and architecture with XP practices such as test-first and pair programmingUse Lean thinking to empower your team, eliminate waste, and deliver software fastLearn how Kanban’s practices help you deliver great software by managing flowAdopt agile practices and principles with an agile coach
Through cutting-edge research and case studies from leading organizations, including Spotify, Ericsson, Intuit, GE Healthcare, Pixar, CareerBuilder, and Intel, you’ll discover proven patterns for developing that mindset. You’ll see how to cultivate product teams that act like successful startups, create the kind of efficiency that attracts customers, and leverage the talents of bright, creative people.
The Poppendiecks weave lean principles throughout this book, just as those principles must be woven throughout the fabric of your truly lean organization.
Learn How To
Start with an inspiring purpose, and overcome the curse of short-term thinking Energize teams by providing well-framed challenges, larger purposes, and a direct line of sight between their work and the achievement of those purposes Delight customers by gaining unprecedented insight into their real needs, and building products and services that fully anticipate those needs Achieve authentic, sustainable efficiency without layoffs, rock-bottom cost focus, or totalitarian work systems Develop breakthrough innovations by moving beyond predictability to experimentation, beyond globalization to decentralization, beyond productivity to impact
Lean approaches to software development have moved from novelty to widespread use, in large part due to the principles taught by Mary and Tom Poppendieck in their pioneering books. Now, in The Lean Mindset, the Poppendiecks take the next step, looking at a company where multidiscipline teams are expected to ask the right questions, solve the right problems, and deliver solutions that customers love.
Lean software development: applying agile principles to your organization
In Lean Software Development, Mary and Tom Poppendieck identify seven fundamental "lean" principles, adapt them for the world of software development, and show how they can serve as the foundation for agile development approaches that work. Along the way, they introduce 22 "thinking tools" that can help you customize the right agile practices for any environment.
Better, cheaper, faster software development. You can have all three–if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development.
Iterating towards excellence: software development as an exercise in discovery Managing uncertainty: "decide as late as possible" by building change into the system. Compressing the value stream: rapid development, feedback, and improvement Empowering teams and individuals without compromising coordination Software with integrity: promoting coherence, usability, fitness, maintainability, and adaptability How to "see the whole"–even when your developers are scattered across multiple locations and contractorsSimply put, Lean Software Development helps you refocus development on value, flow, and people–so you can achieve breakthrough quality, savings, speed, and business alignment.
In Clean Code, legendary software expert Robert C. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer--but only if you work at it. You will be challenged to think about what’s right about that code and what’s wrong with it. More important, you will be challenged to reassess your professional values and your commitment to your craft.
In The Clean Coder, Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice--about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers of this collection will come away understanding
How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding and get past writer’s block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say “No”--and how to say it When to say “Yes”--and what yes really means
Writing for current managers and developers moving into management, Appelo shares insights that are grounded in modern complex systems theory, reflecting the intense complexity of modern software development. Appelo’s Management 3.0 model recognizes that today’s organizations are living, networked systems; and that management is primarily about people and relationships.
Management 3.0 doesn’t offer mere checklists or prescriptions to follow slavishly; rather, it deepens your understanding of how organizations and Agile teams work and gives you tools to solve your own problems. Drawing on his extensive experience as an Agile manager, the author identifies the most important practices of Agile management and helps you improve each of them.
Coverage includes
• Getting beyond “Management 1.0” control and “Management 2.0” fads
• Understanding how complexity affects your organization
• Keeping your people active, creative, innovative, and motivated
• Giving teams the care and authority they need to grow on their own
• Defining boundaries so teams can succeed in alignment with business goals
• Sowing the seeds for a culture of software craftsmanship
• Crafting an organizational network that promotes success
• Implementing continuous improvement that actually works
Thoroughly pragmatic–and never trendy–Jurgen Appelo’s Management 3.0 helps you bring greater agility to any software organization, team, or project.
Here you'll find guidance from the acclaimed author of the classics CODE COMPLETE and RAPID DEVELOPMENT. Steve McConnell draws on solid research and a career's worth of hard-won experience to map the surest path to your goal--what he calls "one specific approach to software development that works pretty well most of the time for most projects." Nineteen chapters in four sections cover the concepts and strategies you need for mastering the development process, including planning, design, management, quality assurance, testing, and archiving. For newcomers and seasoned project managers alike, SOFTWARE PROJECT SURVIVAL GUIDE draws on a vast store of techniques to create an elegantly simplified and reliable framework for project management success.
So don't worry about wandering among complex sets of project management techniques that require years to sort out and master. SOFTWARE PROJECT SURVIVAL GUIDE goes straight to the heart of the matter to help your projects succeed. And that makes it a required addition to every professional's bookshelf.
Elon Musk spotlights the technology and vision of Elon Musk, the renowned entrepreneur and innovator behind SpaceX, Tesla, and SolarCity, who sold one of his Internet companies, PayPal, for $1.5 billion. Ashlee Vance captures the full spectacle and arc of the genius’s life and work, from his tumultuous upbringing in South Africa and flight to the United States to his dramatic technical innovations and entrepreneurial pursuits.
Vance uses Musk’s story to explore one of the pressing questions of our age: can the nation of inventors and creators who led the modern world for a century still compete in an age of fierce global competition? He argues that Musk—one of the most unusual and striking figures in American business history—is a contemporary, visionary amalgam of legendary inventors and industrialists including Thomas Edison, Henry Ford, Howard Hughes, and Steve Jobs. More than any other entrepreneur today, Musk has dedicated his energies and his own vast fortune to inventing a future that is as rich and far-reaching as the visionaries of the golden age of science-fiction fantasy.
Thorough and insightful, Elon Musk brings to life a technology industry that is rapidly and dramatically changing by examining the life of one of its most powerful and influential titans.
This book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience with Extreme Programming (XP). You get a gestalt view of the agile development process, including comprehensive guidance for non-technical readers and hands-on technical practices for developers and testers.
The Art of Agile Development gives you clear answers to questions such as:How can we adopt agile development?Do we really need to pair program?What metrics should we report?What if I can't get my customer to participate?How much documentation should we write?When do we design and architect?As a non-developer, how should I work with my agile team?Where is my product roadmap?How does QA fit in?The book teaches you how to adopt XP practices, describes each practice in detail, then discusses principles that will allow you to modify XP and create your own agile method. In particular, this book tackles the difficult aspects of agile development: the need for cooperation and trust among team members.
Whether you're currently part of an agile team, working with an agile team, or interested in agile development, this book provides the practical tips you need to start practicing agile development. As your experience grows, the book will grow with you, providing exercises and information that will teach you first to understand the rules of agile development, break them, and ultimately abandon rules altogether as you master the art of agile development.
"Jim Shore and Shane Warden expertly explain the practices and benefits of Extreme Programming. They offer advice from their real-world experiences in leading teams. They answer questions about the practices and show contraindications - ways that a practice may be mis-applied. They offer alternatives you can try if there are impediments to applying a practice, such as the lack of an on-site customer.
--Ken Pugh, Author of Jolt Award Winner, Prefactoring
"I will leave a copy of this book with every team I visit."
--Brian Marick, Exampler Consulting
This book is based on many years of “real-world” System Development Life Cycle (SDLC) project management, as well as the Project Management Body Of Knowledge (PMBOK®), the blending of the useful elements from other management practices & principles, and the incorporation of the past experiences & the lessons learnt from the various industrial backgrounds of those persons who graciously contributed to this book’s creation.
Described within is the practical application of field-tested project management techniques to actual situations and prevailing circumstances where the realities of commercial necessities have to be given serious consideration.
Additionally, this book does cover some topics and ugly truths that are often not acknowledged in academic textbooks on project management.
Contains over 100 explanatory diagrams, real example cases, candid comments from project / program managers, and over 100 cartoons to emphasize the key points.
Best practices for managing projects in agile environments—now updated with new techniques for larger projects
Today, the pace of project management moves faster. Project management needs to become more flexible and far more responsive to customers. Using Agile Project Management (APM), project managers can achieve all these goals without compromising value, quality, or business discipline. In Agile Project Management, Second Edition, renowned agile pioneer Jim Highsmith thoroughly updates his classic guide to APM, extending and refining it to support even the largest projects and organizations.
Writing for project leaders, managers, and executives at all levels, Highsmith integrates the best project management, product management, and software development practices into an overall framework designed to support unprecedented speed and mobility. The many topics added in this new edition include incorporating agile values, scaling agile projects, release planning, portfolio governance, and enhancing organizational agility. Project and business leaders will especially appreciate Highsmith’s new coverage of promoting agility through performance measurements based on value, quality, and constraints.
This edition’s coverage includes:
Understanding the agile revolution’s impact on product development Recognizing when agile methods will work in project management, and when they won’t Setting realistic business objectives for Agile Project Management Promoting agile values and principles across the organization Utilizing a proven Agile Enterprise Framework that encompasses governance, project and iteration management, and technical practices Optimizing all five stages of the agile project: Envision, Speculate, Explore, Adapt, and Close Organizational and product-related processes for scaling agile to the largest projects and teams Agile project governance solutions for executives and management The “Agile Triangle”: measuring performance in ways that encourage agility instead of discouraging it The changing role of the agile project leader
Getting software released to users is often a painful, risky, and time-consuming process.
This groundbreaking new book sets out the principles and technical practices that enable
rapid, incremental delivery of high quality, valuable new functionality to users. Through
automation of the build, deployment, and testing process, and improved collaboration between
developers, testers, and operations, delivery teams can get changes released in a matter of hours—
sometimes even minutes–no matter what the size of a project or the complexity of its code base.
Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk
delivery process. Next, they introduce the “deployment pipeline,” an automated process for
managing all changes, from check-in to release. Finally, they discuss the “ecosystem” needed to
support continuous delivery, from infrastructure, data and configuration management to governance.
The authors introduce state-of-the-art techniques, including automated infrastructure management
and data migration, and the use of virtualization. For each, they review key issues, identify best
practices, and demonstrate how to mitigate risks. Coverage includes
• Automating all facets of building, integrating, testing, and deploying software
• Implementing deployment pipelines at team and organizational levels
• Improving collaboration between developers, testers, and operations
• Developing features incrementally on large and distributed teams
• Implementing an effective configuration management strategy
• Automating acceptance testing, from analysis to implementation
• Testing capacity and other non-functional requirements
• Implementing continuous deployment and zero-downtime releases
• Managing infrastructure, data, components and dependencies
• Navigating risk management, compliance, and auditing
Whether you’re a developer, systems administrator, tester, or manager, this book will help your
organization move from idea to release faster than ever—so you can deliver value to your business
rapidly and reliably.
A rapid-development strategy that can be applied to any project and the best practices to make that strategy work Candid discussions of great and not-so-great rapid-development practices—estimation, prototyping, forced overtime, motivation, teamwork, rapid-development languages, risk management, and many others A list of classic mistakes to avoid for rapid-development projects, including creeping requirements, shortchanged quality, and silver-bullet syndrome Case studies that vividly illustrate what can go wrong, what can go right, and how to tell which direction your project is going RAPID DEVELOPMENT is the real-world guide to more efficient applications development.
Agile project management is a fast and flexible approach to managing all projects, not just software development. By learning the principles and techniques in this book, you'll be able to create a product roadmap, schedule projects, and prepare for product launches with the ease of Agile software developers. You'll discover how to manage scope, time, and cost, as well as team dynamics, quality, and risk of every project.
As mobile and web technologies continue to evolve rapidly, there is added pressure to develop and implement software projects in weeks instead of months—and Agile Project Management For Dummies can help you do just that. Providing a simple, step-by-step guide to Agile project management approaches, tools, and techniques, it shows product and project managers how to complete and implement projects more quickly than ever. Complete projects in weeks instead of months Reduce risk and leverage core benefits for projects Turn Agile theory into practice for all industries Effectively create an Agile environment
Get ready to grasp and apply Agile principles for faster, more accurate development.
If you have some experience with Docker and want to get more from containerization, this book is the perfect place to start. Focused on helping you take control of your deployments in a simple way, you'll soon find out how to transform your operations for greater organizational and technical agility.
What You Will LearnDownload, install, and configure the latest version of KubernetesPerform smooth updates and patches with minimal downtimeStreamline the way you deploy and manage your applications with large-scale container orchestrationFind out how Kubernetes can simplify the way you configure your clusters and networksLearn why the Open Container initiative is so important for the way you manage your infrastructureDiscover third-party tools that can enhance your production operationsExplore and use the most persistent storage options for your clusterterIntegrate Kubernetes with continuous delivery tools such as Gulp and JenkinsIn DetailKubernetes is the tool that's pushing the containerization revolution – largely driven by Docker – to another level. If Docker has paved the way for greater agility and control in the way we organize and manage our infrastructure, Kubernetes goes further, by helping you to orchestrate and automate container deployments on a massive scale. Kubernetes really does think big – and it's time you did too!
This book will show you how to start doing exactly that, showing you how to extend the opportunities that containerization innovations have brought about in new and even more effective ways. Get started with the basics - explore the fundamental elements of Kubernetes and find out how to install it on your system, before digging a little deeper into Kubernetes core constructs. Find out how to use Kubernetes pods, services, replication controllers, and labels to manage your clusters effectively and learn how to handle networking with Kubernetes.
Once you've got to grips with these core components, you'll begin to see how Kubernetes fits into your workflow. From basic updates to integrating Kubernetes with continuous delivery tools such as Jenkins and Gulp, the book demonstrates exactly how Kubernetes will transform the way you work. With further insights on how to install monitoring and security tools, this book provides you with a direct route through Kubernetes – so you can take advantage of it, fast!
Style and approachThis straightforward guide will help you understand how to move your container applications into production through best practices and step by step walkthroughs tied to real-world operational strategies.
Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.
It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
The Poppendiecks organize this book around the crucial concept of frames, the unspoken mental constructs that shape our perspectives and control our behavior in ways we rarely notice. For software leaders and team members, some frames lead to long-term failure, while others offer a strong foundation for success. Drawing on decades of experience, the authors present twenty-four frames that offer a coherent, complete framework for leading lean software development. You’ll discover powerful new ways to act as competency leader, product champion, improvement mentor, front-line leader, and even visionary.
Systems thinking: focusing on customers, bringing predictability to demand, and revamping policies that cause inefficiency Technical excellence: implementing low-dependency architectures, TDD, and evolutionary development processes, and promoting deeper developer expertise Reliable delivery: managing your biggest risks more effectively, and optimizing both workflow and schedules Relentless improvement: seeing problems, solving problems, sharing the knowledge Great people: finding and growing professionals with purpose, passion, persistence, and pride Aligned leaders: getting your entire leadership team on the same page
From the world’s number one experts in Lean software development, Leading Lean Software Development will be indispensable to everyone who wants to transform the promise of lean into reality—in enterprise IT and software companies alike.
In the first part of the book, you’ll learn a step-by-step shipping process used by many of the best teams at Google and Amazon. Part II shows you the techniques, best practices, and skills you need to face an array of challenges in product, program, project, and engineering management.
Clearly define your product and develop your mission and strategyAssemble your team and understand enough about systems to communicate with themCreate a beautiful, intuitive, and simple user experienceTrack your team’s deliverables and closely manage the testing processCommunicate clearly to gracefully handle requests, senior-management interactions, and feedback from various sourcesBuild metrics to track progress, spot problems, and celebrate successStick to your launch checklist and plan for marketing and PR
As IT systems have grown increasingly complex and mission-critical, effective configuration management (CM) has become critical to an organization’s success. Using CM best practices, IT professionals can systematically manage change, avoiding unexpected problems introduced by changes to hardware, software, or networks. Now, today’s best CM practices have been gathered in one indispensable resource showing you how to implement them throughout any agile or traditional development organization.
Configuration Management Best Practices is practical, easy to understand and apply, and fully reflects the day-to-day realities faced by practitioners. Bob Aiello and Leslie Sachs thoroughly address all six “pillars” of CM: source code management, build engineering, environment configuration, change control, release engineering, and deployment. They demonstrate how to implement CM in ways that support software and systems development, meet compliance rules such as SOX and SAS-70, anticipate emerging standards such as IEEE/ISO 12207, and integrate with modern frameworks such as ITIL, COBIT, and CMMI. Coverage includes
Using CM to meet business objectives, contractual requirements, and compliance rules Enhancing quality and productivity through lean processes and “just-in-time” process improvement Getting off to a good start in organizations without effective CM Implementing a Core CM Best Practices Framework that supports the entire development lifecycle Mastering the “people” side of CM: rightsizing processes, overcoming resistance, and understanding
workplace psychology Architecting applications to take full advantage of CM best practices Establishing effective IT controls and compliance Managing tradeoffs and costs and avoiding expensive pitfalls
Configuration Management Best Practices is the essential resource for everyone concerned with CM: from CTOs and CIOs to development, QA, and project managers and software engineers to analysts, testers, and compliance professionals.
We will soon be able to meet and exceed the basic needs of every man, woman and child on the planet. Abundance for all is within our grasp. This bold, contrarian view, backed up by exhaustive research, introduces our near-term future, where exponentially growing technologies and three other powerful forces are conspiring to better the lives of billions. An antidote to pessimism by tech entrepreneur turned philanthropist, Peter H. Diamandis and award-winning science writer Steven Kotler.
Since the dawn of humanity, a privileged few have lived in stark contrast to the hardscrabble majority. Conventional wisdom says this gap cannot be closed. But it is closing—fast. The authors document how four forces—exponential technologies, the DIY innovator, the Technophilanthropist, and the Rising Billion—are conspiring to solve our biggest problems. Abundance establishes hard targets for change and lays out a strategic roadmap for governments, industry and entrepreneurs, giving us plenty of reason for optimism.
Examining human need by category—water, food, energy, healthcare, education, freedom—Diamandis and Kotler introduce dozens of innovators making great strides in each area: Larry Page, Steven Hawking, Dean Kamen, Daniel Kahneman, Elon Musk, Bill Joy, Stewart Brand, Jeff Skoll, Ray Kurzweil, Ratan Tata, Craig Venter, among many, many others.
Mercurial permits a countless variety of development and collaboration methods, and this book offers several concrete suggestions to get you started. This guide will help you:
Learn the basics of working with a repository, changesets, and revisionsMerge changes from separate repositoriesSet up Mercurial to work with files on a daily basis, including which ones to trackGet examples and tools for setting up various workflow modelsManage a project that's making progress on multiple fronts at onceFind and fix mistakes by isolating problem sourcesUse hooks to perform actions automatically in response to repository eventsCustomize the output of Mercurial
Mercurial: The Definitive Guide maintains a strong focus on simplicity to help you learn Mercurial quickly and thoroughly.
--Mike Cohn, author of Agile Estimating and Planning
"As a lean practitioner myself, I have loved and used their first book for years.When this second book came out, I was delighted that it was even better. If youare interested in how lean principles can be useful for software developmentorganizations, this is the book you are looking for. The Poppendiecks offer abeautiful blend of history, theory, and practice."
--Alan Shalloway, coauthor of Design Patterns Explained
"I've enjoyed reading the book very much. I feel it might even be better than thefirst lean book by Tom and Mary, while that one was already exceptionallygood! Mary especially has a lot of knowledge related to lean techniques inproduct development and manufacturing. It's rare that these techniques areactually translated to software. This is something no other book does well(except their first book)."
--Bas Vodde
"The new book by Mary and Tom Poppendieck provides a well-written andcomprehensive introduction to lean principles and selected practices for softwaremanagers and engineers. It illustrates the application of the values andpractices with well-suited success stories. I enjoyed reading it."
--Roman Pichler
"In Implementing Lean Software Development, the Poppendiecks explore moredeeply the themes they introduced in Lean Software Development. They beginwith a compelling history of lean thinking, then move to key areas such asvalue, waste, and people. Each chapter includes exercises to help you apply keypoints. If you want a better understanding of how lean ideas can work withsoftware, this book is for you."
--Bill Wake, independent consultant
In 2003, Mary and Tom Poppendieck's Lean Software Development introduced breakthrough development techniques that leverage Lean principles to deliver unprecedented agility and value. Now their widely anticipated sequel and companion guide shows exactly how to implement Lean software development, hands-on.
This new book draws on the Poppendiecks' unparalleled experience helping development organizations optimize the entire software value stream. You'll discover the right questions to ask, the key issues to focus on, and techniques proven to work. The authors present case studies from leading-edge software organizations, and offer practical exercises for jumpstarting your own Lean initiatives.
Managing to extend, nourish, and leverage agile practices Building true development teams, not just groups Driving quality through rapid feedback and detailed discipline Making decisions Just-in-Time, but no later Delivering fast: How PatientKeeper delivers 45 rock-solid releases per year Making tradeoffs that really satisfy customers Implementing Lean Software Development is indispensable to anyone who wants more effective development processes--managers, project leaders, senior developers, and architects in enterprise IT and software companies alike.Do these problems sound familiar?
• Lack of planning and predictability in your agile projects
• Teams that continually over- or under-commit
• Product Owners that are ineffective or not engaged
• Poorly written requirements
• Inability to meet project deadlines
If you have struggled with issues like these, 30 Days to Better Agile can help. In it, you will learn specific and targeted techniques for working through common problems every organization faces when moving to an agile model. This book is an indispensable resource for anyone looking to get the most value possible out of agile practices.
Inside, you'll learn about:
Interaction design and physical computingThe Arduino hardware and software development environmentBasics of electricity and electronicsPrototyping on a solderless breadboardDrawing a schematic diagram
And more. With inexpensive hardware and open-source software components that you can download free, getting started with Arduino is a snap. To use the introductory examples in this book, all you need is a USB Arduino, USB A-B cable, and an LED.
Join the tens of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, with illustrations by Elisa Canducci, Getting Started with Arduino gets you in on the fun! This 128-page book is a greatly expanded follow-up to the author's original short PDF that's available on the Arduino website.
In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about.
There’s a problem with those facts–and, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading Facts and Fallacies of Software Engineering , you may experience moments of “Oh, yes, I had forgotten that,” alongside some “Is that really true?” thoughts.
The author of this book doesn’t shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called “the premier curmudgeon of software practice.”
These facts and fallacies are fundamental to the software building field–forget or neglect them at your peril!
Agile project management is a fast and flexible approach to managing all projects, not just software development. By learning the principles and techniques in this book, you'll be able to create a product roadmap, schedule projects, and prepare for product launches with the ease of Agile software developers. You'll discover how to manage scope, time, and cost, as well as team dynamics, quality, and risk of every project.
As mobile and web technologies continue to evolve rapidly, there is added pressure to develop and implement software projects in weeks instead of months—and Agile Project Management For Dummies can help you do just that. Providing a simple, step-by-step guide to Agile project management approaches, tools, and techniques, it shows product and project managers how to complete and implement projects more quickly than ever. Complete projects in weeks instead of months Reduce risk and leverage core benefits for projects Turn Agile theory into practice for all industries Effectively create an Agile environment
Get ready to grasp and apply Agile principles for faster, more accurate development.
What will you learn from this book?
In Head First Agile, you'll learn all about the ideas behind agile and the straightforward practices that drive it. You'll take deep dives into Scrum, XP, Lean, and Kanban, the most common real-world agile approaches today. You'll learn how to use agile to help your teams plan better, work better together, write better code, and improve as a team—because agile not only leads to great results, but agile teams say they also have a much better time at work. Head First Agile will help you get agile into your brain... and onto your team!
Preparing for your PMI-ACP® certification?
This book also has everything you need to get certified, with 100% coverage of the PMI-ACP® exam. Luckily, the most effective way to prepare for the exam is to get agile into your brain—so instead of cramming, you're learning.
Why does this book look so different?
Based on the latest research in cognitive science and learning theory, Head First Agile uses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multi-sensory learning experience is designed for the way your brain really works.
This Second Edition of the popular book follows the same “learning-by-doing” approach to teach the fundamentals and practices of VHDL synthesis and FPGA prototyping. It uses a coherent series of examples to demonstrate the process to develop sophisticated digital circuits and IP (intellectual property) cores, integrate them into an SoC (system on a chip) framework, realize the system on an FPGA prototyping board, and verify the hardware and software operation. The examples start with simple gate-level circuits, progress gradually through the RT (register transfer) level modules, and lead to a functional embedded system with custom I/O peripherals and hardware accelerators. Although it is an introductory text, the examples are developed in a rigorous manner, and the derivations follow strict design guidelines and coding practices used for large, complex digital systems.
The new edition is completely updated. It presents the hardware design in the SoC context and introduces the hardware-software co-design concept. Instead of treating examples as isolated entities, the book integrates them into a single coherent SoC platform that allows readers to explore both hardware and software “programmability” and develop complex and interesting embedded system projects. The revised edition:
Adds four general-purpose IP cores, which are multi-channel PWM (pulse width modulation) controller, I2C controller, SPI controller, and XADC (Xilinx analog-to-digital converter) controller. Introduces a music synthesizer constructed with a DDFS (direct digital frequency synthesis) module and an ADSR (attack-decay-sustain-release) envelop generator. Expands the original video controller into a complete stream-based video subsystem that incorporates a video synchronization circuit, a test pattern generator, an OSD (on-screen display) controller, a sprite generator, and a frame buffer. Introduces basic concepts of software-hardware co-design with Xilinx MicroBlaze MCS soft-core processor. Provides an overview of bus interconnect and interface circuit. Introduces basic embedded system software development. Suggests additional modules and peripherals for interesting and challenging projects.The FPGA Prototyping by VHDL Examples, Second Edition makes a natural companion text for introductory and advanced digital design courses and embedded system course. It also serves as an ideal self-teaching guide for practicing engineers who wish to learn more about this emerging area of interest.
A radical, how-to guide for using exponential technologies, moonshot thinking, and crowd-powered tools, Bold unfolds in three parts. Part One focuses on the exponential technologies that are disrupting today’s Fortune 500 companies and enabling upstart entrepreneurs to go from “I’ve got an idea” to “I run a billion-dollar company” far faster than ever before. The authors provide exceptional insight into the power of 3D printing, artificial intelligence, robotics, networks and sensors, and synthetic biology. Part Two draws on insights from billionaires such as Larry Page, Elon Musk, Richard Branson, and Jeff Bezos and reveals their entrepreneurial secrets. Finally, Bold closes with a look at the best practices that allow anyone to leverage today’s hyper-connected crowd like never before. Here, the authors teach how to design and use incentive competitions, launch million-dollar crowdfunding campaigns to tap into tens of billions of dollars of capital, and finally how to build communities—armies of exponentially enabled individuals willing and able to help today’s entrepreneurs make their boldest dreams come true.
—Paul Laberge, Continuous Improvement Analyst, Wolters Kluwer
This comprehensive reference on software development quality assurance addresses all four dimensions of quality: specifications, design, construction and conformance. It focuses on quality from both the micro and macro viewpoint. From a micro view, it details the aspect of building-in quality at the component level to help ensure that the overall deliverable has ingrained quality. From a macro view, it addresses the organizational-level activities that provide an environment conducive to fostering quality in the deliverables as well as developing a culture focused on quality in the organization.Mastering Software Quality Assurance also explores a process driven approach to quality and provides the information and guidance needed for implementing a process quality model in your organization. It includes best practices and valuable tools and techniques for software developers.
A combined “Lean-Agile” approach can dramatically improve both developer productivity and the software’s business value.In this book, three expert Lean software consultants draw from their unparalleled experience to gather all the insights, knowledge, and new skills you need to succeed with Lean-Agile development.
Lean-Agile Software Development shows how to extend Scrum processes with an Enterprise view based on Lean principles. The authors present crucial technical insight into emergent design, and demonstrate how to apply it to make iterative development more effective. They also identify several common development “anti-patterns” that can work against your goals, and they offer actionable, proven alternatives.
Lean-Agile Software Development shows how to
Transition to Lean Software Development quickly and successfully Manage the initiation of product enhancements Help project managers work together to manage product portfolios more effectively Manage dependencies across the software development organization and with its partners and colleagues Integrate development and QA roles to improve quality and eliminate waste Determine best practices for different software development teamsThe book’s companion Web site, www.netobjectives.com/lasd, provides updates, links to related materials, and support for discussions of the book’s content.
Devops stresses iterative efforts to break down information silos, monitor relationships, and repair misunderstandings that arise between and within teams in your organization. By applying the actionable strategies in this book, you can make sustainable changes in your environment regardless of your level within your organization.
Explore the foundations of devops and learn the four pillars of effective devopsEncourage collaboration to help individuals work together and build durable and long-lasting relationshipsCreate affinity among teams while balancing differing goals or metricsAccelerate cultural direction by selecting tools and workflows that complement your organizationTroubleshoot common problems and misunderstandings that can arise throughout the organizational lifecycleLearn from case studies from organizations and individuals to help inform your own devops journeyScrum is the most popular agile project management methodology used in web projects today. While most Scrum books tend to be lengthy textbooks that cover every detail of Scrum for all types of organizations, this highly practical book concentrates solely on how best to apply Scrum in web and mobile development projects. In it, you'll learn:
An overview of Scrum fundamentals for web and mobile projectsGet familiar with Scrum's roles: Scrum master, product owner, team members, and interested observersUnderstand Scrum's rituals: sprint planning meetings, daily standups, work process, demos, and sprint retrospectivesGain a thorough understanding of the tools used in Scrum: burndown charts, story cards, sprint backlogsTroubleshoot typical Scrum issuesExamples included in this book have been compiled, built, and tested Includes Both ARM® assembly and C codes Direct Register Access (DRA) model and the Software Driver (SD) model programming techniques and discussed
If you are an instructor and adopted this book for your course, please email ieeeproposals@wiley.com to get access to the instructor files for this book.
With JIRA Agile Essentials you will dive straight into the action, exploring critical agile terminologies and concepts in the context of JIRA Agile. Learn to install and run JIRA Agile, and set it up to run with Scrum and Kanban. Collaborate with your colleagues to define requirements, create user stories, and manage and plan sprints based on the availability of your members. Create reports and share your project progress with other stakeholders.
With this practical guide, you will develop a great working knowledge of JIRA Agile and make your project management much more efficient.
Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose the bureaucracy and stagnation that mark discipline without agility, and liken agility without discipline to unbridled and fruitless enthusiasm. Using a day in the life of two development teams and ground-breaking case studies, they illustrate the differences and similarities between agile and plan-driven methods, and show that the best development strategies have ways to combine both attributes. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals--showing how to locate the sweet spot on the agility-discipline continuum for any given project.