Ana içeriğe atla

TFS(Team Foundation Server) ve Süreç Yönetim Şablonları

TFS (Team Foundation Server) yazılım geliştirme, test, bakım, destek, proje yönetimi gibi
tüm yazılım süreçlerinde kullanılmak üzere tasarlanmış Microsoft’un geliştirmiş olduğu yazılım süreçleri yönetim uygulamasıdır. Uygulama yaşam döngüsünün yürütülebileceği bir araçtır.

Aşağıdaki resimde de görebileceğiniz gibi TFS microsoft’un geliştirmiş olduğu tüm ürünlerle entegre çalışmaktadır.
  • Visual studio’nun tüm versiyonlarını desteklemektedir.
  • Microsoft Office ile doğrudan bağlantısı bulunmaktadır.
  • Web Access ile projeye dahil olan tüm paydaşlar, İş öğesi takibi yapabilirler.
  • Sharepoint ile entegre çalışmaktadır.
  • TFS API ile 3. Parti yazılımlarla TFS’e bağlantı kurulabilir. Geliştirme yapılabilir.
  • Extension özelliği ile custom controller yazılabilir. 

TFS bizlere Süreç Yöneticileri(CMMI, Agile,Scrum) ile çalışmamız için  bize süreç yönetim şablonları(Process Template) sunmaktadır.


Süreç yönetim şablonlarında şirketinizin süreçlerine bağlı olarak revize edebildiğiniz gibi, kendi şablonlarınızıda oluşturabilirsiniz. 

 Sürecinize uygun seçtiğiniz şablonlar içerisinde iş takibini yapabileceğiniz(Work Item Tracking) iş öğesi formları(Work Item) bulunmaktadır. Bu formları ister Visual Studio içerisinden isterseniz TFS Web Access üzerinden kullanabilirsiniz.

Her bir WI  aslında bir uygulama içerisindeki farklı ekranları işaret eder. Ekranlar üzerinde alanlar bulunmaktadır. İsterseniz kendi yazdığınız bileşenleri de bu ekranlara ekleyebilirsiniz.
 WI'lar ekip içerisindeki ekip üyelerine atanabilir. TFS’de mail tanımı yaparak iş öğesi ile ilgili (iş atanan kişi, ilgili kişinin yöneticisi, bu maddesyi oluşturan kişi vs..)otomatik mail atılmasını sağlayabilirsiniz.  TFS şeffaf bir sistemdir. Proje içerisindeki tüm WI’ları izleyebilir, takip edebilirsiniz. TFS iş öğeleri üzerinde gelişmiş bir log sistemi bulunmaktadır.  Yapılan tüm işlemler eski ve yeni değerleri ile loglanır, revizyon bazlı raporlanabilir.  WI’lara ilgili dosyalar eklenebildiği gibi kod değişim setleri , farklı bir WI ile ilişkilendirme işlemleri de yapılabilmektedir.

TFS hakkında genel bir bilgi verdikten sonra şablonlara bir göz atalım

CMMI Şablonu :

İş Öğesi Tipleri ve İş Akışı


CMMI şablonunu kullanacaksanız Epic (Belirsizlikler), Feature(Yeni eklenecek Özellik), Gereksinim (Requirement),  Görev (Task), Değişiklik İsteği (Change Request), Hata (Bug ), Gözden Geçirme(Code Review).... WI tipleri ile karşılaşırsınız.  

 Her bir WI üzerinde durum alanı bulunmaktadır. Durum alanı ile iş akışını kurallara bağlayarak oluşturabilirsiniz. İş akışı üzerinde firmanızın çalışma şekline göre durum alanlarını değiştirebilir yada yeni durum alanları ekleyerek iş akışını şekillendirebilirsiniz.
 Şablonla birlikte gelen varsayılan iş akış örnekleri aşağıda belirtilmiştir.

 
Gereksinim WI tipindeki durumların ne anlama geldiğini aşağıda açıklamaya çalıştım.
·                 Proposed : Yeni açılan, bekleme durumundaki madde
·                 Active : Kodlamaya alınmış, üzerinde çalışılan madde
·                 Resolved : Geliştirmesi tamamlanmış, test edilmeye hazır madde.
·                 Closed : Testi tamamlanmış ve kapatılmış madde.

Scrum Şablonu :
İş Öğesi Tipleri ve İş Akışı


Scrum şablonunu kullanacaksanız Epic (Belirsizlikler), Feature(Yeni eklenecek Özellik), Gereksinim(Product Backlog Item),  Görev (Task),  Hata(Bug).... WI tipleri ile karşılaşırsınız.  

Şablonla birlikte gelen varsayılan iş akış örnekleri aşağıda belirtilmiştir.


Product Backlog Item(PBI) ve buglar için tipik iş akış süreci :
  •          New : Ürün sahibi(Product Owner) ın yeni açmış olduğu maddedir.
  •          Approved : Sprint içerisinde İş planına alınması kararlaştırılmış maddedir.
  •          Committed : Scrum ekibi tarafından sprintte tamamlanmış maddedir.
  •          Done : Kabul kriterlerine bağlı olarak bağlı ürün sahibi tarafından onaylanmış maddedir.


Agile Şablonu :
İş Öğesi Tipleri ve İş Akışı



Agile şablonunu kullanacaksanız Epic (Belirsizlikler), Feature(Yeni eklenecek Özellik), Gereksinim(User Story),  Görev (Task),  Hata(Bug).... WI tipleri ile karşılaşırsınız.  
Şablonla birlikte gelen varsayılan iş akış örnekleri aşağıda belirtilmiştir.

