17 Ağustos 2017 Perşembe

Scrum'da "Bitti" (Done) Tanımı

Bir Ürün İş Listesi kalemi veya bir Ürün Parçası için “Bitti” deniyorsa, herkes “Bitti”nin ne olduğunu anlamalıdır. Scrum Takımlarının birbirinden farklı “Bitti” tanımları olabilir. Şeffaflığı sağlamak için, bir takım içerisindeki herkes işin hangi durumda bitmiş sayılacağına dair aynı bilgiye sahip olmalıdır. İşte bu Scrum Takımının “Bitti” tanımıdır ve Ürün Parçası üzerindeki çalışmanın değerlendirilmesi için referanstır.

Aynı tanım, Geliştirme Takımına Sprint Planlamada kaç Ürün İş Listesi kalemini seçeceğinde rehberlik eder. Her Sprintin amacı, Scrum Takımının “Bitti” tanımına uyacak şekilde potansiyel olarak yayınlanabilir işlevselliğe sahip Ürün Parçaları teslim etmektir.

Geliştirme Takımları her Sprintte işlevselliğe sahip bir Ürün Parçası teslim eder. Ürün Parçası, Ürün Sahibinin hızlı yayın kararı verebilmesi için kullanılabilir hâldedir. Eğer bir Ürün Parçasının “Bitti” tanımı, geliştirmeyi yapan organizasyonun kılavuzları, standartları ve genel iş yapış şeklinin bir parçasıysa, Scrum Takımları bunlara asgari standart olarak uymalıdır. Eğer “Bitti” tanımı organizasyonun iş yapışının bir parçası değilse, Geliştirme Takımı ürün için uygun olan bir “Bitti” tanımı yapmalıdır. Eğer sistem veya ürün yayını üzerinde çalışan birden fazla Scrum Takımı varsa, tüm Geliştirme Takımları ortak bir “Bitti” tanımı getirmelidir.

Her bir Ürün Parçası, tüm önceki ürün Parçalarının üzerine gelir ve bunların birlikte çalışmalarını temin edecek şekilde test edilir.

Scrum Takımları olgunlaştıkça, “Bitti” tanımlarının yüksek kalite için daha zorlu kriterler içerecek şekilde genişlemeleri beklenir. Bir ürünün veya sistemin üzerinde yapılacak herhangi bir işlemin standardını ifade eden bir “Bitti” tanımı olmalıdır.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

16 Ağustos 2017 Çarşamba

Scrum Eserlerinin Şeffaflığı

Scrum şeffaflığa dayanır. Eserlerden ne anlaşılıyorsa ona göre değeri en üst seviyeye çıkarma ve riski kontrol etme kararları verilir. Şeffaflığın tam olması hâlinde, bu kararların sağlam bir temeli olur. Eserlerin tam olarak şeffaf olamaması hâlinde kararlar zayıftır, üretilecek değer azalabilir ve risk artabilir.

Scrum Master, eserlerin tam olarak şeffaf olup olmadığını anlamak için Ürün Sahibi, Geliştirme Takımı ve ilgili taraflarla birlikte çalışmalıdır. Eksik şeffaflıkla başa çıkmak için belli pratikler vardır; Scrum Master şeffaflığın eksik olması halinde en uygun yöntemi kullanması için herkese yardım etmelidir. Scrum Master, eserleri gözlemleyerek, davranış kalıplarını sezerek, ne söylendiğine iyi kulak vererek ve beklenenle gerçek sonuçlar arasındaki farkları inceleyerek eksik şeffaflığı tespit edebilir.

Scrum Masterın görevi eserlerin şeffaflığını artırmak için Scrum Takımı ve organizasyonla birlikte çalışmaktır. Bu görev genellikle öğrenme, ikna ve değişimi içerir. Şeffaflık bir gecede sağlanmaz; bir yolculuktur.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

15 Ağustos 2017 Salı

Scrum Ürün Parçası (Increment) Nedir?

Ürün Parçası, bir Sprint boyunca tamamlanan Ürün İş Listesi kalemlerinin ve tüm geçmiş Sprintlerin Ürün Parçalarının değerlerinin toplamıdır.

Sprintin sonunda, yeni Ürün Parçası “Bitti” olmalıdır yani kullanılabilir durumda olmalı ve Scrum Takımının “Bitti” tanımına uymalıdır.

Ürün Sahibi yayın kararı versin veya vermesin, kullanılabilir bir durumda olmalıdır.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.


14 Ağustos 2017 Pazartesi

Scrum: Sprintin İlerlemesini İzlemek

  • Sprint İş Listesindeki toplam kalan iş, Sprintin herhangi bir anında hesaplanabilir.
  • Geliştirme Takımı, Sprint Hedefini gerçekleştirmeye ne derece yakın olduğunu görebilmesi için en azından her Günlük Scrumda toplam kalan işi izler.
  • Geliştirme Takımı, Sprint boyunca kalan işi izleyerek ilerlemesini yönetebilir.
Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

13 Ağustos 2017 Pazar

Scrum Sprint İş Listesi (Sprint Backlog) Nedir?


Scrum Sprint İş Listesi, Sprint için seçilen Ürün İş Listesi kalemlerini ve Ürün Parçasını teslim etme ve Sprint Hedefine ulaşma planını içerir. Sprint İş Listesi, Ürün Parçasında hangi fonksiyonların olacağına ve bu fonksiyonları “Bitti” tanımına uygun bir Ürün Parçasına dönüştürmek için gerekli olan işe dair bir öngörüdür.

Sprint İş Listesi, Geliştirme Takımının Sprint Hedefine ulaşmak için gerekli gördüğü tüm işleri görünür kılar.

Sprint İş Listesi, Günlük Scrumda ilerlemenin anlaşılabilmesi için yeterli ayrıntıyı içeren bir plandır. Geliştirme Takımı, Sprint boyunca Sprint İş Listesini değiştirir; Geliştirme Takımı Sprint içerisinde plana uygun çalıştıkça ve Sprint Hedefine ulaşmak için gerekli olan işi daha fazla anladıkça Sprint İş Listesi belirginlik kazanır.

Yeni bir iş gerektikçe, Geliştirme takımı bunu Sprint İş Listesine ekler. İş yapıldıkça, kalan iş miktarı tahmini güncellenir. Gereksiz görülen her unsur plandan çıkarılır. Sadece Geliştirme Takımı, Sprint boyunca Sprint İş Listesini değiştirebilir. Sprint İş Listesi, Geliştirme Takımının Sprint boyunca başarmayı planladığı işin son derece görünür, gerçek-zamanlı bir resmidir ve sadece Geliştirme Takımına aittir.

12 Ağustos 2017 Cumartesi

Scrum: Proje Hedefine Doğru İlerlemeyi İzlemek / Öngörmek


Hedefe ulaşmak için geriye kalan iş her an hesaplanabilir. Ürün Sahibi en azından her Sprint Değerlendirme toplantısında geriye kalan toplam işi izler. Ürün Sahibi projelendirilen toplam işin istenen zamanda tamamlanıp tamamlanamayacağını anlamak için önceki Sprint Değerlendirme toplantısında kalan işle bu rakamı kıyaslar. Bu bilgi tüm paydaşlar nezdinde şeffaflaştırılır.

İlerlemeyi öngörmek için aşağı-tüketim (burn-down), yukarı-tüketim (burn-up) veya kümülatif akış (cumulative flow) gibi eğilim ölçen çeşitli planlama araçları kullanılmaktadır. Bu araçların faydası kanıtlanmıştır. Ancak bunlar deneyciliğin önemini gölgeleyemezler. Karmaşık ortamlarda, ne olacağı bilinemez. İleriye dönük kararlar almada sadece geçmişte ne olduğu bilgisinden faydalanabilirsiniz.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

10 Ağustos 2017 Perşembe

Sorularla Scrum Ürün İş Listesi


SORU: Ürün İş Listesinin içeriğinden, erişilebilirliğinden ve sıralamasından kim sorumludur?

a) Scrum Takımı
b) Ürün Sahibi
c) Scrum Master
d) Geliştirme Takımı


SORU: "Bir Ürün İş Listesi asla tam değildir, dinamiktir" ifadesi;

a) doğrudur
b) yanlıştır


SORU: Ürünün içinde kullanılacağı ortam değiştikçe;

a) Ürün İş Listesi de değişir.
b) Ürün İş Listesi oluşturulduktan sonra dokunulamaz.


SORU: Tek bir ürün üzerinde birden fazla Scrum Takımı çalışabilir mi?

a) Evet
b) Hayır


