Organizational Patterns of Agile Software Development James O. Coplien, Neil B. Harrison  
More Details

For courses in Advanced Software Engineering or Object-Oriented Design. This book covers the human and organizational dimension of the software improvement process and software project management — whether based on the CMM or ISO 9000 or the Rational Unified Process. Drawn from a decade of research, it emphasizes common-sense practices. Its principles are general but concrete; every pattern is its own built-in example. Historical supporting material from other disciplines is provided. Though even pattern experts will appreciate the depth and currency of the material, it is self-contained and well-suited for the layperson.

0131467409
Agile Coaching Rachel Davies, Liz Sedley  
More Details

To lead change, you need to expand your toolkit, and this book gives you the tools you need to make the transition from agile practitioner to agile coach.

Agile Coaching is all about working with people to create great agile teams. You'll learn how to build a team that produces great software and has fun doing it. In the process, you'll grow a team that's self-sufficient and skillful.

This book provides you with deeper knowledge of how agile practices work and how to inspire your team to improve. Discover how to coach your team through the agile lifecycle, from planning to writing software. Learn the secrets of running effective agile meetings and how to get your team following a consistent approach to creating software. You'll find chapters dedicated to introducing Test-Driven Development, designing Retrospectives, and making progress visible.

Find out what works and what to avoid when introducing agile practices to your team. Throughout the book the authors share their personal coaching stories from experience with real teams, giving you insights into what works and what to avoid. Each chapter also covers hurdles that you and your team may face and what to do to clear them.

1934356433
Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency Tom DeMarco  
More Details

If your company’s goal is to become fast, responsive, and agile, more efficiency is not the answer—you need more slack.

Why is it that today’s superefficient organizations are ailing? Tom DeMarco, a leading management consultant to both Fortune 500 and up-and-coming companies, reveals a counterintuitive principle that explains why efficiency efforts can slow a company down. That principle is the value of slack, the degree of freedom in a company that allows it to change. Implementing slack could be as simple as adding an assistant to a department and letting high-priced talent spend less time at the photocopier and more time making key decisions, or it could mean designing workloads that allow people room to think, innovate, and reinvent themselves. It means embracing risk, eliminating fear, and knowing when to go slow. Slack allows for change, fosters creativity, promotes quality, and, above all, produces growth.

With an approach that works for new- and old-economy companies alike, this revolutionary handbook debunks commonly held assumptions about real-world management, and gives you and your company a brand-new model for achieving and maintaining true effectiveness.

0767907698
Agile Retrospectives: Making Good Teams Great Esther Derby, Diana Larsen, Ken Schwaber  
More Details

See how to mine the experience of your software development team continually throughout the life of the project. The tools and recipes in this book will help you uncover and solve hidden (and not-so-hidden) problems with your technology, your methodology, and those difficult "people" issues on your team.

Project retrospectives help teams examine what went right and what went wrong on a project. But traditionally, retrospectives (also known as "post-mortems") are only helpful at the end of the project—too late to help. You need agile retrospectives that are iterative and incremental. You need to accurately find and fix problems to help the team today.

Now, Derby and Larsen show you the tools, tricks, and tips you need to fix the problems you face on a software development project on an on-going basis. You'll see how to architect retrospectives in general, how to design them specifically for your team and organization, how to run them effectively, how to make the needed changes, and how to scale these techniques up. You'll learn how to deal with problems, and implement solutions effectively throughout the project—not just at the end.

With regular tune-ups, your team will hum like a precise, world-class orchestra.

0977616649
Objective-C Pocket Reference Andrew Duncan  
More Details

Objective-C is an exciting and dynamic approach to C-based object-oriented programming; it's the approach adopted by Apple as the foundation for programming under Mac OS X, a Unix-based operating system gaining wide acceptance among programmers and other technologists. Objective-C is easy to learn and has a simple elegance that is a welcome breath of fresh air after the abstruse and confusing C++. To help you master the fundamentals of this language, you'll want to keep the Objective-C Pocket Reference close at hand. This small book contains a wealth of valuable information to speed you over the learning curve. In this pocket reference, author Andrew Duncan provides a quick and concise introduction to Objective-C for the experienced programmer. In addition to covering the essentials of Objective-C syntax, Andrew also covers important faces of the language such as memory management, the Objective-C runtime, dynamic loading, distributed objects, and exception handling.

