Managing the Unmanageable



Similar documents
Winning the Hardware-Software Game

Delivery. Enterprise Software. Bringing Agility and Efficiency. Global Software Supply Chain. AAddison-Wesley. Alan W. Brown.

MIKE COHN. Software Development Using Scrum. VAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Agile Methods. Introduction to. AAddison-Wesley. Sondra Ashmore, Ph.D. Kristin Runyan. Capetown Sydney Tokyo Singapore Mexico City

AGILE GAME DEVELOPMENT WITH SCRUM

IT Manager's Handbook

Software Security. Building Security In. Gary McGraw. A Addison-Wesley

RFID Field Guide. Deploying Radio Frequency Identification Systems. Manish Bhuptani Shahram Moradpour. Sun Microsystems Press A Prentice Hall Title

The Data Access Handbook

Social Media Marketing

Public Relations in Schools

Building. Applications. in the Cloud. Concepts, Patterns, and Projects. AAddison-Wesley. Christopher M. Mo^ar. Cape Town Sydney.

CAREER DEVELOPMENT INTERVENTIONS IN THE 21 ST CENTURY

BIRT: A Field Guide to Reporting

Essential Scrum. A Practical Guide to the Most Popular Agile Process. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis

BUSINESS AND PROFESSIONAL COMMUNICATION

VALUATION The Art and Science of Corporate Investment Decisions

Compensating the Sales Force

SOA Governance. Stephen G. Bennett, Clive Gee, Robert Laird, Co-authored and edited by Thomas Erl. Governing

CHAINED EXPLOITS Advanced Hacking Attacks from Start to Finish

Performance Management

Relationship marketing

CONTEMPORARY DIRECT & INTERACTIVE MARKETING

Advertising Research

ux BEST PRACTICES How To Achieve More Impact With User Experience Helmut Degen and XiaoweiYuan With support of Nan Guo Graw

THE PSYCHOLOGY OF INVESTING

Risk Analysis and the Security Survey

An Introduction. Global Edition. "University of North Carolina. Northwestern University

Agile Development & Business Goals. The Six Week Solution. Joseph Gee. George Stragand. Tom Wheeler

ENTERPRISE SYSTEMS FOR MANAGEMENT

David Jobber University of Bradford

The Crossroads of Accounting & IT

Project Management Concepts, Methods, and Techniques

Contents. Assessing Social Media Security. Chapter! The Social Media Security Process 3

Agenda Item #06-29 Effective Spring 2007 Eastern Illinois University Revised Course Proposal MGT 4500, Employee Staffing and Development

How To Write A Diagram

Web Development with TIBCO General Interface

Practical Intrusion Analysis

LEAN SUPPLY CHAIN MANAGEMENT TOPICS IN. Marc J. Schniederjans. Dara G. Schniederjans. Ashlyn M. Schniederjans. :.,.' If I.

superseries FIFTH EDITION

Managing Data in Motion

Purchasing and Supply Chain Management

Customer Relationship Management

International Investments

Job Hazard Analysis. A Guide for Voluntary Compliance and Beyond. From Hazard to Risk: Transforming the JHA from a Tool to a Process

The Process. Improvement. Handbook. A Blueprint for Managing Change and. Increasing Organizational Performance. Tristan Boutros.

Lean Supply Chain and Logistics Management

Security Metrics. A Beginner's Guide. Caroline Wong. Mc Graw Hill. Singapore Sydney Toronto. Lisbon London Madrid Mexico City Milan New Delhi San Juan

for Hundreds of Ready-to-Use Phrases to Set the Stage for Productive Conversations, Meetings, and Events Meryl Runion with Diane Windingland

Using Ml. David M. Kroenke PEARSON

Strategic Management and Competitive Advantage

Financial Statement Analysis

Software Configuration Management Patterns

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Quality Management. Theory and Application PETER D. MAUCH. Ltfi) CRC Press. \ V J Taylor & Francis Group. ^ ^ Boca Raton London New York

Kevin, Lane. ft Mairead

Measuring Data Quality for Ongoing Improvement

Master Data Management

Securing the Cloud. Cloud Computer Security Techniques and Tactics. Vic (J.R.) Winkler. Technical Editor Bill Meine ELSEVIER

PERFORMANCE MANAGEMENT COACHING AND PERFORMANCE GEORGIA PERIMETER COLLEGE

Customer Relationship. Management. Ed Peelen and Rob Beltman

Database. Administration. The Complete. and Procedures. Guide to DBA Practices. AAddison-Wesley. Second Edition. Mullins

QUANTITATIVE METHODS. for Decision Makers. Mik Wisniewski. Fifth Edition. FT Prentice Hall

BUSINESS INTELLIGENCE

University of Illinois at Urbana-Champaign

Business Finance. Theory and Practica. Eddie McLaney PEARSON

