| Yazılım Geliştirme |
Geleneksel tabiriyle yazılım; bilgisayar ya da elektronik cihazları yönettiğimiz ve istediğimiz işlemi yapmalarını sağladığımız komutlar anlamına gelir. Günümüzde bu tanım biraz değişmiştir. Artık yazılım; iş süreçlerinizi yöneten ve verimliliği artıran, ihtiyaç duyduğunuz bilgiyi depolayan, ulaşılabilir kılan, raporlayarak hızlı ve doğru karar vermenizi sağlayan, müşteri, çalışan ve diğer paydaşlarınızın memnuniyetini ölçen, değerleyen, artıran ve yüksek tutan, yeni müşteri ve iş fırsatlarına hızla yönelmeyi sağlayan güçlü bir araçtır, ya da öyle olması gerekir.
Yazılım programlarının etkili araçlar olarak işinizi yönetmenizde size ciddi katkılar sağlaması için öncelikle süreç ve ihtiyaçlarınızın doğru ve detaylı analiz edildiğinden emin olmanız gerekir. Doğru analiz edilmeyen ve sonrasında yanlış modellenen ve bu model üzerine geliştirme ve uygulama süreci tamamlanan yazılımlar, ürün ve çözüme dönüşmek yerine, başarısız birer yazılım projesi olarak firmanızın tarihinde can sıkıcı bir tecrübe halini alırlar. Geliştirilmeye başlandığında ihtiyaçları tümüyle karşılayan ancak geliştirme süreci sonrası ihtiyaçların değişmesinden dolayı güncelliğini yitirmiş birçok yazlım ürünü ve projesi de saymak mümkündür. Yazılım sektörünün geçmişi bunun gibi binlerce başarısız yazılım projesi ile doludur ve bunlara her geçen gün yenileri eklenmektedir.
Birçok yazılım programını kullanmak için çok özel yetenekler ile ciddi bir sabır ve hoşgörüye ihtiyaç vardır. Bu tür yazılımlar verimliliğinizi artırmak bir yana, motivasyonunuzu bile bozarlar. Çoğu zaman gerçek işinizi bırakıp sadece yazılımla uğraşmak, onun sorun ve ihtiyaçlarını gidermek için saatlerinizi harcamak zorunda kalırsınız. Bu tür yazılımlardan bir an önce kurtulmak, yerine yeni, kullanıcı dostu, kolay ve hızlı bir yazılım edinmek, işinizle ilgili son zamanlarda vermiş olduğunuz en önemli karar olabilir.
Yazılım ve bunların altında çalışan veritabanı uygulamaları aynı zamanda bilgi ve belgelerinizin de saklandığı bilgi depoları konumundadır. Bu bilgiler sizin için önemli olduğu kadar rakipleriniz için de değerli ve önemli olabilir. Bundan dolayı yazılımlarınızın ve bilgilerinizi depolayan diğer sistemlerin güvenliği, en az işlevleri kadar önemli ve kritiktir. Yazılım güvenliği ayrı bir uzmanlık alanıdır ve yazılım güvenliği konusunda uzman mühendislerin yer almadığı bir yazılım geliştirme ekibinin geliştirdiği ürünün birtakım güvenlik açıkları içermesi kuvvetle muhtemeldir.
Birçok yazlım programı, gelişim yolculuğunu, kendisini geliştiren kişi ya da kişilere bağlı ve bağımlı olarak sürdürür. Genelde bu kişiler yazılım projesinin başından sonuna her aşamasında yer aldıklarından yazılımı dokümante etme ihtiyacı da hissetmezler. Bu da yazılım kullanan ve uygulayan işletmeler için oldukça büyük bir risktir. Oysaki bir yazılım projesi, birçok farklı süreç ve her süreçte yerine getirilmesi ve izlenmesi gereken yüzlerce iş paketi ve standarttan oluşur. Bir yazılım projesinin profesyonel ve uygulanabilir bir ürün haline gelmesi için tüm bu süreç ve standartların, alanında uzman mühendisler tarafından izlenmesi ve sağlanması, her süreç ve işlemin kullanılan metodolojiye göre dokümante edilmesi zorunludur. Bu şekilde geliştirilen yazılım ürünlerinin, ilk geliştiren takım dışında farklı geliştiriciler tarafından da desteklenebilmesi, yeni eklentiler yapılabilmesi mümkün olacak, böylelikle ürünün geliştiriciye bağımlılığı da ortadan kalkacaktır.
Kullanıcı dostu, güvenli, ölçeklenebilir, geliştirilebilir bir yazılımın geliştirilmesi için mutlaka belirli bir yöntem, metod ve standartlar kullanılmalıdır. Herhangi bir metodoloji veya yazılım geliştirme hayat döngüne uygun olarak geliştirilmiş yazılım ürününün kalite değerlemesi yapılabilir, aksi halde yazılım patlamaya hazır bir bomba gibidir. Ne zaman ve ne şekilde patlayacağını ise yazılımı geliştirenler dahil kimse bilemez.
CE TECH RAD, Agile, Spiral gibi birçok farklı metodoloji ile yazılım çözüm ve ürünleri geliştirir. Bununla birlikte CE kendi argesinde, RCSL (Requirement Centralized Software Lifecycle), "Müşteri merkezli yazılım yaşam döngüsü" adında yeni bir metodoloji üzerinde akademik çalışmalar yürütmekte, bu yöntemi süreçlerinde kullanmaktadır.
|
|