How do you maximize team productivity? Decades of research have found at least a ten-fold—“10x”—difference in productivity and quality between the best teams and the worst. Fully updated in a second edition, this course describes the Eight Key Principles that effective software development teams follow to achieve 10x software development:
- Avoid minus-x software development
- Set direction
- Attack uncertainty
- Tailor the solution to the problem
- Seek ground truth
- Make decisions with data
- Minimize unintentional rework
- Grow capability
The course also includes multiple example tactics aligned to each principle that your team can use to improve its practices.
After you complete this course you will be able to:
- Apply tactics to address the classic mistakes your team is making
- Identify the development fundamentals you need to grow
- Make decisions that will stick
After your team completes this course, it will be able to:
- Confirm that you are all aligned on the project’s objectives
- Match your development lifecycle to your work rather than the other way around
- Apply risk management appropriately
- Plan the right kind of early defect detection
- Review and enhance your feedback loops
See the “Course Details” tab for the course’s detailed outline.
Who Is This Course For?
Getting to 10x software development is primarily a leadership activity, so this course is most appropriate for Managers, Technical Leads, Quality Leads, and Project Managers. This course also gives individual contributors (including Developers and Testers) a common language or frame of reference for working with their leaders to make strides toward 10x development.
This course includes
- A 120-page workbook with detailed information describing all of the principles and tactics covered by the course, plus case studies and activities designed to help you master the tactics.
- A detailed essay by Steve McConnell describing the body of research that supports the existence of the 10x phenomenon.
- “Software Development’s Classic Mistakes” white paper (related to “Tactic #1: Eliminate Classic Mistakes” in “Principle #1: Avoid Minus-x Software Development”)
- “Software Development’s Cone of Uncertainty” white paper (related to “Tactic #1: Acknowledge Inherent Uncertainty” in “Principle #3: Attack Uncertainty”)
- “Managing Technical Debt” white paper (related to “Tactic #1: Use Comprehensive Data Sources” in “Principle #6: Make Decisions with Data”)
- “Professional Development Ladder” white paper (related to “Tactic #2: Promote Professional Development” in “Principle #8: Grow Capability”)
“I have a great list of ideas and tools that I can directly apply to my work fairly quickly and immediately. The value from the seminar will be realized quickly.” —Paul Kearney, MSNBC
“This is the single best training course I’ve had in 18 years of professional software engineering.” —Gareth Strope, VGT
“Every section fits well with my role. I have takeaways from all [sections] that I can start to use.” —Michael Lohnes, SAP
“I must tell you that I’ve been singing your praises since I got back from my class. Your team is polished, practiced, knowledgeable, and engaging. Construx was light years beyond in the quality of the offering. I assure you that you will be hearing from us in the near future.” —Jennifer Worthington, Swisslog
“This was really great, everything about it: the content, the pace, the instructor” —Rinette Scarso, Microsoft
Effective software estimation is required for 10x teams. To learn much more about this skill, see Construx OnDemand’s Software Estimation course, by Steve McConnell, author of the foundational book on estimation, Software Estimation: Demystifying the Black Art.
10x teams are not only more effective, they produce software of much higher quality. For detailed explanations of techniques for achieving quality throughout the project lifecycle, see Total Project Quality, also by Earl Beede.
The outline for 10x Software Development, Second Edition is as follows:
- Introduction by Steve McConnell
- What Is “10x Software Development”? What Are Its Eight Principles?
Principle #1: Avoid Minus-x Development
- What Is Minus-x Development?
- Tactic #1: Eliminate Classic Mistakes
- Tactic #2: Increase Awareness
- Tactic #3: Find Balance
- Tactic #4: Improve Your Processes
- Things to Do to Avoid Minus-x Development
Principle #2: Set Direction
- Setting Direction for Project Success
- CASE STUDY ACTIVITY: Crusher Ultimate
- ACTIVITY: Planning a Meal
- Tactic #1: Define Plans at Multiple Levels of Abstraction
- Planning: Product Vision
- Planning: Project Plans and Release Roadmaps
- Planning: Deliverables and Team Plans
- Tactic #2: Create a Project Charter
- Tactic #3: Establish Stable Feature Priorities
- Prioritization: Setting Direction with a Product BacklogPrioritization: Focusing on Value
- Tactic #4: Use Clear Communication
- Things to Do to Set Direction
Principle #3: Attack Uncertainty
- Two Types of Uncertainty: Inherent Uncertainty and Software Project Risk
- Tactic #1: Acknowledge Inherent Uncertainty
- CASE STUDY ACTIVITY: Excel 3.0
- Tactic #2: Perform Risk Management
- Tactic #3: Buy Information Through Prototyping
- Things to Do to Attack Uncertainty
Principle #4: Tailor the Solution to the Problem
- Using a Toolbox Approach
- Tactic #1: Understand and React to Intellectual Phases
- Tactic #2: Pick Your Lifecycle(s) to Match Your Intellectual Phases
- ACTIVITY: Analyzing Lifecycles with a Scorecard
- CASE STUDY ACTIVITY: WebICK
- Tactic #3: Plan in a Rolling Wave
- Things to Do to Tailor the Solution to the Problem
Principle #5: Seek Ground Truth
- What Is Ground Truth in Relation to Our Software Models?
- CASE STUDY ACTIVITY: Engine Sim ATE
- Tactic #1: Create Feedback Loops
- ACTIVITY: Your Feedback Cycles
- Tactic #2: Actually Estimate with Analytical Prediction
- CASE STUDY ACTIVITY: UPW
- Tactic #3: Collect Intrinsic Status
- Things to Do to Seek Ground Truth
Principle #6: Make Decisions with Data
- Making Decisions with Data, Not Hunches
- CASE STUDY ACTIVITY: ON Location
- Tactic #1: Use Comprehensive Data Sources
- Tactic #2: Establish Clear and Defined Decision Rules
- Tactic #3: Create Explicit Decision Points
- A Change Control Process for Changed Decisions
- Things to Do to Make Decisions with Data
Principle #7: Minimize Unintentional Rework
- Defects Happen and Unintentional Rework Is the Result
- ACTIVITY: New Work Vs. Rework
- CASE STUDY ACTIVITY: SLAM!
- Tactic #1: Establish Early Defect Detection
- Tactic #2: Reduce the Cost of Defects
- Tactic #3: Perform Quality Planning
- Things to Do to Minimize Unintentional Rework
Principle #8: Grow Capability
- The Cumulative Effect of Personnel Factors Is Significant
- ACTIVITY: Personal Productivity’s Effect on Team Productivity
- Tactic #1: Master Fundamentals of Development / CASE STUDY ACTIVITY: VRS
- Tactic #2: Promote Professional Development
- What Motivates Technical People?
- Tactic #3: Increase Team Productivity
- Things to Do to Grow Capability
- CASE STUDY ACTIVITY: Cheyenne Mountain ATAMS
Construx Senior Fellow
Earl Beede, CSDP is a Senior Fellow at Construx Software, where he designs and leads seminars and provides consulting services on early project-lifecycle practices, estimation, requirements, quality assurance, contract management, and software methodologies.
With more than 20 years experience as a quality assurance representative, systems analyst, process architect, and manager, Earl has designed and written software development processes for companies across a wide variety of industries. Prior to joining Construx, he held quality assurance and systems analyst positions at organizations that include the Department of Defense, Boeing Computer Services and Verizon Wireless.
Earl has a Bachelor’s degree from the University of Washington. He is a member of the IEEE Computer Society and a past coordinator of the Seattle Area SPIN (Software Process Improvement Network).