Skip to main content

Bir önceki bölümde yapay zekanın etkisiyle en az 10 kat artan üretkenlikte ve hızda kullanıcının, müşterinin ihtiyacını, problemini iyi anlamanın ve doğru soruları sormanın ne kadar önem kazandığından bahsetmiştim. Aynı durum yapay zekaya soracağımız sorular için de geçerli hale gelmiştir. Bu nedenle iş analisti olmasanız da iş analizinin nasıl yapılacağını, iş analizi yol, yöntem ve tekniklerini en iyi şekilde bilmeniz gerekmektedir. Yapay zekaya doğru soruları sormanın yanında onun verdiği cevapların doğru olup olmadığını, halüsinasyon görüp görmediğini de sorgulamanız gerekmektedir.

İlk makalemde ele aldığım ana başlıklar şunlardı:

  1. İş analizi terminolojisine hakim olun
  2. İş analizi süreçlerini öğrenin
  3. İş analizi tekniklerini uygulayın
  4. Toplantılarda farklı paydaş profillerini yönetmeyi öğrenin
  5. Yazdığınız gereksinimleri gözden geçirin ve kaliteli hale getirin

Bu ikinci yazımda ise aşağıdaki başlıklara değineceğim:

  1. Proje hedefine odaklanın ve MVP’den sapmayın
  2. Yazılım geliştirme yaşam döngüsüne ve farklı metodolojilere hakim olun
  3. Efor tahminlemesinin nasıl yapılacağını öğrenin
  4. Kullanıcılarınızı tanıyın ve nasıl iyi bir kullanıcı deneyimi yaratılacağını öğrenin
  5. Yapay zekayı hemen bugün kullanmaya başlayın: AI-First – Prompt Engineering

1 – Proje hedefine odaklanın ve MVP’den sapmayın

BT projelerinde yaşanan en büyük problemlerden bir tanesi proje hedefinin net olmaması, zaman içinde unutulması veya takım üyelerinin akıllarında farklı farklı bilinmesidir. “Yazılım Testi, İş Analizi, Kullanılabilirlik” kitabımı okuyanlar hatırlayacaklardır; bu kitapta ele aldığım bir aile ve hafta sonu için planladıkları bir aile pikniği etkinliği vardı. Sabah arabalarına binip piknik için yola çıkan aile üyeleri önce yolda gördükleri lunaparkta vakit geçirmek için durmuşlar, ardından güzel bir dönerciye gitmişler ve en sonunda da yol üstündeki bir elektronik mağazasında yakaladıkları LCD indiriminden faydalanıp evlerine Smart TV almışlardı. Diyebilirsiniz ki bunda ne var, çevik bir şekilde hareket edip hem eğlenmişler hem de karlı çıkmışlar. Evet bu çeviklik bilinçli bir şekilde yapılıp ve duruma adapte olunduysa doğruydu. Ama bilinçsizce yapıldıysa haftalardır planlanan, harcanan efor, hayaller kurulan piknik etkinliği unutulup bir anda suya atılmış oldu.

"BT projelerinde yaşanan en büyük problemlerden bir tanesi 
proje hedefinin net olmaması, zaman içinde unutulması veya 
takım üyelerinin akıllarında farklı farklı proje 
hedeflerinin olmasıdır."

Proje Hedefi: Koltuk Yapmak
Kapsam Dahilinde Olanlar: Koltuk, Deri kaplama
Kapsam Dışı Olanlar: Koltuğun sallanması, Koltuğun elektrikle alttan ısınması

Proje hedefinden uzaklaşmamanın ve yavaş yavaş deneyip yanılarak ilerlemenin bir diğer yöntemi de Minimum Viable Product (MVP) tanımlayıp gelen kullanıcı geribildirimlerine göre bunun üzerine geliştirme ve iyileştirmeler yapmaktır. 2000 yılında danışmanlık kariyerine başlarken karşılaştığım aşağıdaki yazılım geliştirme yaşam döngüsüyle ilgili görsel halen geçerliliğini korumaktadır:

Software Development Lifecycle

Kullanıcı/müşteri/iş birimi her zaman bir şeyleri fazla fazla isteyecek veya ne istediğini bilmeyecektir. Bu çok doğaldır, bundan şikayetçi olmamak gerekir. Onu yönlendirmek, onun işini görecek en basit çözümle başlayıp üzerine eklemeler yapmak gerekir.

"Yukarıdaki görselde de kullanıcı aynı anda üç çocuğunu sallayabileceği 
bir salıncak istese de onu basit, tek kişilik bir lastik salıncağa
yönlendirip ardından eğer çocuklar bu oyuncağı beğenirse eklemeler
yapabileceğinize ikna etmek gerekir."

2 – Yazılım geliştirme yaşam döngüsüne ve farklı metodolojilere hakim olun