SORU: Tek bir ürün üzerinde birden fazla Scrum Takımı çalıştığında ürünle ilgili yapılacak işleri tarif etmek için tek bir Ürün İş Listesi mi kullanılır? Her takıın kendi Ürün İş Listesi mi olur?

a) Tek
b) Ayrı


SORU: Geliştirme sürecindeki tüm tahminlerden kim sorumludur?

a) Geliştirme Takımı
b) Scrum Takımı
c) Scrum Master
d) Her takım üyesi kendi tahminlerinden sorumludur
e) Tüm sorumluluk ürün sahibindedir


Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

9 Ağustos 2017 Çarşamba

Scrum: Ürün İş Listesini İyileştirme (Refinement)

Ürün İş Listesini iyileştirme; Ürün İş Listesindeki kalemlere ayrıntı, tahmin ve sıra özellikleri ekleme eylemidir. Ürün Sahibi ve Geliştirme Takımının Ürün İş Listesi kalemlerinin ayrıntıları üzerinde çalıştığı devamlı bir süreçtir. Ürün İş Listesi iyileştirme çalışması esnasında kalemler gözden geçirilir ve güncellenir.

Scrum Takımı iyileştirmenin ne zaman ve nasıl yapılacağına karar verir. İyileştirme işlemi genellikle Geliştirme Takımının kapasitesinin %10’undan fazlasını almaz. Ancak Ürün İş Listesi kalemleri Ürün Sahibi tarafından veya onun takdiriyle her an güncellenebilir.

Üst sırada olan Ürün İş Listesi kalemleri genelde daha açıktır ve alt sıradakilerden daha ayrıntılıdır. Açıklık ve ayrıntı arttıkça daha isabetli tahminler yapılabilir. Sıranın altına doğru indikçe ayrıntı azalır. Ürün İş Listesi kalemlerinin Sprint süresi içerisinde “Bitti” olabilmesi için Geliştirme Takımının sıradaki Sprintte meşgul olacağı kalemler iyileştirilir. Geliştirme Takımının bir Sprintte “Bitti” durumuna getirebileceği Ürün İş Listesi kalemleri Sprint Planlamada seçim için “Hazır” kabul edilir. Ürün İş Listesi kalemleri genellikle yukarıda tarif edilen iyileştirme faaliyetleriyle böyle bir şeffaflık derecesine ulaşır.

Geliştirme Takımı tüm tahminlerden sorumludur. Ürün Sahibi, Geliştirme Takımını ilgili kalemleri anlaması ve uygun tercihler yapması için etkileyebilir. Ancak son söz, işi yapan Geliştirme Takımınındır.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

8 Ağustos 2017 Salı

Üniversite Sınavında İletişim Sorusu

Üniversite Sınavında İletişim Sorusu:
https://www.facebook.com/ogretmenlr/videos/1831201640476161/

İzlenmesi gereken bir video.

Yazılım eğitimlerine gelen öğrenciler de genel olarak konuyu kavramaktansa komut öğrenme peşinde oluyorlar. Bu video bakış açısını vermek için faydalı olacaktır diye düşünerek ekledim anlatılacaklar listeme.

7 Ağustos 2017 Pazartesi

Scrum Ürün İş Listesi (Product Backlog) Nedir?

Scrum Ürün İş Listesi (Product Backlog) Nedir?

Ürün İş Listesi, üründe ihtiyaç duyulan her şeyin sıralandığı bir listedir ve üründe yapılacak herhangi bir değişiklik için yegâne gereksinimler kaynağıdır. Ürün Sahibi, Ürün İş Listesinin içeriğinden, erişilebilirliğinden ve sıralamasından sorumludur.

Bir Ürün İş Listesi asla tam değildir. Başlarda ilk bilinen ve en iyi anlaşılan gereksinimleri gösterir. Ürün ve içinde kullanılacağı ortam değiştikçe Ürün İş Listesi de değişir. Ürün İş Listesi dinamiktir; ürünün kullanışlı, rekabetçi ve faydalı olabilmesi için neye ihtiyaç duyduğunu belirlemek amacıyla sürekli değişir. Bir ürün var oldukça, Ürün İş Listesi de var olur.

Ürün İş Listesi, üründe gelecek yayınlarda yapılacak değişikliklerin kaynağı olan tüm özellikleri, işlevleri, gereksinimleri, iyileştirmeleri ve düzeltmeleri sıralar. Ürün İş Listesi kalemlerinin tanımı, sırası, (büyüklük) tahmini ve değeri vardır.

Bir ürün kullanıldıkça, değer kazandıkça ve pazar geri bildirim verdikçe Ürün İş Listesi daha geniş ve ayrıntılı bir listeye dönüşür. Gereksinimler sürekli değiştiği için Ürün İş Listesi yaşayan bir listedir. İş gereksinimlerindeki, pazar koşullarındaki veya teknolojideki değişmeler Ürün İş Listesinde de değişikliklere neden olabilir.

Aynı ürün üzerinde çoğunlukla birden fazla Scrum Takımı çalışır. Ürünle ilgili yapılacak işleri tarif etmek için tek bir Ürün İş Listesi kullanılır. Böyle bir durumda Ürün İş Listesi kalemleri gruplandırılabilir.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

6 Ağustos 2017 Pazar

JavaScript For/In İfadeleri ile Nesne Özellikleri Üzerinde Döngüye Girmek

JavaScript For/In Döngüleri

JavaScript for/in ifadeleri, diğer dillerde foreach olarak bilinen döngü çeşidine karşılık gelmektedir. Diziler üzerinde döngü kurmak için kullanılabileceği gibi, ayrıca; bir nesnenin özelliklerinde dönmek için de kullanılabilir.

Örnek kullanım aşağıda verilmiştir;

5 Ağustos 2017 Cumartesi

Scrum Eserleri (Scrum Artifacts)

Scrum Eserleri (Scrum Artifacts)
Scrumın eserleri, şeffaflığın yanı sıra gözlem ve adaptasyon fırsatları sunmak için yapılan işi veya üretilen değeri temsil eder. Bu eserler, herkes eserden aynı şeyi anlayabilsin diye kilit bilginin şeffaflığını en üst seviyeye yükseltecek şekilde tasarlanmıştır.

Scrum Eserleri aşağıda listelenmiştir;
  • Ürün İş Listesi (Product Backlog)
  • Sprint İş Listesi (Sprint Backlog)
  • Ürün Parçası (Increment)
Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

4 Ağustos 2017 Cuma

Scrum Sprint Retrospektifi (Sprint Retrospective)

Scrum Sprint Retrospektifi (Sprint Retrospective)

Sprint Retrospektifi, Scrum Takımının kendini gözlemlemesi ve sıradaki Sprintte yapacağı iyileştirmelere ilişkin bir plan oluşturması için bir fırsattır.

Sprint Retrospektifi, Sprint Değerlendirmeden sonra ve Sprint Planlamadan önce yapılır. Bir aylık Sprint için 3 saatle sınırlıdır. Daha kısa Sprintler için etkinlik süresi genellikle daha kısadır. Scrum Master, etkinliğin gerçekleşmesini ve katılımcıların etkinliğin amacını anlamasını temin eder. Scrum Master herkese toplantıyı zaman sınırı içerisinde tutmasını öğretir. Scrum Master, Scrum sürecini yönetme sorumluluğu sebebiyle herhangi bir takım üyesi gibi toplantıya katılır.

Sprint Retrospektifinin amaçları şunlardır:
  • Son Sprintin insanlar, ilişkiler, süreç ve araçlar bakımından nasıl geçtiğini gözlemlemek
  • İyi giden noktaları ve muhtemel iyileştirme alanlarını tespit edip sıralamak
  • Scrum Takımının iş yapış tarzını iyileştirecek bir plan oluşturmak.
Scrum Master, sıradaki Sprinti daha etkili ve keyifli kılmak için geliştirme sürecini ve pratiklerini iyileştirme yönünde Scrum Takımını cesaretlendirir. Her Sprint Retrospektifi esnasında, Scrum Takımı “Bitti” tanımını uygun şekilde adapte ederek ürün kalitesini artıracak yolları planlar.

Sprint Retrospektifinin sonunda, Scrum Takımı sıradaki Sprintte uygulayacağı iyileştirme alanlarını tespit etmiş olur. Bu alanları iyileştirmek Scrum Takımının kendini gözlemleyerek adapte olmasıdır. İyileştirmeler herhangi bir anda yapılabilse de, Sprint Retrospektifi gözlem ve adaptasyona odaklanmak için resmî bir fırsattır.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

3 Ağustos 2017 Perşembe

Scrum Sprint Değerlendirme (Sprint Review)

Scrum Sprint Değerlendirme (Sprint Review)

