Abstract: Software development process modeling is gaining increasing interest among academic researchers
and IT-industry practitioners alike as an approach for analyzing complex business questions of software
production from the strategic management of software development, to supporting process improvements.
A number of simulation models of software dynamics have been developed based on system dynamic approach
with the use of special simulation programming tools. At the same time analytical software development modeling
are of great interest as a tool of process optimization and control. In this paper the software development
processes model based on the state machine and queuing network approach is proposed. The goal is the
software development process dynamics modeling t hat is the evaluation of software product readiness progress
in the course of time. Software product is considered as a set of system requirements, and software development
process is represented as consecutive transition of each system requirement through the states of the defined
state machine. The state machine model is a queuing network with service nodes which correspond to a number
of implementers of system requirements on each stage of the development. Implementers are business analytics,
architectures, developers, testers, etc. In general, the state machine is defined according to the used software
development methodology. The markovian processes theory is further used for the queuing network modeling
and quality indexes estimation. The proposed model can be used as a basis for modeling the dynamics of
a software project development to get estimations of the following project parameters: effort, duration, cost,
resources usage, development schedule, etc.
Keywords: software development process dynamics, software engineering, production modeling, state machine,
project management
ACM Classification Keywords: D. Software – D.2 SOFTWARE ENGINEERING – D.2.8 Metrics (Process
metrics, Product metrics), D.2.9 Management (Cost estimation, Life cycle, Productivity, Software process models,
Time estimation); K. Computing Milieux – K.6 MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
– K.6.1 Project and People Management (Life cycle, Staffing), K.6.3 Software Management (Software process),
K.6.4 System Management (Management audit)
Link:
SOFTWARE DEVELOPMENT PROCESS DYNAMICS MODELING AS STATE MACHINE
Leonid Lyubchyk, Vasyl Soloshchuk
http://foibg.com/ibs_isc/ibs-20/ibs-20-p05.pdf