Yazılım testi adı üstünde yazılım geliştirmeye bağlı bir disiplindir; yazılım geliştirmeden ayrı düşünülemez. Yazılımı bir gezegene benzetecek olursak yazılım testinin sürekli onun etrafında dolaşan uydusuna benzetebiliriz. Bu bağlamda farklı yazılım geliştirme metodolojilerini bilip bu metodolojilerde iş analizinin nasıl ele alındığına hakim olmanız gerekmektedir. Sektörde en çok kullanılan metodolojiler:

  • Şelale modeli
  • V-model
  • Spiral model
  • Scrum
  • Kanban
  • Extreme Programming (XP)
  • Hibrit modeller

Bu metodolojilere hakim olup özellikle bu modellerin içinde yer alan aşağıdaki teknik pratikleri bilmedinizde fayda bulunmaktadır:

  • Behavior Driven Development (BDD)
  • Acceptance Test Driven Development (ATDD)
  • Test Driven Development (TDD)
  • Refactoring
  • Continuous Integration
  • Continuous Testing
  • Pair programming
  • Pair testing

3 – Efor tahminlemesinin nasıl yapılacağını öğrenin

Yazılım geliştirmede ister çevik yöntemler kullanılsın, ister klasik şelale modeli, ister 50 kişilik bir iş analizi ekibini yönetin, isterseniz sadece kendi başınıza iş analizi yapıyor olun, efor tahminleme tekniklerini öğrenerek eforu ve zamanı yönetmeniz gerekmektedir. En çok kullanılan efor tahminleme teknikler:

  • Planlama pokeri
  • Oranlara dayalı tahminleme
  • Dış değerleme
  • Üç noktalı tahminleme

4 – Kullanıcılarınızı tanıyın ve nasıl iyi bir kullanıcı deneyimi yaratılacağını öğrenin

Dünyanın en kaliteli ürün veya yazılımını da üretseniz eğer kullanıcı ihtiyaçlarını iyi anlamadıysanız, ürettiğiniz ürünü kimse kullanmayacaktır. Bunun için hedef kullanıcılarınızı iyi tanıyarak, onların problemlerini çözecek veya onlara yeni fırsatlar sunacak ürün veya yazılımlar üretmeniz gerekmektedir. Ürün veya yazılım geliştirmede düşülen en büyük hata ekibin kendi fikrine aşık olması ve onu sorgulamamasıdır. Bunun üstesinden gelmenin tek yolu ürün geliştirme sürecinde kullanıcıları sürekli dinleyip ürününüzü sorgulamaktan geçmektedir.  Doğru kullanıcılara doğru soruları sorup ürününüzü sorgulayabilmek içinse aşağıdaki kullanıcı deneyimiyle ilgili konsept ve tekniklere hakim olmanız gerekmektedir.

  • Kullanıcı araştırmaları
  • Persona
  • Fonksiyonel gereksinimler
  • İçerik gereksinimleri
  • Zihin haritaları
  • Kullanım modelleri
  • İnteraktif tasarım
  • Bilgi mimarisi
  • Süreç akışı
  • Kart gruplama
  • Prototipleme
  • Arayüz/ekran tasarımı
  • Görsel tasarım
  • Flat tasarım
  • Gerçekçi tasarım
"Doğru kullanıcılara doğru soruları sorup ürününüzü sorgulayabilmelisiniz."

Bu konsept ve teknikler sadece sizin iyi bir kullanıcı deneyimi yaratmanıza yardımcı olmayacak aynı zamanda büyümekte olan bir kariyer alanı olan kullanıcı deneyimi alanına aşina olmanızı ve hatta bu alanda kariyer yapmanıza da olanak sağlayacaktır.

5 – Yapay zekayı hemen bugün kullanmaya başlayın – Prompt Engineering’e Hakim Olun

Şu ana kadar anlattığım maddelerin tümünü etkileyecek en önemli maddeye geldik; yapay zeka. Bu aralar konferanslarda, sunumlarda, danışmanlık projelerinde en çok karşılaştığım soru:

"Hocam, iş analizini en etkili şekilde nasıl yaparız?
Veri analitiklerini mi kullanalım? Kullanıcılarla mı görüşelim?
Yoksa yapay zekadan mı destek alalım?"

Bu soruya cevabım çok net:

"Hiç vakit kaybetmeden hemen, bugün yapay zekadan destek almaya başlayın
ve iş analiziyle ilgili tüm alanlarda kullanın! İster veri ve
duygu analizleri, ister kullanıcı görüşmeleri isterseniz kullanıcı
araştırmaları olsun, her alanda yapay zekadan faydalanmanız mümkündür"