Sprint Değerlendirme, her bir Sprintin sonunda Ürün Parçasını görüp kontrol etmek ve gerekiyorsa Ürün İş Listesini uyarlamak için düzenlenir. Scrum Takımı ve paydaşlar bu toplantıda Sprintte yapılan işi görüşürler. Bu görüşmeye ve Sprint boyunca Ürün İş Listesinde yapılan değişikliklere dayanarak, katılımcılar değeri en üst seviyeye çıkarmak adına yapılabilecekleri belirlemek için işbirliği yaparlar. Bu gayrı resmî bir toplantıdır, bir durum tespiti toplantısı değildir. Ürün Parçasını sunmanın amacı geribildirim almak ve işbirliğini artırmaktır.

Bir aylık Sprint için bu toplantının süresi 4 saatle sınırlıdır. Daha kısa Sprintler için, bu süre genellikle daha kısadır. Scrum Master, etkinliğin gerçekleşmesini ve katılımcıların bunun amacını anlamasını sağlar. Scrum Master herkese zaman sınırı içerisinde kalmasını öğretir.

Sprint Değerlendirme şu unsurları içerir:

  • Katılımcılar Ürün Sahibi tarafından davet edilen kilit paydaşlar ve Scrum Takımıdır
  • Ürün Sahibi, Ürün İş Listesi kalemlerinden hangilerinin “Bitti” olup olmadığını açıklar
  • Geliştirme Takımı Sprint boyunca neyin iyi gittiğini, hangi sorunlarla karşılaştığını ve bu sorunları nasıl çözdüğünü tartışır
  • Geliştirme Takımı “Bitti” dediği işi gösterir ve Ürün Parçasıyla ilgili soruları yanıtlar
  • Ürün Sahibi, Ürün İş Listesini tartışır. O güne kadar olan ilerlemeye dayanarak yaklaşık tamamlama sürelerini öngörür (eğer gerekliyse)
  • Gruptaki herkes bir sonraki yapılacak şey hakkında birlikte çalışarak takip eden Sprint Planlama toplantısı için değerli girdiler sağlar 
  • Pazarın veya ürünün potansiyel kullanımının, sıradaki en değerli işin seçimini değiştirip değiştirmediğinin kararlaştırılması
  • Ürünün sıradaki yayını için zaman planının, bütçenin, potansiyel yeteneklerin ve pazarın değerlendirilmesi
Sprint Değerlendirmenin çıktısı, sıradaki Sprint için seçilebilecek kalemleri içeren güncellenmiş bir Ürün İş Listesidir. Ürün İş Listesi, yeni fırsatları yakalayabilmek için baştan aşağı elden geçirilebilir.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

2 Ağustos 2017 Çarşamba

Javascript Yerine TypeScript

.NET geliştiricilerle dolu bir odada Javascript lafı duyulduğu anda, bir anda herkesin tüyleri ürperir, hava buz keser, rahatsız edici bir ortam oluşur. Bu durumu rahatlıkla gözlemleyebilirsiniz. Bu baştan savma yarım yamalak dilde bir şeyler kodlama ihtiyacı herkese dehşet verici gelir. .NET dünyasında Javascript 'in pek de popüler olmamasının sebepleri var elbet. Zamanınızın çoğunu C#, VB.NET, ya da F# gibi dillerde kod yazarak geçirdiğinizde bazı beklentileriniz oluyor. Otomatik kod tamamlama kullanamayacağınız, tip güvenliği olmayan ve nesne yönelimli özelliklerin rahat kullanılamadığı bir dil kimseye sıcak gelmiyor. İşte bu noktada çare TypeScript. Artık; Javascript yazarken tip güvenliği, class, interface ne lazımsa bizlerle.

1 Ağustos 2017 Salı

Transpiler Nedir? #TypeScript

Transpiler Nedir?
TypeScript ile çalışmaya başladığınızda daha önce benzer işler yapmadıysanız hayatınıza yeni bir kelime daha giriyor olacak. Transpiler.

Transpiler ifadesi TRANSlate ve comPILER kelimelerinden birleştirilerek oluşturulmuştur. Bu ifade, bir dildeki kaynak kodları başka bir dildeki kaynak kodlara çeviren yazılımlar için kullanılır. Bir nevi derleyici diyebiliriz. Fakat; derleme sonrasında elde ettiğimiz sonuç yine kaynak koddur. Örneğin; TypeScript, CoffeeScript, Caffeine, Kaffeine ve daha birçok farklı dil JavaScript diline transpile edilir.

27 Temmuz 2017 Perşembe

SuperOnLine ve DigiTurk ile Sabır Testleri (Şikayet)

ÖZET:

SuperOnLine 8 Mbps İnternet Aldım Ama 1 Mbps'in Üzerine Çıkmıyor. (1 yılı aşkın süredir)
Özür olarak 1 yıllık DigiTurk hediye ettiler. Birkaç ay sonra borcundan dolayı kapandı dendi.
Aylık 110 TL Internet'e fatura ödüyorum ve karşılığında hizmet alamıyorum. Üzerine bir de hediye edilen hizmet için ayrıca ödemem yapmam bekleniyor.

BİTMEYEN ÇİLE:

1 yıl kadar önce SuperOnLine'dan 8bit sınırsız limitsiz kotasız, ay başında 8mbit başlayan, ve herhangi bir koşulda hızı düşmeyen bir paket aboneliği başlattım.

Hızım 1 bit'in üzerine nadiren çıkıyor. Arıza kaydı açtım. Bir süre sonra geri aradılar. SuperOnLine ile alakalı değilmiş Turk Telekom ile alakalıymış. Turk Telekom gelmiş binada ölçüm yapmış. Bina içi tesisat problemi demişler. Bana bu yönde bilgi verdi SuperOnline tarafı. Bina yeni bina olunca bu cevap beni tatmin etmedi ve aldım modemi ve laptopu acılı bir elektrik temin etme süreci ile birlikte aynı deneyi aşağıda bina girişinde tekrar ettik. Hız yine değişmiyor.

Aradan neredeyse 1 yıl geçti SuperOnLine'dan arandım. Beni çok mağdur ettikleri için çok özür dilediler. En kısa zamanda hattımın normal hıza ulaşması için gerekli çalışmayı yapacaklarını belirttiler ve özür olarak DigiTurk hediye etmek istediler.  Bu süreçte de benden bir ücret alınmayacağı söylendi ve toplam ödediğiniz miktar değişmeyecek dendi. Bir kaç kez sorup teyid aldım. DigiTurk ve SuperOnline faturada ayrı gözükecek ve toplam miktar değişmeyecek dendi. Hediyenin şartı DigiTurk'u 1 yıl boyunca iptal ettirmemem.

Aradan birkaç ay geçti DigiTurk hattınız birikmiş borcundan dolayı kapandı diye bir mesaj geldi. Bu arada SuperOnline tarafında yine fatura tam olarak (her ay 110 TL) ödeniyor.

SuperOnline'ı aradım hediye ettiğiniz digiturk yayını borcundan dolayı kapandığına dair mesaj geldi dedim. Sizin adınıza bir kampanyanız gözükmüyor, siz yalın adsl abonesisiniz, her hangi bir kampanya kaydınız yok dediler.

Siz aradınız beni dedim internet sıkıntısındaki mağduriyet yüzünden. Arama kayıtlarına bakmalarını istedim, tarih olarak sordum.  Yakın zamanda aramanız yok dendi. Yakın zaman kavramını net tarih vererek açıklamalarını istedim. Beni en sonra 2016 mayıs ya da haziranda aradıklarını söylediler tam olarak hatırlayamiyorum şu an. Peki dedim arıza kayıtlarına bakın ben sizi ne zaman aramışım. Öyle bir kayıt da yok. Yani onların taraftaki kayıtlara göre ben aramamışım, onlar cevap vermemiş ve beni aramamış (acaba turk telekom da gelmemis mi). Yani geçmişte arızadan dolayı aramızda bir konuşma geçmemiş SuperOnline ile. Böyle diyorlar.

DigiTurk için de beni superonline aramamiş, hediye de etmemis. Yine bu şekilde söylüyorlar. Ne yapacağız dedim. hız probleminizle EN KISA ZAMANDA (kısanın anlamı ve süresi belirsiz) ilgileneceklerini, diğer problemim için DigiTurk'u aramam gerektiğini söylediler.


Derdine Dert Ekle:

DigiTurk'u aradım. SuperOnline 12 aylık ücretsiz bir yayın hediye etti, ama yayını borcundan dolayı kesildi dedim.

