1. Bir şekilde KG mühendislerinden daha üstün olduklarına inanan birçok Yazılım Mühendisiyle karşılaştım. Bir süre bir QA mühendisinin işini yaparlarsa ve bunun kendine özgü ve değerli bir beceri seti olduğunu fark etmeleri, bu inancı gidermeye yardımcı olabileceğini düşünüyorum.
İyi bir yazılım mühendisliği, test, metrikler ve istatistikler de dahil olmak üzere kalitenin arka planına sahiptir. Her türlü yazılım geliştirme yapan herkes, kalite kaynak kodunu koruduğundan ve etkili test senaryoları ürettiğinden / koruduğundan haberdar olmalıdır (aşina değilse). Zamanla, herhangi bir yazılım geliştiricisinin farklı kalite yönlerini - kod kalitesi, taşınabilirlik, sürdürülebilirlik, test edilebilirlik, kullanılabilirlik, güvenilirlik, verimlilik ve güvenlik - bir anlayış kazanacağından şüphelenirim.
Yazılım mühendisleri yaşam döngüsünün belirli bir yönüne odaklanabilir - gereksinim mühendisliği, mimari ve tasarım, inşaat, test ve bakım. Ancak, odaklanmanıza bakılmaksızın (bir iş olarak veya projenin şu anki aşamasında), kaliteyi hatırlamak önemlidir.
2. Bir Yazılım Mühendisi kendi programlarını ne kadar iyi test ederse, yazılım geliştirme yaşam döngüsünün geri kalanında yol alırken kodlarının oluşma süresi o kadar düşük olur.
Bu doğru olabilir. Ancak bazı konular en iyi gelişimde daha sonra görülür. Örneğin, performans ve verimlilik sorunları entegrasyona kadar görülmeyebilir. İyi, sağlam kod ve etkili birim testlerine sahip olmak sadece bir başlangıçtır. Kalitenin gereksinimlerle başlaması ve bakım faaliyetleriyle sonuna kadar takip etmesi gerekir.
3. Bir Yazılım Mühendisi, bir programın nasıl kırılabileceğini düşünmeye ne kadar zaman harcarsa, bu vakaları geliştirirken bunları daha sık dikkate alır ve böylece son üründeki hataları azaltır.
Bu tamamen doğru bir ifade. Fakat yine de, gereksinimlerde çatışma olmadığını, mimarların tasarımın gerçekten gereksinimleri karşıladığından emin olmak için gereksinim mühendisleri de bağlıdır. Herkes işlerinde delik açmaya çalışmalı ve sonra onları iyi ve sıkı bir şekilde mühürlemek için uygun insanlarla çalışmalıdır.
4. Bir Yazılım Mühendisinin "tam" tanımı her zaman ilgi çekicidir ... eğer bir KG mühendisi olarak zaman geçirdiyse, belki de bu tanım yazılımların tasarımcısına daha yakın olacaktır.
"Tamamlandı" yalnızca gereksinimlere göre ölçülebilir. Gerekler yerine getirilir ve proje tamamlanır ya da eksik gereklilikler vardır ve proje tamamlanmamıştır. Diğer tüm tam ölçüler işe yaramaz.