Decisions, Operations, and Technology Management
A Hierarchical Framework for Organizing a Software Development Process
- Author(s): Iravani, F.
- Dasu, S.
- Ahmadi, R.
- et al.
Every year, companies that produce consumer tax preparation software struggle with a massive amount of work imposed by thousands of state and federal changes to tax laws and forms. With their release not even beginning before August, these changes still must be processed and incorporated into the application by mid- December. Three companies dominate this competitive market with its short selling season so that release delays create significant losses. Though systematic resource allocation and process management are crucial, the volume and complexity of the changes, the brief timeframe to implement them, and feedback loops built into the system for error resolution make it extremely difficult to analyze the process. One of the leading tax software providers tasked us with developing systematic approaches for managing the process flow and staffing each stage so that the company met the deadline at the lowest cost. Based on the characteristics of the process, we develop deterministic models that partition tax forms into groups and determine the staffing levels for each group. Partitioning the development process into groups has the benefit of simplifying workflow management and making it easier to find staffing levels. To provide the company with a range of resource configurations, we use two modeling approaches to obtain lower and upper bounds on the number of resources at each stage. Numerical experiments indicate that the models successfully capture the features of the process and the heuristics perform well. Implementing our models at the company has resulted in 31% reduction in overtime and 13% reduction in total resource costs.