Bizim boyle bir kampanyamız yok dediler. 24 ay var , ucretli kampanyalar dediler. Sizi ilk kim aradı diye sordular. Superonline aradı ama aramadıklarını soyluyorlar diyerek ayni seyleri tekrar anlattım. İnceleyeceklerini soylediler. Yine tabii ki EN KISA ZAMANDA.

Ben de bu ülkede çeşitli firmalarla tebrübelerimden dolayı bu bekleme sürecinde derdimi şikayet var, beyaz masa ve sosyal medyada video ve yazılar aracılığıyla olabildiğince çevreme anlatmam gerektiğini, bu şekilde ilerlemeyince hiç bir firmanın insanların mağduriyetlerine çözüm üretmediğini düşündüğümü, en kısa zamanda üretilecek çözümün ardından da aynı ortamlarda teşekkür videomu ve yazımı paylaşacağımı söyledim ve ilgili birime bu düşüncelerimi de iletmelerini istedim.

DigiTurk kesilen yayını bu telefon görüşmesinden sonra hemen aktif ederek ilk teşekkürü aldı ama SuperOnLine ile neler yaşayacağım hiçbir fikrim yok. Görüşmeyi yaptığınız günü ve saati söylerseniz kayıtları dinleyelim diyorlar. Ama kayıtlarınıza bakın dediğimde beni en son 1 yıl önce aradıklarını ve aramızda başka görüşme olmadığını söylüyorlar. Yani benimle hiç görüşülmemiş ise, hiç kayıt yoksa, ben Turkcell'den kayıtları çıkartıp zamanı bulsam bile yok dediğiniz kayıtları nasıl bulacaksınız onu da anlayamadım. Ben çözüm beklerken onlar bana yeni bir task verip problemi erteliyorlar sadece. Superonline tarafında çözüm üretilmesine dair bir çalışma başlatmamış oldular bu konuşmalar sonrasında.

Artık DigiTurk'ten çıkacak kayıtlarla geriye doğru iz sürerek ilerleyeceğiz.

Şikayet Var platformunda da yazmak istedim ama şikayet için karakter sınırı koyulmuş.
Detaylıca yazamadım. Şimdi şikayet var platformunda yazdığım şikayetin altına "Konu ile ilgili gerekli tüm incelemeler yapılacak ve müşterimize bilgi verilecektir." yazacaklar böylece şikayet var platformunda soru cevaplanmış sayılacak. Şu telefondan her türlü talebinizi bize iletebilirsiniz yazacaklar, iletince de aylarca çözüm olmayacak ya da sonunda problem bizde değil diyerek süreci sonlandıracaklar. Geçmiş tecrübelerden dolayı çözüme inancım yok ama bir ihtimal belki çözerler de teşekkür ederiz diye yazıyoruz işte.

Bu arada şikayet var platformunda şikayetin yayına alınması için 24 saatten geri sayan bir sayaçla karşılaştım. Eskiden de böyle miydi? Her firma için böyle mi? Yoksa şikayet var platformuna ödeme yapan firmalar şikayetlerin görülmesini bir süre erteleyebiliyor mu? Platformun da yabancısıyım oradaki süreci çözemedim henüz.

25 Temmuz 2017 Salı

Açık Akademi Kütüphane Yazılım Eğitimleri PDF İçerikler

Açık Akademi Kütüphane alanında yer alan içeriklere erişim sıkıntısı olduğuna dair çok sayıda mail ve mesaj alıyorum. Artık mesajlara tek tek yetişmem mümkün olmayan bir hal aldı. Herkese faydalı olabileceğini düşünerek topluca cevap verebilmek adına bu postu yazıyorum.

Öğrencilerimizden birinin paylaştığı linkleri de sizlerle paylaşıyorum. Kütüphane alanı yeniden faaliyete geçene kadar dosyalara aşağıdaki linklerden erişebilirsiniz. Umarım en kısa zamanda erişim sorunu çözülür. Herkese iyi çalışmalar.


Bilgisayar Programcılığına Giriş
Akış Şeması Nedir?
İNDİR

Bilgisayar Programcılığına Giriş
.NET Uygulama Geliştirme
İNDİR

Temel Programlama
Merhaba Dünya
İNDİR

Temel Programlama
Değişkenler ve Veri Tipleri
İNDİR

Temel Programlama
Visual Studio Kullanımı - Kontrol Yapıları
İNDİR

Temel Programlama
Diziler ve Metotlar
İNDİR

Temel Veri Tabanı
Veri Tabanına Giriş ve Temel Veri Tabanı Kavramları
İNDİR

Temel Veri Tabanı
Veri Tabanı Sorgulama ve Programlama Nesneleri
İNDİR

İleri Programlama
İleri Programlama ve Nesne Yönelimli Programlama
İNDİR

Veri Tabanı Programlama / Veriye Erişim
ADO.NET ile Veriye Erişim
İNDİR

Veri Tabanı Programlama / Veriye Erişim
LinQ ile Sorgulama / LinQ-to-SQL
İNDİR

Web Uygulaması Geliştirme / ASP.NET

HTML ve CSS ile Web Dünyasına Giriş
ASP.NET Giriş: Web Uygulamaları ve Web Kontrolleri
ASP.NET Doğrulama Kontrolleri ve Kullanıcı Tanımlı Kontroller
ASP.NET Veriye Erişim ve Navigasyon
ASP.NET Durum Yönetimi ve Temalar
ASP.NET Güvenlik ve Üyelik Yönetimi
ASP.NET AJAX

Web Uygulaması Geliştirme / ASP.NET alanındaki konulara ait PDF kayıtlarına buradan ulaşabilirsiniz.

İNDİR

Windows 8 Uygulama Geliştirme
Windows 8 Metro Stil Uygulama Geliştirme Ortamı ile Tanışmak
İNDİR

Windows 8 Uygulama Geliştirme
Windows 8 Veri Navigasyon İşlemleri
İNDİR

Windows 8 Uygulama Geliştirme
Windows 8 Metro Stil Uygulamalarda Görsel Öğeler
İNDİR

24 Temmuz 2017 Pazartesi

Günlük Scrum (Daily Scrum) Nedir?

Günlük Scrum (Daily Scrum)

Günlük Scrum, Geliştirme Takımının faaliyetleri hakkında takım üyelerinin birbirlerine bilgi verdiği ve takımın önündeki 24 saat için bir plan oluşturduğu, 15 dakikayla sınırlı bir etkinliktir. Bu toplantıda bir önceki Günlük Scrumdan beri yapılan iş gözlemlenir ve sonraki toplantıya kadar yapılabilecek işler planlanır. Günlük Scrum karmaşıklığı azaltmak için her gün aynı yer ve zamanda düzenlenir. Toplantıda Geliştirme Takımı üyeleri şu soruları cevaplar:

  • Geliştirme Takımının Sprint Hedefine ulaşması için dün ne yaptım?
  • Geliştirme Takımının Sprint Hedefine ulaşması için bugün ne yapacağım?
  • Beni veya Geliştirme Takımını Sprint Hedefine ulaşmaktan alıkoyacak bir engel görüyor muyum?

Geliştirme Takımı, Sprint Hedefine doğru ilerlemeyi ve Sprint İş Listesindeki işlerin tamamlanma durumlarının nasıl bir eğilim gösterdiğini anlamak için Günlük Scrumı kullanır. Günlük Scrum, Geliştirme Takımının Sprint Hedefini gerçekleştirme ihtimalini güçlendirir. Geliştirme Takımı her gün Sprint Hedefine ulaşmak ve beklenen Ürün Parçasını Sprint sonuna kadar üretmek için birlikte kendini yöneten bir ekip olarak nasıl çalışması gerektiğini anlamalıdır. Geliştirme Takımı veya takım üyeleri Günlük Scrumın hemen ardından ayrıntılı olarak tartışmak, Sprintin kalan işini yeniden planlamak veya adapte etmek için sıklıkla bir araya gelirler.

Scrum Master Geliştirme Takımının toplantıyı yapmasını temin eder fakat Günlük Scrumı yürütmek Geliştirme Takımının sorumluluğudur. Scrum Master, Geliştirme Takımına Günlük Scrumı 15 dakikayla sınırlı tutmasını öğretir.

Scrum Master, Günlük Scruma sadece Geliştirme Takımının katılması kuralının herkes tarafından benimsenmesini sağlar.

Günlük Scrumlar iletişimi iyileştirir, başka toplantılara olan ihtiyacı ortadan kaldırır, geliştirmenin önündeki engellerin tespit edilmesini sağlar, hızlı karar almayı teşvik eder ve Geliştirme Takımının bilgi seviyesini artırır. Bu etkinlik kilit bir gözlem ve adaptasyon toplantısıdır.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

