LinkedIn‘de beni takip edin: https://www.linkedin.com/in/kasimsen/
Bana ulaşmak için: kasimsen @ hotmail . com
Cep Tel: 0507 580 31 19
Proje yönetimi ve genel yönetim kavramları konusundaki her türlü bilgi ve tecrübe paylaşımı için buradayım
MÜTEHAYYİL: Kuvve-i hayaliyeden geçiren, hayal kuran. Bir şeyi görüp gözetici, idrak edici olan.
Translate
Kasım Şen - (Mütehayyil)
27 Şubat 2014
Kanserli projeler
Projeler zamanında kapatılmayıp, sürekli yeni işlerin aynı proje üzerinden gerçekleştirilmesi durumunda, o projeler kanserli bir yapıya dönüşüyor. Bir süre sonra artık kapatılamaz duruma geliniyor.
25 Eylül 2013
Etkili Analistlerin Davranışları -3
Not: 2002 yılında yazdığım ve yayımlanan bir
makalemi paylaşmak istedim
Öncelikle iş gereksinimlerini tanımlamak, müşteri ve geliştiriciler için beklenilen kazançların daha fazla açığa vurulmasını sağlayacaktır. Tüm katılımcılar da projenin maliyeti ve kısıtları hakkında dürüst olup, bilgi paylaşımına fazlaca katkıda bulunacaklardır. Analistler, müşterinin zaman planı ve maliyetlerini gerçekçi bulmaz ise bunun sebepleriyle birlikte açıklamasını yapması gerekecektir. Anlamsız maliyetlendirme ve zaman planı, tüm paydaşların teknoloji, zaman ve kaynak açısından alacağı tüm kararlarını etkileyecek ve beklentilerini değiştirecektir. Bu noktada analistin proje yönetimi ile iletişimli olarak geri beslemelerde bulunması gerekecektir.
Analistin müşteri ile konuşmak için zamanının olmaması veya neler istenildiğini biliyor zannetmesi düşünülecek şey değildir. Analist müşteri ortamındaki anahtar konumdaki tüm kişilerle uygun işbirliği ortamını hazırlamak zorundadır. Müşteri temsilcileri, kendilerinden tam olarak ne istendiği belirtilmedikçe, katılımcı olmak konusunda tereddütlü davranabilirler. Bu durumda müşteri temsilcilerine katılım konusunda bir yazı yazıp, her seviyedeki işbirlikçilerle görüşmek ve onları ortamın içine çekmek istenmelidir. Vizyon dokümanı, doğru kişilerle konuşmayı seçmeyi sağlar ayrıca müşteriye ürün daha anlaşılır kılar.Yetersiz kullanıcı katılımı projeyi başarısızlığa götüren temel nedenlerden biridir. Bu noktada gereksinim görüşmeleri için zaman harcamak istemeyen dik kafalı kullanıcı ve yöneticilere dikkat etmek gerekir. Yetersiz kullanıcı katılımı nedeniyle problemler yaşanılan önceki projeleri hatırlamak ve müşterilere örnekler sunmak çözüm açısından yardımcı olacaktır. Hemen hemen her organizasyonda yeni sistemin istenilenleri karşılamayacağı, kullanılabilirliğinde sorunlar yaşanacağı, performans sorunları oluşacağı şeklinde kötümser hikayeler yaratılır. Kullanıcı ihtiyaçlarının yeterince anlaşılması ve paylaşılması, projenin başarımını da etkileyecektir.
• Görüşme Teknikleri
• Dinleme yeteneği
• Yazma yeteneği
• Organizasyonel yetenekler
• Kişiler arası beceriler
• Modelleme yeteneği
Kaynaklar:
Etkili Analistlerin Davranışları -3
Başarılı bir analist olmak için gereken bazı önemli özellikleri sıralamaya devam ediyoruz.
İşbirliği Ortamı Yaratma
Yazılım geliştirme sürecinde, kullanıcılar, geliştiriciler, pazarlamacılar ve yöneticiler arasında zoraki de olsa bazı ilişkilerin doğması sağlanır. Bütün bu gruplar birbirlerinin yaptığı işin değerini anlamayabilir veya işe verdikleri öneme, kısıtlarına ve ihtiyaçlarına inanmayabilir. Gerçekte ise birçok ortak amaç ve zorluklara sahiptirler. Bütün bu gruplar aynı iş ortamında çalışmaları nedeniyle sistemin getirilerinden baştan sona ortak bir şekilde faydalanacaklardır. Ürünün başarısı için tüm bu grupların birbirlerini tetiklemesi gerekecektir. Herşeyin kazanmak-kazanmak felsefesi için yapılması gerekir. Kazanmak-kazanmak başarımı için ise öncelikle dürüst olmak gerekecektir. Proje ekibindeki tüm grupların, yöneticiden geliştiriciye kadar herkesin bilgi paylaşımında bulunması gerekecektir. Böyle bir ideal ortamı sağlamak elbette zordur ama mantıksız kişileri bir araya getirmek, işbirliği ortamını baştan yok etmek demektir.
Öncelikle iş gereksinimlerini tanımlamak, müşteri ve geliştiriciler için beklenilen kazançların daha fazla açığa vurulmasını sağlayacaktır. Tüm katılımcılar da projenin maliyeti ve kısıtları hakkında dürüst olup, bilgi paylaşımına fazlaca katkıda bulunacaklardır. Analistler, müşterinin zaman planı ve maliyetlerini gerçekçi bulmaz ise bunun sebepleriyle birlikte açıklamasını yapması gerekecektir. Anlamsız maliyetlendirme ve zaman planı, tüm paydaşların teknoloji, zaman ve kaynak açısından alacağı tüm kararlarını etkileyecek ve beklentilerini değiştirecektir. Bu noktada analistin proje yönetimi ile iletişimli olarak geri beslemelerde bulunması gerekecektir.
Analistin müşteri ile konuşmak için zamanının olmaması veya neler istenildiğini biliyor zannetmesi düşünülecek şey değildir. Analist müşteri ortamındaki anahtar konumdaki tüm kişilerle uygun işbirliği ortamını hazırlamak zorundadır. Müşteri temsilcileri, kendilerinden tam olarak ne istendiği belirtilmedikçe, katılımcı olmak konusunda tereddütlü davranabilirler. Bu durumda müşteri temsilcilerine katılım konusunda bir yazı yazıp, her seviyedeki işbirlikçilerle görüşmek ve onları ortamın içine çekmek istenmelidir. Vizyon dokümanı, doğru kişilerle konuşmayı seçmeyi sağlar ayrıca müşteriye ürün daha anlaşılır kılar.Yetersiz kullanıcı katılımı projeyi başarısızlığa götüren temel nedenlerden biridir. Bu noktada gereksinim görüşmeleri için zaman harcamak istemeyen dik kafalı kullanıcı ve yöneticilere dikkat etmek gerekir. Yetersiz kullanıcı katılımı nedeniyle problemler yaşanılan önceki projeleri hatırlamak ve müşterilere örnekler sunmak çözüm açısından yardımcı olacaktır. Hemen hemen her organizasyonda yeni sistemin istenilenleri karşılamayacağı, kullanılabilirliğinde sorunlar yaşanacağı, performans sorunları oluşacağı şeklinde kötümser hikayeler yaratılır. Kullanıcı ihtiyaçlarının yeterince anlaşılması ve paylaşılması, projenin başarımını da etkileyecektir.
Becerileri Yenileme ve Etkinleştirme
Gereksinim analistinin temel fonksiyonu, geliştirici ile müşteri arasıdaki projeye olan bakış açılarından kaynaklanan boşlukta bir köprü görevi görmektir. Yetenekli bir analist, iletişim kurabilme, basitleştirebilme, kişiler arası becerilere sahiplik ve teknik açıdan işin etki alanına hakim olabilme yeteneklerini kendisinde toplamalıdır. Çok iyi bir programcı ile sisteme hakim bir kullanıcının bir analist olabilmesi için uygun hazırlıktan geçmesi gerekir. Bütün bu üstün özellikler analist olmak açısından yeterli olamamaktadır. Kazanılması gereken bazı önemli yetenekler şunlardır:
• Kolaylaştırıp, basitleştirebilme• Görüşme Teknikleri
• Dinleme yeteneği
• Yazma yeteneği
• Organizasyonel yetenekler
• Kişiler arası beceriler
• Modelleme yeteneği
Etkili bir analist, elindeki araçların hangisini nerede kullanıp kullanmayacağını iyi bilir. Bu araçlar çok geniş bir yelpazeye dağılmıştır. Örneğin, içerik diyagramı, veri-akış diyagramı, UML gösterimleri bu araçlardandır ve bir analistin koleksiyonunda gerektiğinde kullanılmak üzere beklemelidirler. Etkili bir analist yolu üzerindeki engelleri tespit edip, uygun araçları seçerek bu engelleri ortadan kaldırmaya çalışır. Bunlara rağmen tecrübenin yerini hiçbir şey tutamaz. Tecrübeli bir analist tarafından yazılacak bir gereksinim dokümanı, acemi biri tarafından yazılacaktan iki kat daha hızlı ve daha az hata içerecek şekilde yazılır. Geliştiricilerinin gereksinimleri yazabileceğini isteyen bir organizasyon ise, kalite ve organizasyon yapısından gitgide uzaklaşır.
Yazılım ürünleri için gereksinimler, analist şapkası giymiş birinin toplaması için ortada yayılmış durumda beklememektedir. En azından gereksinimler kullanıcıların, geliştiricilerin kafalarında çekip çıkarılmak ve uygun formlara dönüştürülmek için beklemektedirler. Gereksinimler, kullanıcıların ihtiyaçlarını belirlemek konusunda yardımcı olan, kullanıcıların ne istediklerini ortaya çıkarıp, geliştiricilerin de ihtiyaçlarına göre bunları düzenleyen bir analist tarafından keşfedilmeye ihtiyaç duyarlar. Gereksinim analistlerinin projede az ama önemli bir rolü vardır.
Habits of
Effective Analysts /Karl E. Wiegers - Process
Impact www.processimpact.com
To Be
Reqirements Analyst /Karl E. Wiegers
-Process Impact www.processimpact.com
Etkili Analistlerin Davranışları -2
Not: 2002 yılında yazdığım ve yayımlanan bir makalemi paylaşmak istedim
Etkili Analistlerin Davranışları -2
Başarılı bir analist olmak için gereken bazı önemli özellikleri sıralamaya devam ediyoruz.
Çizgileri Belirlemek
Birçok projenin sınırları yazılı olarak belirlenmediği için neyin kapsam içinde, neyin dışında olduğu bilinemez ve bunun sıkıntıları zamanla ortaya çıkar. Yeni sistemin gereksinimlerini tanımlamaya öncelikle sistemin veya ürünün vizyonunu ve ne olup neler yapması gerektiğini ortaya koymakla başlanmalıdır. Sistemin iş gereksinimlerini tanımlamak ve vizyonu ortaya çıkarmak için projenin pazarlama sorumlusu ve/veya finansal destekçisiyle iletişim içinde olmak, gerekirse hazırlanmış uygun bir doküman sunmak gereklidir. Son ürünün vizyonu tanımlamak zor olduğundan başlangıçtan son ürüne kadar her bir sürüm ve aşamanın vizyonlarını tanımlamak gerekecektir.
Gereksinimleri ortaya çıkarma görüşmelerinde önemli olan kullanıcıların sistemle neleri başarmak istedikleridir. Görüşmeler daha çok fonksiyonellik, kalite kriterleri ve çözüm önerileri odağında geçer. Bu kriterlerdeki ufacık bir bilgi bile kullanıcıların kafasından geçenleri anlamak için gerekli ve önemlidir. Bununla birlikte kullanıcıların bu sistemi kullanma hedefleri, bu sürecin verimli olmasında ve fonksiyonel gereksinimlerden tasarım arayüzlerinin çıkarılmasında oldukça etkilidir.
Açığa Çıkaran Sorular Sormak
Analist olarak çalışırken, kullanıcılarla yapılan oturumları kolaylaştırmak ve basitleştirmek gerekir. Müşteri temsilcisinin daha önce hiç bahsetmediği bir görev hakkında alternatif yolları deneyerek kullanıcılara sorular sormak ve diğer görevlerle olan ilişkileri ortaya çıkarmak gerekir. Kullanıcının sorulara verdiği cevaplar o senaryo için olmazsa olmaz ve yapılsa iyi olur gibi ifadeler içerir. Böylece kullanıcı senaryolarının da iş akışı ortaya konulmuş olur. Kullanıcılar, sistemin doğru ve beklenildiği gibi çalışmasına odaklanırlar. Analist bunun yanı sıra beklenilmeyen durumlar için de uygun senaryoları hazırlamalıdır. Hata durumlarında uygulama geliştiricinin ele alması gereken kontrolleri, zaman zaman kullanıcılardan da yardım alarak tanımlamalı ve hata durumlarını yönetmelidir. Bu öncelikle sistemin güvenilirliği ve tutarlılığı açısından önemlidir.
Yaratıcı ve bilgili bir analist, kullanıcıların söylediklerini birebir kaydetmek yerine alternatif bakış açıları ve öneriler sunar. Kullanıcılar bazen uygulama geliştiricilerin yeteneklerinin farkında olmayabilirler. Önerilecek fikirler ile sistemin daha kullanışlı olması sağlanabilir. Zaman zaman da kullanıcıların iş yapışını izleyerek, otomatikleştirilebilecek olan süreçler hakkında bilgiler verilerek, kullanıcıların sistemin kullanılabilirliğine olan bakışı arttırılabilir. Önceki sistemlerde kullanılmış bir fonksiyonel yapının tekrar kullanımının sağlanması, kullanıcıların gereksinimlerini yeniden gözden geçirmesini ve düzenlemesini sağlayacak ve yeni yapılar üzerinden yeni gereksinimleri düşünecektir.
Etkili bir analist birçok düzeyde soyutlama yapabilmelidir. Kullanıcının bildirdiği belirgin özellikteki gereksinimlerin, diğer kullanıcıların gereksinimleri ile ilgili olup olmadığını ve aralarındaki ilişkileri sağlamalıdır. Bir konudaki önemli noktaları ortaya çıkarmak, belirsizlikleri yok etmek, anlaşmazlıkları ortadan kaldırmak, öngörü ve varsayımları belirlemek, beklentileri karşılamak için soru sorma sanatına hakim ve yetenekli olmak gerekir ve bu da çoğunlukla tecrübeye dayanır.
Önceliklendirme
Gereksinim geliştirme süreci, bulanık, her bir aşama için belirsiz tanımlardan detaylı belirtimlere giden döngüsel-artımlı bir süreçtir. Her aşamada doğru soyutlama düzeyine odaklanmak gerekir. Birden tasarıma dalmak veya detaylara girmek, sistemin ve sürecin hataya düşmesine neden olabilecektir. Kullanıcı arayüz ekranlarından veya prototiplerden gereksinimleri ortaya çıkarmak ve her aşamada gerektiği kadar detaya girmek sistemi doğru anlamak açısından önemlidir. Temel yapılması gereken şeylerin yapılmamış ve daha az önemi olan özelliklerin yapılmış olması, yazılım takımının cesareti kırıp, müşteriye ümitsizliğe yöneltir. Bu sebepten analist elde ettiği gereksinimleri önceliklendirmelidir. Herkes kendi işini çok önemli ve öncelikli görür. Analist bu noktada tüm kullanıcı sınıfları ve geliştiriciler arasında gerekli iletişim ve işbirliğini sağlayarak hassas öncelikli kararları almalıdır.
Gereksinim geliştirmede öncelikle katkıda bulunabilecek kullanıcı sınıfları oluşturulmalıdır. Bunu yaparken beğenilen, gözde ve beğenilmeyen gruplarla gereksinim geliştirmeye katkıda bulunmayacak grupları ayırt etmek gerekecektir. Tabii olarak beğenilen ve gözde sınıfın gereksinimleri de varolan çatışmalardan arındırıldıktan sonra öncelikli olacaktır.
Devam edecek.
Etiketler:
analist,
analiz,
etkili,
gereksinim,
iletişim,
kapsam,
önceliklendirme,
prioritize,
proje,
Proje Yönetimi,
risk,
risk yönetimi,
rol,
scope,
senaryo,
usecase,
yazılım,
Yönetim
Kaydol:
Yorumlar (Atom)