Alaska for Software Development
As a recently conducted study of the Austrian Chamber of Commerce among more than 10.000 IT companies in Austria shows project management skills are among the most important non technical skills for computer scientists. Currently a paradigm shift can be observed where traditional project management methods are more and more replaced by agile approaches like Scrum or eXtreme Programming (for a comparison of different planning approaches click here). Instead of pre-planning everything in advance all of these approaches spread planning activities throughout the project and provide mechanisms for effectively dealing with uncertainty. Recognizing the importance of good planning skills Alaska simulator has been developed, which allows people to test, analyze, and improve their own planning behaviour by using a familiar metaphor, i.e., travel planning and execution.
Major Roles of Alaska Simulator
- Steve Student: tests and analyzes his planning behavior with the simulator and explores how much planning is just enough under dierent circumstances
- Rose Researcher: investigates the strengths and weaknesses of dierent planning approaches using the simulator
- Isabel Instructor: demonstrates the dierent agile and lean principles using a journey as a metaphor and explains the major dierences between agile, plan-driven and chaotic planning
Using a Journey as Metaphor
The Alaska simulator uses a journey as a metaphor for software projects. No matter whether you plan a journey or a software project, in both cases, good planning is fundamental. While in software projects the features to be implemented must the prioritized and planned, for journeys these are accommodations, routes and activities. In both cases information regarding costs, benefits, durations and risks of activities to be planned as well as uncertainty factors are important for decision making. For journeys weather, scarce resources (e.g., the bus tour in Denali National Park needs to be booked as only limited seats are available) as well as unforeseen events make up uncertainty, while changing requirements or unknown technologies complicate the planning of software projects. In addition, for both scenarios constraints like the available budget, available time and dependencies between activities need to be considered.
AST consists of three major components: the Alaska Simulator, the Alaska Configurator and the Alaska Analyzer. The major features of AST are as follows:
- Design journey scenarios: Alaska Simulator allows researchers and instructors to design their own journey scenarios including locations, actions, events, constraints as well as the degree of uncertainty
- Plan and execute journeys: Alaska Simulator allows to plan and execute journeys in either an agile or a plan-driven way
- Log journeys: Each step that is performed while planning and executing ajourney is logged by the Alaska Simulator
- Replay journeys: To enable manual analysis of planning behavior, journeys can be replayed step by step in the Alaska Simulator
- Analyze journeys: Instructors and researchers are supported in analyzing the journeys after a planning session has been conducted with the Alaska Analyzer
- Design surveys: Researchers are supported to design questionnaires (e.g., to gather demographic data)
- Design experimental workflows: Researchers are supported to assemble journey configurations and surveys to experimental workflows