23 Temmuz 2017 Pazar

qBittorrent Torrent Client

Uzun zamandır torrent indirmemişim. Bir sitenin torrent üzerinden sunduğu içerik için, torrent client ihtiyacım oldu. Açık kaynak reklamsız bir şey bulabilir miyim diye hızlıca bakarken qBittorrent çarptı gözüme.



https://www.qbittorrent.org/ adresinden indirilebilir client reklamsız.
Bu özellik bana yetti ve aramayı bıraktım.
İndirip kullanmaya başladım.

HTML Nedir? CSS Nedir?

HTML vs. HTML + CSS
disable-HTML isimli Chrome eklentisi ile web sayfaları yüklenirken CSS'i açıp kapatabilirsiniz ve aynı sitenin CSS olmadan nasıl gözüktüğünü gözlemleyebilirsiniz.

22 Temmuz 2017 Cumartesi

Açık Akademi Kütüphane / Web Uygulaması Geliştirme / Yazılım Eğitimleri PDF İçerikler

Açık Akademi Kütüphane alanında yer alan içeriklere erişim sıkıntısı olduğuna dair çok sayıda mail ve mesaj alıyorum. Artık mesajlara tek tek yetişmem mümkün olmayan bir hal aldı. Herkese faydalı olabileceğini düşünerek topluca cevap verebilmek adına bu postu yazıyorum.

Öğrencilerimizden birinin paylaştığı linkleri de sizlerle paylaşıyorum. Kütüphane alanı yeniden faaliyete geçene kadar dosyalara aşağıdaki linklerden erişebilirsiniz. Umarım en kısa zamanda erişim sorunu çözülür. Herkese iyi çalışmalar.

Web Uygulaması Geliştirme konusundaki dokümanları aşağıdaki linklerden indirebilirsiniz. Diğer konular için de buradaki sayfa işinizi görecektir.

Web Uygulaması Geliştirme / ASP.NET
HTML ve CSS ile Web Dünyasına Giriş
İNDİR

Web Uygulaması Geliştirme / ASP.NET
ASP.NET Giriş: Web Uygulamaları ve Web Kontrolleri
İNDİR

Web Uygulaması Geliştirme / ASP.NET
ASP.NET Doğrulama Kontrolleri ve Kullanıcı Tanımlı Kontroller
İNDİR

Web Uygulaması Geliştirme / ASP.NET
ASP.NET Veriye Erişim ve Navigasyon
İNDİR

Web Uygulaması Geliştirme / ASP.NET
ASP.NET Durum Yönetimi ve Temalar
İNDİR

Web Uygulaması Geliştirme / ASP.NET
ASP.NET Güvenlik ve Üyelik Yönetimi
İNDİR

Web Uygulaması Geliştirme / ASP.NET
ASP.NET AJAX
İNDİR

21 Temmuz 2017 Cuma

SCRUM Sprint Planlama: Sprint Hedefi (Sprint Goal)

SCRUM Sprint Planlama: Sprint Hedefi (Sprint Goal)


Sprint Hedefi, bir Sprint için belirlenen ve Ürün İş Listesinin yani Sprint İş Listesinin tamamlanması durumunda ulaşılabilecek amaçtır. Geliştirme Takımına neden ilgili Ürün Parçasını geliştireceğiyle ilgili rehberlik eder. Sprint Planlama toplantısında belirlenir. Sprint Hedefi Geliştirme Takımına Sprintte geliştirilen işlevsellikle ilgili biraz esneklik sunar. Sprint Hedefi, seçili Ürün İş Listesi kalemlerinin birbiriyle ilişkili ve bütünsel bir işlev olarak ifade edilmesidir. Sprint Hedefi, Geliştirme Takımını farklı girişimlerde bulunmak yerine birlikte çalışmaya sevk edecek, üzerinde çalıştıkları parçaların aynı bütüne hizmet ettiğini ifade eden herhangi bir şey olabilir.

Geliştirme Takımı çalışırken Sprint Hedefini aklından çıkarmaz. Sprint Hedefine ulaşmak için gereken fonksiyonları ve teknolojiyi geliştirir. Eğer Sprint içerisinde iş, Geliştirme Takımının öngördüğünden farklılaşmaya başlarsa, Takım Ürün Sahibiyle iş birliği yaparak Sprint İş Listesinin kapsamını müzakere eder.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

19 Temmuz 2017 Çarşamba

Scrum Sprint Planlama: Mevcut Sprint için Seçilen İş Nasıl Yapılacak?

Scrum Sprint Planlama: Mevcut Sprint için Seçilen İş Nasıl Yapılacak?

Sprint Hedefini belirleyen ve Sprinte alınacak Ürün İş Listesi kalemlerini seçen Geliştirme Takımı bu işlevselliği Sprint boyunca nasıl “Bitti” durumundaki bir Ürün Parçasına dönüştüreceğine karar verir. Sprint için seçilen Ürün İş Listesi kalemleri ve bunları teslim etmek için hazırlanan plana birlikte Sprint İş Listesi denir.

Geliştirme Takımı, genellikle Ürün İş Listesini çalışan bir Ürün Parçasına dönüştürmek için gerekli olan işi ve sistemi tasarlayarak başlar. İşler farklı büyüklükte veya tahmin edilen eforlarda olabilir. Ancak Geliştirme Takımı Sprint Planlamada önündeki Sprintte yapabileceğine inandığı kadar işi tahmin ederek üzerine alır. Toplantının sonunda Sprintin ilk günlerinde yapılması planlanan iş ayrıntılı bir şekilde ifade edilir ve çoğu zaman bir gün veya daha kısa sürecek parçalara bölünür. Geliştirme Takımı, hem Sprint Planlamada hem Sprint boyunca gerekli oldukça, Sprint İş Listesinden iş almak için kendi kendine organize olur.

Ürün Sahibi, seçilen Ürün İş Listesi kaleminin anlaşılmasına ve doğru seçimin yapılmasına yardım edebilir. Eğer Geliştirme Takımı çok az veya çok fazla işi olduğunu düşünürse, seçilmiş olan Ürün İş Listesi kalemlerini Ürün Sahibi ile tekrar müzakere edebilir. Geliştirme Takımı toplantıya teknik veya uzmanlık tavsiyesi vermek üzere başka kişileri davet edebilir.

Geliştirme Takımı, Sprint Planlamanın sonunda Ürün Sahibine ve Scrum Mastera Sprint Hedefine ulaşmak ve beklenen Ürün Parçasını oluşturmak için nasıl kendini yöneten bir takım olarak çalışacağını açıklayabilmelidir.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

18 Temmuz 2017 Salı

Scrum Sprint Planlama: Mevcut Sprintte Ne Yapılabilir?

Scrum Sprint Planlama: Mevcut Sprintte Ne Yapılabilir?

Geliştirme Takımı, Sprint boyunca geliştirilecek fonksiyonları öngörmek için çalışır. Ürün Sahibi, Sprintin başarması gereken amacı ve (Sprintte tamamlanırsa) Sprint Hedefini gerçekleştirecek Ürün İş Listesi kalemlerini tartışır. Tüm Scrum Takımı Sprintin işini anlamak üzere birlikte çalışır.

Sprint Planlama toplantısının girdileri Ürün İş Listesi, son çıkan Ürün Parçası, Geliştirme Takımının Sprintte harcayacağı kapasite tahmini ve Geliştirme Takımının geçmiş performansıdır. Ürün İş Listesinden kaç tane kalemi alacağına Geliştirme Takımı karar verir. Sadece Geliştirme Takımı önündeki Sprintte ne kadar işi yapabileceğini tartabilir.

Geliştirme Takımı, Sprintte teslim edeceği Ürün İş Listesi kalemlerini planladıktan sonra Scrum Takımı Sprint Hedefini oluşturur. Sprint Hedefi, Ürün İş Listesinin Sprint boyunca uygulanmasıyla ulaşılacak amaçtır ve Geliştirme Takımına Ürün Parçasını neden geliştirdiğiyle ilgili rehberlik eder.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

16 Temmuz 2017 Pazar

Scrum Etkinlikleri: Sprint Planlama (Sprint Planning)

Scrum Etkinlikleri: Sprint Planlama (Sprint Planning)

Sprintte yapılacak iş Sprint Planlama toplantısında planlanır. Tüm Scrum Takımı planı birlikte oluşturur.

Sprint Planlama, bir aylık Sprint için 8 saatle sınırlıdır. Daha kısa Sprintler için, etkinlik genellikle daha kısadır.

