|Managing the Unmanageable||
Managing the Unmanageable
|50.30||approx. 7-9 days|
“Mantle and Lichty have assembled a guide that will help you hire, motivate, and mentor a software development team that functions at the highest level. Their rules of thumb and coaching advice are great blueprints for new and experienced software engineering managers alike.”—Tom Conrad, CTO, Pandora
“I wish I’d had this material available years ago. I see lots and lots of ‘meat’ in here that I’ll use over and over again as I try to become a better manager. The writing style is right on, and I love the personal anecdotes.”—Steve Johnson, VP, Custom Solutions, DigitalFish
All too often, software development is deemed unmanageable. The news is filled with stories of projects that have run catastrophically over schedule and budget. Although adding some formal discipline to the development process has improved the situation, it has by no means solved the problem. How can it be, with so much time and money spent to get software development under control, that it remains so unmanageable?
In Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams, Mickey W. Mantle and Ron Lichty answer that persistent question with a simple observation: You first must make programmers and software teams manageable. That is, you need to begin by understanding your people—how to hire them, motivate them, and lead them to develop and deliver great products. Drawing on their combined seventy years of software development and management experience, and highlighting the insights and wisdom of other successful managers, Mantle and Lichty provide the guidance you need to manage people and teams in order to deliver software successfully.
Whether you are new to software management, or have already been working in that role, you will appreciate the real-world knowledge and practical tools packed into this guide.
About the Authors xxvii
Chapter 1: Why Programmers Seem Unmanageable 1What Do Programmers Do? 3
Why Is Becoming a Successful Programming Manager Hard? 7
Chapter 2: Understanding Programmers 9Programming Disciplines 10
Types of Programmers 13
Domain Expertise 16
Programmer Job Requirements and Abilities 17
Proximity and Relationship 20
Generational Styles 25
Personality Styles 27
Chapter 3: Finding and Hiring Great Programmers 35Determining What Kind of Programmer to Hire 37
Writing the Job Description 39
Selling the Hire 45
Recruiting Full-Time Employees (FTEs) 46
Recruiting Contractors 56
Reviewing Résumés 57
Narrowing the Field 59
Preparing to Interview 60
Making the Decision to Hire a Programmer 72
Making the Right Offer to a Programmer 76
Follow Up Until the Programmer Accepts 82
Chapter 4: Getting New Programmers Started Off Right 84Get Them on Board Early 85
Preparing for Their Arrival 86
First-Day Musts 87
Ensuring Success 92
Initial Expectations 95
Chapter 5: Becoming an Effective Programming Manager: Managing Down 99Earning Technical Respect 100
Hire Great Programmers 105
Turbocharge the Team You Have 105
Managing Different Types of Programmers 106
Judging and Improving Performance 113
Organizational Thinking 123
Deliver Results and Celebrate Success 141
RULES OF THUMB AND NUGGETS OF WISDOM 143The Challenges of Managing 147
Managing People 173
Managing Teams to Deliver Successfully 203
Chapter 6: Becoming an Effective Programming Manager: Managing Up, Out, and Yourself 227Managing Up 228
Managing Out 234
Managing Yourself 250
Chapter 7: Motivating Programmers 269Motivational Theories 269
Motivational Factors as Applied to Programmers 274
Putting Theory into Practice 279
Foundational Factors—Causes of Dissatisfaction (When Lacking) 280
Key Motivating Factors 303
Personal Commitment 312
Technology Offense and Defense 314
Understanding Your Programmers’ Motivations
Begins on Day One 316
Chapter 8: Establishing a Successful Programming Culture 318Defining “Successful” 319
The Programming Culture 319
Company Culture 320
Characteristics of a Successful Programming Culture 327
Chapter 9: Managing Successful Software Delivery 347Defining the Project 348
Planning the Work 358
Kicking Off the Plan 370
Executing the Work 376
Running the End Game 391
Delivering the Software 396
Mickey W. Mantle has been developing software for over 40 years, creating hardware and software products and managing development teams. After graduating from the University of Utah (where he was contemporary with computer industry notables such as the founders of WordPerfect, Silicon Graphics, Netscape, Adobe Systems, and Pixar), Mickey had his first job in 1971 developing the overall control software and real-time robotic controls for a six-acre aircraft rework facility for the U.S. Navy at Kenway Engineering (later Eaton-Kenway). He thereafter joined 3-D computer graphics pioneer Evans & Sutherland (E&S) where he coauthored the original 3-D graphics library that paved the way for Silicon Graphics’s GL, which has since become OpenGL. At E&S he was a contributor to many notable computer graphics products and first started managing programmers and programming teams.
After leaving E&S in 1984, Mickey joined Formative Technologies, a spin-off from Carnegie Mellon University, where he worked with the industry’s first workstations (PERQ and Sun Microsystems) dealing with largescale bit-mapped graphics for mapping and CAD applications. But his heart was in 3-D graphics, and he was hired by Pixar shortly after it was bought by Steve Jobs and spun out of Lucasfilm Ltd. in 1986. At Pixar, Mickey managed the development of all of the software for their external products, including the Pixar Image Computer, the Pixar Medical Imaging System, and RenderMan. RenderMan is the gold standard of 3-D photorealistic rendering software and by 2010 had been used on every Visual Effects Academy Award Winner for the past 15 years; 47 out of the last 50 nominees for Visual Effects had chosen Pixar’s RenderMan.
Mickey left Pixar in 1991, as their focus shifted to making feature-length 3-D animated films and away from external software products, and was recruited to Brøderbund Software as Vice President of Engineering/CTO. At Brøderbund he managed a vast development organization including applications and system programming, art and animation, sound design and music composition, and quality assurance that produced numerous award-winning PC/Mac games such as Where in the World Is Carmen Sandiego?, Kid Pix, Myst, and Living Books.
In late 1997 Mickey joined International Microcomputer Software, Inc., as Vice President of R&D/CTO, where he managed on-site and offshore development and support for numerous Windows/Mac applications such as MasterClips and professional-level products such as TurboCAD.
In 1999 Mickey joined Gracenote where he was Senior Vice President of Development (since 2008 Gracenote has been a wholly owned subsidiary of Sony). At Gracenote he managed all development, operations, and professional services associated with the pioneering Web-based CDDB music information service that enables digital music player applications such as iTunes, WinAmp, Sonic Stage, and hundreds of others. Gracenote’s products utilize technology ranging from Web services and relational databases to embedded systems and mobile applications, giving him a unique perspective on the wide-ranging needs of the various types of software developed today. He retired from Gracenote in early 2011 to finish this book, develop mobile/tablet applications, and consult with a variety of companies and organizations regarding the management of software people and teams.
His experience includes directing R&D teams around the world and managing multidisciplinary teams working 24/7 to deliver successful products. With experience in selecting, establishing, and managing offshore development organizations in India, Russia, Canada, and Japan, he brings insight into the challenges of managing software development using diverse staff and teams that are hours and oceans apart.
Ron Lichty has been developing software for 30 years, over 20 of them as a Development Manager, Director of Engineering, and Vice President of Engineering. This followed his first career as a writer in New York, Wyoming, and California, during which he wrote hundreds of articles, published scores of photographs, and authored two books. His software development career began at Softwest in the heart of California’s Silicon Valley, coding word-processing products, programming compiler code generators, crafting embedded microcontroller devices like SmartCard-based postage meters and magnetic-keycard hotel locking systems, and designing and developing the computer animation demo that Apple used to launch and promote a new line of personal computers. He was awarded software patents for compression algorithms and wrote two widely used programming texts.
Recruited to Apple in 1988, Ron product-managed Apple’s development tools, then led the Finder and Applications groups for the Apple II and Macintosh product lines, managing delivery of Apple’s “special sauce,” its user interface.
In 1994 Berkeley Systems recruited Ron to direct development of the then most widely used consumer software in the world, the After Dark screen saver line, to make engineering predictable and repeatable for the seven development teams creating its entertainment products. Brought into Fujitsu to make sense of its long-overdue WorldsAway entertainment product, he lopped off six months of overengineering to take it live in just 11 weeks.
Ron then led software development of the first investor tools on Schwab .com, part of remaking a bricks-and-mortar discount brokerage into the premier name in online financial services. He was promoted to Schwab Vice President while leading his CIO’s three-year technology initiative to migrate software development across all business units from any-language-goes to a single, cost-effective platform company-wide.
Since Schwab, he has been a Vice President of Engineering and Vice President of Products both as an employee and as a consultant, and he has continued to focus on making software development “hum.” He headed technology for the California offices of Avenue A | Razorfish, the largest Internet professional services organization in the world; products and development for Forensic Logic, the crime detection and prevention company; engineering for Socialtext, the first commercial wiki company; engineering of the consumer ZoneAlarm line for Check Point; and publisher services for HighWire, the largest Internet provider for scholarly publishing. In consulting engagements in America and Europe, he has helped development groups overcome roadblocks, untangle organizational knots, and become more productive.
Ron’s developer conference and professional group talks and webinars include implementing Agile and Scrum; the importance of user groups, teamwork, and community; and transforming software development from chaos to clarity. He has been an adviser to a half-dozen start-ups. He cochairs SVForum’s Emerging Technology SIG; founded its Software Architecture SIG; chaired East Bay Innovation Group’s Software Management Best Practices SIG; and was a member of the board of SVForum, Silicon Valley’s largest and oldest developer organization.
“Managing the Unmanageable is a well-written, must-have reference book for anyone serious about building sustainable software teams that consistently deliver high-quality solutions that meet expectations. It is loaded with incredibly useful and practical tips and tricks to deal with real-life situations commonly encountered by software managers anywhere in the world. It tearlessly peels back the onion layers of the process of managing software developers—whether a handful of co-located programmers or thousands dispersed across the world—through a balance of battle-tested approaches and keen understanding of the various personalities and backgrounds of software team members. Finally, a book on software engineering that focuses on the manager’s dilemma of making a team of programmers work efficiently together. Every single software manager should have it on their bookshelf.”
—Phac Le Tuan, CTO, Reepeet, and CEO, PaceWorks
“Becoming a great engineering leader requires more than technical know-how; Ron and Mickey’s book provides a practical cookbook for the important softer side of engineering leadership, which can be applied to any software development organization.”
—Paul Melmon, VP of Engineering, NICE Systems
“EXCELLENT. Well-structured, logical, filled with great personal color and many little gems. You guys have done a great job here. Terrific balance between theory and practice, rich with info.”
—Joe Kleinschmidt, CTO and cofounder, Leverage Software
“I started reading the nuggets section and it took fewer than four pages to improve my thinking. What struck me about the nuggets was that I could sense the genesis of this book: two masters of their craft learning from each other. Most books feel like a teacher describing a sterile version of what ‘ought to be done’ that leaves you wondering, ‘Will this work in the “real world”?’ Reading the nuggets felt like the sort of guidance that I would get from a trusted mentor. A mentor who I not only trusted, but one who trusted me to take the wisdom, understand its limits, and apply it correctly. It’s concentrated like a Reader’s Digest for technical management wisdom.”
—Mike Fauzy, President and CTO, 1stMediCall LLC
“Managing the Unmanageable is a great collection of sometimes-obvious and sometimes-not-obvious guidance for software managers. I wish that I had had this book when I first started managing teams, and it still is illuminating. For programmers who step into management, the hardest thing is to learn the soft skills. Ron and Mickey do a great job of illustrating not just the why but also the how.”
—Bill Hofmann, Vice President of Engineering, Klamr.to
“Unique dialogue around the human aspects of software development that is very much overdue.”
—Mark Friedman, CEO and founder, GreenAxle Solutions
“. . . [W]hat to do on the new employee’s first day of work seems unique and very helpful!”
—Steven Flannes, Ph.D., Principal, Flannes & Associates
“The book provides insight to a unique group of people: programmers. Companies around the planet have and are still struggling with how to best develop software products. Managing programmers is at the heart of developing software products successfully. Many project and organization leaders are ill-equipped to deal with programmers and software development in general. I think this book can bring insight to leaders of software organizations and help them understand and even get inside the head of programmers and therefore be more effective leaders.”
—Michael Maitland, CEO (geek-in-charge), WhereTheGeeksRoam
“I have enjoyed reading the book very much, and I wish I had it ten years ago—probably would have saved me from making certain mistakes. A lot of what I read is not new to me, but I have never seen so much relevant material assembled in one book. The book was just what I needed. I already feel that I’ve benefited from it.”
—David Vydra, Continuous Delivery Advocate and Software Craftsman, TestDriven.com
“I am finding the reading helpful to me right now—it has heightened my sensitivity to staff, even having managed for decades.”
—Margo Kannenberg, Assistant Director, Application Development, HighWire Press
“Mickey was my manager in my first role as programming manager. His real-world, pragmatic, hands-on guidance was a profound positive influence on everything I’ve ever done with management since. His is still my go-to advice as I develop and mentor managers. I’m pleased that he’s taken the time to canonize it in this book so that many more new and experienced managers can benefit from it.”
—H.B. Siegel, CTO, IMDB.com (a wholly owned subsidiary of Amazon)
“I just wish that I had this book when I started as a first-time manager five years ago!”
—Kinnar Vora, VP, Product Development & Operations, Sequoia Retail Systems
“Mantle and Lichty cut through abstract principles and present proven techniques that can increase the effectiveness of software development organizations. It deserves a place on the real (or virtual) bookshelf of every software manager who wants to build an outstanding development team and create a culture where everyone enjoys coming to work. It’s especially valuable in telling managers what not to do, and how to address the inevitable problems that affect all organizations.”
—Anthony I. (Tony) Wasserman, Professor of Software Management Practice, Carnegie Mellon University—Silicon Valley; ACM Fellow; and IEEE Life Fellow
“Mickey was there on Long Island in the mid-1970s when the group now known as Pixar first formed, delivering successful software products then, and was still doing so, as manager, almost two decades later at Pixar itself. He knows what he’s talking about.”
—Alvy Ray Smith, cofounder of Pixar
“Ron and Mickey clearly understand how important it is for programmers to work on projects that make a difference and how essential it is for managers to create and foster a unique and innovative culture.”
—Kathy Baldanza, VPE, Perforce Software
“This book is a treasure trove of real-world experiences that will make you a more effective software development manager.”
—Chris Richardson, founder of the original CloudFoundry.com, and author, POJOs in Action