Please enable JavaScript.
Coggle requires JavaScript to display documents.
LIGHTWEIGHT METHODOLOGIES : - Coggle Diagram
LIGHTWEIGHT METHODOLOGIES
:
Bu bir yazılım geliştirme yöntemidir.
Lightweight Methodologisi Nedir?
Az belge,
Daha fazla insan etkileşimi,
ve çevik tepki verme yeteneğini ön planda tutan yaklaşımlardır.
Değişime açıklık
Waterfall gibi geleneksel yöntemlere göre daha esnek ve daha hızlıdır.
Agile Software Development Methodologies (Çevik Yazılım Geliştirme)
Extreme Programming (XP) Nedir?
2. Small Releases / Küçük Sürümler
EN:Software is released in small, frequent versions to get fast feedback.
TR: Yazılım küçük ve sık sürümler hâlinde yayınlanarak hızlı geri bildirim alınır.
3. Metaphor / Metafor
EN: Use a simple, shared story or analogy to explain how the system works.
TR: Sistemin nasıl çalıştığını açıklamak için herkesin anlayabileceği ortak bir metafor kullanılır.
4. Simple Design / Basit Tasarım
EN: Design should be as simple as possible to meet current needs.
TR: Tasarım, sadece mevcut ihtiyacı karşılayacak kadar basit tutulur.
5. Testing / Test Etme
EN: Automated tests are written before or during development to ensure code works correctly.
TR: Kodun doğru çalıştığını garanti altına almak için otomatik testler yazılır ve çalıştırılır.
6. Refactoring / Yeniden Yapılandırma
EN: Code is continuously improved without changing its behavior.
TR: Kodun işlevi değiştirilmeden yapısı sadeleştirilir ve iyileştirilir.
7. Pair Programming / Eşli Programlama
EN: Two developers work together at one workstation,one writes while the other reviews.
TR: İki geliştirici aynı bilgisayarda birlikte kod yazar; biri yazar, diğeri gözlemler ve yönlendirir.
8. Collective Ownership / Ortak Sahiplik
EN: Anyone in the team can improve any part of the code at any time.
TR: Takımdaki herkes, kodun herhangi bir bölümünü dilediği zaman düzenleyebilir.
9. Continuous Integration / Sürekli Entegrasyon
EN: Code changes are integrated and tested frequently (often daily).
TR: Kod değişiklikleri sık sık (genellikle günlük) entegre edilip test edilir.
10. 40-hour week / 40 Saatlik Çalışma Haftası
EN: Developers should not work overtime to avoid burnout and maintain productivity.
TR: Geliştiriciler fazla mesai yapmamalı; sağlıklı ve sürdürülebilir çalışma önemlidir.
11. On-site Customer / Yerinde Müşteri
EN: A real customer representative is always available to answer questions and provide feedback.
TR: Gerçek bir müşteri temsilcisi ekip içinde bulunur ve anlık geri bildirim verir.
12. Coding Standards / Kodlama Standartları
EN: The team follows consistent rules for writing code to keep it clean and understandable.
TR: Kodun temiz ve anlaşılır olması için ekip, ortak kodlama kurallarına uyar.
1. The Planning Game / Planlama Oyunu
EN: Developers and customers collaborate to decide the features to be implemented and their priorities.
TR: Geliştiriciler ve müşteriler birlikte çalışarak hangi özelliklerin geliştirileceğine ve önceliklerine karar verir.
XP, yazılım kalitesini artırmayı ve değişen müşteri ihtiyaçlarına uyum sağlamayı hedefleyen bir çevik yazılım geliştirme yöntemidir. Sık sürümler ve yakın ekip iş birliği temel alınır.
XP’nin 5 Temel Değeri
Value of XP
5.Respect / Saygı:
👉EN:Everyone in the team should respect each other, so that trust and collaboration can grow.
👉Takım içinde herkes birbirine saygı duymalı, bu sayede güven ve iş birliği ortamı oluşur.
4.Courage / Cesaret:
👉EN: Developers must be brave enough to refactor code and accept change.
👉TR: Geliştiriciler kodu yeniden yapılandırma ve değişiklikleri kabul etme cesaretine sahip olmalıdır.
3.Feedback / Geri Bildirim
👉EN: Frequent feedback helps improve the product and correct mistakes early.
👉TR: Sık alınan geri bildirimler ürünün gelişmesini sağlar ve hatalar erken fark edilir.
2.Simplicity | Basitlik
👉 Yalnızca ihtiyaç duyulanı geliştir; gereksiz karmaşıklıktan kaçın.
👉 Build only what is necessary and avoid unnecessary complexity.
1.Communication | İletişim
👉 Takım üyeleri arasında sürekli bilgi paylaşımı sağlanır.
👉 Constant communication among team members to share knowledge and resolve issues quickly.
Amaç:
Yazılım geliştirme sürecini daha
hızlı
,
esnek
ve
kaliteli
hale getirmek için Agile metodudur.
🔄 Flow of XP (Extreme Programming Süreci)
Genel Başlıklar: Project – Iteration – Development – Coding
1. Project (Proje Aşaması)
EN: The project begins with customer collaboration to define business goals, user stories, and priorities.
TR: Proje, müşteriyle iş birliği içinde iş hedeflerinin, kullanıcı hikayelerinin ve önceliklerin belirlenmesiyle başlar.
2.Iteration (Yinelenen Geliştirme Döngüsü)
EN: The work is divided into short iterations (typically 1–2 weeks) where the team delivers functional software at the end of each cycle.
TR: Çalışmalar, kısa döngülere (genellikle 1–2 hafta) bölünür ve her döngü sonunda çalışan bir yazılım teslim edilir.
3. Development (Geliştirme Süreci)
EN:During development, practices like testing, refactoring, and continuous integration are used.
TR:Geliştirme aşamasında test yazımı, yeniden düzenleme (refactoring) ve sürekli entegrasyon gibi uygulamalar kullanılır.
4. Coding (Kodlama ve Uygulama)
EN:Everyone in the team can modify any part of the code, ensuring flexibility and shared responsibility.
TR:Takımdaki herkes kodun herhangi bir kısmını değiştirebilir; bu, esneklik ve sorumluluk paylaşımı sağlar.
Pair Programming (Eşli Programlama)
EN:
Two programmers work together at one workstation.
One writes the code (driver), while the other reviews each line (observer).
They switch roles frequently.
This increases code quality, reduces bugs, and improves team collaboration.
TR:
İki yazılımcı aynı bilgisayarda birlikte çalışır.
Biri kodu yazar (sürücü), diğeri anlık kontrol eder (gözlemci).
Roller sık sık değiştirilir.
Bu yöntem kod kalitesini artırır, hataları azaltır ve ekip çalışmasını güçlendirir.
Agile Manifesto (Çevik Manifesto)
Principles of Agile Manifesto
12.Reflect and improve regularly
Teams should frequently evaluate and enhance their performance.
Sürekli iyileştirme:
Ekip düzenli olarak kendini değerlendirip geliştirir.
11.Self-organizing teams produce the best outcomes
Trust teams to make the right technical and design decisions.
Kendi kendine organize ekipler:
En iyi çözümler bağımsız ekiplerden çıkar.
10.Simplicity is essential
Do only what is necessary—avoid unnecessary work.
Basit düşünün:
Gereksiz işler yapmayın; sade olun.
9.Focus on technical excellence and good design
High-quality code supports agility and long-term success.
Teknik kaliteye önem verin:
İyi kod ve tasarım çevikliği artırır.
8.Maintain a sustainable pace
Everyone involved should be able to work at a steady rhythm.
Sürdürülebilir tempo:
Uzun vadeli, dengeli bir çalışma hızı sağlanmalı.
7.Working software is the main progress measure
Real results matter more than plans or documents.
Başarı ölçütü: çalışan yazılımdır:
Yalnızca plan değil, işleyen yazılım önemlidir.
6.Face-to-face conversation is best
The most effective communication is direct and personal.
Yüz yüze iletişim en iyisidir:
En etkili bilgi aktarımı doğrudan konuşmadır.
5.Build around motivated individuals
Give them support and trust—they will deliver great results.
Güven ve destek verin:
Motivasyonu yüksek ekipler daha iyi iş çıkarır.
4.Close collaboration
Business people and developers must work together daily.
İş birliği şart:
Müşteri ve geliştirici her gün birlikte çalışmalıdır.
3.Deliver working software frequently
Preferably every few weeks to ensure steady progress.
Yüz yüze iletişim en iyisidir:
En etkili bilgi aktarımı doğrudan konuşmadır.
2.Welcome changing requirements
Even late in development—change brings competitive advantage.
Değişikliklere açık olun:
Gereksinimler değişse bile uyum sağlanmalı.
1.Customer satisfaction is the top priority
Deliver valuable software early and continuously.
Müşteri memnuniyeti önceliklidir.
Erken ve sürekli çalışan yazılım sunarak müşteri memnun edilir.
Agile Manifesto’nun 4 Temel Değeri:
✅Değişime tepki, bir planı takip etmekten daha önemlidir. Değişikliklere açık olmak, katı planlara körü körüne uymaktan daha verimlidir.
Responding to change > over following a plan
✅Müşteri ile iş birliği, sözleşme pazarlığından daha değerlidir. Müşteriyle sürekli iletişimde olmak, sadece sözleşmeye bağlı kalmaktan daha iyidir.
customer collaboration > over contract negotiation
✅Çalışan yazılım, kapsamlı dokümantasyondan daha önemlidir. Yazılım gerçekten çalışıyorsa, binlerce sayfa belgeden daha değerlidir.
Working software > over comphrehensive documentation
✅Bireyler ve etkileşimler, süreçler ve araçlardan daha değerlidir. Takımlar arası iletişim ve iş birliği, katı süreçlerden daha etkilidir.
Individuals and interactions > over process and tools
4 temel değeri, 12 temel ilkesi içerir
İnsan merkezli
Müşteri Odaklı
Hızlı
Esnek
Adaptive Software Development (ASD)
ASD NEDİR?
EN: Adaptive Software Development (ASD) is an agile software development methodology designed for high-speed and high-change environments. It promotes flexibility, rapid iteration, and continuous adaptation in response to change.
TR: ASD, yüksek hızda ve değişimin yoğun olduğu ortamlarda kullanılan bir çevik yazılım geliştirme metodolojisidir. Esneklik, hızlı tekrarlar ve sürekli uyum sağlama üzerine kuruludur.
Values of ASD / ASD’nin Değerleri
1. Speculation – Tahmin / Öngörü
TR: Planlar kesin değildir, değişebilir. Bu yüzden esnek ve tahmine dayalı planlama yapılır.
EN:Plans are not fixed; they may change. Therefore, flexible and speculative planning is used.
2. Collaboration – İş Birliği
TR:Başarı, paydaşlar ve ekip üyeleri arasında güçlü iş birliğiyle sağlanır.
EN:Success is achieved through strong collaboration between stakeholders and team members
3. Learning – Öğrenme
TR: Ekipler geliştirme sürecinden ve geri bildirimlerden sürekli öğrenmeli ve kendini geliştirmelidir.
EN: Teams must learn continuously from the development process and feedback to improve.
Principles of ASD / ASD’nin İlkeleri
1. “Do it wrong the first time!” (İlk seferde hatalı yap!)
TR: Mükemmeliyet beklemeden hızlıca başla; geliştirme hızlı geri bildirim ve yinelemeyle olur.
EN: Start quickly even if imperfect; improvement comes from rapid feedback and iteration.
2. “Specify the real needs!” (Gerçek ihtiyaçları belirle!)
TR: Başlangıçta kapsamlı gereksinimler yerine gerçek iş ihtiyaçlarına odaklan.
EN: Focus on true business needs rather than exhaustive initial requirements.
3."Ordered = Best!" (or "Needed = Best!") / “Sıralı olan en iyidir!” (veya “Gereken en iyidir!”)
TR: En gerekli olanı önce yap; önceliklendirme, uyarlanabilir başarı için kritiktir.
EN: Do what's most necessary first; prioritization is key to adaptive success
Adaptive Software Development Flowchart (ASD Akış Diyagramı)
Speculate (Tahmin Et / Planla):
Sabit planlar yerine tahmine dayalı ve esnek planlama yapılır.Yeni bilgiler geldikçe planlar güncellenebilir.
Collaborate (İş Birliği Yap / Uygula):
Takım üyeleri ve müşteri sürekli iletişim hâlindedir.Süreç içinde herkes katkı sunar.
Learn (Öğren / Gözden Geçir):
Yapılan iş değerlendirilir, öğrenilen dersler alınır.Bu bilgi yeni iterasyonlara yön verir.
Agile Modelling (Çevik Modelleleme)
Values of Agile Modelling / Agile Modelling’in Değerleri
1)Communication / İletişim
TR: Tüm ekip üyeleri arasında açık iletişimi teşvik eder ,
yanlış anlamaları önler ve iş birliğini arttırır.
EN: Encourage open dialogue among all team members to
prevent misunderstandings and enhaces collaboration.
2)Simplicity / Sadelik
TR: Modeller ve araçlar mümkün olduğunca basit olmalıdır.
EN: Keep models and tools as simple as possible to
imrove the clarity and flexibility . Avoid uncessary complexity.
3)Feedback / Geri Bildirim
TR: Modelleri geliştirmek için erken ve sık geri bildirim alın.
EN: Gain feedback early and frequently to
improve models and fix issues early.
4)Courage / Cesaret
TR: Kötü modelleri terk etmeye ve yeni fikirler denemeye cesaret edin.
EN: Courage to discard poor models and
try new ideas.
It leads to better solutions.
5)Humility / Alçakgönüllülük
TR: Her fikre değer vermek ve başkalarının görüşlerine saygı göstermek, ekip içinde öğrenmeyi ve ortak aklı teşvik eder; çünkü kimse her şeyi bilemez.
EN:
Respect idead from others
; fosters learning and shared wisdom within the team,
because no single person knows everything.
Practices of Agile Modelling / Agile Modelling Uygulamaları
🔹 Core Practices / Temel Uygulamalar
Active Stakeholder Participation / Aktif Paydaş Katılımı :
Paydaşlar, modelleme sürecine doğrudan dahil olmalıdır.
Apply the Right Artifacts / Doğru Belgeleri Kullanın
: Her duruma uygun doğru model ve dokümantasyonu seçin.
Collective Ownership / Kolektif Sahiplik:
Herkes modellerin sahibi ve geliştiricisidir.
Consider Testability / Test Edilebilirliği Göz Önünde Bulundurun:
Modellerin test edilmesini kolaylaştıran bir yapı sağlayın.
Create Several Models in Parallel / Paralel Modelleme
: Farklı bakış açıları için aynı anda birden fazla model oluşturun.
Create Simple Content / Basit İçerik Üretin:
Gereksiz ayrıntılardan kaçınarak anlaşılır modeller oluşturun.
Depict Models Simply / Modelleri Basitçe Gösterin:
Modeller kolayca okunabilir olmalıdır.
Display Models Publicly / Modelleri Paylaşın:
Modeller tüm ekip için görünür bir şekilde paylaşılmalıdır.
Iterate to Another Artifact / Başka Bir Ürüne Geçin:
Gerekli olduğunda farklı bir modelleme yöntemine geçin.
Model in Small Increments / Küçük Parçalar Halinde Modelle:
Küçük ve hızlı yinelemelerle modelleyin
Model with Others / Ortak Modelleme:
Modellemeyi birlikte yaparak kolektif akıl kullanın.
Prove it with Code / Kodla Kanıtlayın
: Modelin çalışabilirliğini kodla test edin.
Use the Simplest Tools / En Basit Araçları Kullanın:
Karmaşık yazılımlar yerine kolay araçlar tercih edin.
🔹 Supplementary Practices / Destekleyici Uygulamalar
Apply Modelling Standards / Modelleme Standartları Uygulayın
TR: Tüm ekip aynı dili konuşsun diye standartlara uymak önemlidir.
EN: Standards ensure everyone speaks the same design language.
ORTAK DİL
Apply Patterns Gently / Kalıpları Nazikçe Uygulayın:
TR: Gereksiz karmaşıklığı önlemek için tasarım kalıplarını sadece gerektiğinde kullan.
EN: Use design patterns only when they simplify, not complicate.
YALIN TASARIM
Discard Temporary Models / Geçici Modelleri Atın
TR: Artık işe yaramayan modelleri saklamak, kafa karışıklığı yaratır.
EN: Keeping old models clutters the process and adds confusion.
AT GİTSİN
Formalize Contract Models / Anlaşma Modellerini Resmileştirin
TR: Müşteriyle net olmak için anlaşmalı modeller resmi hale getirilir.
EN: Contract models prevent misunderstandings with clients.
YAZILI GARANTİ
Model to Communicate / İletişim İçin Modelleyin
TR: Amacın iletişim kurmak, başkalarının anlamasını sağlamak.
EN: The goal is clarity, not complexity.
ANLATMAK İÇİN MODEL YAP
Model to Understand / Anlamak İçin Modelleyin
TR: Model yaparak sistemi daha iyi kavrarsın.
EN: Modeling helps you see and understand the system clearly.
ANLAMAK İÇİN MODEL ÇİZ
Reuse Existing Resources / Var Olan Kaynakları Yeniden Kullanın
TR: Aynı işi tekrar yapma; zaten var olanı kullan.
EN: Save time and effort by reusing what already exists.
AYNI İŞİ TEKRAR ETME.
Update Only When It Hurts / Sadece Gerektiğinde Güncelleyin
TR: Sürekli güncelleme yorucudur; gerekmedikçe dokunma.
EN: Update only when the old model truly causes pain.
BOZULANA KADAR DOKUNMA
Refactoring / Yeniden Yapılandırma
Refactoring / Yeniden Yapılandırma:
Kodun işlevini bozmadan iyileştirme yapın.
Test-First Design / Önce Test Tasarımı
: Önce testler yazılır, sonra kod geliştirilir.
BASİT AMA YETERLİ MODELLER OLUŞTURMAK
Purpose / Amaç:
TR: Agile Modelling’in amacı, yazılım ekiplerinin işbirliği içinde basit ama yeterli modellemeler yaparak zaman kaybetmeden işlevsel çözümler üretmelerini sağlamaktır. “Gereken kadar modelle” anlayışı ön plandadır.
EN: The goal of Agile Modelling is to enable software teams to
create simple but sufficient models collaboratively,
avoiding unnecessary delays and focusing on delivering functional solutions. The philosophy is “
model just enough.”
Agile Modelling – Çevik Modelleştirme Nedir?