Scrum Master, etkinliğin yapılmasını ve katılımcıların etkinliğin amacını anlamasını sağlar. Scrum Master, Scrum Takımına bu etkinliğin zaman sınırını aşmamasını öğretir.

Sprint Planlama şu sorulara cevap verir:
  • Başlayan Sprintte Ürün Parçası olarak ne teslim edilebilir?
  • Ürün Parçasını teslim etmek için gerekli olan iş nasıl başarılacak?
Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

14 Temmuz 2017 Cuma

Scrum: Bir Sprintin İptal Edilmesi

Scrum: Bir Sprintin İptal Edilmesi

Bir Sprint zaman sınırına ulaşılmadan iptal edilebilir. Sadece Ürün Sahibi, Sprinti iptal etme yetkisine sahiptir. Ancak paydaşlar, Geliştirme Takımı veya Scrum Master, Ürün Sahibini bu kararı alması yönünde etkileyebilir.

Bir Sprint, Sprint Hedefine ulaşmak anlamını kaybettiğinde iptal edilebilir. Bu durum kurum yön değiştirdiğinde veya pazar ve teknoloji koşulları değiştiğinde söz konusu olabilir. Genel olarak, bir Sprint mevcut koşullarda artık bir anlam ifade etmiyorsa iptal edilmelidir. Fakat Sprintler kısa süreli olduğu için iptal kararı nadiren bir anlam ifade eder.

Bir Sprint iptal edildiğinde, bitirilen ve “Bitti” durumundaki Ürün İş Listesi kalemleri gözden geçirilir. Eğer işin bir kısmı yayın potansiyeline sahipse, Ürün Sahibi bunu genellikle kabul eder. Bitmemiş tüm kalemler yeniden tahmin edilerek Ürün İş Listesine geri konulur. Bu maddeler üzerinde yapılan çalışmalar hızla değer kaybeder ve sıkça yeniden tahmin edilmelidir.

Herkesin yeni bir Sprinti başlatmak üzere bir Sprint Planlama toplantısı daha yapması gerektiğinden Sprint iptalleri kaynak tüketir. Sprint iptalleri çoğunlukla Scrum Takımı için sarsıcıdır ve nadiren gerçekleşir.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

13 Temmuz 2017 Perşembe

Scrum Etkinlikleri: Sprint Nedir?

Scrum Etkinlikleri: Sprint

Bir ay veya daha az zaman sınırı olan, içerisinde “Bitti” durumunda, kullanılabilir ve potansiyel olarak yayınlanabilir bir Ürün Parçasının oluşturulduğu Sprint, Scrumın kalbidir. Baştan sona bir geliştirme çalışması boyunca Sprintlerin süresi sabittir. Önceki Sprint biter bitmez yeni Sprint başlar.

Sprintler; Sprint Planlama, Günlük Scrumlar, geliştirme işi, Sprint Değerlendirme ve Sprint Retrospektifinden oluşur.

Sprint boyunca:
  • Sprint Hedefini tehlikeye sokacak hiçbir değişiklik yapılmaz,
  • Kalite hedefleri düşmez,
  • Daha fazla bilgi edindikçe Ürün Sahibi ve Geliştirme Takımı arasında kapsam netleştirilebilir ve yeniden müzakere edilebilir.
Her bir Sprint bir aydan uzun bir ömrü olmayan bir proje olarak düşünülebilir. Projeler gibi Sprintler de bir şeyi başarmak için kullanılır. Her bir Sprintin, neyin üretileceğine ilişkin bir tanımı, üretime rehberlik edecek bir tasarımı ve esnek bir planı, işin kendisi ve sonuçta ortaya çıkacak olan ürünü vardır.

Sprintler bir takvim ayıyla sınırlıdır. Sprintin süresi çok uzun olursa üretilecek şeyin tanımı değişebilir, karmaşıklık ve risk artabilir. Sprintler, en az bir takvim ayında bir, Sprint Hedefine doğru ilerleyişi gözlemlemeyi ve adapte etmeyi temin ederek öngörülebilirliği mümkün kılar. Ayrıca Sprintler riski bir takvim ayının maliyetiyle sınırlar.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

12 Temmuz 2017 Çarşamba

C# Sorusu: Delege (Delegate), Olay (Event) ve Metot (Method)

Facebook üzerinde cevapladığım bir soruyu başkalarına da faydalı olabileceğini düşünerek burada da paylaşıyorum.

SORU:
İkisi arasındaki fark nedir?
> MyEvent += new MyDel(MyMethod);
> MyEvent += MyMethod;

CEVAP:
C# dilinde bu iki kullanım arasında fark yok.

İlk kullanım, nizami bir kullanım şeklidir. Metodu temsil edecek bir delege örnekleniyor ve olaya bağlanıyor.

Alttaki yazım şekli ile de aynı şeyi yapıyoruz. Bu kullanım derleyici tarafından üstteki gibi derlenecektir. Bir nevi kısa yazım şekli gibi düşünülebilir. Olayda kullanılan delegenin imzası ile olaya bağlanmak istenen metodun imzası aynı olduğu sürece derleyici delegeyi örnekleyecek şekilde işlem yapılmasını sağlayacaktır.

Yani; ikinci kullanım, daha az tuş basımı, daha sade, daha anlaşılır ve rahat okunabilir bir kod yazımı sağlayarak aynı işlevselliği sunuyor.

11 Temmuz 2017 Salı

Scrum ve Agile Aynı Şey Değildir! Ne Fark Var?

Scrum ve Agile arasındaki benzerlik ve farkı doğru şekilde tanımlamak için öncelikle Agile nedir bunu bilmek gerekiyor.

Agile

Agile, değişime hızlı ve etkin bir şekilde uyum sağlama yeteneği, kapasitesi ve esnekliğidir.
Agile Manifesto bu şekilde tanımlıyor Agile'ı.

Nedir bu Agile Manifesto? Temel olarak ne anlatır?

Agile Manifesto, yazılım geliştirme projelerinin geliştirme sürecinde;
bireyler ve bireyler arasındaki ilişkilerin, süreçler ve kullanılan araçlardan,
çalışan bir yazılımın, kapsamlı bir dokümantasyondan,
müşteri ile iş birliği içerisinde olmanın, sözleşme pazarlığı yapmaktan,
değişime cevap vermenin, bir planı takip etmekten daha önemli olduğunu söylüyor.

Scrum ve Agile

Agile tanımını yaptıktan sonra, Scrum'dan bahsedelim. Scrum, Agile yaklaşımlardan birisidir. Pek çok Agile yaklaşım bulunuyor. Fakat, Scrum günümüzde en çok kullanılan Agile yaklaşımıdır diyebiliriz.

Diğer yaklaşımlara ismen değinmek gerekirse, Extreme Programming (XP), Dynamic Systems Development Method (DSDM), Feature-Driven Development (FDD), Lean, DevOps, Kanban var. Bu yaklaşımların tamamı Agile Manifesto altında işleyen ve Agile değerlerine bağlı yaklaşımlardır.

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

10 Temmuz 2017 Pazartesi

Scrum Etkinlikleri (Scrum Events) Nelerdir? Amaçları Nedir?

Scrum Etkinlikleri (Scrum Events)

Scrum Etkinlikleri aşağıda maddeler halinde sıralanmıştır;

  • Sprint
  • Sprint Planlama (Sprint Planning)
  • Günlük Scrum (Daily Scrum)
  • Sprint Değerlendirme (Sprint Review)
  • Sprint Retrospektifi (Sprint Retrospective)

Scrum etkinlikleri, Scrumda tanımlı olmayan toplantı ihtiyacını asgari seviyeye düşürmek ve düzenlilik sağlamak için kullanılır. Tüm etkinlikler, her bir etkinliğin azami süresi olacak şekilde zaman sınırlıdır (time-boxed). Bir Sprint başladığında, süresi sabittir; kısaltılamaz veya uzatılamaz. Diğer etkinlikler, amaçlarına ulaşıldığında son bulur ve böylece süreçte israfa meydan vermeyecek şekilde uygun bir zamanın harcanması sağlanır.

Sprintin yanı sıra içinde barındırdığı diğer etkinlikler de gözlem ve adaptasyon için resmî birer fırsattır. Bu etkinlikler, büyük öneme sahip olan şeffaflığı ve gözlemi mümkün kılmak için özel olarak tasarlanmıştır. Bu etkinliklerin birini bile kullanmamak, şeffaflığı azaltır; gözlem ve adaptasyon için bir fırsatın kaybedilmesi anlamına gelir.

Kaynak: Scrum Kılavuzu

Scrum ile ilgili geçmiş yazılara ulaşmak için tıklayınız.

8 Temmuz 2017 Cumartesi