User Story için tipik iş akış süreci :
·         New : Ürün sahibi(Product Owner) ın yeni açmış olduğu maddedir.
·         Active : Ekip tarafından Sprint içerisinde tamamlanması kararlaştırılmış maddedir.
·         Resolved : Ekip  tarafından tamamlanmış , birim testlerinden geçmiş maddedir.
·         Closed : Kabul kriterlerine  ve kabul testlerinden geçmiş ürün sahibi tarafından onaylanmış maddedir.

Tüm şablonlarda gelen WI tipleri arasındaki farklar aşağıdaki tabloda belirtilmiştir.

İş Takip Alanları
Scrum
Agile
CMMI
İş akış durumları
·         New
·         Approved
·         Committed
·         Done
·         Removed
·         New
·         Active
·         Resolved
·         Closed
·         Removed
·         Proposed
·         Active
·         Resolved
·         Closed
Ürün Planlama
·         Product Baklog Item(PBI)
·         Bug
·         User Story
·         Bug
·         Requirement
·         Bug
Portfolyo İş Yığını(Backlog)
·         Epic
·         Feature
·         Epic
·         Feature
·         Epic
·         Feature
Task ve Sprint Planlama
·         Task
·         Task
·         Task
Hata İş Yığını
·         Bug
·         Bug
·         Bug
Sorun ve Risk Yönetimi
·         Impediment
·         Issue
·         Issue
·         Risk
·         Review




Referanslar :

Neslihan ÇALIŞKANEL

Yorumlar

Bu blogdaki popüler yayınlar

UML ve Modelleme – Bölüm 4 (Class (Sınıf) Diyagramları)

Bir önceki makalemizde UML modellemede kullanılan ilk diyagram olan Use Case diyagramını incelemiştik. Bu makalemizde nesne tabanlı programlamada kullanılan sınıflar ve sınıfların arasındaki ilişkileri modelleyebileceğimiz diyagramlar olan Class(Sınıf) diyagramlarını inceleyeceğiz. UML’de sınıflar, nesne tabanlı programlama mantığı ile tasarlanmıştır. Sınıf diyagramının amacı bir model içerisinde sınıfların tasvir edilmesidir. Nesne tabanlı uygulamada, sınıfların kendi özellikleri (üye değişkenler), işlevleri (üye fonksiyonlar) ve diğer sınıflarla ilişkileri bulunmaktadır. UML’de sınıf diyagramlarının genel gösterimi aşağıdaki gibidir. Şekil 1. Class Diyagram Şekil1’de görüldüğü üzere bir dikdörtgeni 3 parçaya bölüyoruz. En üst bölüm sınıf adını, orta kısım özellik listesini (üye değişkenler) ve en son kısım, işlev listesini (üye fonksiyonlar) göstermektedir. Çoğu diyagramlarda alt iki bölüm çıkarılır. Genelde tüm özellik ve işlevler gösterilmemektedir. Ama

Yazılım Maliyet Tahmineleme Tecrübeleri

Yazılım mühendisliğinde maliyet hesabı her zaman problem olmuştur. "Bu iş kaç Adam/Gün tutar?" sorusuyla sıkça karşılaşıyoruz. Adam/gün veya Adam/ay ölçütleri bir kaynağın/kişinin belirtilen zaman dilimindeki iş gücü anlamına gelir. Tabi bu noktada yine kafa karışıklıkları başlar. 6 A/G'lik bir işi hızlandıralım diye 2 kişi ile yapmaya çalışsak ve kaynak/kod, modül, altyapı, insan vb. her bir şeyi bir kenara bıraksak, matematiksel basit formülle 6/2=3 A/G'de biter? Gerçek hayat böyle değil, öncelikle bunu anlamamız lazım. Hep şu örnek verilir; "Aynı bebeği 2 kadın birlikte daha kısa sürede doğurur mu?" Eğer bunun cevabı "Evet" ise (veya bir gün böyle bir durum ortaya çıkarsa), yazımı değiştirmem gerekecek:) Mevzu gerçekten derin...Maliyet hesabı; bulunduğunuz firmanın yazılım süreçlerini hangi methodlarla uyguladığına, ilgili işin o dönemdeki aciliyetine, (şirket yönetiminin baskısına:)) vb. bir çok duruma bağlı olabilir. Örneğin; bizim firmada e

UML ve Modelleme – Bölüm 3 (Use Case Diyagramlar)

Önceki iki makalemizde ( 1 , 2 ) UML’e genel olarak değinip ve modellemede kullanacağımız dokuz diyagram hakkında bilgiler vermiştik. Bu makalemizde Use Case diyagramından detaylı bahsedeceğiz. Öncelikle, genel Use case diyagramının tanımını hatırlayalım. “Bir kullanıcı ve bir sistem arasındaki etkileşimi anlatan senaryo topluluğudur.” Ivar Jacobson Senaryo tanımı için der ki: “Aktörle sistem arasında gerçekleştirilen, sonucunda aktöre farkedilir getirisi/ faydası oluşan etkileşimli diyalogdur. ” UML Use Case Diyagramları  sistemin işlevselliğini açıklamak amacıyla kullanılır. Sistemin birbirinden ayrı özelliklerinin detaylarını göstermekten ziyade, Use Case Diyagramlar, tüm mevcut işlevselliği göstermek için kullanılabilir. Buradaki en önemli noktalardan biri,   Use Case Diyagramlar temelde sequence diyagram ve akış diyagramlarından farklıdır. Use Case diyagramlar dört ana elemandan oluşmaktadır. Aktörler , Sistem (Proje kapsamını belirtir) , Use Caseler ve bunlar ara