0596004230
My Job Went to India: 52 Ways to Save Your Job Chad Fowler  
More Details

You've already lost your job. You may still be drawing a paycheck, but the job you were hired to do no longer exists. Your company has changed, the technology has changed, the economy has changed, and the ways you can add value have changed. Have you adapted to these changes? Or are you at risk?

Architect your careerEconomic downturn. Job cuts. Outsourcing. The ever-changing tech landscape. The threats abound. Chad Fowler is here to offer 52 ways to keep your job, despite the vagaries of the market.It's all about making the right choices. Choosing which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge—don't let those choices be accidental. Chad shows you all aspects of the decision-making process so you can ensure that you're investing your time and energy in the right areas.It's all about skills. You'll develop a structured plan for keeping your skills up-to-date so that you can compete with both the growing stable of developers in so-called low-cost countries as well as your higher-priced local peers. You'll learn how to shift your skillset up the value chain, from an offshore-ready commodity to one in high demand.It's all about marketing. As with any product or service, if nobody knows what you're selling, nobody will buy. Chad shows you how to create a plan for marketing yourself both inside your company and to the industry in general.Like it or not, the IT career landscape has changed. This handbook will teach you what you need to do to avoid being left behind.

About the author Chad Fowler has been a software developer and manager for some of the world's largest corporations. He recently lived and worked in India, setting up and leading an offshore software development center for a large multinational company.

0976694018
Rails Recipes Chad Fowler  
More Details

Rails is large, powerful, and new. How do you use it effectively? How do you harness the power? And, most important, how do you get high quality, real-world applications written?

From the latest Ajax effects to time-saving automation tips for your development process, Rails Recipes will show you how the experts have already solved the problems you have. Use generators to automate repetitive coding tasks.Create sophisticated role-based authentication schemes.Add live search and live preview to your site.Run tests when anyone checks code in.How to create tagged data the right way.and many, many more...

Owning Rails Recipes is like having the best Rails programmers sitting next to you while you code.

0977616606
ANSI Common LISP Paul Graham  
More Details

KEY BENEFIT: Teaching users new and more powerful ways of thinking about programs, this two-in-one text contains a tutorial—full of examples—that explains all the essential concepts of Lisp programming, plus an up-to-date summary of ANSI Common Lisp, listing every operator in the language. Informative and fun, it gives users everything they need to start writing programs in Lisp both efficiently and effectively, and highlights such innovative Lisp features as automatic memory management, manifest typing, closures, and more. Dividing material into two parts, the tutorial half of the book covers subject-by-subject the essential core of Common Lisp, and sums up lessons of preceding chapters in two examples of real applications: a backward-chainer, and an embedded language for object-oriented programming. Consisting of three appendices, the summary half of the book gives source code for a selection of widely used Common Lisp operators, with definitions that offer a comprehensive explanation of the language and provide a rich source of real examples; summarizes some differences between ANSI Common Lisp and Common Lisp as it was originally defined in 1984; and contains a concise description of every function, macro, and special operator in ANSI Common Lisp. The book concludes with a section of notes containing clarifications, references, and additional code. For computer programmers.

0133708756
Concrete Mathematics: A Foundation for Computer Science Ronald L. Graham, Donald E. Knuth, Oren Patashnik  
More Details

This book, updated and improved, introduces the mathematics that support advanced computer programming and the analysis of algorithms. The book's primary aim is to provide a solid and relevant base of mathematical skills. It is an indispensable text and reference for computer scientists and serious programmers in virtually every discipline.

0201558025
97 Things Every Programmer Should Know: Collective Wisdom from the Experts Kevlin Henney  
More Details

With this book, you get 97 short and extremely useful programming tips from some of the most experienced and respected practitioners in the industry, including Uncle Bob Martin, Scott Meyers, Dan North, Linda Rising, Udi Dahan, Neal Ford, and many more. They encourage you to stretch yourself by learning new languages, looking at problems in new ways, following specific practices, taking responsibility for your work, and becoming as good at the entire craft of programming as you possibly can.

This wealth of practical knowledge contains principles that apply to projects of all types. You can read the book end to end, or easily browse through to find topics of particular interest. 97 Things Every Programmer Should Know is a useful reference and a source of inspiration.

