1 / 58

CENK DERİNÖZLÜ

YAZILIM PROJELERİNE SCRUM YAZILIM GELİŞTİRME MODELİNİN UYGULANMASI VE SCRUM YÖNETİM YAZILIMI :ONTIME. CENK DERİNÖZLÜ. PROBLEM. Teknolojik değişimler ve hızlı değişen müşteri gereksinimleri nin karşılanamaması Müşteri ihtiyacını karşılayan kaliteli ve hızlı ürün çıkarılamaması.

tara
Télécharger la présentation

CENK DERİNÖZLÜ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. YAZILIM PROJELERİNESCRUM YAZILIM GELİŞTİRME MODELİNİN UYGULANMASIVE SCRUM YÖNETİM YAZILIMI :ONTIME CENK DERİNÖZLÜ

  2. PROBLEM • Teknolojikdeğişimlervehızlıdeğişenmüşterigereksinimlerininkarşılanamaması • Müşteri ihtiyacını karşılayan kaliteli ve hızlı ürün çıkarılamaması

  3. YAZILIM GELİŞTİRME SÜRECİ Yazılım Geliştirme Süreci 5 ana bölümden oluşur. • ANALİZ • TASARIM • KODLAMA • TEST • ENTEGRASYON

  4. GELENEKSEL YÖNTEMLER

  5. NEDEN UYGUN DEĞİL? • Gelenekselyöntemlerkullanılanprojelerdeprojenintüm gereksinimleri öngörülmeyeçalışıldığıiçinanalizvetasarımsüreciiçinayrılanzamanın fazla olması • Süreç boyunca müşteriileiletişim az olduğu için çıkan ürünün müşteri ihtiyacını karşılayamaması • Projeboyuncayapılmasıgerekliolanbirkısımdeğişikliklerprojebaşlangıçaşamalarındafarkedilemeyipprojeninilerleyenaşamalarında fark edilmesi

  6. ÇÖZÜM • ÇEVİK YAZILIM GELİŞTİRME SÜRECİ

  7. Çevik Yazılım Geliştirme Süreci • Teknolojikyeniliklerinprojeyeuygulanmasınıngerekliolduğuvemüşterilerin ne istedikleriniortayakoyamadıklarıdurumlarda geleneksel yöntemlere alternatif olarak ortaya atılmış yazılım geliştirme sürecidir.

  8. Çevik Manifesto

  9. Çevik Yöntem Karar Aşaması • Kurumlariçinprojeyebaşlamadanöncecevaplanmasıgereken ilk soruprojeningelenekselyöntemler mi yoksaçevikyöntemlerle mi geliştirileceğidir. Bu aşamadakurumprojeiçinaşağıdakisorularıyanıtlamalıdır.

  10. Çevik Yöntem Karar Aşaması • Proje sahibi olanmüşteriprojebaşlangıcındatüm gereksinimleri belirleyemiyor mu? • Müşterigereksinimlerininsüreçboyuncaçabukvesıkdeğişebilmeihtimalivarmı? • Projesüresincegerçekleşenteknolojikdeğişimlerinprojeyeuyarlanmadurumuvarmı? • Projebirdençokişparçasınabölünebiliyor mu? Yukarıdakisorulara “EVET” yanıtıverilebiliyorsayazılımgeliştirmeyöntemiolarakÇevikYöntemlerkullanılmalıdır.

  11. Çevik Yöntem Adaptasyon • Gelenekselyöntemlerleprojekültürünesahipolankurumlarprojeyöntemiolarakçevikyöntemkullanmayakararverdiklerindeyeniyöntemeadaptasyonsüreçleribaşlamaktadır. • Çeviksüreçlerilegerçekleştirilecekprojeninbaşarılıolabilmesiiçinçevikyönetimsürecininekipüyeleritarafındanbenimsenmesioldukçaönemlidir.

  12. Çevik Kavramların Öğrenilmesi • Çevikyöntemleregeçişaşamasınabaşlarkençevikyöntemleringetirdiğiyenikavramlarhakkın da bilgiyesahipolunmasıönemlidir. • ÇevikYöntemlerdebilinmesigerekenkavramlarroller,kavramlar,süreçler,pratiklervearaçlarolmaküzerebeşgrupaltındaincelenebilir.

  13. Çevik Kavramlar Roller: Ürün sahibi, Scrum master veTakım YeniKavramlar: Sprint backlog ,Product backlog, Kullanıcıhikayeleri YeniSüreçler: Günlüktoplantılar, sprint planlamatoplantısı, gereksinimbelirlemetoplantıları, sprint durum değerlendirmetoplantıları YeniPratikler: Fonksiyoneltestlerinotomatikleştirilmesi,testgüdümlüyazılımgeliştirme, eşliprogramlama YeniAraçlar: Süreklientegrasyonaraçları,otomatik test yapıları, agile araçları YeniDüşünceYapısı: Süreçizlenebilirliği, takımçalışması,değişikliklerinbenimsenmesi

  14. Çevik Pilot Proje Modeli • ÇevikYöntemyetenekleriningeliştirilebilmesiiçin en iyiyöntemişparçacıklarınaayrılabilenörnekbirprojeüzerindeçalışmaktır.Bunedenleçevikyöntemlerinkullanılabileceği pilot birprojeseçilmelidir.

  15. Pilot Proje– (Uygun Model) • Agile konusundauzmankişilerdeneğitimvedanışmanlıkdesteğialınması • Ortaderecelikritikbirprojenin pilot projeolarakseçilmelidir. NedenOrtaDerecelibirprojeseçilmelidir? Düşükdereceliprojeseçildiğitakdirdeyönetimtarafından da gerekliilgivedesteğigörmeyebilir. Yüksekkritikseviyeliprojeseçildiğindeisebaşarısızolmadurumundaalınacakriskleryüksetir. Bu nedenlerdendolayı hem kurumunilgivedesteğinialınabilmesivebaşarısızlığıdurumundaalınacakriskleriazaltmakiçinortaderecelibirprojeninçevikuyumsürecinde pilot projeolarakseçilmesiuygunolacaktır.

  16. Pilot Proje– (Uygun Model) • Projesüresiçokkısaveyaçokuzunolmamalıdır.Pilotprojeiçin ideal süre 4-6 ay arasındadır. • ProjeTakımıöğrenmeveiletişimyeteneklerigüçlüteknikkişilerdenoluşturulmalıdır. • Projetakımınıoluşturanüyelerbelirlenirkenyarısınınagilesüreçlerkonusundatecrübeyesahipolmasıtercihedilmelidir. • Projetakımıelemansayısının 5 ile 7 arasındaolmasıtercihedilmelidir. • Projetakımıiçin ideal ortamsağlanmalıdır.

  17. Çevik -Pilot Proje Model (UygunOlmayan Model) • Pilot projeolarakönemsizbirprojeninseçilmesi. Bu durumuda pilot projekurumunilgisiniveyönetimindesteğinialamayabilir. • Takımdaki roller içindedesteksağlayanprojesahibinerolverilmemesi • TeknikProjeYöneticisinin hem ürün sahibi hem scrum master rolünüyapmayaçalışması • Projedebaşarılıveyabaşarısızdurumlarınyönetimdengizlenmesi • Geçmişeyönelikdeğerlendirmetoplantılarınınyapılmaması • Kalitedepartmanınçevikgeliştimetakımınaiştiraketmemesişelalemodelindekiyapısınıkoruması.

  18. Çevik-Pilot ProjeModeli – ÇalışmaAlanıDüzeni (Uygun Model) • Agile Sürecinegeçiştetakımüyeleriarasındailetişiminsağlanabilmesiiçinçalışmaortamındaekipüyeleriarasındakibariyerlerkaldırılmalıdır. • Projeadımlarının, kullanıcıhikâyelerininaşamalarınınekipüyeleritarafındantakipedilebilmesiiçinbeyaztahtaveduvarlarkullanılmalıdır. • Dışortamdakiseslerdenyalıtılmış, yeterliışıkalanrahatbirçalışmaortamısağlanmalıdır. • Ekipüyelerinintelefonkonuşmalarınıçalışmaalanıdışındayapmalarısağlanmalıdır.

  19. Çevik-Pilot ProjeModeli – ÇalışmaAlanıDüzeni (Uygun Model) • Ekiptekiherkesiniterasyondakigereksinimlerindurumunutakipedebildiklerindeneminolunabilmelidir.İterasyondurumlarıiçinçalışmaalanındakibeyaztahtaveduvarlarkullanılabilir. • Günlük durum toplantılarınınyapılabilmesiuygunyersağlanmalıdır. • Günlüktoplantıların her günaynısaatteyapılmasıönemlidir. Bu nedenlegünlüktoplantılariçinsaatbelirlenmelidir.

  20. Pilot ProjeModeli – ÇalışmaAlanı (UygunOlmayan Model) • FarklıProjetakımlarınınaralarındasesyalıtımıolmayanaynıaçıkalandaçalışmasıdurumu • Fonksiyonelolarakbağlantılıolantakım /takımüyeleriarasındakubik,duvarvsolmasındandolayıtakımlarımbirbirinigörememesi • Merkezivesahaekipüyeleriolmasıdurumundasahaüyelerinin/takımlarınınbiribiriyleiletişimkurabilmeleriiçiniletişimyazılımlarınınmevcutolamaması • Aynılokasyondaçalışantakımüyesinineşzamanlıbaşkaprojeyeatanması • Takım projeçalışmaalanındatelefongörüşmelerininyapılabilmesi

  21. SCRUM SÜRECİ • Sürüm Planlaması • Kullanıcı Hikayelerinin Oluşturulması • Sürüm İçeriğinin Belirlenmesi • Süre Tahmini Yapılması –Planlama Oyunu • Sürüm Kapsamının Belirlenmesi • Sprint Kapsamlarının Belirlenmesi

  22. SÜRÜM PLANI: • Sürüm, biryazılımsistemininbirveyabirdenfazlaözellikimplementasyonunuihtivaedenbirversiyonudur. Her sürümbirileüçaylıkbiryazılımsürecindensonraoluşanözellikleriihtivaeder. • Sürümplanıprojeninyolharitasıdır.Buplandaözelliklerinhangisırayagöreimplementeedileceğivehangitarihteyenisürümlerinoluşturulacağıyeralır.

  23. KULLANICI HİKAYELERİ: • Kullanıcıhikayelerikartlarımüşteritarafındanistenensistemözelliklerininbirya da ikicümleileanlatıldığıkartlardır. • Geliştiricitarafındanimplementasyonkullanıcıhikayeleribazalınarakyapıldığıiçinanlaşılırolmalıdır. • Kullanıcıhikayekartlarımüşteritarafındanprojekapsamındaistenentümözellikleriçinhazırlanır.Tümkullanıcıhikayekartlarınıiçerendoküman “Product Backlog” olarakadlandırılır.

  24. Sürüm İçeriğinin Belirlenmesi: • Ürünsahibi müşterikendiyazılımtakımınaürüniçeriğinde(Product Backlog) kararlaştırılankullanıcıhikayelerini (User Stories) önceliksırasınagörebelirtirvehikayekartlarınıtahminyapılmaküzeregeliştiricilereverir.

  25. Süre Tahmini Nasıl Yapılır: • Geliştiricilermüşteritarafındanseçilenkullanıcıhikayesininimplementasyonsüresinitahminederler • Tahminlerinsağlıklıyapılmasıiçin her kullanıcıhikayesiiçin her geliştiricilerplanlamakartlarıiletahmindebulunulanoyunuoynarlar

  26. Planlama Oyunu:

  27. Süre Tahmini Nasıl Yapılır: • Geliştiricilerin her biribuplanma kartlarından birsetesahiptir.Seçilenbirkişikullanıcıhikayesindekigereksinimiokur.Müşteribukullanıcıhikayesiiçingerekliimplementasyonsüresinisorar. • Geliştiricilerin her biriayrıayrıgereklisüreyekarşılıkgelenkartlarınıgösterir. • Tahminleriçinhikayepuanları (story points) kullanılır. 1 hikayepuanıörneğin 1 işgünü (8 saat) olabilir. Geliştiriciler her kullanıcıhikayesinikendibaşınatahminetmekyerine,kullanıcıhikayelerinibirbirleriylekıyaslayaraktahmindebulunurlar.

  28. Load Faktör: • Zamantahminiyapılırkengeliştiricinin ideal şartlardabirgünde 8 saat program yazmasıdüşünülmektedir.Halbukinormaldegeliştiricilerprogramlamadışındagüniçindebilgialışverişi,toplantıvbişlerleuğraşmadurumundakalmaktadır.Bunedenletahminyapılırken load factor oranınınhesabakatılmasıdahasağlıklıtahminleryapılmasınısağlar.

  29. Sürüm Kapsamının Belirlenmesi: • Ürün İçerik kapsamındakikullanıcıhikayelerininönceliklerivetahminigerçekleştirilmesüreleribelirlendiktenimplementeedilecekolankullanıcıhikayelerimüşteritarafındanbelirlenir. • Sürümplanıprojeninbaşlangıcındayapılanvebirdahadeğişmeyenbir plan değildir. • Müşteriherhangibiriterasyondayenibirkullanıcıhikayesinineklenmesini ,çıkarılmasınıveyadeğiştirilmesinitalepedebilir.

  30. Sprint Kapsamlarının Belirlenmesi: • Sprint Toplantısı -1 • Sprint Toplantısı -2 • Sprint Gözden Geçirme Toplantısı • Sprint Kapatma Toplantısı

  31. Sprint Planlama Toplantısı -1: • Her sprint başlangıcında sprint planlamatoplantısıgerçekleştirilir • Sprint uzunluğu 2 ile 4 haftaarasındaolmalıdır. Tahminlerveöncelikleregöre sprint içerisindeyapılacakkullanıcıhikayeleribelirlenir. • Seçilengereksinimlerle Sprint Backlog oluşturulur

  32. Sprint Planlama Toplantısı -2: • Bu toplantıdaişlerinteknikboyutuaçıklanır. Geliştiricilerkullanıcıhikayelerinigözdengeçirerekgörev (task) listesioluştururlar. Bu görevlergörevkartlarına (task cards) yazılır. • Görevkartlarıaitolduklarıkullanıcıhikayesininyeraldığıhikayekartıylagruplandırılır.

  33. Sprint Planlama Toplantısı -2: • Bu toplantıdaişlerinteknikboyutuaçıklanır. Geliştiricilerkullanıcıhikayelerinigözdengeçirerekgörev (task) listesioluştururlar. Bu görevlergörevkartlarına (task cards) yazılır.

  34. Görev Tahtası: • Sprint içeriğininveilerlemedurumununtakipedilebilmesiiçindörtsutunlubirgörevtahtasıkullanılır: 1. sütundasprintdebulunankullanıcıhikayeleri 2. sütundagörevler (“ToDo“) 3. sütundaçalışma (“Progress“) ve 4.sütun'da teslimehazir (“Done”) olanhikayelerbulunur.

  35. Görev Tahtası:

  36. Zaman Grafikleri: • Sürümve Sprint ileilgiliilerlemedurumlarınıizlemekiçinprojeboyunca Release Burndownve Sprint Burndowngrafiklerindenyararlanılır.

  37. RelaseBurndown: • Kalangereksinimler/geçenzamangrafiğidir. Projebaşlamadanproductbacklogiçerisindekitümgereksinimlerinbirgrafiktedikeyolarakyazılır. • Ardındanher sprint bittiktensonrayataybölümbitengereksinimlerlegüncellenirveböylelikleprojeninhayatsürecindeyukarıdanaşagıyadoğrugidenbiryatayçizgioluşur.

  38. Sprint Burndown:

  39. ÖRNEK :SCRUM DUVAR PANOSU

  40. SCRUM İLE YARDIMCI YAZILIMLARIN KULLANILMASI: • DuvarPanolarınınvebeyaztahtalarınkullanılmasıküçükveaynılokasyondaolanekipleriçinönerilsededeğişiklokasyondaolan ,karmaşıkvekalabalıkekipleriçinyönetilmesivetakipedilmesizorbiryöntemdir. • Günümüzde scrum sürecineuygunçeşitliyazılımlarvasıtasıylakullanıcıhikayelerioluşturulabilmektesürümve sprint takibiyapılabilmektedir.

  41. YARDIMCI YAZILIMLAR KULLANILMASININ GETİRİLERİ: Süreçtakibininelektronikortamataşınmasıile • Sürümtakibi • Sprint Takibi • Sprint kapsamındakikullanıcıhikayeleri, • Kullanıcıhikayelerineatananprogramcılar, • Programcılarüzerindekiişyükleri • Burndowngrafikler • Her türlüilerlemeraporugibiprojehakkındagerekliolabilecek her türlübilgiyekolaycaulaşılabilmektedir. • Scrum sürecineuygunyazılımlarkullanılmasıgelenekselyöntemlerdençevikyöntemegeçişsürecinidehızlandırmaktadır.

  42. ONTIME YAZILIMI • AxasoftfirmasınınürünüolanOntimeürünü scrum uyumluçokkullanıcıdesteğiolanprojeyönetimvetakipyazılımıdır. • Ontimeürünüilesprintlerveiçerdiklerikullanıcıkartlarıoluşturulmasınınyanındagereksinimbazındagörevleroluşturulupekipiçerisindekiilgiliprogramcıyabağlayabilmekgibiprojeyönetimisırasındaduyulacak her türlüihtiyacakarşılıkverebilmektedir.

  43. 1. ADIM YeniProjeOluşturulması: • Araççubuğuüzerinde Add>>New Project butonunatıklanarakyeniprojeoluşturulur.

  44. 2. ADIM YeniSürüm(Release) Ekleme: • Release TabıseçildiktensonraEkle (+) tuşunabasılarakyenibir release oluşturur.

  45. HataTakipEkranı: HataTespitedildiktensonrailgilikayıtınoluşturulduğuekrandır.Hata ilk bildirildiğinde Workflow step Reported durumundadır.ekippersonelihatayıdüzelttiktensonradurumunu test edilebilirolarakgünceller.

  46. Özellik Durum Ekranı: • Projeboyuncamüşteriveyaekiptarafındanyapılmasınınfonksiyonelaçıdanönemliolduğuisteklerintakipedildiğiekrandır.Yapılmasıuygungörülenisteklerindurumuburdantakipedilebilir.

  47. Yeni Özellik Ekleme:

More Related