The rising spirit of social entrepreneurship has created all kinds of new opportunities for nonprofit organizations. But at the same time, many are discovering more than their share of challenges as well. This essential book will help anyone in the field gain the necessary skills to meet these challenges. Written by the leading thinkers and practitioners in the field, Enterprising Nonprofits offers concise and engaging explanations of the most successful business tools being used by nonprofits today. The authors clearly describe all the concepts so you'll be able to embrace the methods of social enterprise for your organization. With this book, you'll learn how to use practical business techniques to dramatically improve the performance of your nonprofit.
Praise for Enterprising Nonprofits
"I can't imagine a better team to bring powerful insights and practical guidance to social entrepreneurs. Readers will be inspired by the examples, and then they will roll up their sleeves to apply the many useful management tools in this engaging book."-Rosabeth Moss Kanter, Harvard Business School, Author of Evolve!: Succeeding in the Digital Culture of Tomorrow
"In one book, Enterprising Nonprofits does for social entrepreneurs what countless volumes have done for entrepreneurs in the business sector. A wonderful mixture of analysis, practical advice, and inspiration."-Paul Brest, President, William and Flora Hewlett Foundation
All of the royalties from this book will be used by the Ewing Marion Kauffman Foundation to support continuing work on social entrepreneurship.
Being a manager can be an intimidating and challenging task. Managing involves teaching new skills to employees, helping land a new customer, accomplishing an important assignment, increasing performance, and much more. The process of management can be very challenging at times, but it can also bring you a sense of fulfillment that you never imagined possible.
Managing For Dummies, 3rd Edition is perfect for all levels of managers. This clearly written, easy-to-understand guide gives you practical advice on the most important aspects of managing, such as delegating as opposed to ordering, improving employees' performances, getting your message across, understanding ethics and office policies, team building and collaboration, and much more.Tips and advice for new and experienced managers All-new chapters on employee encouragement and corporate social responsibility Guidance on managing employees by leveraging the power of the Internet
Managing in today's lightning-speed business world requires that you have the latest information and techniques for getting the job done. Managing For Dummies, 3rd Edition provides you with straightforward advice and up-to-the-minute strategies for dealing with anything that comes your way.
As a follow-up to their book Enterprising Nonprofits, the authors of Strategic Tools for Social Entrepreneurs provide a full set of practical tools for putting the lessons of business entrepreneurship to work in your nonprofit. The book offers hands-on guidance that helps social sector leaders hone their entrepreneurial skills and carry out their social missions more effectively than ever before. This practical and easy-to-use book is filled with examples, exercises, checklists, and action steps that bring the concepts, frameworks, and tools to life. Detailed explanations of all the tools and techniques will help you personalize and apply them to your nonprofit organization-making it stronger, healthier, and better able to serve the needs of our communities.
Praise for Strategic Tools for Social Entrepreneurs
"I search constantly for resources that can help provide insight and guidance to take Teach For America to a higher level; Strategic Tools for Social Entrepreneurs does this and more. The book takes the best practices of for-profits and social enterprises and adapts them to the needs of entrepreneurial, mission-driven nonprofits. Strategic Tools for Social Entrepreneurs is a tremendous contribution to social entrepreneurs and to the nonprofit sector-many thanks to the authors for identifying this need and filling it!"
Founder and President, Teach For America
All of the royalties from this book will be used by the Ewing Marion Kauffman Foundation to support continuing work on social entrepreneurship.
Starting your own home-based business is a great way to supplement your income in these tough economic times. With thirty percent new and revised material, Home-Based Business For Dummies, 3rd Edition gives you the most current and up-to-date information you need to navigate your way through the whole process.
You'll get trusted and creative advice on how to start being your own boss, bringing in a steady paycheck, and running a business you'll enjoy.Complete coverage of legal and financial aspects of a home-based business Effective advertising and promotional strategies that won't break the bank Tips and information you need to make your business profitable Advice on outfitting and running a home office
Whether you've been affected by downsizing in these uncertain times or are just looking to earn some extra cash, Home-Based Business For Dummies, 3rd Edition shows you how to avoid scams and truly start working from home for profit.
The book will be adapted from the current US edition of Managing for Dummies. Existing content will be revised to reflect essential UK information including:UK-specific case studies, including references to recognisable UK businesses UK business practice, including ethics, employee and employers rights and responsibilities, hiring and firing - with reference to UK law UK websites UK financial information
This fun, easy-to-access guide is full of useful information, tips, and checklists that will help you lead, manage, or participate in any business at a high level of competence. You’ll find out how to use databases to your advantage, recognize and reward your employees, analyze financial statements, and understand the challenges of strategic planning in a global business environment. You’ll also learn the basic principals of accounting, get a grip on the concepts behind stocks and bonds, and find out how technology has revolutionized everything from manufacturing to marketing. Discover how to:Know and respond to your customers’ needs Handle budgets and forecasts Recruit and retain top people Establish and run employee teams Use Sarbanes-Oxley to your company’s advantage Negotiate with the best of them Build long-term relationships with clients Avoid common managerial mistakes Improve cash flow Market your products and services Make the most of your advertising dollar
Once you know what an MBA knows, the sky’s the limit. Read The Complete MBA For Dummies, 2nd Edition, and watch your career take off!
Turn your dream of a custom home into reality!
Thinking about building your own home? This easy-to-follow guide shows you how to plan and build a beautiful home on any budget. From acquiring land to finding the best architect to overseeing the construction, you get lots of savvy tips on managing your new investment wisely -- and staying sane during the process!
Discover how to:
* Find the best homesite
* Navigate the plan approval process
* Obtain financing
* Hire the right contractor
* Cut design and construction costs
* Avoid common mistakes
So you want to write a novel? Great! That’s a worthy goal, no matter what your reason. But don’t settle for just writing a novel. Aim high. Write a novel that you intend to sell to a publisher. Writing Fiction for Dummies is a complete guide designed to coach you every step along the path from beginning writer to royalty-earning author. Here are some things you’ll learn in Writing Fiction for Dummies:Strategic Planning: Pinpoint where you are on the roadmap to publication; discover what every reader desperately wants from a story; home in on a marketable category; choose from among the four most common creative styles; and learn the self-management methods of professional writers. Writing Powerful Fiction: Construct a story world that rings true; create believable, unpredictable characters; build a strong plot with all six layers of complexity of a modern novel; and infuse it all with a strong theme. Self-Editing Your Novel: Psychoanalyze your characters to bring them fully to life; edit your story structure from the top down; fix broken scenes; and polish your action and dialogue. Finding An Agent and Getting Published: Write a query letter, a synopsis, and a proposal; pitch your work to agents and editors without fear.
Writing Fiction For Dummies takes you from being a writer to being an author. It can happen—if you have the talent and persistence to do what you need to do.
Everyone loves a children's book—and many dream about writing one. But is it actually possible for an unpublished writer—armed with a good story idea and a love of kids—to write, sell, publish, and promote a book? Yes, it is!
Clearly and concisely written with straightforward advice and a plethora of specific up-to-date recommendations, Writing Children's Books For Dummies provides step-by-step information on everything aspiring children's book authors need to know—from researching the current marketplace to developing story ideas, strengthening writing skills, dealing with editors, and submitting proposals and manuscripts to agents and publishers.Updated and improved writing exercises All new content on social media and establishing an online presence as an author Fresh, updated content on publishing via hard copy and all the e- platforms
From setting down that first word on paper to doing a successful publicity tour, Writing Children's Books For Dummies gives you the confidence and the insiders' know-how to write and sell the story you've always wanted to write.
Whether you’re just starting your business and need a little seed capital to launch your first product, or you’re looking for a little help expanding an established business into a new market, this friendly guide helps you get the financing you need to realize your dreams. You’ll discover how to:Tap personal sources of financing, as well as family and friends Approach customers and vendors for financing Hook up with commercial lenders Find angel investors Get an SBA loan Raise cash through private equity offerings Woo and win investment bankers and venture capitalists
Venture capital guru, Joseph Bartlett explains in plain English the capital-raising strategies and techniques used by some of today’s most successful businesses, including tried-and-true methods for:Assessing your financial needs and creating a solid financial plan Researching sources of financing and making first contact Finding, contacting, and convincing angels Getting your customers to finance your company Understanding and exploiting matching services Exploring commercial banks, savings institutions, credit unions, finance companies, and the SBA Qualifying for a loan Working with placement agents Raising cash through IPOs and mergers
From raising seed capital and funds for expansion to IPOs and acquisitions, Raising Capital For Dummies shows you how to get the money you need to survive and thrive in today’s winner-take-all marketplace.
The Balanced Scorecard method is an analysis technique designed to translate an organization's mission and vision statement and overall business strategies into specific, quantifiable goals, and to monitor the organization's performance in achieving these goals. Much less technology driven then other analysis approaches, it analyzes an organization's overall performance in four regards: financial analysis, customer service, productivity and internal analysis, and employee growth and satisfaction. Balanced Scorecard Strategy For Dummies breaks down the basics of Balanced Scorecard in simple language with practical, Dummies-style guidance on getting it done. This book covers all the basics of Balanced Scorecard for busy executives and managers-and does it without the high price tag of most professional level Balanced Scorecard guides.
Buccieri and Economy begin by explaining the basics of the children's book business, from the nuts and bolts of the various formats and genres—with helpful illustrations to aid you—to the intricacies of the book publishing market, a list of recent award-winning books, and a first peek into the particular mind set that writing children's books requires. (Hint: Throw out the adult rules, and think like a kid!)
Then the authors dive into the actual writing process itself, with tips on setting up a workspace, brainstorming great book ideas, researching the subject you decide on, even speaking with the sorts of kids you hope will eventually read the book. They show you how to create compelling characters and develop them in the manuscript; how to outline and write a plot "arc" of conflict, change, and resolution; how to master the difficult art of writing dialogue; and how to use active (rather than passive) language to keep your story moving along and interesting to young minds.
Or, if you're planning to write a creative nonfiction children's book—on a topic such as science, nature, or a historical figure, for example—the authors include a chapter on this, too. Ready, set, go… it's time to sit down and write!
Once you've finished your book, however, the process has only begun. Now you will refine, submit, and hopefully sell your manuscript. Here again, the authors of Writing Children's Books For Dummies come through for you. They deliver solid advice on hiring an illustrator—or not; participating in workshops and conferences to learn the business and hone a story; finding an agent; and, finally, submitting the manuscript to publishers and—if you are successful—signing a contract.
Along the way, the authors also include tips on handling rejection; a quick primer on the various editors in publishing houses (and how they work to make your book its best); and making a plan to publicize the book, including hiring a publicist if necessary.
Like all For Dummies® books, Writing Children's Books For Dummies highlights "The Part of Tens," which includes the Ten Best Ways to Promote Your Story and More Than Ten Great Sources for Storylines. And the ever-helpful Cheat Sheet includes Tips for Editing your Children's Book Manuscript, Children's Book No-No's, Twelve Commandments for Writing Younger Children's Books, and Tips on Promotion.
From setting down that first word on paper to doing a successful publicity tour, Writing Children's Books For Dummies gives you the confidence and the insiders' know-how to write and sell the story you've always wanted to write.
Good management is vital to the success of every business but being a good manager isn't always easy. This book offers you expert advice on hiring the right staff, building effective teams, resolving office politics and maintaining your own work/life balance. Inside you'll find examples and guidance to help you identify the styles of management you need to succeed and to deal with the challenges of being a manager today.
Be the best – learn great techniques for coaching, mentoring and inspiring your employees to perform at their best
Get to the point – set goals and targets, and discover how to manage people and projects
Connect with others – use effective communication skills and discover the best ways to convey your messages
Get political – assess a wide range of management risks and learn key techniques for dealing with office politics
Become a 21st-century manager – harness the power of technology and use it to help with budgeting and accounting
Open the book and find:
How to take the first steps into management
Advice on being a truly great interviewer
Techniques on developing and mentoring employees
Guidance on juggling priorities
Why understanding your stakeholders is vital
A guide to 21st-century functions of management
Use the latest management techniques, tools and technology
Develop leadership skills and integrate them into your management style
Manage a business and team through difficult times
Become a great global manager
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.
In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. 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 will learnWhat 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
Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn’t written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them–and earn the pride and fulfillment that they alone possess.
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.
As an agile coach, you can help project teams become outstanding at agile, creating products that make them proud and helping organizations reap the powerful benefits of teams that deliver both innovation and excellence.
More and more frequently, ScrumMasters and project managers are being asked to coach agile teams. But it’s a challenging role. It requires new skills—as well as a subtle understanding of when to step in and when to step back. Migrating from “command and control” to agile coaching requires a whole new mind-set.
In Coaching Agile Teams, Lyssa Adkins gives agile coaches the insights they need to adopt this new mind-set and to guide teams to extraordinary performance in a re-energized work environment. You’ll gain a deep view into the role of the agile coach, discover what works and what doesn’t, and learn how to adapt powerful skills from many allied disciplines, including the fields of professional coaching and mentoring.
Coverage includesUnderstanding what it takes to be a great agile coach Mastering all of the agile coach’s roles: teacher, mentor, problem solver, conflict navigator, and performance coach Creating an environment where self-organized, high-performance teams can emerge Coaching teams past cooperation and into full collaboration Evolving your leadership style as your team grows and changes Staying actively engaged without dominating your team and stunting its growth Recognizing failure, recovery, and success modes in your coaching Getting the most out of your own personal agile coaching journey
Whether you’re an agile coach, leader, trainer, mentor, facilitator, ScrumMaster, project manager, product owner, or team member, this book will help you become skilled at helping others become truly great. What could possibly be more rewarding?
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.
Discover the timeless techniques and strategies that help you:
Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
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.
--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.
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
Two of the industry’s most experienced agile testing practitioners and consultants, Lisa Crispin and Janet Gregory, have teamed up to bring you the definitive answers to these questions and many others. In Agile Testing, Crispin and Gregory define agile testing and illustrate the tester’s role with examples from real agile teams. They teach you how to use the agile testing quadrants to identify what testing is needed, who should do it, and what tools might help. The book chronicles an agile software development iteration from the viewpoint of a tester and explains the seven key success factors
of agile testing.
Readers will come away from this book understanding
How to get testers engaged in agile development Where testers and QA managers fit on an agile team What to look for when hiring an agile tester How to transition from a traditional cycle to agile development How to complete testing activities in short iterations How to use tests to successfully guide development How to overcome barriers to test automation This book is a must for agile testers, agile teams, their managers, and their customers.
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.
At any given moment, someone struggles with the same software design problems you have. And, chances are, someone else has already solved your problem. This edition of Head First Design Patterns—now updated for Java 8—shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, you’ll be able to take advantage of the best design practices and experiences of those who have fought the beast of software design and triumphed.
What’s so special about this book?
We think your time is too valuable to spend struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Design Patterns uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.
Few books in computing have had as profound an influence on software management as Peopleware . The unique insight of this longtime best seller is that the major issues of software development are human, not technical. They’re not easy issues; but solve them, and you’ll maximize your chances of success.
“Peopleware has long been one of my two favorite books on software engineering. Its underlying strength is its base of immense real experience, much of it quantified. Many, many varied projects have been reflected on and distilled; but what we are given is not just lifeless distillate, but vivid examples from which we share the authors’ inductions. Their premise is right: most software project problems are sociological, not technological. The insights on team jelling and work environment have changed my thinking and teaching. The third edition adds strength to strength.”
— Frederick P. Brooks, Jr., Kenan Professor of Computer Science, University of North Carolina at Chapel Hill, Author of The Mythical Man-Month and The Design of Design
“Peopleware is the one book that everyone who runs a software team needs to read and reread once a year. In the quarter century since the first edition appeared, it has become more important, not less, to think about the social and human issues in software develop¿ment. This is the only way we’re going to make more humane, productive workplaces. Buy it, read it, and keep a stock on hand in the office supply closet.”
—Joel Spolsky, Co-founder, Stack Overflow
“When a book about a field as volatile as software design and use extends to a third edition, you can be sure that the authors write of deep principle, of the fundamental causes for what we readers experience, and not of the surface that everyone recognizes. And to bring people, actual human beings, into the mix! How excellent. How rare. The authors have made this third edition, with its additions, entirely terrific.”
—Lee Devin and Rob Austin, Co-authors of The Soul of Design and Artful Making
For this third edition, the authors have added six new chapters and updated the text throughout, bringing it in line with today’s development environments and challenges. For example, the book now discusses pathologies of leadership that hadn’t previously been judged to be pathological; an evolving culture of meetings; hybrid teams made up of people from seemingly incompatible generations; and a growing awareness that some of our most common tools are more like anchors than propellers. Anyone who needs to manage a software project or software organization will find invaluable advice throughout the book.
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.
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.
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.
Allen, the Director of Consulting for Typesafe—creator of Akka and the Scala programming language—examines actors with a banking-service use case throughout the book, using examples shown in Akka and Scala. If you have any experience with Akka, this guide is essential.Delve into domain-driven and work-distribution actor applicationsUnderstand why it’s important to have actors do only one jobAvoid thread blocking by allowing logic to be delegated to a FutureModel interactions as simply as possible to avoid premature optimizationCreate well-defined interactions, and know exactly what failures can occurLearn why you should never treat actors as you would an ordinary classKeep track of what goes on in production by monitoring everythingTune Akka applications with the Typesafe Console
This book is for PLC programmers, electricians, instrumentation techs, automation professionals with basic PLC programming knowledge, but no knowledge of RSLogix 5000. If you are a student who is familiar with automation and would like to learn about RSLogix 5000 with minimal investment of time, this is the book for you.What You Will LearnBriefly explore the history of Rockwell Automation and the evolution of the Logix platformDiscover the complete range of ControlLogix and ComplactLogix controllers and form factors available today, and the key things you should consider when you are engineering a Rockwell Automation solutionExplore the key platform changes introduced with Studio 5000 and Logix Designer version 24 and the latest firmware versionsGet to grips with the modules available in the ControLogix, SoftLogix, and CompactLogix platformsUnderstand writing Ladder Logic (LL) routines, Sequential Function Chart (SFC) routines, and Structured Text routines (ST)Design Function Block Diagrams (FBD) and their easy integration with HMIsIn Detail
RSLogix 5000 and Studio 5000's Logix Designer are user-friendly interfaces used for programming the current generation of Rockwell Automation Controllers including ControlLogix, CompactLogix, and SoftLogix. When engineering automation solutions using Logix, it is important to study the changes to the platform introduced with Studio 5000 and the various controllers, modules, and form factors available today. RSLogix 5000 programming packages help you maximize performance, save project development time, and improve productivity.
This book provides a detailed overview of the Logix platform including ControlLogix, CompactLogix, and SoftLogix and explains the significant changes introduced in Studio 5000. A clear understanding of the recent Logix platform changes is critical for anyone developing a Rockwell Automation solution. It provides an easy-to-follow, step-by-step approach to learning the essential Logix hardware and software components and provides beginners with a solid foundation in the Logix platform features and terminology. By the end of this book, you will have a clear understanding of the capabilities of the Logix platform and the ability to navigate the Rockwell Automation Literature Library Resources.Style and approach
A step-by-step approach to RSLogix 5000, which is explained in an easy-to-follow style. Each topic is explained sequentially with detailed explanations of the basic and advanced features of Rockwell Automation that appeal to the needs of readers with a wide range of experience.
Beginning with detailed instructions on how to install and configure the Android SDK, Studio, and Virtual Device Manager, the book moves on to creating a simple, but working, "Hello World" app that can be run on a real device or emulator.
The book then moves on to layouts and the visual design of Lollipop apps. A new app is begun to demonstrate this and expanded as we move further, and, once material design has been introduced, the book moves on to the Java coding aspect and how to write code that responds to user interactions via callback methods such as touchscreen gesture listeners. No book on Lollipop APIs would be complete without explaining how the new Android TV, Wear, and Auto SDK tools work and how they can be utilized to either create new apps or convert those originally written for other platforms.
The book concludes by demonstrating how to package and deploy your finished app on the Google Play store.
Through case studies, you’ll learn how successful enterprises have rethought everything from governance and financial management to systems architecture and organizational culture in the pursuit of radically improved performance. Adopting Lean will take time and commitment, but it’s vital for harnessing the cultural and technical forces that are accelerating the rate of innovation.Discover how Lean focuses on people and teamwork at every level, in contrast to traditional management practicesApproach problem-solving experimentally, by exploring solutions, testing assumptions, and getting feedback from real usersLead and manage large-scale programs in a way that empowers employees, increases the speed and quality of delivery, and lowers costsLearn how to implement ideas from the DevOps and Lean Startup movements even in complex, regulated environments
Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You’ll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization’s goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
–From the Foreword by Don Reinertsen, President of Reinertsen & Associates; author of Managing the Design Factory; and leading expert on rapid product development
Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments.Part I presents the “big picture” of Agile requirements in the enterprise, and describes an overall process model for Agile requirements at the project team, program, and portfolio levels Part II describes a simple and lightweight, yet comprehensive model that Agile project teams can use to manage requirements Part III shows how to develop Agile requirements for complex systems that require the cooperation of multiple teams Part IV guides enterprises in developing Agile requirements for ever-larger “systems of systems,” application suites, and product portfolios
This book will help you leverage the benefits of Agile without sacrificing the value of effective requirements discovery and analysis. You’ll find proven solutions you can apply right now–whether you’re a software developer or tester, executive, project/program manager, architect, or team leader.
Whether you’re an entrepreneur, UX/UI designer, product manager, or part of an intrapreneurial team, this book teaches simple-to-advanced strategies that you can use in your work right away. Along with business cases, historical context, and real-world examples throughout, you’ll also gain different perspectives on the subject through interviews with top strategists.Define and validate your target users through provisional personas and customer discovery techniquesConduct competitive research and analysis to explore a crowded marketplace or an opportunity to create unique valueFocus your team on the primary utility and business model of your product by running structured experiments using prototypesDevise UX funnels that increase customer engagement by mapping desired user actions to meaningful metrics
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.
No prior experience in UX or design is necessary to get started. If you’re an entrepreneur or an innovator, this book puts you right to work with proven tips and tools for researching, identifying, and designing an intuitive, easy-to-use product.Determine whether people will buy your product before you build itListen to your customers throughout the product’s lifecycleUnderstand why you should design a test before you design a productGet nine tools that are critical to designing your productDiscern the difference between necessary features and nice-to-havesLearn how a Minimum Viable Product affects your UX decisionsUse A/B testing in conjunction with good UX practicesSpeed up your product development process without sacrificing quality
The toughest part of innovation? Accurately predicting what customers want, need, and will pay for. Even if you ask them, they often can’t explain what they want. Now, there’s a breakthrough solution: Innovation Games. Drawing on his software product strategy and product management consulting experience, Luke Hohmann has created twelve games that help you uncover your customers’ true, hidden needs and desires.
You’ll learn what each game will accomplish, why it works, and how to play it with customers. Then, Hohmann shows how to integrate the results into your product development processes, helping you focus your efforts, reduce your costs, accelerate time to market, and deliver the right solutions, right from the start.Learn how your customers define success Discover what customers don’t like about your offerings Uncover unspoken needs and breakthrough opportunities Understand where your offerings fit into your customers’ operations Clarify exactly how and when customers will use your product or service Deliver the right new features, and make better strategy decisions Increase empathy for the customers’ experience within your organization Improve the effectiveness of the sales and service organizations Identify your most effective marketing messages and sellable features
Innovation Games will be indispensable for anyone who wants to drive more successful, customer-focused product development: product and R&D managers, CTOs and development leaders, marketers, and senior business executives alike.
Product and brand managers, marketing specialists, and business owners will learn how experience diagramming can help determine where business goals and customer perspectives intersect. Once you’re armed with this data, you can provide users with real value.
Mapping Experiences is divided into three parts:Understand the underlying principles of diagramming, and discover how these diagrams can inform strategyLearn how to create diagrams with the four iterative modes in the mapping process: setting up a mapping initiative, investigating the evidence, visualizing the process, and using diagrams in workshops and experimentsSee key diagrams in action, including service blueprints, customer journey maps, experience maps, mental models, and spatial maps and ecosystem models
With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple--seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay.
In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.
It teaches risk-driven architecting. There is no need for meticulous designs when risks are small, nor any excuse for sloppy designs when risks threaten your success. This book describes a way to do just enough architecture. It avoids the one-size-fits-all process tar pit with advice on how to tune your design effort based on the risks you face.
It democratizes architecture. This book seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties.
It cultivates declarative knowledge. There is a difference between being able to hit a ball and knowing why you are able to hit it, what psychologists refer to as procedural knowledge versus declarative knowledge. This book will make you more aware of what you have been doing and provide names for the concepts.
It emphasizes the engineering. This book focuses on the technical parts of software development and what developers do to ensure the system works not job titles or processes. It shows you how to build models and analyze architectures so that you can make principled design tradeoffs. It describes the techniques software designers use to reason about medium to large sized problems and points out where you can learn specialized techniques in more detail.
It provides practical advice. Software design decisions influence the architecture and vice versa. The approach in this book embraces drill-down/pop-up behavior by describing models that have various levels of abstraction, from architecture to data structure design.
Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform.
This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts.
Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them.
The topics covered include
· Dividing an enterprise application into layers
· The major approaches to organizing business logic
· An in-depth treatment of mapping between objects and relational databases
· Using Model-View-Controller to organize a Web presentation
· Handling concurrency for data that spans multiple transactions
· Designing distributed object interfaces
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."
This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.
Coverage includes:A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book’s refactorings General information and new insights about patterns and refactoring Detailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern–and when to use each Practical ways to get started even if you have little experience with patterns or refactoring
Refactoring to Patterns reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you’re focused on legacy or “greenfield” development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively.
This practical guide focuses on principles, tactics, and actionable methods for presenting your designs. Whether you design UX, websites, or products, you’ll learn how to win over anyone who has influence over the project—with the goal of creating the best experience for the end user.Walk through the process of preparing for and presenting your designsUnderstand stakeholder perspectives, and learn how to empathize with themCultivate both implicit and explicit listening skillsLearn tactics and formulas for expressing the most effective response to feedbackDiscover why the way you follow through is just as crucial as the meeting itselfEducate your stakeholders by sharing the chapter from this book on how to work with designers
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 ToStart 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.
Most engineers we meet prefer Git over other distributed version control systems.
These systems let you store different versions of project files and directories, so you can roll back to an earlier one if something goes wrong. And since they're distributed, they smooth the path for dev team collaboration.
But what is it about Git that makes it mission-critical on so many web projects?
Spend just one weekend with this hands-on tutorial, and you'll know the answer.Understand Git's core philosophy.Get started with Git: install it, learn the basic commands, and set up your first project.Work with Git as part of a collaborative team.Use Git's debugging tools for maximum debug efficiency.Take control with Git's advanced features: reflog, rebase, stash, and more.Use Git with cloud-based Git repository host services like Github and Bitbucket.See how Git's used effectively on large open-source projects.
Git was created by Linus Torvalds, who invented Linux, so it comes with the best credentials. What are you waiting for? Get a jump start on Git today.
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!
This book is aimed primarily at developers and administrators who are interested in taking their interaction and usage of Jenkins to the next level.
The book assumes you have a working knowledge of Jenkins and programming in general, and an interest in learning about the different approaches to customizing and extending Jenkins so it fits your requirements and your environment perfectly.What You Will LearnRetrieve and act upon Jenkins information in real timeFind out how to interact with Jenkins through a variety of IDEsDevelop your own Form and Input validation and customizationExplore how Extension points work, and develop your own Jenkins pluginSee how to use the Jenkins API and command-line interfaceGet to know how to remotely update your Jenkins configurationDesign and develop your own Information RadiatorDiscover how Jenkins customization can help improve quality and reduce costsIn Detail
Jenkins CI is the leading open source continuous integration server. It is written in Java and has a wealth of plugins to support the building and testing of virtually any project. Jenkins supports multiple Software Configuration Management tools such as Git, Subversion, and Mercurial.
This book explores and explains the many extension points and customizations that Jenkins offers its users, and teaches you how to develop your own Jenkins extensions and plugins.
First, you will learn how to adapt Jenkins and leverage its abilities to empower DevOps, Continuous Integration, Continuous Deployment, and Agile projects. Next, you will find out how to reduce the cost of modern software development, increase the quality of deliveries, and thereby reduce the time to market. We will also teach you how to create your own custom plugins using Extension points.
Finally, we will show you how to combine everything you learned over the course of the book into one real-world scenario.Style and approach
Extending Jenkins explores and explains advanced Jenkins functionality from a practical point of view, teaching you real-world skills that will help you get more from this powerful software. Each key topic is explained clearly with a practical example, and in sufficient detail so you understand the concepts and can then develop your own solutions using your preferred software and languages.
This book shows you how to validate your initial idea, find the right customers, decide what to build, how to monetize your business, and how to spread the word. Packed with more than thirty case studies and insights from over a hundred business experts, Lean Analytics provides you with hard-won, real-world information no entrepreneur can afford to go without.Understand Lean Startup, analytics fundamentals, and the data-driven mindsetLook at six sample business models and how they map to new ventures of all sizesFind the One Metric That Matters to youLearn how to draw a line in the sand, so you’ll know it’s time to move forwardApply Lean Analytics principles to large enterprises and established products
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.
Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system.Learn the foundations of the language, such as higher-order functions, algebraic data types, and modulesExplore advanced features such as functors, first-class modules, and objectsLeverage Core, a comprehensive general-purpose standard library for OCamlDesign effective and reusable libraries, making the most of OCaml’s approach to abstraction and modularityTackle practical programming problems from command-line parsing to asynchronous network programmingExamine profiling and interactive debugging techniques with tools such as GNU gdb