Tap into the knowledge of expert programmers who have earned stellar reputationsLearn the basic wisdom every programmer needs, regardless of the language you useTake advantage of the online presence that has evolved from this book project

0596809484
Agile Project Management: Creating Innovative Products Jim Highsmith  
More Details

Best practices for managing projects in agile environments—now updated with new techniques for larger projects

Today, the pace of project management moves faster. Project management needs to become more flexible and far more responsive to customers. Using Agile Project Management (APM), project managers can achieve all these goals without compromising value, quality, or business discipline. In Agile Project Management, Second Edition, renowned agile pioneer Jim Highsmith thoroughly updates his classic guide to APM, extending and refining it to support even the largest projects and organizations.

 

Writing for project leaders, managers, and executives at all levels, Highsmith integrates the best project management, product management, and software development practices into an overall framework designed to support unprecedented speed and mobility. The many topics added in this new edition include incorporating agile values, scaling agile projects, release planning, portfolio governance, and enhancing organizational agility. Project and business leaders will especially appreciate Highsmith’s new coverage of promoting agility through performance measurements based on value, quality, and constraints.

 

This edition’s coverage includes: Understanding the agile revolution’s impact on product developmentRecognizing when agile methods will work in project management, and when they won’tSetting realistic business objectives for Agile Project Management  Promoting agile values and principles across the organization Utilizing a proven Agile Enterprise Framework that encompasses governance, project and iteration management, and technical practices Optimizing all five stages of the agile project: Envision, Speculate, Explore, Adapt, and Close Organizational and product-related processes for scaling agile to the largest projects and teams Agile project governance solutions for executives and management  The “Agile Triangle”: measuring performance in ways that encourage agility instead of discouraging it The changing role of the agile project leader

0321219775
The Pragmatic Programmer: From Journeyman to Master Andrew Hunt, David Thomas  
More Details

If I'm putting together a project, it's the authors of this book that I want. . . . And failing that I'd settle for people who've read their book." — Ward Cunningham

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process—taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to

Fight software rot;Avoid the trap of duplicating knowledge;Write flexible, dynamic, and adaptable code;Avoid programming by coincidence;Bullet-proof your code with contracts, assertions, and exceptions;Capture real requirements;Test ruthlessly and effectively;Delight your users;Build teams of pragmatic programmers; andMake your developments more precise with automation.

Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

020161622X
Pragmatic Thinking and Learning: Refactor Your Wetware Andy Hunt  
More Details

Software development happens in your head. Not in an editor, IDE, or design tool. You're well educated on how to work with software and hardware, but what about wetware—our own brains? Learning new skills and new technology is critical to your career, and it's all in your head.

In this book by Andy Hunt, you'll learn how our brains are wired, and how to take advantage of your brain's architecture. You'll learn new tricks and tips to learn more, faster, and retain more of what you learn.

You need a pragmatic approach to thinking and learning. You need to Refactor Your Wetware.

Programmers have to learn constantly; not just the stereotypical new technologies, but also the problem domain of the application, the whims of the user community, the quirks of your teammates, the shifting sands of the industry, and the evolving characteristics of the project itself as it is built.

We'll journey together through bits of cognitive and neuroscience, learning and behavioral theory. You'll see some surprising aspects of how our brains work, and how you can take advantage of the system to improve your own learning and thinking skills.

In this book you'll learn how to:
Use the Dreyfus Model of Skill Acquisition to become more expert Leverage the architecture of the brain to strengthen different thinking modes Avoid common "known bugs" in your mind Learn more deliberately and more effectively Manage knowledge more efficiently

1934356050
Lessons Learned in Software Testing Cem Kaner, James Bach, Bret Pettichord  
More Details

Decades of software testing experience condensed into the most important lessons learned.

The world's leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. More than just tips, tricks, and pitfalls to avoid, Lessons Learned in Software Testing speeds you through the critical testing phase of the software development project without the extensive trial and error it normally takes to do so. The ultimate resource for software testers and developers at every level of expertise, this guidebook features: Over 200 lessons gleaned from over 30 years of combined testing experienceTips, tricks, and common pitfalls to avoid by simply reading the book rather than finding out the hard wayLessons for all key topic areas, including test design, test management, testing strategies, and bug reportingExplanations and examples of each testing trouble spot help illustrate each lesson's assertion

0471081124