Contents

About the Author

Foreword

Preface

Acknowledgments

CHAPTER 1. A Value-Up Paradigm

A Paradigm Shift

Three Forces to Reconcile

What Software Is Worth Building?

Contrasting Paradigms

Attention to Flow

Contrast to Work-Down

Transparency

One Work Item Database

Instrument Daily Activities

Fit the Process to the Project

Summary

Endnotes

CHAPTER 2. Value-Up Processes

Microsoft Solutions Framework

Iteration

Why Iterate?

Length

Different Horizons, Different Granularity

Prioritization

Adapting Process

Risk Management

Fit the Process to the Project

Adaptive Versus Plan-Driven

Required Documentation Versus Tacit Knowledge

Implicit Versus Explicit Sign-Off Gates and Governance Model

Auditability and Regulatory Concerns

Prescribed Versus Self-Organization

One Project at a Time Versus Many Projects at Once

Geographic and Organizational Boundaries

Summary

Endnotes

CHAPTER 3. Requirements

What’s Your Vision?

Strategic Projects

Adaptive Projects

When to Detail Requirements

Requirements Are Perishable

Who Cares About Requirements

Personas and Scenarios

Start with Personas

Scenarios

Research Techniques

Get Specific Early

Storyboards

Breadth of Scenarios

Customer Validation

Evolving Scenarios

Personas and Scenarios and Their Alternatives

Actors and Use Cases

User Stories

Exciters, Satisfiers, and Dissatisfiers

Qualities of Service

Security and Privacy

Performance

User Experience

Manageability

Kano Analysis

Technology Adoption Lifecycle

Gathering the Data

Summary

Endnotes

CHAPTER 4. Project Management

Understanding Variation

Using Descriptive Rather Than Prescriptive Metrics

Many Dimensions of Project Health

Answering Everyday Questions

Remaining Work

Project Velocity

Unplanned Work

Quality Indicators

Bug Rates

Reactivations

Bugs by Priority

Actual Quality Versus Planned Velocity

Estimating an Iteration

Top-Down

Bottom-Up

Refinements

Estimation Quality

Retrospectives

Triage

A Triage Exercise

What Makes Triage Effective: The Red Line

What Happens During Triage

Escalating and Resolving Issues

Iterations and Triage

Satisfying the Auditor

Summary

Endnotes

CHAPTER 5. Architectural Design

A Value-Up View of Architecture

Service-Oriented Architecture

Web Services and SOA

Contract-First Design

Constraints with Degrees of Freedom

Baseline Architecture

Validate Architectural Decisions

Refining the Baseline

Reference Architectures

VSTS and Service-Oriented Architecture

Quality of Service Mindset

Security

Performance

Citizenship Mindset

Design for Operations

Summary

Endnotes

CHAPTER 6. Development

A Value-Up View of Development

Quality from a Developer’s Point of View

Using Test-Driven Development to Ensure Requirements Clarity

Addressing Programming Errors with Code Reviews, Automated and Manual

Automated Code Analysis

Manual Code Reviews

Providing Immediate Feedback with Unit Tests and Code Coverage

Test First or Code First?

Code Coverage

Making Unit Tests Better

Using Data

Configurations

Component Integration Tests

Build Verification Tests

Tuning Performance

Preventing Version Skew

Checking In

Shelving

Branching

What to Version

Automating the Build

Making Work Transparent

Summary

Endnotes

CHAPTER 7. Testing

A Value-Up View of Testing

What Makes a Good Tester?

Basic Questions

Are We Delivering the Customer Value?

Automated Scenario Tests

Insulating Your Tests from UI Changes

Are the Qualities of Service Fit for Use?

Load Testing

Security Testing

Usability Testing

Have We Tested the Changes?

What Haven’t We Tested?

Requirements

Code

Risks

Does It Work in Production as Well as in the Lab?

Are We Testing Enough?

Defining “Good Enough”

Exploratory Testing

Testing as Discovery

False Confidence

When Should We Test?

Check-In Cycle

Daily Build Cycle

Accepted Build Cycle

Iteration Cycle

Project Cycle

Which Tests Should Be Automated?

How Efficient Is Our Team, Or Our Outsourced Team?

Summary

Endnotes

CHAPTER 8. Reporting Bugs

A Cautionary Tale

A (Software) Bug’s Life

Bug Reporting Is Like Journalism

Subjective Data

Objective Data

Assessment Data

Plan

Summary

Endnotes

CHAPTER 9. Troubleshooting the Project

Underestimating

Uneven Task Decomposition

Architectural Blind Spots

Scope Creep

Inadequate Bug Allotment

Resource Leaks

Development Practices Too Loose

Build Failures

Inadequate Unit Testing

Reactivations

Bluffing

Tests Passing; Solution Doesn’t Work

High Bug Find Rate

Tests Are Stale

Solution Stuck in Testing

Tests Failing

Too Little Testing

Summary

Endnotes

CHAPTER 10. Conclusion

Expected Criticisms

Value-Up, Again

Endnotes

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.193.108