YAZILIM GELİŞTİRME SÜRECİNDE DEĞER ODAKLI İYİLEŞTİRME

Yazılım geliştirme süreci, bir yazılım ürününün geliştirilmesine uygulanan süreçtir. Yazılım geliştirme sürecinin bir yandan müşteri memnuniyetini sağlayacak kaliteli bir yazılım ürününü son kullanıcıya daha etkin bir iletişim ve görünürlük ile sunması, bir yandan da toplam tedarik süresini azaltması ve kaynak kullanım verimliliğini artırması istenir. Bu çalışmada bu amaçla yazılım ürünü ve yazılım geliştirme süreci değer odaklı olarak ele alınmış ve yalın ilkeler çerçevesinde iyileştirme adımları tanımlanmıştır. Çalışma kapsamında yapılan uygulamada, yazılım geliştirme süreçleri için değer tanımı yapılmış ve bu değer tanımından yola çıkarak projelerin sınıflandırılabilmesi için kriterler belirlenmiş ve projeler iki adımlı kümeleme analizi ile gruplanmıştır. Her bir proje grubu için mevcut durum değer akış haritası çizilmiştir. Bu haritalardan yola çıkarak israflar tespit edilmiş, çevrim süresini kısaltacak ve süreci iyileştirecek öneriler sunulmuştur. Genel olarak yazılım projelerinde israfı gereksiz kodlar, iyi tanımlanmamış ihtiyaçlar, bürokrasi ve yavaş iç iletişim oluşturmaktadır. Müşteri ile sık sık iletişim, prototip oluşturma, kaynak sorununu anlama, gerçekler belirleninceye kadar bağlayıcı kararlar alınmaması israfları azaltan uygulamalar olarak karşımıza çıkmaktadır.

VALUE ORIENTED IMPROVEMENT FOR SOFTWARE DEVELOPMENT PROCESS

The software development process is used to regulate and control the development process of a software product. A successful software development process not only delivers a quality software product that improves customer satisfaction with more effective communication and visibility to the end user, but also simultaneously reduces the total lead time and increases resource efficiency. With this in mind, in this study, the software product and software development process are discussed from a value-oriented perspective and implementation steps for improvement are defined within the framework of lean principles. The proposed steps were applied in an IT department: the value definition was made for software development processes and based on this definition, the criteria for the classification of projects were determined. The projects were grouped using two-step cluster analysis. A current state value stream map is drawn for each project group. Based on these maps, wastes were determined, suggestions were made to shorten the cycle time and improve processes. In general, software project wastes are unnecessary codes, poorly defined needs, bureaucracy and slow internal communication. Frequent communication with the customer, creating prototypes, understanding the resource problem, not making binding decisions until the facts are determined are practices that would reduce waste.

