2 puan yazan GN⁺ 2023-12-02 | 1 yorum | WhatsApp'ta paylaş

Yazılım geliştirmenin değer sistemi

  • Yazılım geliştirme sürecinde kod, yazılmasından çok daha sık okunur; bu da bakımı kolay kod yazmanın iyi bir yatırım olduğu anlamına gelir.
  • Kod yalnızca yazılmak için değil, kullanıcılara hizmet sunmak amacıyla vardır ve kullanıcı deneyimi önemlidir.
  • Kullanıcı odaklı geliştirme için programı kullanıcılara erken ve sık göstermek, geri bildirim almak önemlidir.

Kodun işletilmesinin önemi

  • Kodun çalıştırılması, programın işletilmesini de kapsar; buna dağıtım, yükseltme, izleme gibi konular dahildir.
  • Yazılım gerçek üretim ortamında çalıştığında KISS (Keep It Simple, Stupid) ilkesi daha da önemli hale gelir.
  • Gerçek işletimde yalnızca kodu değil, sistemin her parçasını anlamak ve başarısızlık durumlarında da çalışabilir olmasını sağlamak önemlidir.

İş perspektifinin önemi

  • Kullanıcı odaklı geliştirme, yazılımın organizasyona değer sağladığı varsayımı altında geçerlidir.
  • Geliştirme sürecine iş perspektifini dahil etmek faydalı olabilir; bütçe, pazarlama, teslim tarihi gibi unsurlar dikkate alınmalıdır.
  • Tüm organizasyon göz önünde bulundurulduğunda, yazılım, ekip ya da kullanıcı için anlamlı olan kararlar her zaman en iyi seçenek olmayabilir.

Yazılım geliştirmenin yaygın sorunları

  • Bakımı zor kod, yazar merkezli bir yaklaşımdan kaynaklanır.
  • Kullanıcı deneyimini dikkate almayan yazılımlar, geliştirici merkezli bir yaklaşım nedeniyle ortaya çıkar.
  • İşletimi düşünmeden tasarlanan yazılımlar, geliştirici merkezli bir yaklaşım nedeniyle ortaya çıkar.
  • İş perspektifini dikkate almayan yazılımlar, geliştirici merkezli bir yaklaşım nedeniyle ortaya çıkar.
  • Gerçekte işletilmeyen yazılımlar, iş odaklı bir yaklaşım nedeniyle ortaya çıkabilir.

GN⁺ görüşü

Bu yazıdaki en önemli nokta, yazılım geliştirme sürecindeki çeşitli unsurların göreli önemini fark etmek ve buna dayanarak karar vermektir. Kullanıcı, işletim, geliştirici ve iş arasındaki ilişkiyi anlamak ve dengelemek önemlidir. Bu yazı, yazılım geliştiricilere ilgi çekici içgörüler sunarken, geliştirme sürecinde sıkça gözden kaçabilen iş ve işletim tarafının önemini vurgulayarak daha etkili ve sorumlu bir geliştirme kültürü oluşturmaya yardımcı olabilir.

1 yorum

 
GN⁺ 2023-12-02
Hacker News görüşü
  • Dil tasarımı ve standart kütüphane geliştiricileri ile modül geliştiricileri, genel geliştiriciler ve son kullanıcılar arasındaki kullanım artışı

    Dil tasarımcılarına kıyasla modül geliştiricilerinin, genel geliştiricilerin ve son kullanıcıların oranı her aşamada yaklaşık 1000 kat artma eğilimindedir. Bu, dil tasarımı veya standart kütüphane geliştirmesinin erken aşamalarındaki küçük bir tembelliğin ileride çok büyük etkiler yaratabileceği anlamına gelir.

  • Sistemin neden kullanıldığı ve orta kademe yöneticilerin rolü

    Kullanıcıların bir sistemi kullanma nedeni, şirketin onu satın almış olması olabilir; bu durumda geliştiriciler gerçek kullanıcı ihtiyaçlarından çok orta kademe yöneticilerin taleplerine yanıt vermek zorunda kalabilir. Bu da kullanıcıların kusurlu bir ürüne mahkûm olabileceğini düşündürür.

  • Karşılaştırma ilişkisini gösteren matematiksel sembol ≹ keşfi

    '≹' sembolü, iki nesnenin birbirine göre ne büyük ne de küçük olduğu ama yine de mutlaka eşit olmadığı bir ilişkiyi ifade eder. Bu, yalnızca sayısal olarak karşılaştırılamayan durumlarda önemli bir ayrımdır.

  • Kodu çalıştırma maliyetine kıyasla geliştirici zamanının değeri

    Bir kodu 1 milyar kez çalıştırmanın maliyeti, geliştiricinin birkaç dakikalık zamanından daha düşük olabilir. Hatta bir AWS sunucusunu bir ay kullanarak web API kodunu 100 milyar kez çalıştırmak da mümkündür. Kod optimizasyonu, ekonomik olarak verimsiz hale gelene kadar her zaman insan tarafından okunabilirliğin gerisinde kalmalıdır.

  • Kod okunabilirliğinin önemi

    Kod okunmuyorsa uzun süre çalıştırılmayacağı anlamına gelir. Bu, sistem yöneticiliğinden geliştiriciliğe geçmeye çalışan bir aceminin bakış açısından anlaşılmaktadır.

  • Yazarın teorisine eleştirel bakış

    Yazarın genel geçer doğruları yeniden yorumlayarak kendi teorisini kurma biçimi, acı verici ve faydasız bir kısaltma olarak yanlış anlaşılabilecek bir anlatıma dönüşebilir.

  • İş dünyasının özü ve kullanıcının önemi

    İşletme aslında var olan bir şey değil, kaynakları organize etmeye yardımcı olan hayali bir yapıdır. İşletmenin amacı kullanıcıya hizmet etmektir; iç siyaset karmaşıklaşıp sadece işletme çıkarları kovalanmaya başladığında organizasyon toksik hale gelir.

  • Geliştirme, operasyon ve iş dünyası arasındaki karmaşık ilişki

    Geliştirme, operasyon ve iş tarafı ayrı ayrı tekil varlıklar değildir; bunlar farklı uzmanlıkları ve organizasyon içinde farklı rolleri olan insanlardan oluşur. Bunların hepsi, kodun nasıl yazıldığını ve kullanıcıya ne zaman sunulduğunu etkiler.

  • Yazılım sektöründeki etik sorunlara dair tartışma

    Yazılım profesyonelleri arasında artan rahatsızlığın nedenini açıklama çabası olarak, kullanıcının müşteri olmadığı durumlarda ve iş modelinin kullanıcı üzerinde olumsuz etkiler yarattığında etik yükümlülüklerin ne olduğu sorusunu gündeme getirir.

  • Geliştirme, operasyon ve iş tarafının göreli önemi üzerine kişisel görüş

    Geliştirme, operasyon ve iş tarafının önemi duruma göre değişir; bazen geliştirmenin iş veya operasyondan daha öncelikli olması gerektiği durumlar da olabilir.