Analitik Düşünme

ANALİTİK DÜŞÜNME



Analitik Düşünme ve düşünce kavramları ne demektir?
Analitik düşünmeyi nasıl öğrenebiliriz?

Bir mühendisin sahip olması gereken en önemli özelliklerden birisidir.

TypeScript Giriş Dersinden Ders Notları

TypeScript Giriş Dersinden Ders Notları

TypeScript kullanarak yazdığımız kodlar;
TypeScript ile yazılan kodların JavaScript karşılıkları;

7 Temmuz 2017 Cuma

Scrum Master'ın Organizasyona Hizmetleri Nelerdir?

Scrum Master'ın Organizasyona Hizmetleri

Scrum Master, aşağıdaki hususları içerecek şekilde farklı yollarla organizasyona hizmet eder:

  • Organizasyona Scrumı benimsemesinde liderlik ve koçluk etmek
  • Organizasyondaki Scrum uygulamalarını planlamak
  • Çalışanlara ve paydaşlara Scrumı ve deneysel ürün geliştirmeyi anlamalarında ve uygulamalarında yardım etmek
  • Scrum Takımının üretkenliğini artıracak değişimi başlatmak
  • Organizasyondaki Scrum uygulamalarının etkililiğini artırmak üzere diğer Scrum Masterlarla birlikte çalışmak

Kaynak: Scrum Kılavuzu

6 Temmuz 2017 Perşembe

Scrum Master'ın Geliştirme Takımına Hizmetleri Nelerdir?

Scrum Master'ın Geliştirme Takımına Hizmetleri

Scrum Master, aşağıdaki hususları içerecek şekilde farklı yollarla Geliştirme Takımına hizmet eder:

  • Geliştirme Takımına kendini yönetme ve çapraz fonksiyonluluk konularında koçluk etmek
  • Geliştirme Takımına yüksek değerli ürünleri oluşturmasında yardım etmek
  • Geliştirme Takımının ilerlemesine engel oluşturan unsurları ortadan kaldırmak
  • İhtiyaç duyulduğu veya istendiği takdirde Scrum etkinliklerini yönetmek
  • Scrumın henüz tam olarak benimsenmediği ve anlaşılmadığı organizasyonlarda Geliştirme Takımına koçluk etmek
Kaynak: Scrum Kılavuzu

Visual Studio Code (VSCode) ile Kod Satırlarını Formatlamak

SORU: Visual Studio içerisinde yazdığımız kodları formatlamak için CTRL + K + D ya da CTRL + K + F kısayollarını kullanıyorduk. Visual Studio Code ile çalışırken hangi tuş kombinasyonu ile bu işi gerçekleştirebiliriz?

CEVAP:
Windows İşletim Sistemi üzerinde SHIFT + ALT + F tuş kombinasyonu kullanılabilir.
MAC için SHIFT + Option + F
Ubuntu Linux için ise CTRL + SHIFT + I
Ayrıca; kodları yazdığımız alana sağ tıklayıp, menüden "Format Document" seçeneğini seçerek de dokümanımızı formatlayabiliriz.

Visual Studio Code içerisinde herhangi bir işlem için kısayol tuşlarını bulmak isterseniz;
Windows için CTRL + SHIFT + P,
MAC için Command + SHIFT + P tuş kombinasyonlarını kullanarak arama penceresini açabilirsiniz.
Bu pencerede örneğin; "format document" yazarak arama yapabilir ve kısayol tuş kombinasyonlarını öğrenebilirsiniz.

Neden fare yerine kısayol tuşları tercih edilir?
Fare kullanımı, klavye ile çalışan kişiyi yavaşlatacaktır. Klavye üzerinde 2 eli kullanarak kod yazarken, ellerden birini kaldır, fareyi kod alanına götür, fareye tıkla, menü öğesine doğru hareket ettir, tekrar tıkla, fareyi ekrandan çek, yazdığın kod satırına geri dön. Bu süreçte acı çekmektense klavye kısayolu bana daha kolay geliyor.

Ama Photoshop gibi bir elin zaten fare üzerinde olduğu ortamlarda yapılacak işin kolaylığı ya da zorluğuna göre bazen fare, bazen de klavye kısayolları tercih ediyorum.

5 Temmuz 2017 Çarşamba

Scrum Master'ın Ürün Sahibine Hizmetleri Nelerdir?

Scrum Master'ın Ürün Sahibine Hizmeti

Scrum Master, aşağıdaki hususları içerecek şekilde farklı yollarla Ürün Sahibine hizmet eder:

  • Ürün İş Listesini etkili bir şekilde yönetebilmesi için teknikler bulmak
  • Scrum Takımına, anlaşılır ve kısa Ürün İş Listesi kalemlerine ihtiyaç olduğunu anlamalarında yardımcı olmak
  • Deneysel bir ortamda ürün planlamayı anlamak
  • Ürün Sahibinin değeri en üst seviyeye çıkarması için Ürün İş Listesini nasıl düzenleyeceğini bilmesini sağlamak
  • Çevikliği anlamak ve uygulamak
  • İhtiyaç duyulduğu veya istendiği takdirde Scrum etkinliklerini yönetmek

Kaynak: Scrum Kılavuzu

4 Temmuz 2017 Salı

Scrum Takımında Scrum Master Kimdir? Ne İş Yapar?

Scrum Master, Scrumın anlaşılmasını ve uygulanmasını temin etmekle sorumludur. Scrum Masterlar bu sorumluluklarını Scrum Takımının Scrum teorisine, pratiklerine ve kurallarına uyulmasını sağlayarak yerine getirir.

  • Scrum Master, Scrum Takımı için bir hizmetkâr liderdir.
  • Scrum Master, Scrum Takımıyla olan hangi etkileşimlerinin faydalı olup olmadığını anlamaları konusunda başkalarına yardım eder.
  • Scrum Master, Scrum Takımınca üretilen değerin en üst seviyeye çıkması için herkese bu etkileşimleri değiştirmelerinde yardımcı olur. 

Kaynak: Scrum Kılavuzu

Scrum Master hizmetkardır. Scrum Masterın, Ürün Sahibine, Geliştirme Takımına ve Organizasyona hizmetleri olur. Bu hizmetlerle ilgili bilgiler bir sonraki yazıda geliyor olacak...

3 Temmuz 2017 Pazartesi

Scrum Geliştirme Takımı Kaç Kişiden Oluşmalıdır? Büyüklüğü Ne Olmalıdır?

Scrum Geliştirme Takımının Büyüklüğü Ne Olmalıdır?

En uygun Scrum Geliştirme Takımı büyüklüğü, hızlı davranabilecek kadar küçük ve bir Sprintte anlamlı bir işi bitirebilecek kadar büyük olmalıdır.

Üçten az takım üyesi etkileşimi azaltır ve üretkenlik artışını sınırlar. Küçük takımlar, Sprint boyunca beceri kısıtlarıyla karşılaşarak potansiyel olarak yayınlanabilir bir Ürün Parçası teslim etmekte başarısız olabilir.

Dokuzdan fazla üyesi olan bir takım ise çok fazla koordinasyona ihtiyaç duyar. Büyük Geliştirme Takımları deneysel bir süreçte yönetilebilecekten daha fazla karmaşıklığa neden olur.

Ürün Sahibi ve Scrum Master, Sprint İş Listesindeki işi yapmadıkları sürece bu sayıya dâhil değildir.

Kaynak: Scrum Kılavuzu

2 Temmuz 2017 Pazar

Scrum Geliştirme Takımı (Development Team) Kimlerdir? Ne İş Yaparlar?

Scrum Geliştirme Takımı, her bir Sprintin (iterasyon) sonunda ürünün “Bitti” tanımına uyan ve potansiyel olarak yayınlanabilir (releasable) bir parçasını teslim etmekten sorumlu olan profesyonellerden oluşur. Ürün Parçasını sadece Geliştirme Takımının üyeleri geliştirir.

Geliştirme Takımları, kendi işlerini düzenlemek ve yönetmek için organizasyon tarafından kurulan ve yetkilendirilen takımlardır. Ortaya çıkan sinerji, Geliştirme Takımının toplam verimliliğini ve etkililiğini en üst seviyeye çıkarır.

