Slide 1

Slide 1 text

Daron Yöndem Microsoft Regional Director, MVP

Slide 2

Slide 2 text

Bir sistemin tasarım ve uygulama süreçlerini asgari sınırlarda zorlayarak kısaltan bir yazılım geliştirime metodolojisidir.

Slide 3

Slide 3 text

1991de ortaya atıldı. Bolca CASE den faydalanılır. • computer-aided software engineering Müşteri taleplerini olabildiğince hızlı şekilde sonuca çevirmeyi amaçlar.

Slide 4

Slide 4 text

Ucuz yazılım! Kim istemez? Değişen dünya, hızlı iş hayatına uyum sağlayan yazılım üretme süreci. 3-4 yıl süren projelerin sonunda projede kullanılan teknolojilerin çokten demode olması sorunsalı?

Slide 5

Slide 5 text

time boxing prototyping iterative development deneyimli bir takım! yönetim

Slide 6

Slide 6 text

Yazılım geliştirme süreçleri olabildiğince kısa tutulmalı. Component based development, OOP avantajları kullanılarak yazılım olabildiğince Parralel Programlanır! Deadline tarihleri yakın tutularak sarkmalar engellenmeli. Geliştirme ekibi üzerinde kesinlikle ağır bir stres oluşturulmalı.

Slide 7

Slide 7 text

İşlevsel mükemmeliğime önem vermeden hızlıca ilk faz müşteri ile paylaşılmalı. Interaktif bir demo ile projenin kısmi çalışır hali hemen müşteriye iletilmeli. Böylece feedback alımı yazılım geliştirme sürecinin çok daha başlarına çekilmeli.

Slide 8

Slide 8 text

Proje özellikleri farklı döngülere bölünmeli. Her döngü kendi deadlineına sahip olmalı. Her döngüde yazılıma yeni özellikler eklenerek arada prototipin müşteriye sunulması ile her döngü sonunda feedback alınmalı.

Slide 9

Slide 9 text

Takım olabildiğince ufak tutulmalı. Takım üyeleri maksimum deneyime sahip olmalı. Motivasyon kesinlikle ÇOK önemli!

Slide 10

Slide 10 text

Bürokrasiyi yok edin! Kağıt işlerini ortadan kaldırın! Dokümantasyonu geleceğe bırakın! Test kodlarını geleceğe bırakın! Müşteri kendi testini yapsın ;)

Slide 11

Slide 11 text

Joint Application Development! Projenin sahipleri, şirket ortakları ve programcılarınızı toplayıp beraber WorkShoplar yapın!

Slide 12

Slide 12 text

Müşteri ihtiyaçlarını analistler değerlendirir. Yazılım ekibi bir prototip hazırlar CASE araçları ile. Prototip müşteri onayından geçer (Spec Dokümanları değil!) Kodlama başlar. I-CASE araçları kullanılır. Müşteri her adımda onay verir. Müşteriden «ok» geldiği gibi proje teslim edilir.

Slide 13

Slide 13 text

Projelerde çoğu zaman geliştirme sürecinde gelen yeni özellik talepleri başta belirlenenlerden kat kat fazla olur! Yazılımınızı muhteşemleştirmeye çalışmayın! Teslim etmeye çalışın!

Slide 14

Slide 14 text

Yazılımcılar ne kullanacak?

Slide 15

Slide 15 text

Object Relation Mapping Veritabanı erişim kodunuzu bırakın bilgisayarınız yazsın! Yazılım katmanları arası iletişimi olabildiğinc üzerinizden atın. Yazılımcıların iş kurallarına ve işlevselliğe odaklanması gerekir.

Slide 16

Slide 16 text

Bir ORM hikayesi : LINQ

Slide 17

Slide 17 text

Drag&Drop Cenneti SQLDataSource? • Artıları  Çok Hızlı geliştirme süreci  Deneyim gerektirmeyen geliştirme olanakları • Eksileri  Reusability SIFIR  Her şey bir yere kadar! Fizibilite önceden test edilmeli yoksa sonrada özelleştirmek çin işkencesine dönüşür.

Slide 18

Slide 18 text

Yaaay!

Slide 19

Slide 19 text

Yazacağınız kodu yazan araçlar yazabilir misiniz? CodeSmith sadece bir tanesi. Farklı Code Generation araçlarını inceleyebilirsiniz. Faydaları • Kodunuzun hızlı üretilmesinin yanı sıra standartlaşmasını ve kurallara uyulmasını sağlar. • Hızlıdır!

Slide 20

Slide 20 text

CodeSmith nedir? Ne değildir?

Slide 21

Slide 21 text

Yazılımın belirli kısımlarını başka şirketlere yaptırabilirsiniz. Maliyetlerinizi düşürebilir! Parallel programala sürecinize katkıda bulunur. Sizi hızlandırır.

Slide 22

Slide 22 text

Başka firmaların sağladığı yazılım paketlerini kullanabilirsiniz. Özelleştirme konusunda fizibilite testleri kesinlikle yapılmalı. Referanslar çok önemli! Sizi yarı yolda bırakabilirler!

Slide 23

Slide 23 text

Ne? Nasıl? Neden?

Slide 24

Slide 24 text

[email protected] http://daron.yondem.com