Bu farkındalığı artırmak için Uluslararası BAUXIstanbul (https://baistanbul.org ) konferansının bu seneki sloganını “The AI Agent Area – Revolutionizing How We Work and Innovate ” olarak seçtik. Yapay zekayı bir önceki makalemde anlattığım IIBA çerçevesinin tüm alanlarında kullanmanız mümkün:

IIBA

Yapay zeka ile olan kısmı daha yeni yayınlanan ISTQB© Gen AI syllabus için hazırlanmış örnek bir soru ile destekleyelim. Anlam kaybı olmaması açısından soruyu İngilizce haliyle buraya ekliyorum:

Question

You are tasked with applying the few-shot structured prompting technique to generate Gherkin-style test cases (i.e., scenario-based) for the following user story and acceptance criterion:

–   User story: “As a user, I want to reset my password so that I can regain access to my account if I forget it.”

–   Acceptance criterion: “Verify that users receive a password reset email when they provide a registered email address.”

You have significant experience in test design best practices and can rely on predefined examples that include user stories, acceptance criteria, and Gherkin-style test cases. Your task is to create a prompt to guide the LLM in generating accurate test cases aligned with the acceptance criterion for the user story above.

Which one of the following prompts is the BEST for this task?

a) Prompt A

Role: Act as a test designer.

Context: You are testing a password reset functionality.

Instruction: Generate Gherkin-style test cases for the user story and acceptance criterion. using the following predefined examples as a guide: << predefined examples >>.

Input Data: <<< user story >>> and <<< acceptance criterion >>>.

Constraints: Rely on best practices to create test cases.

Output Format: Generate test cases with expected output.

a) Prompt B

Role: Act as a test designer specializing in Gherkin-style test cases.

Context: You are testing a password reset functionality.

Instruction: Generate Gherkin-style test cases for the user story and acceptance criterion, using the following predefined examples as a guide: << predefined examples >>.

Input Data: <<< user story >>> and <<< acceptance criterion >>>.

Constraints: Use “Given-When-Then” syntax and ensure alignment with the acceptance criterion.

Output Format: Respect the given Gherkin-style test case format.

a) Prompt C

Role: Act as a test designer.

Context: You are testing a password reset functionality.

Instruction: Generate Gherkin-style test cases for the user story and acceptance criterion. Rely on best practices to create test cases.

Input Data: <<< user story >>> and <<< acceptance criterion >>>.

Constraints: Use “Given-When-Then” syntax and ensure alignment with the acceptance criterion.

Output Format: Respect the given Gherkin-style test case format.

a) Prompt D

Role: Act as a test designer.

Context: You are testing a password reset functionality.

Instruction: Generate at least two Gherkin-style test cases for the user story and acceptance criterion. Focus on edge cases.

Input Data: <<< user story >>> and <<< acceptance criterion >>>.

Constraints: Ensure all test cases follow “Given-When-Then” syntax.

Output Format: Respect the given Gherkin-style test case format.

Sorunun cevabının makalenin en sonunda açıklayacağım. Yalnız bunu yapmadan önce değinmek istediğim bir konu daha var. Yapay zekanın iş hayatına çok daha fazla girmesiyle birlikte iş analizine odaklı yapay zeka otomasyon araçları da çoğalmaya başladı. Bunlardan BA-WORKS İş Analizi Hizmetleri‘ün geliştirdiği https://powerba.ai adlı araçtan bahsetmek istiyorum. Bu aracı ve aracın içinde yer alan IIBA odaklı akışını kullanarak daha sistematik analizler üretmeniz mümkün. Aracın içinde sizi yönlendiren ana başlıklar şu şekilde:

  • Business Need
  • Product Vision
  • Personas
  • Features
  • Prioritization
  • Use Cases
  • Backlog
  • Automation
  • Test Cases
  • Diagrams
  • PRD Document

Bu alanları ister yapay zeka destekli bir şekilde isterseniz manuel doldurarak iş analizinizi hem daha etkili hem de daha hızlı hale getirebilirsiniz.

Peki şimdi gelelim prompt engineering ile ilgili sorunun cevabına. Sorunun doğru cevabı “B” şıkkıydı; açıklamasıysa şu şekilde:

a)     Is not correct. While specifies using predefined examples, does not explicitly require the use of the “Given-When-Then” syntax, which is crucial for Gherkin-style test cases. It also indicates reliance on vague best practices in defining the constraints and does not specifically ensure alignment with the acceptance criterion.

b)    Is correct. Comprehensive and leverages predefined examples to guide the LLM.

c)     Is not correct. Lacks emphasis on using predefined examples and indicates reliance on vague best practices in defining the instructions.

d)    Is not correct. Focuses on edge cases but neglects comprehensive coverage and the use of examples for guidance.

Bu başlıklara bakınca artık yapay zekayı kullanarak daha hızlı ve etkili iş analizi yapabileceğiniz aşikar. En önemli konu ise yapay zekaya doğru soruları sorabilmek için iş analizin temellerine hakim olmanız. Yapay zeka ile keyifli iş analizleri dileğiyle.

"En önemli konu ise yapay zekaya doğru soruları sorabilmek için
iş analizin temellerine hakim olmanız."
Koray YİTMEN