بسمه تعالي

55
مه س ب مه س ب ي ل عا ت ي ل عا ت روش روش ار ز ف رم ا ن ه ع س و ت) ک ب ا" چ( ال ق ت( نلا عا ي ر س های ار ز ف رم ا ن ه ع س و ت) ک ب ا" چ( ال ق ت( نلا عا ي ر س های م ه د ل دوار ص ف م ه د ل دوار ص ف

Upload: byron-simpson

Post on 02-Jan-2016

89 views

Category:

Documents


6 download

DESCRIPTION

بسمه ‌ تعالي. فصل دوازدهم. روش ‌ های سريع الانتقال (چابک) توسعه نرم افزار. اهداف جلسه. تقسيم ‌ بندی متدولوژي ‌ های توسعه نرم ‌ افزار معيارهای مقايسه متدولوژي ‌ ها با يکديگر مقايسه متدولوژي ‌ ها بر اساس معيارهای مطرح شده اصول بنيادی متدولوژي ‌ های چابک معرفی چند روش چابك. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: بسمه  تعالي

تعاليتعالي‌‌بسمهبسمه

های‌سريع‌االنتقال‌)چابک(‌توسعه‌نرم‌های‌سريع‌االنتقال‌)چابک(‌توسعه‌نرم‌‌‌روشروش

افزارافزار

فصل‌دوازدهمفصل‌دوازدهم

Page 2: بسمه  تعالي

2

اهداف‌جلسه

افزار‌های‌توسعه‌نرم‌بندی‌متدولوژي‌تقسيم

ها‌با‌يکديگر‌‌متدولوژيمقايسه‌معيارهای

ها‌بر‌اساس‌معيارهای‌‌مقايسه‌متدولوژي

مطرح‌شده

های‌چابک‌‌متدولوژيبنيادی‌اصول

چند‌روش‌چابكمعرفی‌‌

Page 3: بسمه  تعالي

3

متدولوژي‌توسعه‌نرم‌افزار

فرآيند‌توليد‌و‌توسعه‌نرم‌افزار‌ذاتا‌3يك‌

‌و‌پر‌هرج‌و‌مرج‌است.‌براي‌بي‌نظمفرآيند‌

‌دادن‌به‌اين‌فرآيند،‌متدولوژي‌هاي‌نظم

توسعه‌نرم‌افزار‌مطرح‌شدند

‌،متدولوژي‌توسعه‌نرم‌افزار‌مشخص‌مي‌کند

(‌‌Who)چه‌کسي(‌توسط‌‌What)چه‌فرآورده‌اي

(‌توليد‌شود.‌When)چه‌زمانيو‌در‌

Page 4: بسمه  تعالي

4

های‌‌تقسيم‌بندی‌متدولوژيافزار‌‌توسعه‌نرم

متدولوژيمتدولوژي‌‌(های‌سنگين‌وزن‌(های‌سنگين‌وزن‌HeavyweightHeavyweight))فازها‌بطور‌کامل‌اجرا‌شده‌و‌مستندات‌کامل‌

ايجاد‌مي‌شود

متدولوژيمتدولوژي‌‌(های‌سبک‌وزن‌(های‌سبک‌وزن‌LightweightLightweight))فازها‌به‌صورت‌کوتاه‌و‌مستندات‌به‌اندازه‌ايجاد‌

مي‌شوند

در‌دسته‌دوم‌قرار‌دارند‌‌چابکمتدولوژيهای‌

Page 5: بسمه  تعالي

5

متدولوژي‌سنگين‌وزن

سال‌اخير‌روش‌هاي‌بسيار‌زيادي‌براي‌25در‌‌

توسعه‌نرم‌افزار‌معرفي‌شدند‌اما‌امروزه‌تعداد‌

بسيار‌اندكي‌از‌آنها‌مورد‌استفاده‌قرار‌

!مي‌گيرد

ماشين‌گرامتدولوژي‌هاي‌فعلي‌بيش‌از‌اندازه‌‌

‌هستند‌و‌بصورت‌فرآيندي‌وارد‌مكانيزهو‌

به‌همين‌دليل‌،‌جزئيات‌غيرضروري‌مي‌شوند

نامند‌اين‌نوع‌متدولوژها‌را‌سنگين‌وزن‌مي

Page 6: بسمه  تعالي

6

مشکالت‌متدولوژي‌هاي‌سنگين‌وزن

مشتريان‌نرم‌افزارها‌حاضر‌نيستند‌كه‌براي‌

دست‌يافتن‌به‌نرم‌افزارهاي‌مورد‌نياز‌خود‌

‌بمانندمدت‌زيادي‌منتظرمدت‌زيادي‌منتظر

هاي‌توليد‌نرم‌افزار‌‌‌شديد‌شركترقابت‌بسياررقابت‌بسيار

ه‌كاربرانببراي‌ارائه‌خدمات‌نرم‌افزاري‌

بسيار‌زياد‌نرم‌افزارهاي‌امروزي‌تغييرپذيريتغييرپذيري‌

انكارناپذير‌است

Page 7: بسمه  تعالي

7

لزوم‌تغييرات‌در‌توسعه‌نرم‌افزار

big cheese CustomerCos

t of c

hang

ePromised

date

No Change!•We are already running late. •I need to meet my date.•We worked hard to prevent

change at the start.

Page 8: بسمه  تعالي

8

لزوم‌تغييرات‌در‌توسعه‌نرم‌افزار

big cheese CustomerCos

t of c

hang

ePromised

date

No Change!•We are already running late. •I need to meet my date.•We worked hard to prevent

change at the start.

Change & Rework

happens at the most

expensive time

Spec signed off here

Page 9: بسمه  تعالي

9

لزوم‌تغييرات‌در‌توسعه‌نرم‌افزار

No Change!

Change! big cheese Customer

Conflict*

Meet Schedule

Best Product

Successful Project

Page 10: بسمه  تعالي

10

معيارهای‌مقايسه‌ها‌با‌يکديگر‌‌متدولوژي

روشمعيار‌موفقيتاندازه‌پروژهسبک‌مديريتنحوه‌مستندسازیها‌چرخهاندازه‌تيم‌برگشت‌سرمايه

Page 11: بسمه  تعالي

11

روش

بصورت‌چابکهای‌‌روش‌Adaptiveيا‌سازگار‌‌

کنند‌يعنی‌با‌شرايط‌منطبق‌‌عمل‌می

شوند‌می

های‌سنگين‌وزن‌بصورت‌پيشگو‌يا‌‌روش

Predictiveکنند‌يعنی‌در‌آغاز‌همه‌‌‌عمل‌‌‌‌می

کنند‌بينی‌می‌چيز‌را‌پيش

‌از‌ابتدا‌قابل‌پيش‌بينی‌است؟همه‌چيزآيا‌ ‌از‌ابتدا‌قابل‌پيش‌بينی‌است؟همه‌چيزآيا‌

Process Discipline

Rigid, Highly Structured

Ad hoc,Chaotic

Agile Processes RUP

CMM - SW

Page 12: بسمه  تعالي

12

معيار‌موفقيت

دستيابی‌چابکهای‌‌معيار‌موفقيت‌در‌روش‌

(‌استBusiness Valueبه‌ارزش‌کاری‌)

های‌سنگين‌وزن‌معيار‌موفقيت‌‌در‌روش

پيش‌رفتن‌در‌راستای‌طرح‌اوليه‌است

پذيری‌ندارند‌‌های‌سنگين‌وزن‌انعطاف‌روش پذيری‌ندارند‌‌های‌سنگين‌وزن‌انعطاف‌روش

Page 13: بسمه  تعالي

13

اندازه‌پروژه

کوچک‌استچابکهای‌‌اندازه‌پروژه‌در‌روش‌

های‌سنگين‌وزن‌‌اندازه‌پروژه‌در‌روش

تواند‌بسيار‌بزرگ‌باشد‌می

‌چابکهای‌‌اين‌مسأله‌از‌محبوبيت‌روش

کاهد‌!!!‌نمی

های‌کوچک‌‌دهد‌که‌تعداد‌پروژه‌)آمار‌نشان‌می

بسيار‌بيشتر‌است(

‌چابکهای‌‌اين‌مسأله‌از‌محبوبيت‌روش

کاهد‌!!!‌نمی

های‌کوچک‌‌دهد‌که‌تعداد‌پروژه‌)آمار‌نشان‌می

بسيار‌بيشتر‌است(

Page 14: بسمه  تعالي

14

سبک‌مديريت

بصورت‌چابکهای‌‌مديريت‌در‌روش‌

غيرمتمرکز‌و‌آزاد‌است‌

های‌سنگين‌وزن‌مديريت‌بصورت‌‌در‌روش

مطلق‌و‌استبدادی‌است‌

گيری‌‌مديريت‌غيرمتمرکز‌امکان‌تصميمکند‌بهتر‌را‌فراهم‌می

گيری‌‌مديريت‌غيرمتمرکز‌امکان‌تصميمکند‌بهتر‌را‌فراهم‌می

Page 15: بسمه  تعالي

15

نحوه‌مستندسازی

بصورت‌چابکهای‌‌مستندسازی‌در‌روش‌شود‌بسيار‌محدود‌انجام‌می

های‌سنگين‌وزن‌مستندسازی‌‌در‌روششود‌بصورت‌کامل‌و‌جامع‌انجام‌می

های‌‌در‌بسياری‌از‌موارد‌مستند‌سازي

سنگين,‌کار‌بسيار‌دشوار‌و‌زمانبری‌است‌

های‌‌در‌بسياری‌از‌موارد‌مستند‌سازي

سنگين,‌کار‌بسيار‌دشوار‌و‌زمانبری‌است‌

Page 16: بسمه  تعالي

16

ها‌چرخه

تعداد‌چرخه‌(ها‌Cyclesدر‌روش‌)چابکهای‌‌‌

بسيار‌زياد‌است‌اما‌زمان‌آنها‌کوتاست‌

ها‌کم‌‌های‌سنگين‌وزن‌تعداد‌چرخه‌در‌روش

است‌ولی‌زمان‌آنها‌بسيار‌زياد‌است

های‌توليد,‌موجب‌‌زمانبر‌بودن‌چرخه

طوالنی‌شدن‌زمان‌انتظار‌برای‌رسيدن‌به‌

شود‌‌نشرها‌می

های‌توليد,‌موجب‌‌زمانبر‌بودن‌چرخه

طوالنی‌شدن‌زمان‌انتظار‌برای‌رسيدن‌به‌

شود‌‌نشرها‌می

Page 17: بسمه  تعالي

17

اندازه‌تيم

اندازه‌تيم‌کوچک‌است‌چابکهای‌‌در‌روش‌

‌نفر(‌30تا‌20)بين‌

های‌سنگين‌وزن‌اندازه‌تيم‌توسعه‌‌در‌روش

بزرگ‌است

خالقيت‌و‌همکاری‌در‌تيم‌کوچک‌بسيار‌بيشتر‌خواهد‌بود‌

خالقيت‌و‌همکاری‌در‌تيم‌کوچک‌بسيار‌بيشتر‌خواهد‌بود‌

Page 18: بسمه  تعالي

18

‌برگشت‌سرمايه‌

سرمايه‌خيلی‌زود‌در‌چابکهای‌‌در‌روش‌

گردد‌طول‌پروژه‌بر‌می

های‌سنگين‌وزن‌برای‌برگشت‌‌در‌روش

سرمايه‌بايد‌تا‌انتهای‌پروژه‌صبر‌کرد

‌از‌لحاظ‌اقتصادی‌چابکهای‌‌روشاند‌‌بصرفه

‌از‌لحاظ‌اقتصادی‌چابکهای‌‌روشاند‌‌بصرفه

Page 19: بسمه  تعالي

19

مقايسه‌متدولوژي‌هاي‌سبک‌و‌سنگين

Agile MethodsHeavy Methods

ApproachAdaptivePredictive

Success MeasurementBusiness ValueConformation to plan

Project SizeSmallLarge

Management StyleDecentralizedAutocratic

DocumentationLowHeavy

EmphasisPeople-OrientedProcess-Oriented

CyclesNumerousLimited

DomainUnpredictable/ExploratoryPredictable

Team SizeSmall/CreativeLarge

Page 20: بسمه  تعالي

20

چابکبيانيه‌روش‌هاي‌

متخصصان‌روش‌هاي‌چابک‌2001در‌سال‌‌

بيانيه‌اي‌‌را‌منتشر‌كردند‌و‌اين‌روش‌ها‌را‌

در‌چهار‌اصل‌كلي‌به‌دنياي‌نرم‌افزار‌

معرفي‌نمودند‌كه‌عبارتند‌از:فرآيندها‌و‌ابزارهابرتر‌ازتعامل‌‌و‌فردگرايي‌‌

تر‌از‌مستندات‌مفهوميه‌بنرم‌افزار‌قابل‌اجرا‌

تر‌از‌مذاکرات‌قراردادگراه‌بهمکاري‌با‌مشتريان‌

روي‌از‌طرح‌ر‌از‌دنبالههت‌بپاسخ‌به‌تغيير‌

Page 21: بسمه  تعالي

21

معروف‌ترين‌روش‌هاي‌چابک

XP (Extreme Programming)

Scrum

Crystal Family

FDD (Feature Driven Development)

Dynamic System Development

Adaptive Software Development

Open Source Software Development

Page 22: بسمه  تعالي

22

XP (Extremeمتدولوژی‌

Programming)

ددبازخوربازخور‌و‌همکاریهمکاری‌،سادگیسادگیبر‌مبنای‌اصول‌‌‌

‌استوار‌استسريعسريع

توسطايده‌اين‌روش‌Kent Beckدر‌سال‌‌‌

‌ارائه‌شده‌است2000

مبتنی‌بر‌آزمايش‌(Test-Driven)

نقش‌مشتريان‌بسيار‌پررنگ‌است

فاز‌است‌5فعاليت‌و‌12فرآيند‌آن‌شامل‌‌

Page 23: بسمه  تعالي

23

‌–‌چرخه‌XPمتدولوژی‌حيات

Page 24: بسمه  تعالي

24

‌–‌فازهاXPمتدولوژی‌

چرخه‌حيات‌XPشامل‌پنج‌فاز‌است‌‌‌‌ Exploration

Planning

Iterations To Release

Product Tionizing

Maintenance and Dead

Page 25: بسمه  تعالي

25

‌–‌نقش‌ها‌و‌XPمتدولوژی‌مسئوليت‌ها

برنامه‌نويس

مشتري

آزمايش‌کننده

(پي‌گيري‌کننده‌Tracker)

مربي

مشاور‌

)مدير‌)رئيس‌ارشد

