Extreme Programming Methodology

Slides:



Advertisements
Benzer bir sunumlar
MÜHENDİSLİK FAKÜLTESİ ABET TOPLANTISI, 27 Ocak 2014 MÜHENDİSLİK FAKÜLTESİ ABET BÖLÜM TEMSİLCİLERİ TOPLANTISI 27 Ocak 2014.
Advertisements

DUHA AKGÜN CLASS : B İİÖP. ÖZELLİKLERİ ► Bu cümleler gerçek ya da gerçek olmayan durumları tanımlar. ►İki cümlecikten oluşur; 1. Bağımlı şart cümlesi.
INTRODUCTION TO CIRCUITS LAB
Fatih ve Eğitimde Teknoloji Kullanımı
INTRODUCTION TO LIGHT Describing a Light's Characteristics
JOUR 384 Online Journalism
Hüsamettin Ataman – Mimar - Denizli
Copyright © 2014, Anadolu Sigorta. Tüm hakları saklıdır. Profitability Challange in Casco – Putting Demand into Work İstanbul,
'See-through' tyre Radical new tire design by Michelin. The next generation of tires. They had a pair at the Philadelphia car show. İçi görülebilen oto.
Today’s Lesson By the end of this lesson you should be able to greet Each other in Turkish.
Gerekli olduğunda insanlara ulaşın Yer Uzantıları Reach prospective customers at important moment with location extensions. Location Extentions.
Alakalı müşterileri hedefleyin. Google ile Yeniden Pazarlama Remarketing with Google. Target customers who are already showing interest in your business.
İ spanyolca Hazırlık Kursu «Akdeniz Mutfa ğ ını Keşfetmeye Hazırız!» TR1-LEO Selamlama İ fadeleri "Bu proje T.C. Avrupa Birli ğ i Bakanlı.
ERASMUS Intensive Programme 1-30 June 2009 : Transcultural Competences in Primary Health Care IP course: Nijmegen University Radboud UMC,
History of Banking Law.
SALES OF PERSONAL PROPERTY. Commercial sales Installment sales Sales by sample DOMESTIC LAW TURKISH CODE OF OBLIGATIONS, 6098 (Swiss Law) TURKISH COMMERCIAL.
Financial Applications of Linear Programming
© 2011 VMware Inc. All rights reserved Confidential VMware Corporate Overview Engin METİN VMware Kıdemli Sistem Mühendisi
FUTURE PERFECT CONTINUOUS WILL + HAVE + BEEN +V ING a)Gelecekte bir eylemi ne kadar zamandır yapıyor olacağımızı ifade eder By next year,
ETKİN OKUMA. ETKİN NOT ÇIKARMA KAYNAK Trakya Çevre Düzeni Planı Raporu, İstanbul: ….., ALINTI – NOT OSB’nin toplam kapasitesinin %...’ı boş. Sf.28.
Google Display Network Targeting options.
Twinning Project TR 08 IB EN 03 Project over view & activities Integrated Permitting and Inspection in Turkey Cesar Seoanez – Resident Twinning Advisor.
BİL 133 – Algoritma ve Programlama I
Analyzer. De-risking Business Change Increasing Productivity Track usage proficiency and process improvement Admin set the best practice capture Set the.
HAZıRLAYAN: YRD.DOÇ.DR.EMIN BORANDAĞ Oyun Programlama (Yol Bulma)
MY FAVORITE PHILOSOPHY (En Sevdiğim Felsefe) A man with one watch knows what time it is; (tek saati olan saatin kaç olduğunu bilir; A man with two watches.
The Science of the Smallest and the Largest
Some Turkish Proverbs December, Ankara. Aç ayı oynamaz ( The hungry bear doesn’t dance) : When someone is hungry, h/she is unwilling to do anything.
The Solution of Linear Systems (Doğrusal Sistemlerin Çözümü, AX=B )
Bilgisayar Grafiğine Giriş
Kemal Kaya Dr. of Veterinary Medicine Travel Writer, Blogger Education Maltepe University Economic and Managerial and Social Sciences, Marketing MBA Istanbul,
Fikri Akdeniz Fikri Akdeniz Çağ University Department of Mathematics and Computer Science TURKEY 23rd IWMS,Ljubljana, Slonenia 11 June, 2014.
Bilkent University Computer and Instructional Technology Teacher Education Department SUMMER TRAINING 2012 I N F O R M A T I V E.
Bu proje, Avrupa Birliği’nin Kıbrıs Türk toplumuna Yardım Programı kapsamında finanse edilmekte olup WYG Türkiye, WYG International Ltd., SAC Commercial.
Copyright © AKAMPUS Kampüs Bilişim Sistemleri ve Danışmanlık A.Ş. Copyright © İDTM A.Ş. İstanbul Dünya Ticaret Merkezi A.Ş.
11 CHAPTER BİLGİ TEKNOLOJİSİ, İNTERNET VE SİZ. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved. 1-2 Bilgi sistemlerinin 5 temel öğesi 1. İnsan.
GENETICS THE SCIENCE OF HEREDITY. HEREDITY AND MENDEL GENETICS 1. TRAIT:2. HEREDITY:
Yapı Kullanım Alıştırmalar
Factoring agreement is the agreement which includes any or all of the following functions: The collection, the keeping of the borrower and customer records.
Suggestions for Maximising Edu-Tainment Wednesdays. Edu-Tainment Wednesdays is a chance for Hisar School Educators to get together and learn more about.
Müşterilerle Beraber Değer Yaratmak M. Tolga Akçura Kurucu Ortak.
IE478 - Production Systems Design-Practice
Theory, principles and advantages of small group learning. Variety of ways of grouping learners. Planning for small groups, incorporating some differentiated.
The attitude of the new attending and smoking students of Sakarya University on the subject of smoking cessation Pınar Pazarlı Sakarya University Tobacco.
AS IF / AS THOUGH.
Rules and regulations Feeling = SENSE !!! FORCE!!! takviye ask Incident= 1 event /co= together.
Bu kayanın ismi Preikestolen. Türkçe si kaya kürsüsü. Yeri Norveç’tedir. Denizden yüksekliği 604 metredir. Bu kayanın zirvesine yürüyerek 2 saatte çıkılabiliyor.
VARYANS STANDART SAPMA
UNIT FIFTEEN Health and Sports
Hareket halindeki insanlara ulaşın.Mobil Arama Ağı Reklamları Reach customers with Mobile Search Network.
NOUN CLAUSES (İSİM CÜMLECİKLERİ).
/ 141 Yrd. Doç. Dr. Turan SET Atatürk University Medical Faculty, Erzurum QUALİTY CIRCLES
ISE Senior Project Fall 2015.
ULUBATLI HASAN PRIMARY SCHOOL (ULUBATLI HASAN İLKÖĞRETİM OKULU) BERGAMA, İZMİR TURKEY.
DISCUSSION
NİŞANTAŞI ÜNİVERSİTESİ
BİLL GATES Şule Eslem ÖZTÜRK NUN OKULLARI Prep-A.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
News You Can Use Homework A Peek at Our Week Upcoming Events
9.2 Operant Conditioning “Everything we do and are is determined by our history of rewards and punishments.” –BF Skinner Operant Conditioning: learning.
What is dna? Mrs. Fletcher – Oct
802.1CBdb draft text contribution
Un locking School Self Evaluation Policies, Practices and Supports
THE PROTECTION OF CHILDREN FROM SEXUAL OFFENCES ACT,2012
JIFSAN International Food Safety Training Laboratory (IFSTL)
“News’ effects on stock prices”
The Theory of… EVOLUTION
Core Competencies Communication - Critical Thinking - Creative Thinking - Positive Personal & Cultural Identity - Personal Awareness & Responsibility.
Cover Letter-1st Section
Sunum transkripti:

Extreme Programming Methodology Emin BORANDAĞ Department of Informatics, Maltepe University,Turkey eminb@maltepe.edu.tr

Klasik Metotlara Olan Eleştiriler Sürüm yani çalışan program çok geç ortaya çıkıyor. Sürüm çok geç çıktığı için hatalar çok geç anlaşılıyor. Verimli değil. Esnek değil, yeni gelen isterler doğrultusunda kendi yapısını değiştiremediği için yeni isterleri karşılayamıyor. Değişiklik geç ve zor yapılıyor.

Extreme Programing Scrum Crystal Family Rup Agile Metodolojiler Extreme Programing Scrum Crystal Family Rup

What is Xp? XP’s mechanism depends on some simple practices and applications. These practices may seem to be so simple and unnecessary at the beginning but after a while they will show their power through the successes gained .

Extreme Programing Avantajları Hata oranını azaltma Yazılımın erken safhasında somut gelişmeler sağlaya bildiğinden, oluşan hataların farkına varabilir.Bu hataları da kendi içerisinde oluşturduğu küçük yaşam döngüleri ile telafi edebilir. Projenin gelişme süresini kısaltır. Artırımsal yaklaşım sayesinde hızlı bir şekilde genel planın oluşması sağlanır.Burada aynı bütün ekip tarafından proje süresi tahmini de yapılır. Değişikliklere izin verir. Esnek iş yürütme ve fonksiyonellik sayesinde, işletmenin değişen ihtiyaçlarına cevap verir Yazılımsal olarak ortaya çıkabilecek tıkanıklıkları azaltır. Müşteriler ile birlikte monitörlerden programcılar ve müşteriler ortak bir şekilde test yaparak ileride tıkanıklıkların ortadan kaldırılmasını sağlarlar.

XP History Ward and Kent together had experienced an approach to software development that made every thing seem simple and more efficient. Kent contemplated on what made software simple to create and what made it difficult.

XP History In March of 1996 Kent started a project at DaimlerChrysler using new concepts in software development. The result was the Extreme Programming (XP) methodology. What Kent came to realise is that there are four dimensions along which one can improve any software project. You need to improve communication. You need to seek simplicity. You need to get feedback on how well you are doing. And you need to always proceed with courage. Communication, Simplicity, Feedback, and Courage are the four values sought out by XP programmers

Değişim Maliyeti

Extreme Programing 4 Temel Noktası İletişim Basitlik Geri Besleme Cesaret

İletişim XP in ilk temel taşı iletişimdir. Projelere baktığımızda ortaya çıkan önemli problemlerin insanların birbirleriyle tam olarak anlaşamaması nedeniyle olduğunu görünür. Bazen programcılar sormaları gereken doğru soruyu soramazlar. Bazen de projenin yapısıyla ilgili önemli bir gelişmeyi söylemezler. Bu yüzden projelerde çeşitli tıkanma noktaları olabilir. Bazen de proje yöneticileri programcılara belirtmeleri gerekenleri tam olarak belirtemezler. Bu da projenin gelişme sürecilerini olumsuz etkiler. XP de iletişim yüz yüze olmalıdır. İletişim sürekliliği olmalıdır. Yazılım ekibi ile yazılımı kullanacaklar arasında sıkı bir iletişim bağı olması esastır. Bu sayede sorunlar erken fark edilir.

Basitlik XP in ikinci temel taşı basitliktir. Aslında basitlik sağlanması zor olan bir konudur. Basitlik, zorunlu işlerin yapılmasıdır. Gerekli olmayan bir şey varsa, kesinlikle bu konu XP basitlik ilkesi içerisinde olmamalıdır. Dünyadaki en zor şey gelecekte ne gibi ihtiyaçlarla karşılaşacağımızı bilmemektir. Bu nedenden dolayı oluşturulacak yapı, gelecekte ne gibi isterlerin ortaya çıkacağını tam olarak bilmeden oluşur. Buna göre esnek zaman ve maliyeti göz önüne alınmış bir yapı oluşturmak gerekmektedir. XP en iyi şekilde bu basitliği sağlamak için, bu günün ihtiyaçlarını hedef alarak esnek ve basit bir sistem gerçekleştirmeye çalışır.

Geri Besleme Sistemlerin geri dönüşümü olması sistemler için paha biçilemez bir fırsat yaratır. Geri dönüşüm sayesinde optimizasyonun oluşmasına engel olan tehlikeler ortadan kaldırılır. Öncelikle programcılar bütün sistemin mantıksal yapısını içeren bölüm testleri oluşturur. Programcılar sistem hakkında somut bilgiler elde ederler. Müşteriler yeni bir “stories” hikâye ile geldikleri zaman, programcılar hemen bu yeni gelen hikâyenin gerçekleşmesi ile ilgili çalışma yapıp bu “stories” e uygun bir çalışma gerçekleştirirler.

Cesaret XP in dört temel noktasından en zoru cesarettir. Projelerin üzerine yılmadan gidilmesi projelerin geliştirilmesi açısından son derece önemlidir. Cesaretin olmadığı projelerde korku gelişir ve gelişen bu korku projeyi başarısızlığa iter. Yazılım işlerindeki başarısızlık ise; yazılımın çöpe gitmesidir ve maalesef genel duruma da baktığımızda yazılımların büyük bir kısmının çöpe gittiğini görünyorur. Başarısızlık, genel tabiat içerisinde olan bir durumdur. Başarısızlıktan korkmak yerine başarısızlığı oluşturan nedenler üzerine gitmek yerinde olacaktır. Başarısızlıkla mümkün olunan en kısa sürede karşılaşmak, daha sonra telafi etme şansını arttırır.

Extreme Programming Korkmadıkları Kodlama Değişen fikirler Geleceği bilmeden yol alabilmek Çalışan bir sistemin yapısının değişmesi Testler yazılması

Extreme Programing Roller Müşteri Yazılım geliştirme sorumlusu Test sorumlusu Ölçüm sorumlusu Koç Danışman Yönetici

Extreme Programing Çalışma Mantığı

Planning Game XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week In the initial phase of the project, tasks are not described in detail. Only specific issues are tried to be solved. After this phase detailed project plan is produced for small processes

On-Site Client XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week Client representatives are present in the same environment with the software development team. Thus, it is ensured that the information software development team’s needs are accessed rapidly

Testing XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week Test code is written before the project code. Thus, it is ensured that reliable software is implemented by revealing the potential problems sooner

Simple Design XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week A design that meets client requirements in the simplest way is produced. Software is designed according to the given requirements and future requirements are not anticipated

Pair Programming XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week This is the practice in which two programmers develop code together by sharing the same computer. While one of the programmers is writing the code the other one examines the code and they alternately change places with each other.

Continuous Integration XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week Every module that has been developed is integrated to the other modules. Errors that can occur due to the conflicts are eliminated by integrating all modules. Module integration is done once or twice a week

Small Releases The release of the program is given to the client in short periods of time. Thus, client can follow the progression of the project. The advantage of XP is that an executable release is produced in a short time compared to the other methods. Thus, the client has the chance to see the completed parts of the software on early phases XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week

Refactoring XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week Design faults can cause the system not to be corrected afterwards. Therefore, code and design should be revised constantly

Collective Ownership XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week The software code that is developed is the common asset of the team members. The fundamental of the collective ownership practice is that any team member can access the codes other members produced within definite rules. It is aimed that team members will be able, by this mean, to do changes over the code to improve the existing software

Metaphor XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week It is tried to produce software by emulating the systems within the implementation. For example, the software being implemented is divided into parts and each part is emulated to another system

Coding Standard XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week It is useful to have a coding standard rather than using different coding standards. It is important that coding issues such as names of forms and variables, locations of functions, etc. have a standard in terms of simplicity and comprehensibility of the code.

40-Hours a Week In terms of working efficiency, 40 hours of work time a week is set. Tasks are performed in 8 hours a weekday. There is no overtime concept in 40-Hours a week practice.Even if the team works more than 40 hours, increase of the efficiency will not be enough. The risk of increase in errors also goes up. XP Practices Planning Game On-Site Client Testing Simple Design Pair Programming Continuous Integration Small Releases Refactoring Collective Ownership Metaphor Coding Standard 40-Hours a Week

Project Development USING XP Project Planning Revealing Existing Requirements by Examining the Old Version Determining the Main Processes and the Sub Processes Coding the Software Testing the Software

Project Planning Project development process started with the planning game favorably with XP’s structure. A basic plan far from the details of the project was produced with the planning game. By means of the planning game, the processes that would be used in the development of the Automation System were determined.

Coding the Software In this process, requirements in the technical cards were transformed into program codes complied with the coding standard determined in the project plan and formed by taking advantage of previous experiences. The aim was to develop software that could be followed can be managed and changed easily by using simple design practice.

Testing the Software The test of the automation system carried out in three phases. In the first phase unit tests were applied to the codes developed complied to the collective ownership practice by the programmers and the team leader. In the second phase software was tested by client according to the user stories formed during the determination of the work processes.

Basili and Boehm, Software Defect Reduction Top 10 List, IEEE Computer Society, vol. 34, (No. 1),January 2001, pp. 135–137. Figure 1 is an irrefutable proof of the axiom test early and test often.

Riskler ve Risk çözümleri Gecikmeler Kısa sürüm zamanları Projenin iptal edilmesi İş acısından en önemli süreçlere önem verilmesi. Yama tutmayan sistemler Anlaşılır test senaryoları (otomatik test) Yanlış anlaşmalar Müşterinin takımın ayrılmaz bir üyesi olması sayesinde yanlış anlamaların büyük bir kısmı önlenir. İş dünyasındaki değişiklikler İhtiyaç duyulmayan birçok özellik Sadece en öncelikli işlerin yapılması İşten çıkmalar Çift programcı

References (1/2) Schach, S., R., “Object-Oriented & Classical Software Engineering”, 7th Ed., McGraw Hill, 2007. Borandağ, E., “Basamaklı CMMI Modeli ile Extreme Programming Metodunun Değerlendirilmesi”, Maltepe Üniversitesi, Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 2006. Randell, B., “The 1968/69 NATO Software Engineering Reports”, 2009, World Wide Web: http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html Sarıdoğan, E., “Yazılım Mühendisliği”, Papatya Yayıncılık, 2004. Beck, K., “eXtreme Programming”, Addison-Wesley, 2002. Agile Team 2005 “12 Practice”, 2009, World Wide Web: www.agilemanifesto.com\12Practice.html Acar, Ö., “Extreme Programming”, Pusula Yayıncılık, 2009.

References (2/2) Newkirk, J., “Introduction to Agile Processes and Extreme Programming Thought Works”, Proceedings of the 24th International Conference on Software Engineering, Pages:695-696, 2002. Paulk, M., C., “Extreme Programming from CMM Perspective”, IEEE Software, 2001. Borandağ, E., Yücalar, F., Erdoğan, Ş. Z., İnce, F., “Basamaklı CMMI Modeli ile Extreme Programming Metodunun Değerlendirilmesi”, Trakya Üniversitesi Fen Bilimleri Dergisi, ISSN: 1305 6468, Haziran 2009. Layman, L., Williams, L., Daiman, D., Bures, H., “Essential communication practices for Extreme Programming in a global software development team”, Journal of Information and Software Technology, Elsevier, 2006. Kalaycı, O., “Uygulamalı CMMI/XP Eğitimi”, Nitelik Danışmanlık, 2006.

Additional Resources Mailing Lists Books Yahoo Group: testdrivendevelopment Yahoo Group: agiledotnet Books Test-Driven Development in Microsoft .NET – James Newkirk and Alexei Vorontsov Test-Driven Development, by Example – Kent Beck Test-Driven Development, A Practical Guide – David Astels Unit Testing in Java, Johannes Link

Community Resources Web Sites http://www.testdriven.com http://www.xprogramming.com AgileAlliance.com ExtremeProgramming.org Blogs http://dotnetjunkies.com/WebLog/darrell_norton http://www.peterprovost.org http://weblogs.asp.net/nunitaddin http://weblogs.asp.net/jamesnewkirk http://www,iserializable.com