Patterns of Enterprise Application Architecture

Enterprise. ESXi in the. VMware ESX and. Planning Deployment of. Virtualization Servers. Edward L. Haletky

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

C ONTENTS. Acknowledgments

Management. Oracle Fusion Middleware. 11 g Architecture and. Oracle Press ORACLE. Stephen Lee Gangadhar Konduri. Mc Grauu Hill.

THE COMPLETE PROJECT MANAGEMENT METHODOLOGY AND TOOLKIT

Financial Times Prentice Hall is an imprint of

Shaping the Future of Healthcare

Designing Interactive Systems

User Stories Applied

Marketin. Global Edition 14

Social Work, Social Welfare, and American Society

CERTIFIED MANAGER COURSE SUBJECT HANDBOOK. Nationally Accredited Level 1 Certificate and Advanced Certificate for Customer Service Manager

People Management and Leadership Training That Gets Results!

MARKETING. Elnora W.!b II Ufluu 1 UNIVERSITY OF SOUTH CAROLINA UPSTATE. Michael R. SAINT JOSEPH'S UNIVERSITY. Greg W.

Univariate and Multivariate Methods PEARSON. Addison Wesley

How To Write A Web Framework In Java

CREATING A THIRD EDITION DAVID MANN

Securing SQL Server. Protecting Your Database from. Second Edition. Attackers. Denny Cherry. Michael Cross. Technical Editor ELSEVIER

Manufacturing Planning and Control for Supply Chain Management

Transcription:

Managing the Unmanageable Rules, Tools, and Insights for Managing Software People and Teams MICKEY W. MANTLE RON LICHTY VVAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore Mexico City

Contents Preface About the Authors xxi xxvii Chapter 1 Why Programmers Seem Unmanageable 1 What Do Programmers Do? 3 Why Is Becoming a Successful Programming Manager Hard?... 7 Chapter 2 Understanding Programmers 9 Programming Disciplines 10 Client Programmers 10 Server Programmers 11 Database Programmers 11 Web Developers and Other Scripters 12 Types of Programmers 13 System Engineers/Architects 14 System Programmers 14 Application Programmers 15 Not Really Programmers 16 Domain Expertise 16 Programmer Job Requirements and Abilities 17 Proximity and Relationship 20 In-House Employees 22 Geographically Distant Employees 23 Contractors 24 xi

xii Contents Contracted Managed Teams and Outsourcing Companies... 24 Generational Styles 25 Personality Styles 27 Left-Brain versus Right-Brain People 28 Night versus Morning People 29 Cowboys versus Farmers 31 Heroes 31 Introverts 32 Cynics 33 Jerks 33 Summary 33 Tools 34 Chapter 3 Finding and Hiring Great Programmers 35 Determining What Kind of Programmer to Hire 37 Writing the Job Description 39 Selling the Hire 45 Recruiting Full-Time Employees (FTEs) 46 Always Be Recruiting 47 Budgeting for Recruiting 48 Recruiter Case Study 50 Employee Referrals 51 Effective Recruiting 53 Recruiting Tips 54 Recruiting Contractors 56 Reviewing Resumes 57 Narrowing the Field 59 Preparing to Interview 60 Interviewing 67 Making the Decision to Hire a Programmer 72 Making the Right Offer to a Programmer 76

Contents xiii Follow Up Until the Programmer Accepts 82 Summary 83 Tools 83 Chapter 4 Getting New Programmers Started Off Right 84 Get Them on Board Early 85 Preparing for Their Arrival 86 First-Day Musts 87 Introductions 91 Ensuring Success 92 Initial Expectations 95 Summary 98 Tools 98 Chapter 5 Becoming an Effective Programming Manager: Managing Down 99 Earning Technical Respect 100 Hire Great Programmers 105 Turbocharge the Team You Have 105 Managing Different Types of Programmers 106 Facilitation Protection Ill Ill Judging and Improving Performance 113 Setting Objectives 114 Performance Reviews 117 Know When to Cut Your Losses 122 Organizational Thinking 123 Staffing 124 Full-Time versus Contractors 124 In-House versus Off-Shore Contractors 126 Organizing 130 Office-Based versus Virtual Teams 130

xiv Contents Programmer Teams Small versus Large Teams 133 Managing Larger Organizations 135 Troubleshooting a Dysfunctional Organization 140 Deliver Results and Celebrate Success 141 Summary 142 Tools 142 RULES OF THUMB AND NUGGETS OF WISDOM 143 The 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 227 Managing Up 228 Understand Your Boss 228 Package Your Communications 230 Understand Your Boss's Boss 231 Timing 232 Be a Model Employee 232 Bottom Line 233 Managing Out 234 Collaborating within Your Department 234 Understand Other Departments 235 Leverage Important Support Functions 237 Human Resources (HR) 237 Finance and Managing Budgets 239 Legal 242 Managing Outside the Company 242 Customers 243 Technology Providers 243