___

  • Aktaş, E. U., Altunel, H. Elalmış, H. I. Nişancı, S. & Yılmaz, C. (2018) Endüstriyel bağlamda yazılım olay kaydı yönetim sürecinin iyileştirilmesi. In: 12. Ulusal Yazılım Mühendisliği Sempozyumu , Istanbul, Turkey.
  • Alahyari, H., Gorschek, T., & Svensson, R. B. (2019). An exploratory study of waste in software development organizations using agile or lean approaches: A multiple case study at 14 organizations. Information and Software Technology, 105, 78-94. Doi: https://doi.org/10.1016/j.infsof.2018.08.006
  • Alahyari, H., Svensson, R. B., & Gorschek, T. (2017). A study of value in agile software development organizations. Journal of Systems and Software, 125, 271-288. Doi: https://doi.org/10.1016/j.jss.2016.12.007.
  • Ali N, Petersen, K. & Schneider, K. (2015). Evaluation of simulation-assisted value stream mapping for software product development: Two industrial cases, Information and Software Technology, 68, 45-61. Doi: https://doi.org/10.1016/j.infsof.2015.08.005
  • Ali N, Petersen, K. & Schneider, K. (2016). FLOW-assisted value stream mapping in the early phases of large-scale software development, The Journal of Systems and Software, 111, 213-227. Doi: https://doi.org/10.1016/j.jss.2015.10.013
  • Anand, G., Chandrashekar, A. & Narayanamurthy, G. (2014). Business process reengineering through lean thinking: A case study, Journal of Enterprise Transformation, 4 (2), 123-150. Doi: https://doi.org/10.1080/19488289.2013.879681
  • Aurum, A., & Wohlin, C. (2007). A value-based approach in requirements engineering: explaining some of the fundamental concepts. In International Working Conference on Requirements Engineering: Foundation for Software Quality (pp. 109-115). Springer, Berlin, Heidelberg. Doi: https://doi.org/10.1007/978-3-540-73031-6_8
  • Bauch, C. (2004). Lean product development: making waste transparent, Doktora Tezi, MIT Sociotechnical Systems Research Center (SSRC), http://hdl.handle.net/1721.1/81429
  • Boehm, B. (2006). Some future trends and implications for systems and software engineering processes. Systems Engineering, 9(1), 1-19. Doi: https://doi.org/10.1002/sys.20044
  • Boehm, B., (1988) A Spiral Model for Software Development and Enhancement, Computer, vol. 21, no. 5, May 1988, pp. 61–72. Doi: https://doi.org/10.1109/2.59.
  • Cooke, J. L. (2016). Agile: an executive guide: real results from IT budgets. IT Governance Ltd.
  • Dingsoyr, T., Nerur, S., Balijepally, V., & Moe, N. B. (2012). A decade of agile methodologies: Towards explaining agile software development. Journal of Systems and Software, 85 (6), 1213-1221. Doi: https://doi.org/10.1016/j.jss.2012.02.033
  • Dyba, T., & Dingsoyr, T. (2009). What do we know about agile software development?. IEEE software, 26(5), 6-9. Doi: https://doi.org/10.1109/MS.2009.145
  • Ebert, C. & Dumke, R. (2007). Software measurement: Establish - Extract - Evaluate - Execute, Springer-Verlag Berlin Heidelberg. Doi: https://doi.org/10.1007/978-3-540-71649-5
  • Eli̇bol, M , Selçukcan Erol, Ç . (2017). Scrum Metodu Kullanılarak Bir Mobil Uygulama Geliştirme Sürecinin Gerçekleştirilmesi . Bilişim Teknolojileri Dergisi , 10 (2) , 169-176 . Doi: https://doi.org/10.17671/gazibtd.309299
  • Futcher, L. & von Solms, R. (2008). Guidelines for secure software development. In Proceedings of the 2008 annual research conference of the South African Institute of Computer Scientists and Information Technologists on IT research in developing countries: riding the wave of technology (SAICSIT '08). Association for Computing Machinery, New York, NY, USA, 56–65. Doi:https://doi.org/10.1145/1456659.1456667
  • Haksever, C. & Chaganti, R. (2004). A Model of Value Creation: Strategic View, Journal of Business Ethics, 49, 291-305. Doi: https://doi.org/10.1023/B:BUSI.0000017968.21563.05
  • Janzen, D., & Saiedian, H. (2005). Test-driven development concepts, taxonomy, and future direction. Computer, 38(9), 43-50. Doi: https://doi.org/10.1109/MC.2005.314
  • Khan, P. M. & Beg, M. M. S. S. (2013), Extended Decision Support Matrix for Selection of SDLC-Models on Traditional and Agile Software Development Projects, 2013 Third International Conference on Advanced Computing and Communication Technologies (ACCT), Rohtak, pp. 8-15. Doi: https://doi.org/10.1109/ACCT.2013.12
  • Levina, N., & Ross, J. W. (2003). From the vendor's perspective: exploring the value proposition in information technology outsourcing. MIS Quarterly, 331-364. Doi: https://doi.org/10.2307/30036537
  • Mele C., & Polese F. (2011) Key Dimensions of Service Systems in Value-Creating Networks. In: Demirkan H., Spohrer J., Krishna V. (eds) The Science of Service Systems. Service Science: Research and Innovations in the Service Economy. Springer, Boston, MA. Doi: https://doi.org/10.1007/978-1-4419-8270-4_3
  • Mujtaba, S., Feldt, R., Petersen, K., (2010), Waste and lead time reduction in a software product customization process with value stream maps, Proceedings of the Australian Software Engineering Conference, ASWEC, art. no. 5475062, pp. 139-148. Doi: https://doi.org/10.1109/ASWEC.2010.37
  • Murphy, G.C. & Kersten, M. (2020). Towards Bridging the Value Gap in DevOps. Lecture Notes in Computer Science, 12055, 181-190. Doi: https://doi.org/10.1007/978-3-030-39306-9_13
  • Norusis, M. J. (2012). IBM SPSS statistics 19 advanced statistical procedures companion (p. 444). Upper Saddle River, NJ: Prentice Hall.
  • Ohno, T. (1988). Toyota production system: beyond large-scale production. CRC Press.
  • Özcan-Top, Ö. & McCaffery, F. (2018). A hybrid assessment approach for medical device software development companies, Journal of Software: Evolution and Process, 30 (7), e.1219. Doi: https://doi.org/10.1002/smr.1929
  • Papadopoulos, G. (2015). Moving from traditional to agile software development methodologies also on large, distributed projects, Procedia - Social and Behavioral Sciences,175, 455-463. Doi: https://doi.org/10.1016/j.sbspro.2015.01.1223
  • Poppendieck, M. (2011). Principles of lean thinking. IT Management Select, 18(2011), 1-7.
  • Poppendieck, M., & Poppendieck, T. (2003). Lean Software Development: An Agile Toolkit. Addison-Wesley. Pressman R., & Maxim, B. (2020) Software Engineering: A Practitioner's Approach, 9th Ed., McGraw Hill.
  • Racheva, Z., Daneva, M., & Sikkel, K. (2009). Value creation by agile projects: Methodology or mystery?. in International Conference on Product-Focused Software Process Improvement (pp. 141-155). Springer, Berlin, Heidelberg.
  • Rother, M., & Shook, J. (2003). Learning to see: value stream mapping to add value and eliminate muda. Lean Enterprise Institute.
  • Sandström, S., Edvardsson, B., Kristensson, P. & Magnusson, P. (2008), Value in use through service experience, Managing Service Quality: An International Journal, Vol. 18 No. 2, pp. 112-126. Doi: https://doi.org/10.1108/09604520810859184
  • Sarstedt, M., & Mooi, E. (2019) A Concise Guide to Market Research: The Process, Data, and Methods Using IBM SPSS Statistics. 3rd ed. Springer.
  • Sedano, T., Ralph, P., & Péraire, C. (2017). Software development waste. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), pp. 130-140. Doi: https://doi.org/10.1109/ICSE.2017.20
  • Staron, M., Meding, W. & Caiman, M. (2013). Improving completeness of measurement systems for monitoring software development workflows. Lecture Notes in Business Information Processing, 133, 230-243. Doi: https://doi.org/10.1007/978-3-642-35702-2_14
  • Stephens, R. (2015). Beginning software engineering. John Wiley & Sons.
  • Vargo, S. L., & Lusch. R. F. (2004). Evolving to a new dominant logic for marketing. Journal of Marketing, No. 68 (1):1-17. Doi: https://doi.org/10.1509/jmkg.68.1.1.24036
  • Vargo, S. L., Maglio, P.P., & Akaka M. (2008). "On value and value co-creation: A service systems and service logic perspective." European Management Journal, No. 26 (3):145-152. Doi: https://doi: 10.1016/j.emj.2008.04.003.
  • Vijayasarathy, L., & Butler, C. (2016). Choice of Software Development Methodologies. IEEE Computer Society - IEEE Software, September/October 2016, 86-94. Doi: https://doi.ieeecomputersociety.org/10.1109/MS.2015.26
  • Womack, J.P. and Jones, D.T., (1996). Lean Thinking: Banish Waste and Create Wealth in Your Corporation, Simon & Schuster, New York.
  • Yadav, R., Mittal, M. L., & Jain, R. (2018). Adoption of lean principles in software development Projects. International Journal of Lean Six Sigma. Doi: http://dx.doi.org/10.1108/IJLSS-03-2018-0031.