TY - JOUR T1 - Yazılım Mühendisliğinde Çevik Yöntemler Üzerine Kavramsal Bir İnceleme ve Sınıflandırma TT - A CONCEPTUAL STUDY AND CLASSIFICATION ON AGILE METHODOLOGIES AT SOFTWARE ENGINEERING AU - Keskinkılıç, Mustafa AU - Kahveci, Ferhat PY - 2019 DA - October JF - Atatürk Üniversitesi Sosyal Bilimler Enstitüsü Dergisi JO - ATASOBED PB - Ataturk University WT - DergiPark SN - 1304-4990 SP - 1067 EP - 1091 VL - 23 IS - 3 LA - tr AB - Hızla gelişen yazılımendüstrisinin ihtiyaçlarına cevap verebilmek için yazılım mühendisliğindetanımlı çeşitli yöntembilimlerin yanı sıra çevik yöntembilimler de kullanılmayabaşlanmıştır. Birbirine sıkı sıkıya bağlı yazılım, süreç ve proje kavramlarıylailgili çevik yöntembilimleri başlığı altında birçok yöntem ve uygulamageliştirilmiştir. Bunların her birisinin kendine özgü yapıları olması yanında birçokortak noktaları da vardır. Kavram karışıklıklarını engellemek amacıyla bu ortaknoktaları vurgulayan Çevik Yazılım Geliştirme Manifestosu ilan edilmiştir. Buçalışmada çevik yazılım geliştirme yöntemine dayalı uygulama ve süreçlerde öneçıkan bu ortak özellikler sınıflandırılmaya çalışılmıştır. Çevik yazılımgeliştirme yönteminde analiz, yönetim, iyileştirme, gerçekleştirme yenidenyapılanma ve değerlendirme gibi bazı faaliyetler öne çıkmaktadır. Çevik yöntembilimlerbaşlığı altında tanımlı yöntem ve uygulamalarının sınıflandırılması bufaaliyetlere göre yapılmıştır. Sınıflandırma çalışmasının okuyucuya dahayararlı olabilmesi için, yazılım proje yönetiminde kullanılan bazı kavram veuygulamaların birbirleriyle ilgi ve farklılıkları kavramsal bir çerçevedeortaya konmaya çalışılmıştır. KW - Yazılım Mühendisliği KW - Yazılım Proje Yönetimi KW - Yazılım Süreçleri KW - Çevik Yöntemler N2 - To accomplish the needsof rapidly growing software industry, in addition to varios methodologies definedin software engineering, agile methodologies have been used. Many methods andapplications have been developed under the title of agile methodologies relatedto software, process and project concepts. Each of these has its own specific structuresas well as many common points. Agile Software Development Manifest, whichemphasizes these common points, has been declared to prevent concept confusion.In this study, it has been tried to classify these common features in theapplication and processes based on agile software development method. Someactivities such as analysis, management, improvement, implementation,reengineering and evaluation in agile software development method areprominent. Classification of defined methods and applications under title of agilemethodologies is based on these activities. In order to make the classificationwork more useful to the reader, it has been tried to reveal the interests anddifferences of some concepts and applications used in software projectmanagement within a conceptual framework. CR - Acm. (2016a). Mühendislik Pratikleri. İstanbul: Acm Software. Erişim Tarihi: 16 Mart 2016. http://www.acm-software.com/muhendislik-pratikleri/ CR - Acm. (2016b). Scrum. İstanbul: Acm Software. Erişim Tarihi: 16 Mart 2016. http://www.acm-software.com/scrum/ CR - Acuña, S. T. & Ferré, X. (2001). "Software Process Modelling". World Multiconference on Systemics, Cybernetics and Informatics (ISAS-SCI), 22-25 Temmuz, (ss. 237-242). ABD: Florida, Orlando. ISBN: 980-07-7541-2. CR - Agilealliance. (2019a). Agile Manifesto. Corryton, Tennessee, ABD: Agile Alliance. Erişim Tarihi: 24 Nisan 2019. https://www.agilealliance.org/agile101/the-agile-manifesto/ CR - Agilealliance. Agile Manifesto. (2019b). Corryton, Tennessee, ABD: Agile Alliance. Erişim Tarihi: 24 Nisan 2019. https://www.agilealliance.org/agile101/12-principles-behind-the-agile-manifesto/ CR - Akgül, Ö. (2010). "Model Güdümlü Yazılım Geliştirme" [Elektronik Versiyon]. Bilişim Dergi. 16, 1-4. CR - Akyol, M. (2015). Yazılım Kalitesi ve Standartlar [Sunum]. Erişim Tarihi: 20 Mart 2016. http://docplayer.biz.tr/5825934-Yazilim-kalitesi-ve-standartlar.html CR - Alkan, M. (2004). Rapid Application Development (RAD). Erişim Tarihi: 16 Mart 2016. http://www.csharpnedir.com/articles/read/?id=315 CR - Altmann, J. & Weinreich, R. (1998). "An environment for cooperative software development realization and implications". Thirty-First Hawaii International Conference, 9 Haziran, (ss. 27-37). ABD: Hawaii, Kohala Coast. DOI: 10.1.1.615.166. CR - Altuntaş, C. Test Driven Development. (2007). Erişim Tarihi: 16 Mart 2016. http://www.cihataltuntas.com/test-driven-development/ CR - Arifoğlu, A. & Doğru, A. (2001). Yazılım Mühendisliği : yöntemler, metodolojiler, CASE ortamları, günün teknolojisi. 1. Baskı. Ankara: SAS Bilişim Yayınları. ISBN: 975-97197-2-X. CR - Awad, M. A. (2005). A Comparison between Agile and Traditional Software Development Methodologies. Western Australia University. DOI: 10.1.1.464.6090. CR - Aybek, A. (2010). Çevik Yazılım Geliştirme "Agile". İstanbul: Acm Software. Erişim Tarihi: 16 Mart 2019. http://www.acm-software.com/Pdf/AboutAgile.pdf CR - Baelen, H. V. (2011). "Agile (Unified Process)", [Elektronik Versiyon]. Agile Record, 6, 22-24. ISSN 2191-1320 CR - Bayar, V. (2016). Bilesen Yönelimli Yazılım Geliştirme için Süreç Modeli. Erişim Tarihi: 16 Mart 2016. http://www.emo.org.tr/ekler/de8edbbe1547786_ek.pdf CR - Bilge, İ. (2013). Refactoring Nedir? Erişim Tarihi: 16 Mart 2016. http://ibrahimbilge.com/refactoring CR - Camoğlu, K. (2008). Yazılım Geliştirme Süreci. Erişim Tarihi: 5 Nisan 2016 http://www.chip.com.tr/blog/kadircamoglu/Yazilim-Gelistirme-Sureci_524.html CR - Castro, J., Kolp, M. & Mylopoulos, J. (2002). "Towards requirements-driven information systems engineering the Tropos project". Information Systems 27(6), 365-389. DOI: 10.1016/S0306-4379(02)00012-1. CR - Çatal, Ç. (2005). RUP ve XP Süreçlerinin Karşılaştırılması. Erişim Tarihi: 16 Mart 2016. http://www.csharpnedir.com/articles/read/?id=458 CR - Chappell, D. (2008). What is Application Lifecycle Management?. Kaliforniya: Chappell & Associates. Erişim Tarihi: 16 Mart 2019. www.davidchappell.com/WhatIsALM--Chappell.pdf CR - Chen, Z., Liu, Z., Ravn, A. P., Stolz, V. & Zhan, N. (2009). "Refinement and verification in component-based model-driven design". Science of Computer Programming, 74(4), 168-196. DOI: 10.1016/j.scico.2008.08.003. CR - Cohn, M. (2004). User Stories Applied: For Agile Software Development. Usa: Addison Wesley. ISBN: 978-0321205681. CR - Demir, Ö., & Acar, M. (1992). Sosyal Bilimler Sözlüğü. İstanbul: Ağaç Yayıncılık. ISBN: 9752500102. CR - Ebert, C., Abrahamsson, P. & Oza, N. (2012). "Lean Software Development". IEEE Software, (5), 22-25. DOI: 10.1109/ICSECOMPANION.2007.46. CR - Edeki, C. (2013). "Agile Unified Process". International Journal of Computer Science and Mobile Aplications, 1(3), 13-17. ISSN: 2321-8363. CR - EPF. (2012). What is OpenUP? Ottawa, Ontario, Kanada: The Eclipse Foundation. Erişim Tarihi: 16 Mart, 2019. https://www.eclipse.org/epf/general/OpenUP.pdf CR - Eryılmaz, Ö. (2014). Application Lifecycle Management Nedir? Erişim Tarihi: 16 Mart 2016. http://www.omereryilmaz.com/alm-application-lifecycle-management-nedir/ CR - Fernandes, J. M. & Almeida, M. (2010). "A Technique to Classify and Compare Agile Methods". Departamento de Informática, Universidade do Minho, (48), 385-386. ISBN: 978-3-642-13053-3 CR - Fernandes, J. M. & Almeida, M. (2010). "Classification and Comparison of Agile Methods". 7th International Conference Information and Communications Technolog, 29 Eylül-2 Ekim, (ss. 391-396). Portekiz: Oporto. DOI: 10.1109/QUATIC.2010.71. CR - Güçlü, T. (2004). Yazılım Geliştirmede Disiplin ve PSP Yöntemi. Erişim Tarihi: 16 Mart 2016. http://www.csharpnedir.com/articles/read/?id=321 CR - Gürcan, V. B. (2013). Agile Software Development (Çevik Yazılım Geliştirme). Erişim Tarihi: 16 Mart 2016. http://www.barbarosgurcan.com/post/Agile-Software-Development CR - Gürsoy, İ. (2011). Nesne Yönelimli Programlama (OOP) Nedir? Erişim Tarihi: 16 Mart 2016. http://www.ismailgursoy.com.tr/nesne-yonelimli-programlama-oop-nedir/ CR - Hofmeister, C., Kruchten, P., Nord, R. N., Obbink, H., Ran, A. & America, P. (2007). "A General Model of Software Architecture Design", [Elektronik Versiyon]. Systems and Software (80), 106-126. DOI: 10.1016/j.jss.2006.05.024. CR - Hui, Y. (2015). "Compare Essential Unified Process (EssUP) with Rational Unified Process (RUP)". Industrial Electronics and Applications (ICIEA), 15-17 Haziran, (ss. 472-476). New Zealand: Auckland. DOI:10.1109/ICIEA.2015.7334159. CR - Humphrey, W. S., Chick, T. A. & Nicolas, W. (2010). "Team Software Process Body of Knowledge Technical Report (Rapor No: CMU/SEI-2010-TR-020)". Hanscom: Software Engineering Institute Carnegie Mellon University. CR - Iacovelli, A. & Souveyet, C. (2008). "Framework for Agile Methods Classification". Proceedings of Model Driven Information Systems Engineering (MoDISE-EUS), 16-17 Haziran, (ss. 91-102). France: Montpellier. ISSN: 1613-0073. CR - IBM (2008). "Collaborative Application Lifecycle Management with IBM Rational Products (Rapor No: SG24-7622-00)". New York: International Business Machines Corporation (IBM). CR - İrgin, D. (2013). Aspect-Oriented Programming Kavramı. Erişim Tarihi: 16 Mart 2016. http://www.denizirgin.com/post/2013/10/07/Aspect-Oriented-Programming CR - Kara, B. (2010a). Agile Unified Process.. Erişim Tarihi: 16 Mart 2016. İş Analizi Nedir: http://www.isanalizinedir.com CR - Kara, B. (2010b). Essential Unified Process. Erişim Tarihi: 16 Mart 2016. http://www.isanalizinedir.com CR - Keskinkılıç, M., Özmen, E. (2018). "Yazılım Projelerinde Yazılım Geliştiricilerin Yazılım Süreç Modellerini Kullanım Farkındalıkları". Akademi Sosyal Bilimler Dergisi, 5 (15), 61-78. CR - Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M. (1997). "Aspect-Oriented Programming". ECOOP'97—Object-oriented programming, 9-13 Haziran, (ss. 220-242). Finland: Jyväskylä. ISBN 978-3-540-63089-0 CR - Koskela, M., Rahikainen, M. & Wan, T. (2007). Software Development Methods: SOA vs. CBD, OO and AOP. DOI: 10.1.1.111.9582. CR - Kruchten, P. (2003). "The Rational Unified Process White Paper (TP026B, Rev 11/01)". Boston: Addison-Wesley. CR - Larman, C. (2003). Agile and Iterative Development. Boston Massachusetts, ABD: Addison Wesley. ISBN: 0-13-111155-8. CR - Mahanti, R., Neogi, M. S. & Bhattacherjee, V. (2012). "Factors Affecting the Choice of Software Life Cycle Models in the Software Industry". Computer Science 8(8), 1253-1262. ISSN: 1549-3636. CR - McGregor, S. L. & Murnane, J. A. (2010). "Paradigm, methodology and method intellectual integrity in consumer scholarship". International Journal of Consumer Studies, (34), 419-427. DOI: 10.1111/j.1470-6431.2010.00883.x. CR - Microsoft (2003). "Microsoft Solutions Framework version 3.0 Overview White Paper (MSF_V3)". Microsoft Corporation. CR - MSF. (2016). Microsoft Solutions Framework Overview. Erişim Tarihi: 16 Mart 2016. https://msdn.microsoft.com/tr-tr/library/jj161047(v=vs.120).aspx Mujumdar, A., Masiwal, G. & Chawan, P. M. (2012). "Analysis of various Software Process Models. Engineering Research and Applications", 2(3), 2015-2021. ISSN: 2248-9622. CR - NASA. (1990). "Manager's Handbook for Software Development (No: SEL-84-101)" . Greenbelt: Goddard Space. CR - Nizam, A. (2014). Yazılım Proje Yönetimi. 1. Basım. İstanbul: Papatya Yayıncılık. ISBN 978-605-4220-74-4. CR - O'Regan G. (2017). Concise Guide to Software Engineering from Fundamentals to Application Methods (Undergraduate Topics in Computer Science), Springer International Publishing AG 2017. ISBN 978-3-319-57749-4. CR - Oussalah, M. C. (2014). Software Architecture 1. Somerset, US: Wiley-ISTE. ISBN: 9781848216006.Over, J. (2010). Introduction to the Team Software Process. Pittsburgh: Software Engineering Institute Carnegie Mellon University. CR - Paulish, D. J. (1993). Paulish, D. J. (1993). "Software process improvement methods technical report (No: CMU/SEI-92-TR-026)". Carnegie-Mellon Univ. Pittsburgh Pa Software Engineering Inst. CR - Poppendieck, M. & Poppendieck, T. (2003). Lean Software Development. Boston: Addison Wesley. ISBN: 978-0321150783. CR - Pressman, R. S. (2001). Software Engineering: A practitioner's approach(5'th Edition). Usa: McGraw-Hill Eduactıon. ISBN: 0073655783. CR - Ranniko, P. (2011). User-Centered Design in Agile Software Development. (Yayımlanmış Master Tezi). University of Tampere School of Information Sciences. CR - Rational, S. (2003). The Rational Unified Process: An Introduction (3rd Ed.). Lexington: Rational Software Development. ISBN: 0-321-19770-4.Reddy, A. R., Naidu, M. M. ve Govindarajulu, P. (2006). "Programming Methodologies and Software Architecture". Computer Science and Network Security, 6(11), 29-39. ISSN: 1738-7906 CR - Royce, W. W. (1987). "Managing the Development of Large Software Systems : Concepts and techniques ". 9th international conference on Software Engineering, 30 Mart-2 Nisan, (ss. 328-338). Kalifornya: IEEE Computer Society. ISBN: 0-89791-216-0 CR - Sarıdoğan, M, Erhan. (2004). Yazılım Mühendisliği, 1. Basım. İstanbul: Papatya Yayıncılık. ISBN 975-6797-57-6. CR - Sasankar, A. B. & Chavan, V. (2011). "SWOT Analysis of Software Development Process Models". International Journal of Computer Science, 8(5), 390-399. ISSN: 1694-0814. CR - Sliger, M. & Broderick, S. (2008). The Software Project Manager`s. Usa: Adison Wesley. ISBN: 978-0321502759 CR - Sommerville, I. (2011). Software Engineering (9'th Ed.). Usa: Pearson Education Inc. ISBN: 978-0137035151. CR - Stamelos, I. G. & Sfetsos, P. (2007). Agile Software Development Quality Assurance. ISBN: 978-1599042169. CR - Taheri, M. & Sadjadi, S. M. (2015). "Tool-Selection Classification Software Development". The 27th International Conference on Software Engineering and Knowledge Engineering Conference, 6-8 Haziran, (ss. 700-704). ABD: Pittsburgh, Wyndham Pittsburgh University Center. DOI: 10.18293/SEKE2015-234 CR - Tekinerdoğan, B. (2003). Classifying Software Architecture Design Methods. Enschede: Twente Research and Education on Software Engineering. CR - Thakur, D. Software Process Assessment. (2016). Erişim Tarihi: 16 Mart 2016. ecomputernotes.com/software-engineering/software-process-assessment CR - Tüfekçi, Ö., Çokkeçeci, İ. & Çetin, S. (2015). Gereksinim Güdümlü Uygulama Geliştirme. Erişim Tarihi: 16 Mart 2016. www.cs.com.tr/TR/themes/touch/images/haberler/ CR - Türkiye Bilişim Ansiklopedisi (2006). İstanbul: Papatya Yayıncılık. ISBN 975-6797-38-X CR - Turan, O. (2011). Lean Düşüncesinin Doğuşu. Erişim Tarihi: 16 Mart 2016. www.prince2turkey.com/cevik-yontemler/33-lean-yazilim-gelistirme.html CR - TÜRCERT. (2016). ISO 15504 Yazılım Süreç Değerlendirme Sistemi. Erişim Tarihi: 16 Mart 2016. http://www.turcert.com/belgelendirme/sistem-belgelendirme/ CR - Ülgen, S. (2016). Yazılım Geliştirme Süreçleri. Erişim Tarihi: 16 Mart 2016. http://www.sulc3.com/surecler.html CR - Versionone. (2016). What Is Agile Methodology? Erişim Tarihi: 4 Ağustos 2016. https://www.versionone.com/agile-101/agile-methodologies CR - Vinarek, J. & Hnetynka, P. (2016). "Towards an Automated Requirements-driven Development of Smart Cyber-Physical Systems". International Workshop on Formal Engineering approaches to Software Components & Architectures, 3 Nisan, (ss. 59-68). Netherlands: Eindhoven. DOI: 10.4204/EPTCS.205.5. CR - Yazıcıoğlu, S. (2011). SOA Nedir? Erişim Tarihi: 16 Mart 2016. http://blog.serkanyazicioglu.com/2011/12/soa-nedir/ Yazılım Geliştirme Süreci. (t.y). Erişim Tarihi: 27.05.2018, https://forum.java.com.tr/yazilim-gelistirme-sureci/ CR - Yousuf, F. (2012).Reengineering Software Development. Erişim Tarihi: 17 Mart 2016. slideshare.net/faizayousuf/reengineering-software-development-process UR - https://dergipark.org.tr/en/pub/ataunisosbil/issue//611054 L1 - https://dergipark.org.tr/en/download/article-file/835864 ER -