E-Bülten’e kayıt olun

E-Posta:



İş Takibiyle Barışmak: Güle Güle Redmine

Güle Güle Redmine, Merhaba Linear

İş Takibiyle Barışmak: Güle Güle Redmine

Eğer bir endüstri mühendisi olsaydım herhalde koluma ölçmediğin şeyi geliştiremezsin diye bir dövme yaptırmak isterdim. Gerçekten de bir işi ne kadar verimli yaptığınız, ne kadar zamanda yaptığınız ve hatta neden yaptığınıza dair verileri toplayıp ölçmezseniz, daimi kara düzende ilerlersiniz. Ben her ne kadar kendi hayatımı bu daimi kara düzen içinde ilerletsem de, sorumluluğumuz dışarıya olduğu yerlerde bu düzen her zaman çalışmıyor. İşte bu yüzden Artistanbul’da bizler yaptığımız her işin ardında bir kayıt bırakmaya, bu kayıtları düzenli tutmaya ve bunun üzerinden geleceğe dair kestirimlerde bulunmaya çalışıyoruz. Bu yazıda da daha önce tüm bu işler için kullandığımız Redmine yazılımını nasıl kullandığımızı ve kendisinden koşarak kaçmaya nasıl karar verdiğimizi, hatta daha iyisi yerine ne koyduğumuzu anlatmaya çalışacağım.

 

Yazılım nasıl geliştirilir?

Bir yazılımı kafalardaki bir fikirden ekranlardaki görüntülenir hale getirmenin artık neredeyse oturmuş ve endüstri standardı haline gelmiş birkaç yöntemi ve süreci var. Sürece bakacak olursak çok aşırı kabaca analiz, tasarım, gerçekleme, test ve teslim etme olarak aşamaları isimlendirebiliriz. Bu süreçlerden nasıl geçeceğiniz metodolojik olarak baktığımızda Waterfall’dan Agile’a birbirinden bir sürü pratik bulunuyor. Biz çeşitli sebeplerden dolayı, Artistanbul usulü çevik dediğim bir yöntem kullanıyoruz. Bir yandan oluşturduğumuz değeri bir an önce müşterimize teslim etmeye çalışıyoruz öte yandan da hâlâ bazı kötü alışkanlıklarımızı sürdürüyoruz. Bunlardan kurtulmak için de daha fazla otomasyon, daha fazla test ve daha fazla değer yaratılacak noktaya odaklanmak gibi hamlelerde kendimizce bulunuyoruz.

Çevikliği “Abi, kafa göz daldık bir haftada ne çıkardıysak onu çıkardık ama genel bir planımız da yok” gibi anlamıyoruz (umarım doğru anlıyoruzdur). O yüzden genel durumu kaçırmamak için bir yandan da sürekli olarak yaptığımız işleri takip etmeye ve kayıt altına almaya çalışıyoruz. Bu kayıt altına alma işi Artistanbul’da hem en çok yapılan ve üstünde kafa yorulan hem de muhtemelen çok yapıldığı için aynı zamanda en nefret edilen (yazarın öznel duygularıdır sayın patronum) süreçlerden biri-ydi! Taa ki Linear ile tanışana kadar.

 

Karanlık yıllar: Artistanbul Redmine kullanıyor

Biz yaptığımız her işi -en azından müşterilere- açık kaynak olarak geliştiren ve bununla övündüğümüz bir ekibiz. Bunun bir yan etkisi olarak da mümkün olduğu cihette kendi hayatımızda da açık kaynak yazılımlar kullanıyoruz ya da kullanmaya çalışıyoruz. Kahir ekseriyetin aksine ben illa açık kaynak kod yazılım kullanmamız gerektiğini düşünmüyorum, geliştirme yaparken ya da günlük hayatta. Elbette “sen kullanmazsam ben kullanmazsam nasıl gelişecek bu” diye düşünebiliriz ama bir yandan da sadece açık diye size ket vuracak ya da sizi yavaşlatacak bir yazılım da kullanmamalısınız. İşte bana göre Redmine ve bizim Redmine kullanma şeklimiz tam olarak yukarıdaki duruma bir örnek.

Redmine bilebildiğim kadarıyla Orta Çağ’ın sonlarında geliştirilmeye başlamış ve altın yıllarını Fransız İhtilali civarında yaşamış ama bir yandan da henüz ölmemiş bir yazılım. Biz Artistanbul’da yaklaşık 11 yıldır Redmine kullandık ve burada 16.000’in üstünde kayıt bıraktık. Bu kayıtlar bir müşteri için yazılım geliştirmekten ofise mutfak havlusu alınmasına kadar farklı spektrumlarda olan ve farklı kişileri ilgilendiren, kimisi haftalarca açık kalan kimiyse saniyeler içinde kapatılan kayıtlar olup, aynı zamanda bu şirketin bir manada kollektif hatıra arşivini de teşkil ediyordu. Peki, bu duruma rağmen biz neden Redmine kullanmaktan vazgeçtik? Temelde dört neden var:

