Whether you're using XP, Scrum, FDD, or another agile approach, you'll learn how to develop management discipline for all phases of the engineering process, implement realistic financial and production metrics, and focus on building software that delivers maximum customer value and outstanding business results.Coverage includes:Making the business case for agile methods: practical tools and disciplines How to choose an agile method for your next project Breakthrough application of Critical Chain Project Management and constraint-driven control of the flow of value Defines the four new roles for the agile manager in software projects—and competitive IT organizations
Whether you're a development manager, project manager, team leader, or senior IT executive, this book will help you achieve all four of your most urgent challenges: lower cost, faster delivery, improved quality, and focused alignment with the business.
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
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 teams
Agile 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.
--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)."
"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."
"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.
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 contractors
Simply put, Lean Software Development helps you refocus development on value, flow, and people–so you can achieve breakthrough quality, savings, speed, and business alignment.
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
Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.
In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control.
The topics covered includeUnderstanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure
This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.
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.
• 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.
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.
xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective.
Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages.
Noted 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.
The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."
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 understandingHow 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
“Jim Highsmith is one of a few modern writers who are helping us understand the new nature of work in the knowledge economy.”
—Rob Austin, Assistant Professor, Harvard Business School
“This is the project management book we’ve all been waiting for—the book that effectively combines Agile methods and rigorous project management. Not only does this book help us make sense of project management in this current world of iterative, incremental Agile methods, but it’s an all-around good read!”
—Lynne Ellen, Sr. VP & CIO, DTE Energy
“Finally a book that reconciles the passion of the Agile Software movement with the needed disciplines of project management. Jim’s book has provided a service to all of us.”
—Neville R(oy) Singham, CEO, ThoughtWorks, Inc.
“The world of product development is becoming more dynamic and uncertain. Many managers cope by reinforcing processes, adding documentation, or further honing costs. This isn’t working. Highsmith brilliantly guides us into an alternative that fits the times.”
—Preston G. Smith, principal, New Product Dynamics/coauthor, Developing Products in Half the Time
One of the field’s leading experts brings together all the knowledge and resources you need to use APM in your next project. Jim Highsmith shows why APM should be in every manager’s toolkit, thoroughly addressing the questions project managers raise about Agile approaches. He systematically introduces the five-phase APM framework, then presents specific, proven tools for every project participant. Coverage includes:Six principles of Agile Project Management How to capitalize on emerging new product development technologies Putting customers at the center of your project, where they belong Creating adaptive teams that respond quickly to changes in your project’s “ecosystem” Which projects will benefit from APM—and which won’t APM’s five phases: Envision, Speculate, Explore, Adapt, Close APM practices, including the Product Vision Box and Project Data Sheet Leveraging your PMI skills in Agile environments Scaling APM to larger projects and teams For every project manager, team leader, and team member
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 use
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.
Pioneering the Future of Software Test
Do you need to get it right, too? Then, learn from Google. Legendary testing expert James Whittaker, until recently a Google testing leader, and two top Google experts reveal exactly how Google tests software, offering brand-new best practices you can use even if you’re not quite Google’s size…yet!
Breakthrough Techniques You Can Actually Use
Discover 100% practical, amazingly scalable techniques for analyzing risk and planning tests…thinking like real users…implementing exploratory, black box, white box, and acceptance testing…getting usable feedback…tracking issues…choosing and creating tools…testing “Docs & Mocks,” interfaces, classes, modules, libraries, binaries, services, and infrastructure…reviewing code and refactoring…using test hooks, presubmit scripts, queues, continuous builds, and more. With these techniques, you can transform testing from a bottleneck into an accelerator–and make your whole organization more productive!
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 entertaining
Head 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.
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.
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.
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 Detail
Kubernetes 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 approach
This 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.
What Special – In this book I covered and explained several topics of latest Java 8 Features in detail for Developers & Fresher’s, Topics Like– Lambdas. || Java 8 Functional interface, || Stream and Time API in Java 8. This Java book doesn't require previous programming experience. However, if you come from a C or C++ programming background, then you will be able to learn faster.
Learn the all basics and advanced features of Java programming in no time from Bestseller Java Programming Author Harry. H. Chaudhary (More than 1,67,000 Books Sold !). This Java Guide, starts with the basics and Leads to Advance features of Java in detail with thousands of Java Codes and new features of Java 8 like Lambdas. Java 8 Functional interface, || Stream and Time API in Java 8. , I promise this book will make you expert level champion of java. Anyone can learn java through this book at expert level.
The main objective of this java book is not to give you just Java Programming Knowledge, I have followed a pattern of improving the question solution of thousands of Codes with clear theory explanations with different Java complexities for each java topic problem, and you will find multiple solutions for complex java problems. Engineering Students and fresh developers can also use this book. This book covers common core syllabus for all Computer Science Professional Degrees If you are really serious then go ahead and make your day with this ultimate java book.
Teach you how to compile and run a Java program, shows you everything you need to develop, compile, debug, and run Java programs. And then discusses the keywords, syntax, and constructs that form the core of the Java language. After that it leads you to advanced features of java, including multithreaded programming and Applets.
Learning a new language is no easy task especially when it’s an oop’s programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn't always want to take in the dry, technical stuff you're forced to study. The fact is your brain craves novelty.
This Java Book is very serious java stuff: A complete introduction to Java. You'll learn everything from the fundamentals to advanced topics, if you've read this book, you know what to expect--a visually rich format designed for the way your brain works. To use this book does not require any previous programming experience. However, if you come from a C/C++ background, then you will be able to advance a bit more rapidly. As most readers will know, Java is similar, in form and spirit, to C/C++. Thus, knowledge of those languages helps, but is not necessary. Even if you have never programmed before, you can learn to program in Java using this book.
Inside Contents (Chapters):
1. (Overview of Java)
4.(Scanner class, Arrays & Command Line Args)
5.(Class & Objects in Java)
6.(Inheritance in Java)
7.(Object oriented programming)
8.(Packages in Java)
9.(Interface in Java)
10.(String and StringBuffer)
15.(Input/Output in Java)
17.(Abstract Windows Toolkit)(AWT)
18.(Introduction To AWT Events)
19.(Painting in AWT)
20.( java.lang.Object Class )
PART - II (Java 8 Features for Developers)
22. Java 8 Features for Developers – Lambdas.
23. Java 8 Functional interface,Stream & Time API.
24. Key Features that Make Java More Secure than Other Languages.
Rethink your use of Windows debugging and tracing tools—and learn how to make them a key part of test-driven software development. Led by a member of the Windows Fundamentals Team at Microsoft, you’ll apply expert debugging and tracing techniques—and sharpen your C++ and C# code analysis skills—through practical examples and common scenarios. Learn why experienced developers use debuggers in every step of the development process, and not just when bugs appear.
Discover how to: Go behind the scenes to examine how powerful Windows debuggers work Catch bugs early in the development cycle with static and runtime analysis tools Gain practical strategies to tackle the most common code defects Apply expert tricks to handle user-mode and kernel-mode debugging tasks Implement postmortem techniques such as JIT and dump debugging Debug the concurrency and security aspects of your software Use debuggers to analyze interactions between your code and the operating system Analyze software behavior with Xperf and the Event Tracing for Windows (ETW) framework
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
The authors begin by explaining how agile works: how it differs from traditional “plan-driven” methodologies, the benefits it promises, and the real-world results it delivers. Next, they systematically map the Project Management Institute’s classic, methodology-independent techniques and terminology to agile practices. They cover both process and project lifecycles and carefully address vital issues ranging from scope and time to cost management and stakeholder communication. Finally, drawing on their own extensive personal experience, they put a human face on your personal transition to agile--covering the emotional challenges, personal values, and key leadership traits you’ll need to succeed.
Coverage includesRelating the PMBOKR Guide ideals to agile practices: similarities, overlaps, and differences Understanding the role and value of agile techniques such as iteration/release planning and retrospectives Using agile techniques to systematically and continually reduce risk Implementing quality assurance (QA) where it belongs: in analysis, design, defect prevention, and continuous improvement Learning to trust your teams and listen for their discoveries Procuring, purchasing, and contracting for software in agile, collaborative environments Avoiding the common mistakes software teams make in transitioning to agile Coordinating with project management offices and non-agile teams “Selling” agile within your teams and throughout your organization
For every project manager who wants to become more agile.
Part I An Agile Overview 7
Chapter 1 What is "Agile"? 9
Chapter 2 Mapping from the PMBOKR Guide to Agile 25
Chapter 3 The Agile Project Lifecycle in Detail 37
Part II The Bridge: Relating PMBOKR Guide Practices to Agile Practices 49
Chapter 4 Integration Management 51
Chapter 5 Scope Management 67
Chapter 6 Time Management 83
Chapter 7 Cost Management 111
Chapter 8 Quality Management 129
Chapter 9 Human Resources Management 143
Chapter 10 Communications Management 159
Chapter 11 Risk Management 177
Chapter 12 Procurement Management 197
Part III Crossing the Bridge to Agile 215
Chapter 13 How Will My Responsibilities Change? 217
Chapter 14 How Will I Work with Other Teams Who Aren't Agile? 233
Chapter 15 How Can a Project Management Office Support Agile? 249
Chapter 16 Selling the Benefits of Agile 265
Chapter 17 Common Mistakes 285
Appendix A Agile Methodologies 295
Appendix B Agile Artifacts 301
For some time, the fields of project management, computer science, and software development have been growing rapidly and concurrently. Effective support for the enterprise demands the merging of these efforts into a coordinated discipline, one that incorporates best practices from both systems development and project management life cycles. Robert K. Wysocki creates that discipline in this book--a ready reference for professionals and consultants as well as a textbook for students of computer information systems and project management.
By their very nature, software projects defy a "one size fits all" approach. In these pages you will learn to apply best-practice principles while maintaining the flexibility that's essential for successful software development.
Learn how to make the planning process fit the need
* Understand how and why software development must be planned on a certainty-to-uncertainty continuum
* Categorize your projects on a four-quadrant model
* Learn when to use each of the five SDPM strategies--Linear, Incremental, Iterative, Adaptive, and Extreme
* Explore the benefits of each strategic model and what types of projects it supports best
* Recognize the activities that go into the Scoping, Planning, Launching, Monitoring/Controlling, and Closing phases of each strategy
* Apply this knowledge to the specific projects you manage
* Get a clear picture of where you are and how to get where you want to go
Gain the foundation in Scrum theory—and practice—you need to:
Rein in even the most complex, unwieldy projects Effectively manage unknown or changing product requirements Simplify the chain of command with self-managing development teams Receive clearer specifications—and feedback—from customers Greatly reduce project planning time and required tools Build—and release—products in 30-day cycles so clients get deliverables earlier Avoid missteps by regularly inspecting, reporting on, and fine-tuning projects Support multiple teams working on a large-scale project from many geographic locations Maximize return on investment!
Do you want to do work that is worthy of your time and talent? Do you want to make your mark on your industry, company, or within your community? Are you satisfied with the fact that reengineering, quality improvements, and other changes never really make a lasting impact? Then you need to go beyond the techniques of improvement and learn the skills that it takes to be extraordinary. The power to be extraordinary is not one we are born with. Rather, it is a power that one can learn, and Tracy Goss helps executives realize this power. Here in this book for the first time, Goss makes her coursework available to the general reader.
Goss's unique methodology shows how you how "you can put at risk the success you have achieved for the 'possibility' you can be." She positions executives to take on the future that they dream about. She teaches how to behave differently so that you are free of past constraints. She shows how you can be at home in the environment in which you are constantly surrounded by threats, and how to transcend the ordinary to make the impossible happen. Her work has resulted in many important life changes and organizational reinventions worldwide.
“He talks very little. Perhaps it is because he is not bright and is sensitive about it and wishes to conceal it. It is such a pity that he should feel so, for brightness is nothing. It is in the heart that the values lie. I wish I could make him understand that a loving good heart is riches, and riches is enough, and that without it intellect is poverty.” - Mark Twain, Eve's Diary
Mark Twain’s short stories aren’t about his religious beliefs. In fact, the Diaries of Adam and Eve should be taken with a grain of salt as they are humorous and witty and describe in a unique way the relationship between two human beings, man and woman who eventually end up falling in love with each other.
Xist Publishing is a digital-first publisher. Xist Publishing creates books for the touchscreen generation and is dedicated to helping everyone develop a lifetime love of reading, no matter what form it takes
The agile model of software development has taken the world by storm. Now, in Agile Software Development, Second Edition, one of agile’s leading pioneers updates his Jolt Productivity award-winning book to reflect all that’s been learned about agile development since its original introduction.
Alistair Cockburn begins by updating his powerful model of software development as a “cooperative game of invention and communication.” Among the new ideas he introduces: harnessing competition without damaging collaboration; learning lessons from lean manufacturing; and balancing strategies for communication. Cockburn also explains how the cooperative game is played in business and on engineering projects, not just software development
Next, he systematically illuminates the agile model, shows how it has evolved, and answers the questions developers and project managers ask most often, including
· Where does agile development fit in our organization?
· How do we blend agile ideas with other ideas?
· How do we extend agile ideas more broadly?
Cockburn takes on crucial misconceptions that cause agile projects to fail. For example, you’ll learn why encoding project management strategies into fixed processes can lead to ineffective strategy decisions and costly mistakes. You’ll also find a thoughtful discussion of the controversial relationship between agile methods and user experience design.
Cockburn turns to the practical challenges of constructing agile methodologies for your own teams. You’ll learn how to tune and continuously reinvent your methodologies, and how to manage incomplete communication. This edition contains important new contributions on these and other topics:
· Agile and CMMI
· Introducing agile from the top down
· Revisiting “custom contracts”
· Creating change with “stickers”
In addition, Cockburn updates his discussion of the Crystal methodologies, which utilize his “cooperative game” as their central metaphor.
If you’re new to agile development, this book will help you succeed the first time out. If you’ve used agile methods before, Cockburn’s techniques will make you even more effective.
This simple yet powerful method can place the subconscious mind in direct contact with the Universal Mind--the all-seeing, all-knowing collective subconscious of the human race. Dr. Murphy offers positive proof this power exists.
Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version.
The best way to build software that meets users' needs is to begin with "user stories": simple, clear, brief descriptions of functionality that will be valuable to real users. In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle.
You'll learn what makes a great user story, and what makes a bad one. You'll discover practical ways to gather user stories, even when you can't speak with your users. Then, once you've compiled your user stories, Cohn shows how to organize them, prioritize them, and use them for planning, management, and testing.User role modeling: understanding what users have in common, and where they differ Gathering stories: user interviewing, questionnaires, observation, and workshops Working with managers, trainers, salespeople and other "proxies" Writing user stories for acceptance testing Using stories to prioritize, set schedules, and estimate release costs Includes end-of-chapter practice questions and exercises
User Stories Applied will be invaluable to every software developer, tester, analyst, and manager working with any agile method: XP, Scrum... or even your own home-grown approach.
Increasingly, large product-development organizations are turning to lean thinking, agile principles and practices, and large-scale Scrum to sustainably and quickly deliver value and innovation. However, many groups have floundered in their practice-oriented adoptions. Why? Because without a deeper understanding of the thinking tools and profound organizational redesign needed, it is as though casting seeds on to an infertile field. Now, drawing on their long experience leading and guiding large-scale lean and agile adoptions for large, multisite, and offshore product development, and drawing on the best research for great team-based agile organizations, internationally recognized consultant and best-selling author Craig Larman and former leader of the agile transformation at Nokia Networks Bas Vodde share the key thinking and organizational tools needed to plant the seeds of product development success in a fertile lean and agile enterprise.
Coverage includesLean thinking and development combined with agile practices and methods Systems thinking Queuing theory and large-scale development processes Moving from single-function and component teams to stable cross-functional cross-component Scrum feature teams with end-to-end responsibility for features Organizational redesign to a lean and agile enterprise that delivers value fast Large-scale Scrum for multi-hundred-person product groups
In a competitive environment that demands ever-faster cycle times and greater innovation, applied lean thinking and agile principles are becoming an urgent priority. Scaling Lean & Agile Development will help leaders create the foundation for their lean enterprise—and deliver on the significant benefits of agility.
In addition to the foundation tools in this text, see the companion book Practices for Scaling Lean & Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum for complementary action tools.
This is the definitive, realistic, actionable guide to starting fast with Scrum and agile–and then succeeding over the long haul. Leading agile consultant and practitioner Mike Cohn presents detailed recommendations, powerful tips, and real-world case studies drawn from his unparalleled experience helping hundreds of software organizations make Scrum and agile work.
Succeeding with Agile is for pragmatic software professionals who want real answers to the most difficult challenges they face in implementing Scrum. Cohn covers every facet of the transition: getting started, helping individuals transition to new roles, structuring teams, scaling up, working with a distributed team, and finally, implementing effective metrics and continuous improvement.
Throughout, Cohn presents “Things to Try Now” sections based on his most successful advice. Complementary “Objection” sections reproduce typical conversations with those resisting change and offer practical guidance for addressing their concerns. Coverage includesPractical ways to get started immediately–and “get good” fast Overcoming individual resistance to the changes Scrum requires Staffing Scrum projects and building effective teams Establishing “improvement communities” of people who are passionate about driving change Choosing which agile technical practices to use or experiment with Leading self-organizing teams Making the most of Scrum sprints, planning, and quality techniques Scaling Scrum to distributed, multiteam projects Using Scrum on projects with complex sequential processes or challenging compliance and governance requirements Understanding Scrum’s impact on HR, facilities, and project management
Whether you've completed a few sprints or multiple agile projects and whatever your role–manager, developer, coach, ScrumMaster, product owner, analyst, team lead, or project lead–this book will help you succeed with your very next project. Then, it will help you go much further: It will help you transform your entire development organization.
Colored pencils are wonderful tools for creating realistic drawings. Lee Hammond, popular instructor and North Light author of more than twenty instructional books on drawing and painting, is here to show you how. Now you can learn to draw lifelike flowers, buildings, animals and people in vivid color. Inside you'll find: Easy instruction on difficult subjects such as water, glass, silver, sunsets, skin tone, hair and more Over 40 step-by-step projects using basic techniques and readily available supplies More than 400 illustrations and photos for easy reference Join Lee as she shares her easy-to-follow teaching methods to help you master colored pencil, from basic shapes and everyday objects to your own pets, friends and family members. You can do it!
In this completely revised introduction to Extreme Programming (XP), Kent Beck describes how to improve your software development by integrating these highly desirable concepts into your daily development process.
The first edition of Extreme Programming Explained is a classic. It won awards for its then-radical ideas for improving small-team development, such as having developers write automated tests for their own code and having the whole team plan weekly. Much has changed in five years. This completely rewritten second edition expands the scope of XP to teams of any size by suggesting a program of continuous improvement based on:Five core values consistent with excellence in software development Eleven principles for putting those values into action Thirteen primary and eleven corollary practices to help you push development past its current business and technical limitations
Whether you have a small team that is already closely aligned with your customers or a large team in a gigantic or multinational organization, you will find in these pages a wealth of ideas to challenge, inspire, and encourage you and your team members to substantially improve your software development.
You will discover how to:Involve the whole team–XP style Increase technical collaboration through pair programming and continuous integration Reduce defects through developer testing Align business and technical decisions through weekly and quarterly planning Improve teamwork by setting up an informative, shared workspace
You will also find many other concrete ideas for improvement, all based on a philosophy that emphasizes simultaneously increasing the humanity and effectiveness of software development.
Every team can improve. Every team can begin improving today. Improvement is possible–beyond what we can currently imagine. Extreme Programming Explained, Second Edition, offers ideas to fuel your improvement for years to come.