Friday, February 4, 2011

Managing Software Debt



MANAGING SOFTWARE DEBT
BUILDING FOR INEVITABLE CHANGE

Introduction
Acknowledgments
About the Author
Chapter 1 Managing Software Debt
Where Does Software Debt Come From?
Software Debt Creeps In
Software Asset Depreciation
Like-to-Like Migration
Limited Expertise Available
Expensive Release Stabilization Phases
Increased Cost of Regression Testing
Business Expectations Do Not Lessen as Software Ages

Chapter 2 Technical Debt
Origins of Terminology
Other Viewpoints on Technical Debt
Definition of Technical Debt
Patterns of Technical Debt
Schedule Pressure
Duplication
Get It “Right” the First Time
Acknowledging Technical Debt
Pay Off Technical Debt Immediately
Strategically Placed Runtime Exceptions
Add Technical Debt to the Product Backlog

Chapter 3 Sustaining Internal Quality
Discipline in Approach
Sustainable Pace
Early Identification of Internal Quality Problems
Close Collaboration
Small Batches of Work
Refactoring
Defining Technically Done
Potentially Shippable Product Increments
Single Work Queue

Chapter 4 Executable Design
Principles of Executable Design
Executable Design in Practice
Test Automation
Continuous Unit Test Execution
Merciless Refactoring
Need-Driven Design
Test-Driven Development (or Design?)
Modeling Sessions
Transparent Code Analysis

Chapter 5 Quality Debt
Quality as an Afterthought
The Break/Fix Mentality
Release Stabilization Period
Indicators of Quality Debt
Lengthening Regression Test Execution
Increasing Known Unresolved Defects
Maintenance Team for Production Issues
Test Automation
Acceptance Tests
Acceptance Test-Driven Development
Automated Acceptance Testing Tools
Compliance with Test Automation

Chapter 6 Configuration Management Debt
Overview of Configuration Management
Responsibilities for Configuration Management
Transferring Responsibilities to Teams
Increase Automated Feedback
Continuous Integration
Tracking Issues Collaboratively
Release Management
Version Management
Building from Scratch
Automated Promotion
Rollback Execution
Push-Button Release
Branching Strategies
Single Source Repository
Collapsing Branches
Spike Branches
Choosing a Branching Strategy
Documenting Software
Incremental Documentation
Push Documentation to Later Iterations of the Release
Generating Documentation
Automated Test Scripts

Chapter 7 Design Debt
Robustness
Modularity
Architectural Description
Evolve Tools and Infrastructure Continually
The Cost of Not Addressing
Abuse Stories
Abuse Story Writing Session
Changeability
User Interfaces
Services
Application Programming Interfaces
Review Sessions
Design Reviews
Pair Programming
Retrospectives

Chapter 8 Designing Software
Application Design
Where Design Issues Come From
“Good” Design
Incremental Design
Simplify Design
The “Wright Model” of Incremental Design
Team Tools for Effective Design
Design Tools
Common Environment
Working Agreement

Chapter 9 Communicating Architectures
The Three Levels of Architecture Perspective
Component Architecture
Application Architecture
Enterprise Architecture
Utility of the Three Levels of Architecture Perspective
Architecture Is S.A.I.D.
Structure
Alignment
Integrity
Design
Modeling
Using Models for Communication
Generating Artifacts

Chapter 10 Technology Evaluation Styles
The Need for Technology Evaluation
Budgeting for Technology Evaluation
Research
Spike
Tracer Bullet
When to Conduct Technology Evaluations
In Preparation for the Next Iteration
Near or During Iteration Planning
Chapter 11 Platform Experience Debt
Defining Platform Experience
People Are NOT Resources
Extreme Specialization
Sharing Knowledge
Pairing
Training Programs
Personal Development
Collaborative Team Configurations
Integration Team
Feature Team
Cross-Team Mentor
Component Shepherd
Virtual Team
Importance of Relevant Experience
Personal Training
Communities of Practice
Lunch and Learns
Brown-Bag Sessions

Appendix What Is Agile?
Scrum
Extreme Programming
Please download this tutorial here

Kindly Bookmark this Post using your favorite Bookmarking service:
Technorati Digg This Stumble Stumble Facebook Twitter

0 komentar:

Post a Comment

 

About Me

My Photo
James Priyono
I'm Just a Blogger, share knowledge and information.
View my complete profile

Recent Comments

| Gudang PDF © 2014. All Rights Reserved | Template Style by My Blogger Tricks .com | Design by Brian Gardner | Back To Top |