Bunlardan ilki, Redmine’ın yazılımın Ganntt şemaları ile geliştirildiği bir dönemde yapılmış olması ve buna uygun tasarım kararlarının vermiş olması. Bu tasarım kararları nedeniyle her ne kadar bazı eklentiler denesek de üstüne çevik bir metodoloji oturtmaya çalıştığımız zaman bize istediğimiz tadı veremedi. Proje, sürüm, sprint ve iş bağlantısını yeterince kuramadık ya da biz beceremedik. Böylece kendimizi bir adım ileri atmaya çalıştığımız her şey Redmine’nın soğuk duvarlarına çarparak sönümlendi.

İkincisi, entegrasyon yoksunluğu oldu. Günlük hayatımızda bir sürü araç kullanıyoruz. Slack, Sentry, GitLab, Grafana ve diğer arkadaşlar bunlardan bazıları. Hepsi farklı durumlarda farklı bildirimler oluşturuyor ve biz bunları Slack’te toplamaya çalışıyoruz. Redmine bazı entegrasyonlar sunuyor olsa da ne yazık ki yapmaya çalıştığımız şeyler için bir noktada kendimiz entegrasyonlar yazmaya başladık. Sonrasındaysa (malumun ilanı) bunlara bakmaz ya da bakamaz hale geldik ve millet aya fezaya giderken biz arkalarından el sallar duruma geldik entegrasyon konusunda.

Üçüncü neden, iş takibi açısından fikirsel bir Rönesans yaşamamız oldu. Mevcut Redmine’da bir iş açmak için dereleri tepeleri aşmanız, dağlarda ejderhalarla savaşıp, prensi ya da prensesi kurtarmaya geldiğiniz aşamada da ÖSS’den biraz daha kolay ama az daha zahmetli bir formu doldurmanız gerekiyordu. Bu form -basit bir iş kaydı açmak için müşteriyi, müşterinin hangi uygulaması içinde olduğunuzu hatta bu yaptığınız işin hangi ülke için yapıldığını seçmenizi bile gerektiriyordu- ki tek başına bu durum, takımı üç büyükler önünde beklenmedik bir kontra golü ile 63. dakikada 1-0 öne geçmiş o dakikadan bu yana da 11 kişiyle ceza sahasına kapanan ama bir şekilde 94. dakikaya gol yemeden gelebilmiş olan Yılmaz Vural heyecanı ile “Hoca bitir hoca hocaaaa!” diye bağırmanıza neden oluyordu. Bunun üstüne bir de Redmine’ın ilişkisel alanlara yeterince izin vermemesi (şu seçildiği zaman bu alanı göster yoksa sal) gibi bir durum da eklenince, iş içinden iyice çıkılmaz bir hale geldi.

Fikirsel Rönesans ise durup düşünüp “Başkan, bunlara gerçekten ihtiyacımız var mı?” diye sorduğumuzda kimsenin var diyememesi üzerine oldu. Böylece tüm bu süreci zincirlerinden boşanırcasına ele alma şansımız oldu. Bu durum gerek olmayan her şeyi atmamızda bize yol gösterdi.

Redmine’nın arayüzünün yavaş ve yaşlı olması dördüncü nedenimiz. Göze hitap etmeyenin gönüle hitap etmekte zorlandığı günümüz estetik anlayışında Redmine bizim için fazla eski, az süslü ve çokça işlevsiz kalmıştı.

 

Non uno die Roma aedificata est*: Çok aradık hiç bulamadık

Bu sorunlar kimi zaman haftada bir kimi zaman günde üç gözümüze batmaya başlayınca başta ben, sonrasında eski ve mevcut ekip arkadaşlarımız çeşitli çözümler aramaya başladık. Twitter’da anketler, alternatif sitelerinde gezinmeler, ben iş takibi yapıyorum diyen her yazılımdan demolar derken Basecamp’ten Asana’ya, OpenProject‘den EasyRedmine‘a ve hatta Jira’ya sağa sola yukarı aşağı olabilecek her yöne baktık. Kısa bir süre ekip içinde çeşitli klikler yaratarak korsan iş takip sistemleri dahi kullandık ama bir sonuca varamadık. Bu sonuca varamıyor olmamızın bir sebebi mümkünse açık kaynak olsun ısrarımızdı. Elbette bu arayış ve diğer yazılımların gördüğümüz görece güçlü yanları bizi Redmine’dan daha da soğuttu. Bir noktada “Abi zaten çok yoğunuz şu an ne iş kaydı açması istirham ederim” (biz hep istirham ederiz birbirimizden) dalgasını yakaladığımız an kendimizi iyice saldık ve Redmine’a küserek bazı işler için iş kaydı açmamaya, düz yürümeye başladık.

