Creating High Performance Software Development Teams

Frank P. Ginac · 2000

Introduction. 1. Nail Down the Requirements. Purpose of Requirements. The Questions. Problem. What Problem Will the Product Solve? Opportunity. Who Has the Problem? How Many Have the Problem? Window of Opportunity. When Do They Need a Solution? Return. Is the Product Worth Building? What Is ROI? Calculating ROI. Requirements. How Will the Product Solve the Problem? How Will Customers Use the Product? Getting the Answers. Develop a Theme for the Project (Keep It Simple). Customers and Prospects. Competitors. Temper Requirements with Innovation. Example 1o1: Product Requirements Document. 2. Build the Best Team. Piecing Together the Puzzle. Define the Team's Objectives. Hiring Profile. Culture. Personality. Track Record. Knowledge, Skills, and Experience Needed for Success. Example 2-3: Hiring Profile. Hiring. Finding Candidates. Do They Fit? Sell the Opportunity. Make Them an Offer They Can't Refuse. Close the Deal Fast. Organize around Products. Traditional Hierarchical Organizations. What Is a Traditional Hierarchical Organization? Why They Don't Work. Flat Organizations. What Is a Flat Organization? Why They Don't Work. A Better Way. Product Development Requires a Cross-Functional Body of People. Create a Cross-Functional Team. Appoint a Leader with Cross-Functional Responsibility. 3. Prepare the Team. Eliminate Team Weaknesses. Individual Weaknesses versus Team Weaknesses. Focus on Determining Team Weaknesses. Harness Strengths. Fill in the Holes in Their Skills and Experience. Book Studies. Formal Training. 4. Prepare to Lead. People Are People Not Resources. People Have Needs, Resources Need Maintenance. People Learn, Resources Are Programmed. People Quit, Resources Break. You Must Be a Leader Before You Can Lead. I'm a Manager, Doesn't That Make Me a Leader? Classic Distinction between Manager and Leader. Management Is Assigned, Leadership Is Earned. Is It Possible to Be Effective If You Are Not a Leader? What Does It Mean to Be Effective? Leadership Is a Prerequisite for Effectiveness. Do Others See You as a Manager or a Leader? Perception Is Everything. Trickle-Down Effect of Leadership. Barriers to Effective Leadership. Popularity Contests. Politics. Bureaucracy. Prepare to Lead. Identify Your Weaknesses. Eliminate Your Weaknesses. Find a Mentor and a Coach. Fill in the Holes in Your Skills and Experience. 5. Planning. By the Seat of Your Pants. Planning Is a Prerequisite for High Performance. There Is No Substitute for a Good Plan. Focuses Team. Informs Others. Identifies Dependencies. Anticipates Challenges and Offers Alternative Courses of Action. Project Planning Is Not an Exact Science. Task Breakdown Errors. People Are Unpredictable. Unforeseen Events. Aim for 80% Accuracy in First Version of a Project Plan. Don't Guess. Develop the Plan. Step 1-Put a Stake in the Ground. Step 2-Specify the Objectives. Step 3-For Each Set of Related Objectives, Specify Functional/Design Options. Example 5-1: Uni-Specification. Step 4-Select Functional/Design Options. Step 5-Derive Major Tasks from Selected Functional/Design Options. Step 6-Identify Dependencies. Step 7-Identify the Critical Path. Step 8-Identify Mini- Release Points. Step 9-Assign People to Tasks. Step 10-Level Resources. Step 11-Adjust. Project Planning Tools. The Easy Part Is Done, Time to Execute. 6. Execute with Passion. Execute...Keep It Simple. Work Your Project Plan. Lessons from SCUBA Diving. The Changing Critical Path. Keep Your Weakest Performers off the Critical Path. Maintain Focus. Ask Questions. Encourage. Motivate. Reward Focusing Behaviors. Reward Results. Clear the Path Ahead. Accept No Excuses. Manage Performance... with Passion. Think Like a Winner. Set High Standards. Push the Limits. Create a Sense of Urgency. What Is it? What Happens If You Don't Have It? How Do You Create It? 7. Conclusion. Nail Down the Requirements. Build the Best Team. Prepare the Team. Prepare to Lead. Planning. Execute with Passion. Appendix: Developing Software. Software Development Processes. Types of Software Development Processes. Waterfall. Prototyping. Iterative. Selecting the Right Process to Follow. Scope of Problem. Schedule. Availability of Tools. Configuration Management. Source Code Control. Production. Version Management. Construction. Problem/Defect Tracking. Quality Assurance. In the Eyes of the Beholder. Quality Attributes. Product-Specific Attributes. Organization-Specific Attributes. Quality Metrics. Types of Metrics. Beyond Metrics. Test Methods, Types, and Tools. Test Methods. Types of Tests. Commercial Test Tools. Index.

Read the paper · More papers on PaperTik