Çevik Yaklaşımlar & SCRUM



Benzer belgeler
Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

Sınavında sık yapılan temel hatalar:

Argumentative Essay Nasıl Yazılır?

11.DERS Yazılım Testi

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Yüz Tanımaya Dayalı Uygulamalar. (Özet)

Dr. Aysın Yeltekin. EST Enerji

1 I S L U Y G U L A M A L I İ K T İ S A T _ U Y G U L A M A ( 5 ) _ 3 0 K a s ı m

Yazılım Süreçleri Software Processes

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

BMH-405 YAZILIM MÜHENDİSLİĞİ

Turkish Vessel Monitoring System. Turkish VMS

İnşaat Mühendisliği Bölüm Başkanlığı na

A UNIFIED APPROACH IN GPS ACCURACY DETERMINATION STUDIES

Educational On-line Programmes for Teachers and Students

.com.tr agem T E C H L O L O G Y P A R T N E R

TR2009/ /409 Benim için İnsan Hakları «Human Rights for Me» Body of Knowledge for AC/HR Education

Bilgisayarlı Muhasebe ve Uygulamaları (MGMT 418) Ders Detayları

THE DESIGN AND USE OF CONTINUOUS GNSS REFERENCE NETWORKS. by Özgür Avcı B.S., Istanbul Technical University, 2003

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

AB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition)

First Stage of an Automated Content-Based Citation Analysis Study: Detection of Citation Sentences

CmpE 320 Spring 2008 Project #2 Evaluation Criteria

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC [3] gibi standartlarla. gereklidir.

LOGO. Kamuda e-devlet Uygulamaları ve Endüstri Mühendisliği. Ömer KILIÇ. Bilgi Teknolojileri Direktörlüğü

Görünümler ve Ötesi Yaklaşımıyla Radar Yazılım Mimarisi Dokümantasyonu Tecrübeleri. Ali Özzeybek M. Devrim Tokcan Murat Tuncer