Düz yürüdüğünüzü sanarken aslında zikzaklar çizdiğinizi ve sürekli daire çizdiğinizi anlamak neredeyse imkansızdır o yüzden bizde de öyle oldu. Bu küsme döneminde hele bir de ekibin de iyice uzaklaşmasıyla zaman zaman aynı işi bu ne oldu ya diye takip etmemiz gerekti ya da birbirimizden haberdar olmadığımız durumlar yaşadık. Ben başta çokça Jira’ya geçmek istesem de, bir müşteri ortamında test etmeye başlayınca aslında o kadar geçilecek bir şey olmadığını gördüm. En güçlü adayımızı bu şekilde eledik. Bazı ürünleri fiyat/fayda dengesinden bazılarını aşırı hipster olmasından bazılarını da hiç hipster olmamasından eledik. En sonunda neredeyse çare olarak “Ee o zaman tekrar Redmine’ı düzeltelim…” gibi fikirler üzerinde düşünmeye başladık.

 

Güle Güle Redmine, Merhaba Linear

Güneş yükseliyor: Linear ile tanıştık

Son bir şans bunu bir de ürüncülere sorayım dedim ve Üretim Bandı’nın Slack grubunda bunu sordum. Tam o sırada Paraşüt’ten Oğulcan Girgin farklı bir konuda bir blog yazısı paylaştı ve Linear gözüme bu şekilde çarptı. Linear.app geçtiğimiz yıl kurulan ilk iki yatırım turunda kayda değer bir para toplayan, Avrupa-Amerikan köklerine sahip yenilikçi bir iş takip sistemi. Yenilikçi olmasının temelde iki nedeni var.

İlki, bir iş takibi sistemi nasıl olmalıdır konusunda kendilerince net fikirleri var ve bu fikirleri ürüne dikte ediyorlar. Bu fikirler belli ki üzerine düşünülmüş taşınılmış ve rafine fikirler. Örneğin bir custom field destekleri yok. Biraz düşününce “Ee hayat böyle de geçiyor” diyorsunuz. Mesela Sprint’in izdüşümü olan Cycle sisteminde bazı konularda son derece katılar. Tıpkı kedilerin sınırları belli alanlarda daha rahat etmesi gibi belli bir kalıbın içine girince rahatladık. Böyle de yazılım projesi yönetiliyormuş dedik ve fazlalıklarımızdan kurtulma şansına sahip olduk. Öte yandan takım, iş ve proje ayrımını çok iyi yapması, farklı iki takımı aynı proje üzerinde işleri birbirine karışmadan çalıştırabilmesi, gün görmemiş yüzlerimize baharı getirdi diyebileceğim kadar mutlu etti beni.

Diğer bir nedense hızlı ve neredeyse görünmez olması. Yeni bir iş açmak ya da bir iş kaydını güncellemek sadece saniyeler sürüyor. Klavye kısayollarını da öğrenmeye başlarsanız, neredeyse fareye ihtiyaç duymadan hareket edebiliyorsunuz. Böylece çok kolayca bu süreci aradan çıkarabiliyorsunuz. Bir de Linear’ın bir SaaS uygulaması olması sebebiyle entegrasyon konusunu kolayca çözüyor. Şu anda Slack, GitLab, GitHub ve Sentry entegrasyonlarımız var. Biz kendi ortamımızda GitLab Ultimate kullanıyoruz ve entegrasyonda hiçbir sorun yaşamadık. Bu entegrasyon sayesinde süreçler arası geçişleri otomatize edebildik yani bir MR mergelendiği zaman statüyü otomatik olarak Done’a kolayca güncelleyebiliyoruz. Slack üstünde hem bizim takip ettiğimiz işleri özel olarak bildirim alabiliyoruz hem de tüm işleri takip edebiliyoruz gibi avantajlar var. En kısa sürede yeni özellikleri ekleyecek gibi gözüküyorlar.

Linear her hafta yeni bir sürüm çıkıyor ve görebildiğim kadarıyla her hafta bir major özellik ile bugfix’ler geliyor.

 

Güle Güle Redmine, Merhaba Linear

İş takibinde reform