Contents xv Technology Innovators and Work Disruptors 244 Tools Vendors and Suppliers 245 Government, Trade, and International Standards Organizations 246 Industry Consortiums 247 Professional Organizations 247 University Educators 248 Local Connections 248 Bottom Line 250 Managing Yourself 250 Personal Style 250 Appropriate Appearance 251 Work Ethic 252 Know Your Staff 252 Time and Priority Management 254 Communications Management 256 Management Practices 260 Pay Attention to the Person 260 Listen Reflectively 261 Break Down Barriers to Communication 261 Understand What Is Really Important 261 Make Progress Every Day 263 Be Part of the Solution, Not Part of the Problem 263 Follow-Up Management 263 Find a Mentor 266 Bottom Line 267 Summary 268 Tools 268 Chapter 7 Motivating Programmers 269 Motivational Theories 269 Maslow's Hierarchy of Needs 270

xvi Contents McGregor's X-Y Theory 271 Herzberg's Motivation and Hygiene Factors 272 Motivational Factors as Applied to Programmers 274 Putting Theory into Practice 279 Foundational Factors Causes of Dissatisfaction (When Lacking) 280 Respected as Supervisor 281 Gain Technical Respect 281 Respect Others 281 Establish Your Culture 282 Lead by Example 283 Help Solve Technical Problems 283 Manage and Coach 284 Focus on Your People 285 Having Fun 286 Learning and Growing 287 Good Working Conditions 289 Make the Workplace a Good Place to Work 289 "No Jerks" Rule 290 Be Flexible 291 Feed Your Team 293 Sane Company Policies and Administration 294 Communicate 295 Protect Your Staff from Organizational Distraction 296 Protect Your Staff from Bad Organization Communication and Policies 297 Ethical Management 297 Key Motivating Factors 303 Making a Difference in the World 303 Learning and Growing 305 Toys and Technology 307 Recognition and Praise 307

Contents xvii Having Fun with Your Staff 309 Upside 310 Persona] Commitment 312 Technology Offense and Defense 314 Understanding Your Programmers' Motivations Begins on Day One 316 Summary 317 Chapter 8 Establishing a Successful Programming Culture 318 Defining "Successful" 319 The Programming Culture 319 Company Culture 320 Leveraging the Complexity of Your Company's Culture... 321 Walling Off Your Company's Culture 322 What Part Does Technology Play in Your Company? 323 What Drives Your Company? 325 Characteristics of a Successful Programming Culture 327 Mutual Respect 328 Innovation 329 Standards 330 Delivery 331 Communication 332 Communication Among Virtual Teams 334 Fairness 336 Empowerment 337 Professionalism 338 No Jerks and Bozos 339 Excellence 340 Programming Excellence 340 Teamwork and Collaboration 341 Passion 341 Customer Focus: "It's the Customer Experience, Stupid!".. 341

xviii Contents Learning 343 Environment 344 Summary 346 Tools 346 Chapter 9 Managing Successful Software Delivery 347 Defining the Project 348 Ensure That Requirements and Assumptions Are Clear... 349 Limit Requirements to "What," not "How" 352 Seek to Delight Customers 353 Quickly Ballpark the Magnitude of Effort Required 354 Recognize Nonnegotiable Dates 356 Inspire the Team 356 Planning the Work 358 Break the Project into Features, and Prioritize Them 359 Break Features into Tasks and Sub-Tasks 361 Engage Your Team in a Bottom-Up Estimate 362 Assemble Task Estimates into a Project Estimate 362 Look for the Limitations on Estimation 364 Get Agreement Around the Risks, Not Just the Schedule... 366 Allocate Sufficient Time for Unit and Project Testing 368 Estimation Is a Unique Challenge Every Time 368 Determine the Pace of the Project 369 Kicking Off the Plan 370 Participate in a Project Kickoff 370 Define "Done" 371 Define "Success" 372 Establish a Project Workbook 373 Executing the Work 376 Design the Work 376 Hold a Design Review 379

Contents xix Complete a Prototype to Inform the Design 380 Set Agreed-Upon Milestones 381 Confirm That Regular Check-In Meetings Have Been Set 382 Actively Drive Development 384 Ensure That Agreed-Upon Standards and Requirements Are Met 386 Leverage Test-Driven Development 388 Hold Stand-Up Meetings 389 Insist on Code Reviews 389 Running the End Game 391 No New Features 391 Run the Product 392 Be Prepared to Declare Success and Start on the Point Release 392 Know When to Cut Your Losses 394 OEM and International Versions 396 Delivering the Software 396 Celebrate 396 Retrospect 397 Share 400 Refactor 400 Point Releases 401 Summary 401 Tools 402 TOOLS 403 Index 407