A Brief History of Systems DevelopmentA Brief History of Patterns in Software DevelopmentFormalization of Algorithmic ProgrammingPatterns for Object-Oriented ProgrammingThe Rise of Open Source SoftwareThe Value of Patterns, Practices, and ComponentsStanding on the Shoulders of GiantsA Shared Language for Discussing Our PracticeShared Components for Easy ReuseSummary