Geliştirme Takımlarının özellikleri şunlardır:

  • Kendi kendilerini yönetirler. Hiç kimse (Scrum Master dahi) Geliştirme Takımına Ürün İş Listesini potansiyel olarak yayınlanabilir Ürün Parçalarına nasıl dönüştüreceğini söyleyemez.
  • Geliştirme Takımları çapraz fonksiyonludur; bir Ürün Parçası oluşturmak için gerekli tüm becerilere sahiptir.
  • Scrum, Geliştirme Takımı üyeleri için Geliştiriciden başka hiçbir unvanı tanımaz; kişinin ne iş yaptığına bakılmaz ve bunun hiçbir istisnası yoktur.
  • Scrum, Geliştirme Takımı içinde hiçbir alt takıma izin vermez; test veya iş analizi gibi özel uzmanlıklara bakılmaz ve bunun hiçbir istisnası yoktur.
  • Geliştirme Takımı üyelerinin uzmanlaştıkları belli beceriler veya odak alanları olabilir fakat sorumlu olan her zaman Geliştirme Takımıdır. 

Kaynak: Scrum Kılavuzu

1 Temmuz 2017 Cumartesi

Scrum Takımında Ürün Sahibi (Product Owner) Kimdir? Ne İş Yapar?

Scrum takımında Ürün Sahibi, Geliştirme Takımının işini ve ürünün değerini en üst seviyeye çıkarmakla sorumludur. Bunun nasıl yapılacağı ise organizasyonlar, Scrum Takımları ve bireyler arasında farklılık gösterebilir.

Ürün Sahibi, Ürün İş Listesini (Product Backlog) yönetmekle sorumlu olan tek kişidir. Ürün İş Listesi yönetimi şunları içerir:

  • Ürün İş Listesi kalemlerini açıkça ifade etmek
  • Ürün İş Listesindeki kalemleri, hedeflerin ve görevlerin en iyi şekilde gerçekleştirilmesini sağlayacak şekilde sıralamak
  • Geliştirme Takımının ortaya koyduğu işin değerini en üst seviyeye çıkarmak
  • Ürün İş Listesinin herkes için görünür, şeffaf ve anlaşılır olmasını, Scrum Takımının ele alacağı sonraki işleri göstermesini sağlamak
  • Geliştirme Takımının Ürün İş Listesindeki kalemleri gerektiği kadar anlamasını temin etmek.

Ürün Sahibi, yukarıdaki işleri kendisi yapabilir veya Geliştirme Takımına yaptırabilir. Ancak sorumluluk her zaman Ürün Sahibindedir.

Ürün Sahibi bir kişidir; bir komite olamaz. Ürün Sahibi, bir komitenin isteklerini Ürün İş Listesine yansıtabilir fakat Ürün İş Listesindeki kalemlerin önceliğini değiştirmek isteyen her kimse Ürün Sahibine başvurmalıdır.

Ürün Sahibinin başarılı olabilmesi için kararlarının organizasyondaki herkesten saygı görmesi esastır. Ürün Sahibinin kararlarını görmek isteyenler Ürün İş Listesinin içeriğine ve sıralamasına bakabilir. Başka hiçbir kimse Geliştirme Takımına farklı bir iş listesi üzerinde çalışmasını söyleyemez. Geliştirme Takımının başka bir kimseden iş alma izni yoktur.

Kaynak: Scrum Kılavuzu

30 Haziran 2017 Cuma

Scrum Değerleri

Scrum Takımı taahhüt, cesaret, odak, açıklık ve saygı değerlerini bünyesinde barındırdığında ve yaşattığında, Scrumın şeffaflık, gözlem ve adaptasyon ayakları canlanarak herkes için güven oluşturur. Scrum Takımı üyeleri, Scrum etkinlikleri, rolleri ve eserleriyle çalıştıkça bu değerleri öğrenir ve keşfeder.

Scrum uygulamasının başarısı insanların bu beş değeri ustalıkla yaşatma becerisine bağlıdır. Scrum Takımındaki üyelerin her biri takım hedefini gerçekleştirmeyi taahhüt eder; Doğru şeyi yapmaya ve zorlayıcı sorunlar üzerinde çalışmaya cesaret eder; takımdaki herkes Sprint işine ve Scrum Takımının hedeflerine odaklanır. Scrum Takımı ve paydaşları yapılacak tüm işler ve bu bu işleri yaparken karşılaşılan zorluklar hakkında açık olmayı kabul eder. Scrum Takımının her bir üyesi diğer üyelere yetkin ve bağımsız insanlar olarak saygı duyar.

Kaynak: Scrum Kılavuzu

Javascript Kullanarak Input İçerisine Sadece Sayı Girilmesini Sağlamak

Javascript Kullanarak Input İçerisine Sadece Sayı Girilmesini Sağlamak

Yaş bilgisi girilecek olan bir alana klavyeden yalnızca sayı girilebilmesini istiyoruz. Harfler ya da diğer karakterler bu alana girilmemeli. Bunu sağlayabilmek için Javascript kullanacağız.

Yapmamız gereken her tuş basımında basılan tuşun bir rakam olup olmadığını denetlemek. Basılan tuş bir rakam ise yazılmasına izin vereceğiz. Rakam değilse, bu tuş basımının sonucunun ekranda gözükmesine izin vermemeliyiz. Basılan tuşun rakam olup olmadığını anlamak için keyCode değerlerini kontrol edeceğiz.

Oluşturacağımız formda bulunan input alanına yazılan karakterlerin silinebilmesine de izin vermeliyiz. Bu yüzden; yazacağımız kod, 0-9 arasındaki karakterler dışında, BackSpace (Silme) tuşunu da desteklemeli. Örnek kodlar aşağıda yer almaktadır.

28 Haziran 2017 Çarşamba

Ekran Klavyesi (On-Screen Keyboard) - Windows 10

Ekran Klavyesi Windows ile birlikte gelir.


Bazen klavyemizde çalışmayan tuşlar olduğunda hayat kurtarabilir.
Ekran klavyesini çalıştırmak için System32 klasöründe yer alan osk.exe kullanılır.
C:\Windows\System32\osk.exe

Scrum Teorisi / Deneysel Süreç Kontrol Teorisi

Scrum Teorisi

Scrumın temelinde deneysel süreç kontrol teorisi (veya deneycilik) yer alır. Deneycilik, bilginin deneyimden ve bilinen şeylere dayanarak alınan kararlardan meydana geldiğini ileri sürer. Scrum, öngörülebilirliği en iyi seviyeye çıkarmak ve riski kontrol etmek için iterasyonlu ve artımlı (incremental) bir yaklaşım kullanır.

Her deneysel süreç kontrol uygulaması üç ayakla desteklenir: şeffaflık, gözlem ve adaptasyon.

1) Şeffaflık

Çıktıdan sorumlu kişiler sürecin önemli kısımlarını izleyebilmelidir. Şeffaflık bu kısımların bir ortak standartla tanımlanmasını gerektirir. Bu sayede bakan kişiler gördüklerinden aynı şeyi anlarlar.

Örnek olarak:

  • Tüm katılımcılarla sürece ait ortak bir dil paylaşılmalı;
  • İşi yapanlar ve işin sonucunu bekleyenler ortak bir “Bitti” (Done) tanımına sahip olmalıdır.


2) Gözlem

Scrumı uygulayanlar, istenmeyen sapmaları tespit edebilmek için Scrum eserlerini ve Sprint Hedefine doğru ilerlemeyi sıkça gözlemlemelidir. Bu gözlemler, iş yapmaya engel olacak kadar sık olmamalıdır. Gözlemler, çalışma esnasında yetkin gözlemciler tarafından itinayla yapıldığında en çok faydayı sağlar.

3) Adaptasyon

Şayet bir gözlemci sürecin bir veya daha fazla kısmının kabul edilebilir sınırlar dışına çıktığını ve sürecin sonunda çıkacak ürünün kabul edilemez olacağını tespit ederse üzerinde çalışılan süreç veya ürün düzeltilmelidir. Düzeltme daha fazla sapmaya izin vermeden mümkün olan en yakın zamanda yapılmalıdır.

Scrum, gözlem ve adaptasyon için bu belgenin Scrum Etkinlikleri bölümünde tarif edilen dört resmî etkinliği (toplantıyı) zorunlu kılar:


  • Sprint Planlama (Sprint Planning)
  • Günlük Scrum (Daily Scrum)
  • Sprint Değerlendirme (Sprint Review)
  • Sprint Retrospektifi (Sprint Retrospective)


Kaynak: Scrum Kılavuzu

Scratch Sırt Çantası Nedir? Ne İşe Yarar? Nasıl Kullanılır?

Temel Scratch Eğitimi video serimizin 13. videosunda konularımız;

  • Scratch Sırt Çantası Nedir?
  • Scratch Sır Çantası Ne İşe Yarar?
  • Scratch Sır Çantası Nasıl Kullanılır?


Scratch Sırt Çantası ile Çalışmak from Ercan Bozkurt on Vimeo.