Bu süreçte Linear’ı ekip olarak 10 gün boyunca denedik. Redmine’da iş açmak yerine Linear’da iş açtık ve takibi buradan yaptık. İş açma hızımızın artması gerçekten ilginç oldu. Belki balayında olduğumuz için böyle ama şu an yaklaşık 1 aylık süreçte 500 civarında kayıt oluştu. 8 yılda Redmine’da 15K kayıt olduğunu düşünecek olursak (tabi ekip şu an ortalamada 3 kat daha büyük. Bunun da etkisi yadsınamaz) bize muazzam bir hız kattığını söylemek gerekir. Umuyorum siz de istediğiniz iş takip yazılımını bulursunuz ama Linear bu süreçte mutlaka değerlendirmeniz gereken bir alternatif.

Benden şimdilik bu kadar. Gideyim de o iş ne oldu diye ekibimi trolleyeyim…

 

*: Roma bir günde inşaa edilmedi

Akın Ömeroğlu

Akın Ömeroğlu, 2007-2009 yılları arasında Pardus Projesi'nin topluluk süreçlerinde çalıştı. Sonra onu TÜBİTAK UEKAE'ye transfer ettik. 2017 yılında Artistanbul'un Genel Müdürü olarak aramıza dönen Akın, 2022'de yatırım alarak Artistanbul içinden spin-off eden Ecommercio firmasının kurucu ortaklarından biri oldu. Akın boş vakitlerinde çalışanları trollüyor.

7 Yorumlar
  • Ali Işıngör
    Yanıtla
    Gönderim19:54, 20 Şubat 2021

    Artistanbul’un Redmine tarihi epey eskiye, 2010 yılına kadar dayanıyor aslında.

    İlk Redmine kurulumumuz, sevgili Ahmet Aygün’ün “Bence görev takip sistemlerine ihtiyacımız yok. Niye kullanıyoruz ki zaten?” cümlesini kurmasından sonra fark ettiğimiz üzere, içindeki tüm görevlerle uçmuştu.

    İkinci ve tarihi gerekçelerle hâlâ açık tuttuğumuz Redmine ise 2013 yılında kurulmuş. Redmine’ı bir alternatifiyle değiştirme işi dönme dönem önerilmiş ama tüm talepleri biraz ustalık bolca da demagojiyle savurmuştum. Sorun şu ki, yaklaşık bir yıldır tek bir minör sürüm çıkartan Redmine, son derece arkaik ve geliştiricilerimizin nefret etmeye başladığı bir araca dönüşmüştü.

    Web tabanlı, mümkünse bakmayacağımız bir araç olan Linear’a geçtik. Peki, %100 memnun muyuz? Hayır, açıkçası değiliz ama en azından şunu görüyoruz: Linear 15-20 günde bir yeni bir sürüm yayınlıyor ve kullanıcılarıyla bir açık/özgür platformun olması gerektiğinden bile daha iyi bir iletişim kuruyor!

    Tarihe bir not düşmüş olmak adına, Linear’ın Redmine’a kıyasla olan eksikliklerini de yazayım:

    * Linear’ın gizli/private proje açma özelliği yok.
    * Linear’da wiki/belgelendirme özelliği bulunmuyor. Bu özelliği 3. bir araç kullanarak çözme yoluna gittik ama bütünleşik bir araç olsaydı iyi olurdu.
    * Türkçe arayüzü yok (Bunu isteyenler elbette olacaktır)

    • Akın
      Gönderim20:09, 20 Şubat 2021

      O halde ben de bazı ekler yapayım.

      – Gizli proje istiyorsanız yeni workspace açın diyorlar (zira bedava).
      – Böyle (wiki) bir özellik eklemeyecekler kendileri notion kullanıyormuş. Bence bookstack’de güzel bir araç. İş takip sistemiyle ilgili yalınlığı bozacak herhangi bir şeyi eklememek gibi “bold” bir düşünceleri var.
      – Türkçe dil desteği değil dil desteği yok. Yani Fransızca ya da Almanca da kullanamıyorsun.

  • Ahmet Aygün
    Yanıtla
    Gönderim20:50, 17 Mart 2021

    Ah Redmine, üzümlü kekim 🙂

    • Ali Işıngör
      Gönderim21:32, 17 Mart 2021

      Redmine konusunda yorum yapmak için Ahmet Aygün Artistanbul blogunu ziyaret etmiştir (temsili)

      ahmet

  • Gönderim23:19, 17 Mart 2021

    Bir dönem her sabah out-of-memory’den patlıyordu da, ben ofise gelmeden önce yeniden başlatılabilmesi için kırmızı bir buton yapmıştık. Hey gidi…

  • Gönderim18:42, 14 Ağustos 2021

Yorum Yaz

Yorum
İsim
E-Posta
Website