Abstract
Software quality is recognized as being very significant for achieving competitiveness in the software industry, so improvements in this area are gaining increasing importance. Software quality improvements can only be achieved by managing all of the factors that influence it. However, in a real business system, there are a great number of factors impacting software quality, while the processes are stochastic and resources are limited, so economic data should also be taken into consideration. This paper uses a Markov chain and proposes a systematic framework for modelling the stochastic processes of a quality management system and selection of the optimum set of factors impacting software quality. A methodology is presented for managing the factors that affect software quality with an illustrative hypothetical example for convenience of application of the proposed methodology.
Similar content being viewed by others
References
Anderson, D. R., Sweeney, D. J., & Williams, T. A. (1994). An introduction to management science, quantitative approach to decision making. Eagan: West Publishing Company.
Arthur, L. J. (1993). Improving software quality: An insider’s guide to TQM. New York: Wiley.
Baum, L. E., & Petrie, T. (1966). Statistical inference for probabilistic functions of finite state Markov chains. The Annals of Mathematical Statistics, 37(6), 1554–1563.
Bayona-Oré, S., Calvo-Manzano, J. A., Cuevas, G., & San-Feliu, T. (2014). Critical success factors taxonomy for software process deployment. Software Quality Journal, 22, 21–24.
Berthiaux, H., & Mizonov, V. (2004). Applications of markov chains in particulate process engineering: A review. The Canadian Journal of Chemical Engineering, 82(6), 1143–1168.
Boehm, B. (1998). WinWin spiral model: A case study. In IEEE.
Boehm, B. W., Brown, J. R., Kaspar, H., Lipow, M., MacLeod, G., & Merritt, M. J. (1978). Characteristics of software quality. Amsterdam: North Holland.
Bowling, S. R., Khasawneh, M. T., Kaewkuekool, S., & Cho, B. R. (2004). A Markovian approach to determining optimum process target levels for a multi-stage serial production system. European Journal of Operational Research, 159(3), 636–650.
Budgen, D. (1994). Sof tware design. Wokingham: Addison-Wesley.
Cheikhrouhou, N., Hachen, C., & Glardon, R. (2009). A Markovian model for the hybrid manufacturing planning and control method ‘Double Speed Single Production Line’. Computers & Industrial Engineering, 57(3), 1022–1032.
Dash, Y., & Dubey, S. K. (2012). application of principal component analysis in software quality improvement. International Journal of Advanced Research in Computer Science and Software Engineering, 2(4), 202–205.
Deming, W. E. (1986). Out of the crisis. Cambridge, MA: MIT Centre for Advanced Engineering Study.
Dunn, R. (1990). SQA: A management perspective, American Programmer, November.
Durrett, R. (1996). Probability theory and examples (2nd ed.). Ithaca: Cornel University.
Endall, K. E., & Kendall, J. E. (1995). Systems analysis and design. Prentice Hall, NJ: Upper Saddle River.
Erikkson, I., & McFadden, F. (1993). Quality function deployment: A tool to improve software quality. Information and Software Technology, 35(9), 491–498.
Frei, F. X., & Kalakota, R. (1999). Process variation as a determinant of service quality and bank performance: Evidence from the retail banking study. Management Science, 45(9), 1210–1220.
Gautreau, N., Yacout, S., & Hall, R. (1997). Simulation of partially observed Markov decision process and dynamic quality improvement. Computers & Industrial Engineering, 32(4), 691–700.
Ghosh, A., & Majumdar, S. K. (2010). Modeling failure types and failure times of turning and boring machine systems. International Journal of Quality & Reliability Management, 27(7), 815–831.
Glock, C. H., & Jaber, M. Y. (2013). A multi-stage production-inventory model with learning and forgetting effects, rework and scrap. Computers & Industrial Engineering, 64(2), 708–720.
Goyal, A., Sharma, S. K., & Gupta, P. (2009). Availability analysis of a part of rubber tube production system under preemptive resume priority repair. International Journal of Industrial Engineering, 16(4), 260–269.
Griffin, A., & Hauser, J. (1993). Voice of the customer. Marketing Science, 12(1), 1–27.
He, Z., Staples, G., Ross, M., & Court, I. (1996). Fourteen Japanese quality tools in software process improvement. The TQM Magazine, 8(4), 40–44.
Hevner, A. R. (1997). Phase containment metrics for software quality improvement. Information and Software Technology, 39(13), 867–877.
Hsin-Hung, W., & Jiunn-I, S. (2008). Applying a Markov chain model in quality function deployment. Quality & Quantity, 42(5), 665–678.
Humphrey, W. S. (1989). Managing the software process. Reading, MA: Addison-Wesley.
ISO 9000:2005. (2005) Quality management systems: Fundamentals and vocabulary. International Organization for Standardization.
Jørgensen, M. (1999). Software quality measurement. Advances in Engineering Software, 30(12), 907–912.
Karlsson, J. (1997). Managing software requirements using quality function deployment. Software Quality Journal, 6, 311–325.
Kemp, S. (2005). Quality management demystified. Blacklick, OH: McGraw-Hill Professional Publishing.
Khan, H. A. (2013). Establishing a defect management process model for software quality improvement. International Journal of Future Computer and Communication, 2(6), 585–589.
Khoo, M. B. C. (2003–2004). Design of runs rules schemes. Quality Engineering, 16(1), 27–43.
Khoshgoftaar, T. M., Allen, E. B., Wendell, D. J., & Hudepohl, J. P. (2001). Cost–benefit analysis of software quality models. Software Quality Journal, 9(1), 9–30.
Kondo, Y. (2001). Customer satisfaction: How can I measure it? Total Quality Management & Business Excellence, 12(7–8), 867–872.
Korkmaz, O., Akman, I., & Ostrovska, S. (2011). Assessing software quality using the markov decision processes. Human Factors and Ergonomics in Manufacturing & Service Industries, 21(1), 1–19.
Kwong, C. K., & Bai, H. (2002). A fuzzy AHP approach to the determination of importance weights of customer requirements in quality function deployment. Journal of Intelligent Manufacturing, 13, 367–377.
Lai, C. D., Xie, M., & Govindaraju, K. (2000). Study of a Markov model for a high-quality dependent process. Journal of Applied Statistics, 27(4), 461–473.
Latif, M. S., Sarwar, M. U., Talib, M. R., Khan, M. I., & Sarwar, M. B. (2013). Improvement in software quality with prioritization requirements. International Journal of Computer Science and Management Research, 2(4), 2171–2183.
Lethbridge, T. C., & Laganière, R. (2005). Object-oriented software engineering: Practical software development using UML and Java (2nd ed.). London: McGraw-Hill Education.
Li, J., & Huang, N. (2007). Quality evaluation in flexible manufacturing systems: a markovian approach. Mathematical Problems in Engineering, 2007, 24.
Merlyn, V., & Parkinson, J. (1994). Development effectiveness: Strategies for IS organizational transition. New York: Wiley.
Modgil, V., Sharma, S. K., & Singh, J. (2012). Performance modeling and availability analysis of sole lasting unit in shoe making industry. Nature and Science, 10(2), 45–49.
O’Kane, J., Papadoukakis, A., & Hunter, D. (2007). Simulation usage in SMEs. UK Journal of Small Business and Enterprise Development, 14(3), 514–527.
Oliva, R., & Bean, M. (2008). Developing operational understanding of service quality through a simulation environment. International Journal of Service Industry Management, 19(2), 160–175.
Oriogun, P. K. (1999). A survey of Boehm’s work on the spiral models and COCOMO II towards software development process quality improvement. Software Quality Journal, 8(1), 53–62.
Pakdil, F., Özkök, O., Dengiz, B., Kara, I., Selvi, N., & Kargi, A. (2009). A systematic approach to reduce human and system-related errors causing customer dissatisfaction in a production environment. Total Quality Management & Business Excellence, 20(1), 129–137.
Parzinger, M. J., & Nath, R. (2000). A study of the relationships between total quality management implementation factors and software quality. Total Quality Management, 11(3), 353–371.
Pfleeger, S. L., & Atlee, J. M. (2006). Software engineering theory and practice. New Jersey: Pearson Education, Prentice Hall.
Pillai, V. M., & Chandrasekharan, M. P. (2008). An absorbing Markov chain model for production systems with rework and scrapping. Computers & Industrial Engineering, 55(3), 695–706.
Pukite, J., & Pukite, P. (1998). Modeling for reliability analysis: Markov modeling for reliability, maintainability, safety and supportability analyses of complex systems. New York: IEEE Press Inc.
Sanz, L. F., Diez, T., Pages, C., & Martinez, J. J. (2013). Managing factors which influence software quality results. Covenant Journal of Informatics and Communication Technology (CJICT), 1(1), 10–14.
Saunders, J., & Curran, E. (1994). Software quality. Wokingham: Addison-Wesley.
Schiffauerova, A., & Thomson, V. (2006). Managing cost of quality: Insight into industry practice. Total Quality Management, 18(5), 542–550.
Sharma, A. K., Kalia, A., & Singh, H. (2012). An analysis of optimum software quality factors. IOSR Journal of Engineering, 2(4), 663–669.
Sokolowski, J. A., & Banks, C. M. (2009). Principles of modeling and simulation: A multidisciplinary approach. New York: Wiley.
Stanley, J., & Malhoit, G. (2001). Spreadsheet Markov analysis for plant power reliability. Quality Engineering, 13(3), 457–464.
Stasiowski, F. A., & Burnstein, P. E. (1994). Total quality management for the design firm. New York: Wiley.
Sullivan, L. P. (1986). Quality function deployment. Quality Progress, 19(6), 39–50.
Tai, A. H., Ching, W. K., & Chan, L. Y. (2009). Detection of machine failure: Hidden Markov model approach. Computers & Industrial Engineering, 57(2), 608–619.
Tavaré, S. (1979). A note on finite homogeneous continuous-time Markov chains. Biometrics, 35(4), 831–834.
Wang, P.-C., Wu, H.-H., & Liao, A. Y. H. (2005). Combining grey theory and quality function deployment in analyzing customer dynamic requirements. International Journal of Advanced Manufacturing Technology, 25(11–12), 1241–1247.
Will, J., Bertrand, M., & Fransoo, J. C. (2002). Modelling and simulation: Operations management research methodologies using quantitative modeling. International Journal of Operations & Production Management, 22(2), 241–264.
Wu, H.-H., Wu, C.-H., & Lin, J. T. (2011). Dynamic selling of quality-graded products under demand uncertainties. Computers & Industrial Engineering, 61(1), 141–149.
Yacout, S., & Gautreau, N. (2000). A partially observable simulation model for quality assurance policies. International Journal of Production Research, 38(2), 253–267.
Yao, Y.-H., & Lee, H.-K. (2004). Applying ISO 9001 and CMMI in quality-oriented knowledge management for software process improvement. International Journal of Electronic Business Management, 2(2), 140–151.
Yourdon, E. (1992). Decline and fall of the american programmer. Englewood Cliffs, NJ: Yourdon Press.
Zahedi, F. (1995). Quality information systems. Danvers, MA: Boyd & Fraser.
Zhang, Z. (2001). Implementation of total quality management: An empirical study of Chinese manufacturing firms, Unpublished doctoral dissertation, University of Groningen, Netherlands.
Author information
Authors and Affiliations
Corresponding author
Appendix: Selection of optimum strategy algorithm
Appendix: Selection of optimum strategy algorithm
| Represents a state of output for each activity (correctly–incorrectly; in accordance–not in accordance; adequate–inadequate, …). In the manuscript shown in Table 6 |
A state transition diagram is used to describe the behavior of systems. In the manuscript shown in Fig. 3 | |
On the basis of historical data from monitoring the process performances. In the manuscript shown in Table 7: Option 1 | |
Calculation based on the initial probability of transition from one state to another (shown in Table 7: Option 1) and impact of factors on the quality using Formulas (15) and (16). The results of calculations are shown in Table 7: Option 2, 3 and 4 | |
Using Markov chain simulation based on transition probability matrices. The probabilities of delivery of the conformant software are shown in Fig. 4 | |
Based on the costs of improvements of the factors impacting software quality and the probability of delivery of the conformant software. Comparisons of the options are shown in Fig. 4 |
Rights and permissions
About this article
Cite this article
Janicijevic, I., Krsmanovic, M., Zivkovic, N. et al. Software quality improvement: a model based on managing factors impacting software quality. Software Qual J 24, 247–270 (2016). https://doi.org/10.1007/s11219-014-9257-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-014-9257-z