Proje Yönetiminin İş Geliştirme Süreçlerindeki Yeri. Emre AKIN (PMP #307476) 17 Şubat 2015

Electronic Letters on Science & Engineering 2(2) (2011) Available online at

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar

Business Intelligence and Analytics Principles and Practices: Charting the Course to BI and Analytic Success

AKDENİZ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ÇEVRE MÜHENDİSLİĞİ BÖLÜMÜ ÇEV181 TEKNİK İNGİLİZCE I

Atıksu Arıtma Tesislerinde Hava Dağıtımının Optimize Edilmesi ve Enerji Tasarrufu

CHANGE GUIDE BSP Turkey

LED AYDINLATMA SİSTEMLERİ LED LIGHTING SYSTEMS

SİSTEM MÜHENDİSLİĞİ ÖMÜR DEVRİ SÜREÇLERİ

YAPI ATÖLYESİ. make difference.. DESIGN & CONSTRUCTION ENGINEERING ARCHITECTURE CONTRACTING. Design & Construction

IDENTITY MANAGEMENT FOR EXTERNAL USERS

INSPIRE CAPACITY BUILDING IN TURKEY

> what is ansible*? "infrastructure as code"

.. ÜNİVERSİTESİ UNIVERSITY ÖĞRENCİ NİHAİ RAPORU STUDENT FINAL REPORT

THE IMPACT OF AUTONOMOUS LEARNING ON GRADUATE STUDENTS PROFICIENCY LEVEL IN FOREIGN LANGUAGE LEARNING ABSTRACT

Corporate Information Systems

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer.

e-motion Operasyonel Sistemler - Operational Systems

Proceedings/Bildiriler Kitabı II. YAZILIM G M I. G September /Eylül 2013 Ankara / TURKEY ULUSLARARASI

Prof. Dr. N. Lerzan ÖZKALE

Sema. anka. fay. etmektedirler. En az faydayi barkod ve rfid uygulamalarindan ile elde ett Anahtar kelimeler:

Unlike analytical solutions, numerical methods have an error range. In addition to this

D-Link DSL 500G için ayarları

Eren Makina Asansör İmalat San. Tic. Ltd. Şti.

YÜKLENİCİ FİRMALARDA İNTERNET TABANLI YÖNETİM ENFORMASYON SİSTEMLERİ ÖRNEK BİR ÇALIŞMA

PROFESSIONAL DEVELOPMENT POLICY OPTIONS

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

Jci Türkiye 2015 Ödül Programı JCI Adana AIESEC Adana İşbirliği JCI TURKEY Best Local Community Empowerment Program

SİSTEM MÜHENDİSLİĞİ OPERASYONEL KONSEPT

Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ

HIGH SPEED PVC DOOR INSTALLATION BOOK

Proje ve Spor Genel Müdürlüğü Bundan sonraki yapılacak işler ve projenin başka bir şekilde evrilmesi

İçerik Yönetim Sistemi ile Örnek Bir Web Sayfası Tasarımı

Scrum Çevik Süreçlerinin Ar-Ge Yazılım Projelerinde Kullanımı

PowerBalance gen2 sustainable performance

YAZILIM MÜHENDİSLİĞİ - 1

Software R&D Center. Generate future softwares

KALEIDOSCOPES N.1. Solo Piano. Mehmet Okonşar

YAZILIM GÜVENLİK TESTLERİ. H A L D U N T E R A M A N h a l d u n t e r a m a g m a i l. c o m

Bir son dakika MC başvurusunun anatomisi...

Grade 8 / SBS PRACTICE TEST Test Number 9 SBS PRACTICE TEST 9

PROJE. NEO TEK kent ekipmanlari

Konforun Üç Bilinmeyenli Denklemi 2016

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DÖNEM PROJESİ TAŞINMAZ DEĞERLEMEDE HEDONİK REGRESYON ÇÖZÜMLEMESİ. Duygu ÖZÇALIK

Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS

Vakıf Üniversitelerinde Finans Bilgi Sistemi Entegrasyonu: Bir Uygulama

We specialise in design and producing the most comprehensive infrastructural lighting solutions.

Gönderilen uygulama incelendiğinde, belirtilen gerekliliklerin bir kısmının karşılandığı görülmüştür.

Araştırma Modelleri Prof. Dr. Mustafa Ergün AKÜ - Eğitim Fakültesi

WEEK 4 BLM323 NUMERIC ANALYSIS. Okt. Yasin ORTAKCI.

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

Sustainable Collecting Strategies of MAPs

nareks is an Electrical Contracting and Automation Engineering company. nareks Elektrik Taahhüt ve Otomasyon Mühendislik firmasıdır.

ÖZGEÇMİŞ VE ESERLER LİSTESİ

Arýza Giderme. Troubleshooting

DOĞU AKDENİZ ÜNİVERSİTESİ / EASTERN MEDITERRANEAN UNIVERSITY BİLGİSAYAR PROGRAMCILIĞI / COMPUTER PROGRAMMING DERS İÇERİĞİ / COURSE POLICY SHEET

Proceedings/Bildiriler Kitabı I. G G. kurumlardan ve devletten hizmet beklentileri de September /Eylül 2013 Ankara / TURKEY

DIAMOND TOOLS.

HAKKIMIZDA ABOUT US. kuruluşundan bugüne PVC granül sektöründe küresel ve etkin bir oyuncu olmaktır.

Gezici Tanıtım & Fuar Araçları Mobile Showroom & Fair Vehicles

Güvenli Switching. Başka Bir Switch: ARUBA Tunneled Node. Semih Kavala ARUBA Sistem Mühendisi. #ArubaAirheads

Bilgi Teknolojileri Yönetişim ve Denetim Konferansı BTYD 2010

Delta Pulse 3 Montaj ve Çalıstırma Kılavuzu.

- GENEL TANITIM Rofin Sinar Laser Kaynakları Endüstriyel Laser Kaynakları SC Serisi Watt DC Serisi 1000 ~ 1500 Watt

Günümüzde Siber Güvenlik : Güncel Tehditler, Yeni Yaklaşımlar

KENT BİLGİ SİSTEMİNİN BİR ALT SİSTEMİ OLARAK İSTATİSTİKSEL BİLGİ SİSTEMİ VE TÜRKİYE İÇİN 2008 YILINDA İSTATİSTİKSEL BİLGİ SİSTEMİ KULLANIM DURUMU *

İş Tanımı YAZILIM TEST DANIŞMANI Geçici Koruma Altındaki Suriyeliler ve Türk Vatandaşları İçin İstihdam Desteği Projesi

Veritabanı Yönetim Sistemleri (PL/pgSQL - SQL Procedural Language)

Jci Türkiye 2012 Genel Kurulu Ödül Programı JCI Avrasya Kahvaltı ve Santral Gezileri JCI TURKEY Best Local Personal Skill Development Program

Dairesel grafik (veya dilimli pie chart circle graph diyagram, sektor grafiği) (İngilizce:"pie chart"), istatistik

Turizm Pazarlaması. Tourism Marketing

Transkript:

Çevik Yaklaşımlar & SCRUM

Standish Group Chaos Report 1994 1999 2001 2004 2010, 2012 1. User involvement 2. Executive mngment support 3. Clear statement of requirements 1. User involvement 2. Executive mngement support 3. Smaller project milestones 1. Executive mngment support 2. User involvement 4. Propor planning 4. Competent staff 4. Smaller project milestones 5. Realistic expectations 6. Smaller project milestones 5. Ownership 5. Clear vision and objectives 1. User involvement 1. Executive support 2. Executive mnagement support 3. Competent staff 3. Smaller project milestones 4. Hard-working, focused staff 5. Clear vision and objectives 2. User involvement 3. Clear business objectives 4. Emotional maturity 5. Optimizing scope 6. Agile process 7. Competent staff 7. Project management 8. Ownership 8. Skilled resources 9. Clear vision and objectives 10. Hard-working, focused staff 9. Execution 10. Tools & Infrastructure

PMI Certification

Time to Market -Yazılım projelerinde, t 0 anında bir vizyon belirlenir -> Projenin sonuda elde edilmek istenen hedef bir değer. - Waterfall modelinde: Analiz, tasarım, kodlama ve testten sonra (belirli bir süre sonra) proje müşteriye teslim ediliyor. - Araştırma sonuçlarına göre: Eğer proje başlangıcı ve bitişi arası 6 ay veya daha uzun bir süre ise ve bu sürece müşteriler ve değişim dahil edilmiyorsa, büyük ihtimalle t 0 anında hedeflediğiniz değerden daha düşük bir değer elde ederek projeyi bitirirsiniz. Kısaca: Müşteriler ve değişim dahil edilmedikçe, proje süresi uzadıkça -> İstenilen hedeflerin yakalanma ihtimali düşüyor! Araştırma sonuçlarına göre: Problem görülüp, sürece müşteriler ve değişim katılsa bile, hiçbir zaman ara kapatılamıyor -> Proje başarısızlığa doğru gidiyor.

- Pareto prensibi (80-20 kuralı) -> Yazılım projelerindeki fonksiyonalitelerin %20 si, müşterilerin ihtiyaçlarının %80 ini karşılar. - Esneklik: Müşteriyle kısa aralıklarla görüşülüp, ondan fikir alındığı için, değişiklikler kucaklanmış oluyor.

Değişim ve Kalitenin Maliyeti Boehm s Cost of Change Curve

Çevik yaklaşım manifestosu Süreçler ve araçlar yerine Bireyler ve etkileşimler Kapsamlı dokümantasyon yerine Çalışan yazılım Sözleşme pazarlıkları yerine Müşteri ile işbirliği Bir plana bağlı kalmak yerine Değişime karşılık verme

Standish Group Chaos Report, 2012

8 th Annual State of Agile - 2013

Scrum Süreci

Waterfall vs. Scrum

8 th Annual State of Agile - 2013

Çevik Yöntemler için Kullanılan Araçlar 8 th Annual State of Agile - 2013

Scrum Uygulayanlar

IEEE Software, 1999 Legacy Information Systems J. Bisbal, D. Lawless, B. Wu, J. Grimson Trinity College, DUBLIN

Overview - Legacy information systems (LIS) are typically the backbone of an organization s information flow and the main vehicle for consolidating business information. - They are mission critical, and their failure can have serious impact on business. - Definition: Any information system that significantly resists modification and evolution. - They can cause host organizations several problems: - LIS usually run on obsolete hardware that is slow and expensive to maintain. - Software maintenance can also be expensive: because documentation and understanding of system details is often lacking, tracing faults is costly and time-consuming. - A lack of clean interfaces makes integrating LISs with other systems difficult. - LISs are also difficult, if not possible, to extend.

Overview - Several solutions have been proposed: - Redevelopment (Big Bang approach): Rewriting existing applications - Wrapping: Wrapping an existing component in a new, more accessible software component - Migration: Moving LIS to a more flexible environment, while retaining the original system s data and functionality.

LIS Coping Strategies - Each approach varies in terms of changes required and costs and risks involved. Redevelopment leads to the most changes (system revolution) and wrapping the least (system evolution).

Redevelopment Known as Big Bang approach, Chicken Little approach or Cold Turkey approach. In reality, the risk of failure is usually too great for organizations to seriously contemplate a redevelopment approach. Another very real concern stems from the fact that technology and business requirements are constantly changing. Thus, at the end of a long process, an organization might find itself with a redeveloped system based on obsolete technology that no longer meets its business needs.

Wrapping Most practical solutions focus on wrapping, which surrounds existing data, individual programs, application systems, and interfaces with new interfaces. In essence, this gives old components new operations or a new and improved look. The wrapped component acts as a server, performing some function required by an external client that does not need to know how the service is implemented.

Migration Although it is a much more complex undertaking than wrapping, if successful, migration s long-term benefits are also greater. Before embarking on a migration project, engineers, management, and users should undertake an intensive study to find the most appropriate approach for solving their organization s LIS problems. Database population

Migration: Testing and Functionality Up to 80% of a migration engineer s time could quite legitimately spent testing the target system. Given the legacy system s mission-critical nature, target system outputs must be completely consistent with those of the LIS. Thus, it is inadvisable to introduce new functionality to the target system during the migration project. However, on a practical level, migration projects are often expected to add functionality to justify the project s expense and risk. In this case, the LIS should be migrated first. New functionality can be incorporated into the target system after the initial migration.

Migration: Cut-Over The last step in the migration project is the cut-over from the LIS to the target system. 3 different transition strategies have been proposed: The cut-and-run strategy consists of switching off the LIS and turning on a new feature-rich replacement. With the phased interoperability strategy, the cut-over is performed in small, incremental steps: each step replaces a few LIS components (applications or data) with corresponding target components. In the parallel operations strategy, LIS and target systems operate simultaneously, with both systems performing all operations. During this period, the target system is continually tested; once it is fully trusted, the LIS is retired.

Migration Methods 1.The Chicken Little Strategy Michael Brodie and Michael Stonebraker propose this strategy, which lets LIS and target systems interoperate during migration using a mediating module, generally known as a gateway. The Chicken Little strategy offers an 11-step plan for the cutting over from the LIS to the target system. Each step is incremental: Analyze the LIS Decompose the LIS structure Design the target interface Design the target application Design the target database Install the target environment Create and install necessary gateways Migrate the legacy databases Migrate the legacy applications Migrate the legacy interfaces Cut over to the target information system.

Migration Methods 1.The Chicken Little Strategy The target system is intially quite small, but grows as the migration progress. During migration, the LIS and target systems form a composite information system. Chicken Little uses a forward gateway to translate and redirect calls to the tarhet database s results for use by LIS applications. A reverse gateway maps the target data to the LIS database. This mapping can be complex and slow, thus affecting new applications. The Chicken Little approach can use data duplicated accross the LIS and target databases. To maintain data integrity and consistency, a transaction coordinator intercepts all update requests from LIS or target applications and identifies whether they refer to data replicated in both databases. If they do, the update is propogated to both databases using two-phase commit protocol. Although this strategy has the advantage of breaking the migration process into a series of well-designed stages, it can involve highly complex strategies to ensure consistency between the target and LIS databases.

Migration Methods 2. Butterfly Strategy It assumes that although the LIS must remain operable throughout migration, the LIS and target system need not interoperate during the process -> This assumption eliminates the need for gateways and their potential complexity. The Butterfly methodology focuses on LIS data migration, and develops the target system in an entirely seperate process. Once data migration commences, the LIS data store is set to read-only. The data access allocator redirects LIS data manipulations; the results are stored in a series of auxilary data stores, or TempStores.

Migration Methods Butterfly Methodology

Yazılım Test Süreci

Yazılım test süreci

Test Hazırlık Adımında Neler Yapılmalıdır? Test edilecek yazılıma ait analiz ve teknik tasarım aşamaları ile ilgili dökümanlar, test ekibi tarafından incelenir. Yazılım içinde test edilecek (ve edilmeyecek) modüller belirlenir. Risk analizi yapılır ve yapılan değerlendirmeye göre dinamik test aşamasında uygulanacak olan test teknikleri ve metodları belirlenir. Dinamik testin uygulanacağı ortamlar ve bu ortamların ihtiyaçları belirlenip, uygun şartlar sağlanır. Test ekibi içinde görev paylaşımı ve zaman planlaması yapılır. Testin sonlandırma kriterleri belirlenir. Bir programa belirli girdiler verildiğinde hangi çıkışların ne şekilde alınması gerektiğini bildiren test case senaryoları belirlenir. Dinamik testin hangi adımlarla ve ne şekilde uygulanacağının belirtildiği test planı hazırlanır.

Dinamik Test Süreci Neleri İçermektedir? Test edilecek yazılımın tipine göre, kullanılacak test yöntemi değişmekle beraber, test yöntemleri genel olarak aşağıdaki şekilde gruplandırılabilir: Birim testi (Unit testing) Entegrasyon/Sistem/Tümleyim testi (Integration/System testing) Regresyon testi (Regression testing) : Genelde büyük bir miktar kod değiştikten sonra, hata bulmaya yönelik yapılan bir test çeşididir. Performans / Yük testi (Performance / Stress testing) Kullanıcı kabul testi (User acceptance testing) Beyaz kutu testi (White box testing) Kara kutu testi (Black box testing)

Doğrulama testi ve hata testinin farkı nedir? Doğrulama testi (Validation testing) Yazılımcının kendisine veya müşteriye, yazılımın isterleri yerine getirip getirmediğini göstermek için; Sistemin önceden tasarlandığı şekilde çalıştığını ispat etmek; Hata/Kusur testi (Defect testing) Yazılan programdaki eksik, bozukluk, kusuru bulma amaçlı. Program, hatalı sonuç vermeye zorlanır. Sıradan olmayan durumlar yaratılır. Test, hata olmadığını değil, hatayı gösterir. -> Hata testi sonucu, programın hatasız çalıştığı yargısına varılamaz.

Birim ve sistem testinin ne farkı vardır? Birim testi Programı oluşturan bileşenlerden birinin testi; Genelde birimi geliştiren kişi tarafından yapılır (Kritik sistemler hariç); Geliştiricinin tecrübesiyle şekillenir. Sistem testi Bileşenlerden ikisi veya daha fazlası bir araya getirilerek yapılan test; Bağımsız bir test ekibi tarafından yapılır; Testler, sistemin spesifikasyonu esas alınarak şekillenir. Birim testi Yazılım geliştirici Sistem testi Test birimi

Kara kutu testi (Black-box testing)

Sistem testi (Integration/System testing) - 1 Bileşenler bir araya getirilip, bir alt sistem veya sistem oluştururlar. İki aşamadan oluşur: Entegrasyon testi (Integration testing):test ekibi, bileşenlerin bir araya gelmesiyle oluşan sistemin kodlarına ulaşabilir. Hata (defect) bulma amaçlıdır. Bir sorun (defect) keşfedildiğinde, hangi bileşende sorun olduğu bulunur. Sürüm testi (Release testing): Müşteriye teslim edilecek programın komple bir versiyonu test edilir. Bakılan şey, sistemin istenilen işi yapıp yapmadığıdır. Kara kutu test sistemi kullanılır; yani test ekibi sadece sistemin verilen işi yapıp yapmadığını kontrol eder. Buldukları problemleri yazılımcıya iletilirler. (Eğer sürüm testine müşteri de dahil edilirse, adı kullanıcı kabul testi (user acceptance testing) olur.)

Sistem testi (Integration/System testing) - 2 Bileşenlerin bir araya getirilmesi iki şekilde yapılabilir: Yukarıdan aşağı entegrasyon (Top-down integration) Önce sistemin omurgasını oluştur, sonra yavaş yavaş bileşenleri eklemeye başla. Ör: Önce en çok kullanılan veri tabanı ve ağ bileşenleri birleştirilir. Üstüne diğer fonksiyonlar eklenerek devam edilir. Aşağıdan yukarıya entegrasyon (Bottom-up integration) Önce altyapıya ait bileşenler kurulur, üstüne işlevsel bileşenler eklenir.

Adım adım entegrasyon testi (Incremental integration testing)

Test hazırlama Tüm durumları tek tek test etmek imkansız! Olası durumları gösteren alt kümeler oluşturulmalı. Menülerden ulaşılabilen tüm fonksiyonlar test edilmeli; Aynı menüden girilen fonksiyon kombinasyonları test edilmeli; Kullanıcı girdisi gerektiği durumlarda, kullanıcının hem doğru, hem yanlış girdiği durumların ikisi de, tüm fonksiyonlar için test edilmeli. Sisteme hata mesajı verdirecek girdilerle denenmeli; Tamponların (buffer) taşmasına sebep olacak şekilde girdilerle denenmeli; Aynı girdi veya girdi serisini üstüste denemeli; Geçersiz çıktılar yaratmaya çalışmalı; İşlem sonuçlarının çok küçük veya çok büyük olmasına çalışmalı.

Test Sonlandırma Adımı Yapılan testler sonucu bulunan hatalar düzeltildikten sonra, test hazırlık adımında hazırlanan test sonlandırma kriterleri kontrol edilir. Tüm kriterler kabul edilebilir seviyedeyse, test aşaması sonlandırılabilir. Ardından, uygulama müşteri testine (user acceptance test) açılır. Değişmesi gerken yer varsa, yazılımcıya düzelttirilir ve test ekibine yollanır. Test ekibi tarafından kontrolden geçen yazılım, ürün aşamasına geçer. Yani, yazılım geliştirme sürecinin son basamağına geçilmiş olunur.

Test Otomasyonu Test, pahalı bir süreç. Test otomasyon araçları teste harcanan süreyi azaltmak ve toplam maliyeti kısmaya yarıyor. JUnit, IBM Rational Functional Tester, FitNesse, Selenium, soapui, vb. testleri otomatik olarak yapan araçlar. Çoğu test aracı açık kaynak kodlu; çünkü her kuruma/projeye özel şekilde kullanılmaları gerekiyor.