Page 26: بسمه  تعالي

26

ها‌فرآورده‌–‌XPمتدولوژی‌

User Stories

شوندشوند‌‌‌بشکل‌متنی‌بوده‌و‌توسط‌مشتريان‌نوشته‌می‌بشکل‌متنی‌بوده‌و‌توسط‌مشتريان‌نوشته‌میا3ا3معمولمعمول

شودشود‌‌های‌سيستم‌مشخص‌میهای‌سيستم‌مشخص‌می‌‌از‌طريق‌آنها‌نيازمندياز‌طريق‌آنها‌نيازمندي

Iteration Plan

ای‌ازای‌از‌‌مجموعهمجموعه‌‌User StoryUser Storyهاست‌که‌توسط‌مشتری‌انتخاب‌‌هاست‌که‌توسط‌مشتری‌انتخاب‌‌

شوند‌شوند‌‌‌میمی

شودشود‌‌‌توليد‌می‌توليد‌می،،کشدکشد‌‌‌دو‌هفته‌طول‌می‌دو‌هفته‌طول‌میا3ا3در‌يک‌تکرار‌که‌معمولدر‌يک‌تکرار‌که‌معمول

های‌تکرار‌با‌توجه‌به‌اولويت‌مشخص‌شده‌توسط‌های‌تکرار‌با‌توجه‌به‌اولويت‌مشخص‌شده‌توسط‌‌‌طرحطرح

