Modeling Software Evolution with Game Theory
A wrong design decision at any point in the software lifecycle can lead to cost overruns and competitive disadvantage. We describe how lightweight game theory can help software engineering teams plan for future design and maintenance decisions. To demonstrate our approach, we model the real-world evolution of <Literal>java.util.Calendar</Literal> using our lightweight Basic Software Evolution Game. The game expressively models both what actually happened as well as circumstances when alternate design decisions would be optimal.