شوندشوند‌‌مشتری‌اجرا‌میمشتری‌اجرا‌می

دهندگان‌دهندگان‌‌‌شده‌توسط‌توسعهشده‌توسط‌توسعه‌‌انتخاب‌براساس‌بودجه‌تعيينانتخاب‌براساس‌بودجه‌تعيين

‌خواهد‌بودخواهد‌بود

Page 27: بسمه  تعالي

27

‌ها‌فرآورده‌–‌XPمتدولوژی‌)ادامه(

Release Plan

های‌تکرار‌را‌در‌قالب‌يک‌های‌تکرار‌را‌در‌قالب‌يک‌‌‌ای‌از‌طرحای‌از‌طرح‌‌مجموعهمجموعه‌‌

نقشه‌کلی‌برای‌رسيدن‌به‌نشرها‌نمايش‌نقشه‌کلی‌برای‌رسيدن‌به‌نشرها‌نمايش‌

دهددهد‌‌میمی

Task‌ای‌از‌ای‌از‌‌‌زيرمجموعهزيرمجموعهUser StoryUser Storyها‌هستند‌ها‌هستند‌TaskTaskکاری‌اولويت‌بيشتری‌کاری‌اولويت‌بيشتری‌‌‌ها‌از‌نظر‌تکنيکی‌وها‌از‌نظر‌تکنيکی‌و

دارند‌و‌بايد‌سريع‌انجام‌شونددارند‌و‌بايد‌سريع‌انجام‌شوندTaskTaskهاهاتکرارتکرار‌‌ريزیريزی‌‌ها‌در‌مرحله‌طرحها‌در‌مرحله‌طرح(‌(‌Iteration Iteration

PlanningPlanningشوندشوند‌‌(‌مشخص‌می(‌مشخص‌می

Page 28: بسمه  تعالي

28

‌ها‌فرآورده‌–‌XPمتدولوژی‌)ادامه(

Metaphore

دهنده‌يک‌تصوير‌کلی‌از‌سيستم‌استدهنده‌يک‌تصوير‌کلی‌از‌سيستم‌است‌‌نشاننشان

برای‌هر‌عنصر‌در‌سيستم‌يک‌نام‌در‌نظر‌گرفته‌برای‌هر‌عنصر‌در‌سيستم‌يک‌نام‌در‌نظر‌گرفته‌

شودشود‌‌میمی

ارتباط‌بين‌عناصر‌درگير‌در‌سيستم‌از‌طريق‌ارتباط‌بين‌عناصر‌درگير‌در‌سيستم‌از‌طريق‌MetaphoreMetaphore‌‌

شودشود‌‌مشخص‌میمشخص‌می

Spike

يک‌راهيک‌راه‌‌(حل‌ضربتی‌(حل‌ضربتی‌Spike SolutionSpike Solution))‌،‌،ايست‌که‌ايست‌که‌‌‌برنامه‌سادهبرنامه‌ساده

های‌بالقوه‌را‌کشف‌کردهای‌بالقوه‌را‌کشف‌کرد‌‌حلحل‌‌توان‌راهتوان‌راه‌‌میمی‌‌آنآن‌‌بوسيلهبوسيله

در‌مواردی‌که‌در‌مواردی‌که‌User StoryUser Storyها‌حساس‌و‌مهمند‌از‌آن‌‌ها‌حساس‌و‌مهمند‌از‌آن‌‌

استفاده‌می‌شوداستفاده‌می‌شود

Page 29: بسمه  تعالي

29

‌–‌عملياتXPمتدولوژی‌

Planning Game

(يک‌تعامل‌محصور‌(يک‌تعامل‌محصور‌Close InteractionClose Interactionبين‌مشتری‌و‌‌)بين‌مشتری‌و‌‌)

آيدآيد‌‌نويس‌بدست‌مینويس‌بدست‌می‌‌برنامهبرنامه

های‌های‌‌‌سازی‌گزارشسازی‌گزارش‌‌نويس‌کار‌الزم‌برای‌پيادهنويس‌کار‌الزم‌برای‌پياده‌‌برنامهبرنامه

زند‌و‌مشتری‌در‌مورد‌حوزه‌و‌زند‌و‌مشتری‌در‌مورد‌حوزه‌و‌‌‌مشتری‌را‌تخمين‌میمشتری‌را‌تخمين‌می

کندکند‌‌گيری‌میگيری‌می‌‌زمان‌نشرها‌تصميمزمان‌نشرها‌تصميم

Simple Design

ترين‌‌ترين‌‌‌‌تأکيد‌اصلی‌در‌اين‌روش‌بر‌روی‌طراحی‌سادهتأکيد‌اصلی‌در‌اين‌روش‌بر‌روی‌طراحی‌ساده

های‌غيرضروری‌و‌های‌غيرضروری‌و‌‌‌حل‌ممکن‌است‌و‌پيچيدگيحل‌ممکن‌است‌و‌پيچيدگي‌‌راهراه

شوندشوند‌‌کدهای‌اضافی‌به‌سرعت‌حذف‌میکدهای‌اضافی‌به‌سرعت‌حذف‌می

Page 30: بسمه  تعالي

30

‌–‌عمليات‌XPمتدولوژی‌)ادامه(

Testing

افزار‌يک‌فرآيند‌آزمايشافزار‌يک‌فرآيند‌آزمايش‌‌توسعه‌نرمتوسعه‌نرم‌‌(گراست‌(گراست‌Test-DrivenTest-Driven))برای‌آن‌‌برای‌آن‌،،نويس‌يک‌خاصيت‌را‌اضافه‌کندنويس‌يک‌خاصيت‌را‌اضافه‌کند‌‌قبل‌از‌اينکه‌برنامهقبل‌از‌اينکه‌برنامه‌

گرددگردد‌‌که‌بصورت‌پيوسته‌اجرا‌میکه‌بصورت‌پيوسته‌اجرا‌می‌‌کندکند‌‌يک‌تست‌طراحی‌میيک‌تست‌طراحی‌می

Refactoring

بهبود‌‌بهبود‌،،بازسازی‌سيستم‌با‌حذف‌موارد‌تکراریبازسازی‌سيستم‌با‌حذف‌موارد‌تکراری‌

پذيری‌پذيری‌‌‌سازی‌و‌افزايش‌انعطافسازی‌و‌افزايش‌انعطاف‌‌‌‌‌ساده‌ساده،،ارتباطاتارتباطات

سيستمسيستمPair Programming

نويسند‌)يک‌نويسند‌)يک‌‌‌دو‌نفر‌کد‌را‌روی‌يک‌کامپيوتر‌میدو‌نفر‌کد‌را‌روی‌يک‌کامپيوتر‌می

کدنويس‌و‌يک‌متخصص‌استراتژی(کدنويس‌و‌يک‌متخصص‌استراتژی(

Page 31: بسمه  تعالي

31

‌–‌عمليات‌XPمتدولوژی‌)ادامه(

Collective Ownership

تواند‌کد‌را‌در‌هر‌زمانی‌تغيير‌دهدتواند‌کد‌را‌در‌هر‌زمانی‌تغيير‌دهد‌‌هر‌فردی‌میهر‌فردی‌می

Continuous Integration

پيونددپيوندد‌‌کد‌جديد‌در‌حداقل‌زمان‌ممکن‌به‌کد‌اوليه‌میکد‌جديد‌در‌حداقل‌زمان‌ممکن‌به‌کد‌اوليه‌می،،‌‌

بنابراين‌سيستم‌دفعات‌زيادی‌در‌روز‌يکپارچه‌شده‌و‌بنابراين‌سيستم‌دفعات‌زيادی‌در‌روز‌يکپارچه‌شده‌و‌

شودشود‌‌ساخته‌میساخته‌می

40‌Hour Week

حداکثر‌چهل‌ساعت‌کار‌در‌هفته‌کافی‌استحداکثر‌چهل‌ساعت‌کار‌در‌هفته‌کافی‌است

اين‌مورد‌اجباری‌است‌و‌بيشتر‌از‌اين‌ساعات‌کار‌مجاز‌اين‌مورد‌اجباری‌است‌و‌بيشتر‌از‌اين‌ساعات‌کار‌مجاز‌

باشدباشد‌‌نمینمی

Page 32: بسمه  تعالي

32

‌–‌عمليات‌XPمتدولوژی‌)ادامه(

On- Site Customer

مشتری‌بايد‌بصورت‌تمام‌وقت‌برای‌تيم‌توسعه‌مشتری‌بايد‌بصورت‌تمام‌وقت‌برای‌تيم‌توسعه‌

در‌دسترس‌باشددر‌دسترس‌باشد

Coding Standards

نويسان‌نويسان‌‌‌قواعد‌کدنويسی‌بايد‌توسط‌برنامهقواعد‌کدنويسی‌بايد‌توسط‌برنامه

رعايت‌شود‌و‌ارتباط‌بين‌کدها‌مورد‌توجه‌قرار‌رعايت‌شود‌و‌ارتباط‌بين‌کدها‌مورد‌توجه‌قرار‌

گيردگيرد

Page 33: بسمه  تعالي

33

FDD (Feature Drivenمتدولوژی‌Development)

دهد‌و‌‌تمام‌فرآيند‌توسعه‌نرم‌افزار‌را‌پوشش‌نمی

‌متمرکز‌سازی‌پياده‌و‌طراحیبيشتر‌روی‌دو‌فاز‌

شود‌می

های‌يک‌پروژه‌‌برای‌استفاده‌بهمراه‌ساير‌فعاليت

مدل‌افزار‌طراحی‌شده‌است‌و‌هيچ‌‌توسعه‌نرم

‌فرآيند‌خاصی‌الزم‌ندارد

با‌انتخاب‌بهترين‌و‌تکراریمبتنی‌بر‌توسعه‌‌

هاست‌موثرترين‌فعاليت

نشرهای‌های‌کيفتی‌تأکيد‌دارد‌و‌شامل‌‌روی‌جنبه

‌و‌پيگيری‌دقيق‌پيشرفت‌پروژه‌است‌محسوس

Page 34: بسمه  تعالي

34

‌FDDفرآيندهای

ترتيبی‌است‌که‌از‌طريق‌آنها‌‌‌پنج‌فرآيندشامل‌شود‌سازی‌انجام‌می‌های‌طراحی‌و‌پياده‌فعاليت

قسمت‌تکراری‌فرآيند‌FDD‌)طراحی‌و‌ساخت(‌کند‌‌حمايت‌میچابکاز‌توسعه‌

هفته‌‌3تا‌‌2ا3معمول،‌هر‌تکرار‌از‌يک‌خاصيت‌برد‌زمان‌می

Page 35: بسمه  تعالي

35

ها‌نقش‌–‌FDDمتدولوژی‌

FDDهای‌خود‌را‌به‌سه‌دسته‌کلی‌‌‌نقش

کند‌تقسيم‌می

های‌کليدی‌نقش

های‌حمايتی‌نقش

های‌اضافی‌نقش

Page 36: بسمه  تعالي

36

ي‌ها‌نقش‌–‌FDDمتدولوژی‌کليدي

مدير‌پروژه

ارشدمعمار‌

مدير‌توسعه‌

ارشدنويس‌برنامه‌

(مالك‌كالس‌Class Owner)

متخصص‌دامنه(‌Domain Manager)

Page 37: بسمه  تعالي

37

ي‌ها‌نقش‌–‌FDDمتدولوژی‌حمايتي

مدير‌نشر(‌Release Manager)

مشاور‌زبان(‌Language Guru)

(مهندس‌ساخت‌Build Engineer)

مسئول‌ابزار(‌Toolsmith)

مدير‌سيستم(‌System Administrator)

Page 38: بسمه  تعالي

38

ي‌ها‌نقش‌–‌FDDمتدولوژی‌اضافي

ها‌وجود‌‌سه‌نقش‌اضافی‌که‌در‌همه‌پروژه

دارند

کنندهکننده‌‌آزمايشآزمايش(‌(‌TesterTester))

مستقرکنندهمستقرکننده(‌(‌DeployerDeployer))

فنيفنينويسنده‌نويسنده‌(‌(‌Technical WriterTechnical Writer))

تواند‌چندين‌نقش‌بازی‌کند‌و‌هر‌‌هر‌عضو‌می

نقش‌ممکن‌است‌به‌چند‌عضو‌نسبت‌داده‌

شود‌

Page 39: بسمه  تعالي

39

بهترين‌‌–‌FDDمتدولوژی‌تجربيات

Domain Object Modeling

باشدباشد‌‌شامل‌استخراج‌و‌توضيح‌دامنه‌مسأله‌میشامل‌استخراج‌و‌توضيح‌دامنه‌مسأله‌می

Developing By Feature

توسعه‌و‌بررسی‌ميزان‌‌پيشرفت‌پروژه‌از‌طريق‌توسعه‌و‌بررسی‌ميزان‌‌پيشرفت‌پروژه‌از‌طريق‌

سازی‌ليست‌وظايف‌و‌خواص‌سازی‌ليست‌وظايف‌و‌خواص‌‌‌دنبال‌کردن‌پيادهدنبال‌کردن‌پياده

مشخص‌شدهمشخص‌شده

Individual Class Ownership

که‌‌که‌شته‌باشدشته‌باشد‌وجود‌دا‌وجود‌داييبرای‌هر‌کالس‌شخصبرای‌هر‌کالس‌شخص‌

باشدباشدکارايی‌و‌صحت‌آن‌کارايی‌و‌صحت‌آن‌،‌،‌مسئول‌سازگاریمسئول‌سازگاری

Page 40: بسمه  تعالي

بهترين‌‌–‌FDDمتدولوژی‌تجربيات

Feature Teams

تيم‌كوچكي‌كه‌به‌صورت‌پويا‌شكل‌گرفته‌اندتيم‌كوچكي‌كه‌به‌صورت‌پويا‌شكل‌گرفته‌اند

Inspection

استفاده‌از‌معروفترين‌و‌بهترين‌مكانيزهاي‌شناسايي‌استفاده‌از‌معروفترين‌و‌بهترين‌مكانيزهاي‌شناسايي‌

خطاهاخطاها

Regular Builds

تضمين‌اينكه‌هميشه‌يك‌سيستم‌قابل‌اجرا‌و‌قابل‌تضمين‌اينكه‌هميشه‌يك‌سيستم‌قابل‌اجرا‌و‌قابل‌

(‌وجود‌دارد(‌وجود‌داردDemoDemoنمايش‌دادن‌)نمايش‌دادن‌)

Configuration Management

داشتن‌تاريخچه‌تغييرات‌و‌نسخه‌هاي‌مختلف‌)بهمراه‌كد‌داشتن‌تاريخچه‌تغييرات‌و‌نسخه‌هاي‌مختلف‌)بهمراه‌كد‌

منبع(منبع(

Page 41: بسمه  تعالي

بهترين‌‌–‌FDDمتدولوژی‌تجربيات

Progress Reporting

روند‌اجراي‌فعاليت‌ها‌به‌صورت‌كامل‌و‌در‌روند‌اجراي‌فعاليت‌ها‌به‌صورت‌كامل‌و‌در‌

سطوح‌مختلف‌سازماني‌گزارش‌شودسطوح‌مختلف‌سازماني‌گزارش‌شود

Page 42: بسمه  تعالي

42

Scrumمتدولوژي‌

است‌شدهراگبي‌اقتباساز‌يک‌استراتژی‌در‌بازی‌‌‌

و‌سازگاری‌،پذيری‌انعطافتأکيد‌روی‌اصول‌‌

‌استسودمندی

چگونه‌اعضای‌تيم‌بايد‌عمل‌کنند‌تا‌سيستم‌توليد‌:‌تمرکز

پذيری‌کافی‌‌‌انعطاف،‌تغييرپذيرا‌3در‌يک‌محيط‌کامل،شده

داشته‌باشد

ها‌شامل‌چندين‌متغير‌محيطی‌‌‌توسعه‌سيستم:ايده‌اصلی

‌منابع‌و‌تکنولوژی(که‌،‌زمان،و‌تکنيکی‌است‌)نيازها

کنند‌‌در‌طول‌فرآيند‌توسعه‌تغيير‌میا3احتمال

کند‌‌بينی‌می‌پيش‌‌فرآيند‌توسعه‌را‌پيچيده‌و‌غيرقابلموضوعاين‌

Page 43: بسمه  تعالي

43

‌-‌‌Scrumمتدولوژي‌فرآورده‌ها

های‌‌فرآوردهScrumبه‌سه‌دسته‌اصلی‌‌

شوند‌تقسيم‌می

‌Product Backlog

‌Sprint Backlog

‌Sprint BurnDown Chart

Page 44: بسمه  تعالي

44

Scrum - Productمتدولوژي‌Backlog

شده‌است‌که‌بندی‌صف‌اولويتشامل‌يک‌‌

‌حرفهتکنيکی‌و‌‌های‌‌مندي‌در‌آن‌‌وظيفه

اند‌که‌بايد‌توسعه‌داده‌‌نمايش‌داده‌شده

شوند‌

برای‌هر‌مورد‌مشخص‌شده‌در‌اين‌

‌اولويت‌و‌،‌خواصی‌مانند‌وضعيت،فرآورده

تخمين‌کاری‌وجود‌دارد‌

Page 45: بسمه  تعالي

45

Scrum - Sprintمتدولوژي‌Backlog

که‌برای‌تکرار‌فني‌و‌حرفهموارد‌ای‌از‌‌مجموعه‌

اند‌در‌اين‌‌(‌زمانبندی‌شدهCurrent Iterationجاری‌)

شوند‌فرآورده‌نمايش‌داده‌می

تبديل‌می‌شوند‌وظايف‌در‌اين‌فرآورده‌به‌نيازها‌‌

وجود‌دارد‌و‌شرح‌کوتاهبرای‌هر‌وظيفه‌يک‌‌

انجام‌آن‌‌شود‌که‌چه‌کسی‌مسئول‌مشخص‌می

است‌و‌همچنين‌وضعيت‌و‌تعداد‌ساعات‌باقيمانده‌

روده‌مشخص‌آتا‌تکميل‌شدن‌هر‌وظيفه‌در‌اين‌فر

شود‌می

Page 46: بسمه  تعالي

46

Scrum - Sprint BurnDownمتدولوژي‌Chart

ساعات‌باقيمانده‌برای‌تکميل‌شدن‌همه‌

‌را‌در‌قالب‌يک‌Sprintوظايف‌مربوط‌به‌يک‌

دهد‌گراف‌بصورت‌برجسته‌نمايش‌می

Page 47: بسمه  تعالي

47

‌-‌نقش‌ها‌Scrumمتدولوژي‌

Scrum Master

Product owner

Scrum team

Manager

Page 48: بسمه  تعالي

48

متدولوژي‌هاي‌خانوادهCrystal

متفاوت‌است‌های‌ای‌از‌متدولوژي‌مجموعهشامل‌‌

که‌مناسبترين‌آنها‌برای‌هر‌پروژه‌منحصر‌به‌فرد‌

انتخاب‌می‌شود

را‌برای‌شرايط‌ها‌متدولوژيدارای‌اصولی‌است‌که‌‌

کند‌ها‌سفارشی‌می‌مختلف‌موجود‌در‌پروژه

روش‌Crystalمتدولوژی‌کند‌که‌يک‌‌‌پيشنهاد‌می

‌پروژه‌بودن‌ميزان‌بحرانی‌و‌اندازه‌براساس‌مناسب

انتخاب‌شود

Page 49: بسمه  تعالي

49

‌Crystal متدولوژي‌هاي‌خانواده)ادامه(

خانوادههر‌عضو‌از‌‌Crystalيک‌رنگ‌‌با‌

ميزان‌سنگينی‌‌که‌مشخص‌می‌شود

دهد.‌رنگ‌تاريکتر‌‌متدولوژی‌را‌نشان‌می

تر‌است‌نشان‌دهنده‌متدولوژی‌سنگينC: Comfort

D: Discretionary Money

E: Essential Money

L: Life

Page 50: بسمه  تعالي

50

‌Crystalمتدولوژي‌هاي‌خانواده‌)ادامه(‌

با‌بازه‌افزايشیها‌از‌توسعه‌‌تمامی‌پروژه‌

کنند‌‌ماه‌استفاده‌می4زمانی‌حداکثر‌

بين‌افراد‌درگير‌ارتباطات‌و‌همکاریتأکيد‌روی‌‌

در‌پروژه‌است

يا‌ابزاری‌را‌برای‌توسعه‌محدود‌‌هيچ‌فعاليت

کند‌نمی

های‌‌توان‌از‌فعاليت‌‌میا3مثلXPو‌‌Scrumبا‌هم‌در‌اين‌‌

روش‌استفاده‌کرد‌

Page 51: بسمه  تعالي

51

های‌سريع‌‌مزايای‌روشاالنتقال

است‌‌ها‌دادن‌مشتری‌در‌پروژه‌شرکتتأکيد‌روی‌

های‌کاربردی‌بسيار‌مفيد‌است‌که‌در‌پروژه

که‌در‌باال‌ارتباط‌متقابل‌و‌کارگروهیتأکيد‌روی‌‌

بردن‌راندمان‌کاری‌نقش‌مهمی‌دارد

همه‌افراد‌درگير‌در‌پروژه‌در‌قبال‌کيفيت‌

محصول‌مسئولند

سنجش‌مستمر‌کارهای‌انجام‌شده‌از‌مزايای‌

ها‌است‌بسيار‌مفيد‌اين‌روش

Page 52: بسمه  تعالي

52

های‌سريع‌‌مزايای‌روش)ادامه(‌االنتقال

های‌مدرن‌‌توسعه‌افزايشی‌که‌با‌روش

افزار‌سازگار‌است‌توسعه‌نرم

برای‌فرآيند‌توسعه‌ساده‌و‌روشنطراحی‌‌

که‌به‌باال‌رفتن‌کيفيت‌های‌مستمر‌بازبينی‌

کند‌نويسان‌کمک‌می‌کار‌برنامه

Page 53: بسمه  تعالي

53

های‌سريع‌‌‌روشمعايباالنتقال

ها‌‌در‌اين‌روشهای‌طراحی‌کمبود‌فعاليتبدليل‌‌،

اگر‌کد‌بيش‌از‌چند‌هزار‌خط‌باشد‌ممکن‌است‌

فرآيند‌توسعه‌با‌موانع‌خطرناکی‌برخورد‌کند

در‌اين‌کمبود‌مستندات‌مربوط‌به‌طراحی‌

های‌کوچک‌محدود‌‌ها‌آنها‌را‌به‌پروژه‌روش

های‌استفاده‌مجدد‌را‌در‌آنها‌‌کند‌و‌قابليت‌می

کند‌محدود‌می

يافته‌کمبود‌فرآيندهای‌بازبينی‌ساخت

Page 54: بسمه  تعالي

54

‌روش‌های‌سريع‌معايب)ادامه(االنتقال‌

کمبود‌فرآيند‌طراحی‌منظم‌و‌استفاده‌از‌

يافته‌باعث‌اتالف‌زمان‌و‌‌های‌غير‌ساخت‌بازبينی

هزينه‌می‌شود

ها‌هيچ‌نوع‌طرح‌‌.‌در‌اين‌روشکمبود‌طرح‌کيفيت

استانداردی‌برای‌ارزيابی‌کيفيت‌وجود‌ندارد

برای‌استفاده‌از‌اين‌کمبود‌راهنماهای‌آموزشی‌

ها‌روش

Page 55: بسمه  تعالي

55

پرسش‌و‌پاسخ