SlideShare a Scribd company logo
‫بر‬ ‫مبتنی‬ ‫متودولوژی‬Scrum‫افزار‬ ‫نرم‬ ‫شده‬ ‫توزیع‬ ‫توسعه‬ ‫برای‬
‫پور‬‫صدیق‬ ‫نوید‬
‫نورحسینی‬ ‫دکتر‬–‫افزار‬ ‫نرم‬ ‫تولید‬ ‫متودولوژی‬–‫بهار‬95
‫اصلی‬ ‫مرجع‬
‫عنوان‬:
Scrum-based Methodology
for Distributed Software
Development
‫سال‬‫انتشار‬:2011
IEEE
2 / 81
‫دید‬ ‫خواهیم‬ ‫آنچه‬...
•‫مقدمه‬
•‫کارهای‬‫انجام‬‫شده‬‫در‬Agile‫برای‬‫محیط‬‫های‬‫توزیع‬‫شده‬
•‫شرح‬‫متودولوژی‬
•‫خالصه‬‫و‬‫جمع‬‫بندی‬
3 / 81
‫مقدمه‬
4 / 81
‫امروزه‬‫ها‬‫کمپانی‬‫به‬‫دنبال‬‫صرفه‬‫جویی‬‫در‬‫هزینه‬‫ها‬‫و‬‫حضور‬‫رقابتی‬‫د‬‫ر‬‫توسعه‬
‫محصوالت‬‫نرم‬‫افزاری‬‫هستند‬.
‫این‬‫کمپانی‬‫ها‬‫برای‬‫اطمینان‬‫از‬‫کیفیت‬‫محصول‬‫تولید‬‫شده‬‫به‬‫متودو‬‫لوژی‬‫هایی‬
‫دارند‬‫تا‬‫به‬‫آن‬‫ها‬‫امکان‬‫رویارویی‬‫با‬‫چالش‬‫های‬‫مهندسی‬‫نرم‬‫افزار‬‫را‬‫بدهد‬.
‫پرکاربرد‬ ‫متودولوژی‬ ‫دو‬
7 / 81
‫متودولوژی‬ ‫دو‬ ‫ترکیب‬
•Scrum‫توانایی‬‫تکمیل‬‫سایر‬‫متدها‬‫و‬‫ها‬‫پروسه‬‫را‬‫دارد‬.
•RUP‫متودولوژی‬‫قدرتمند‬‫و‬‫چارچوب‬‫کلی‬‫برای‬‫توسعه‬
‫افزار‬‫نرم‬‫است‬.
•‫ترکیب‬Scrum‫و‬RUP‫تواند‬‫می‬‫برای‬‫مدیریت‬‫تولید‬
‫افزار‬‫نرم‬‫در‬‫محیط‬‫شده‬‫توزیع‬‫به‬‫کار‬‫گرفته‬‫شود‬.
•‫توسعه‬‫فازها‬‫و‬discipline‫های‬RUP‫تواند‬‫می‬‫توسط‬
Scrum‫انجام‬‫شود‬.
8 / 81
‫شده‬ ‫انجام‬ ‫کارهای‬
9 / 81
‫موجود‬ ‫مقاالت‬
•‫تعداد‬‫مقاالتی‬‫که‬‫از‬‫روشی‬‫مبتنی‬‫بر‬‫های‬‫روش‬Agile‫در‬‫محیط‬
‫شده‬‫توزیع‬‫استفاده‬،‫کنند‬‫می‬‫کم‬‫است‬.
•‫هفت‬‫مقاله‬‫که‬‫کار‬‫ها‬‫آن‬‫بهتر‬‫است‬‫را‬‫بررسی‬‫کنیم‬‫می‬.
10 / 81
‫اول‬ ‫مقاله‬..
‫سه‬‫راه‬‫حل‬‫اصلی‬‫در‬‫این‬‫مقاله‬‫پیشنهاد‬‫شده‬‫است‬:
.‫دهی‬‫سازمان‬ 1‫تیم‬‫با‬‫توجه‬‫به‬‫ساختار‬‫معماری‬
.‫زمان‬ 2‫جلسات‬‫هماهنگی‬‫ها‬‫تیم‬‫متغیر‬‫باشد‬
.‫وجود‬ 3‫نماینده‬‫یا‬ambassador
11 / 81
‫دوم‬ ‫مقاله‬..
•‫استفاده‬‫از‬Agile:
-‫ممکن‬
-‫ناممکن‬
-‫شده‬‫اصالح‬
•‫تحقیقات‬‫این‬‫نویسنده‬‫نشان‬‫دهد‬‫می‬‫که‬‫های‬‫متودولوژی‬Agile
‫برای‬‫استفاده‬‫در‬‫های‬‫پروژه‬outsourcing‫باید‬‫اصالح‬‫شوند‬.
•‫یک‬‫روش‬‫ترکیبی‬‫و‬‫اصالح‬‫شده‬‫ارائه‬‫کرده‬‫است‬.
12 / 81
‫سوم‬ ‫مقاله‬..
•‫ترکیب‬Scrum‫و‬FDD
•‫عیب‬‫اصلی‬:
‫متودولوژی‬‫در‬‫این‬‫مقاله‬‫به‬‫صراحت‬‫بیان‬‫نشده‬‫است‬‫و‬‫بیش‬‫تر‬‫تاکید‬
‫بر‬‫نحوه‬‫هماهنگ‬‫سازی‬‫ها‬‫تیم‬‫است‬.
13 / 81
‫چهارم‬ ‫مقاله‬..
‫راهکارهایی‬‫برای‬‫رسیدن‬‫به‬agility‫در‬Global Software
Development‫پیشنهاد‬‫کند‬‫می‬:
•‫حصول‬‫دانش‬‫جدید‬‫و‬‫بروز‬‫درباره‬‫های‬‫تکنولوژی‬‫جدید‬
•‫تعریف‬‫واضح‬‫ها‬‫نقش‬‫و‬‫ها‬‫مسئولیت‬
•‫استانداردسازی‬‫فرم‬‫پلت‬IT
14 / 81
‫پنجم‬ ‫مقاله‬
‫چارچوبی‬‫برای‬‫مدیریت‬‫جهانی‬‫پروژه‬‫پیشنهاد‬‫کرده‬‫است‬‫ک‬‫ه‬‫در‬
‫آن‬‫از‬‫یک‬‫روش‬‫توزیع‬‫شده‬agile‫استفاده‬‫شده‬‫است‬.
‫این‬‫مقاله‬‫نشان‬‫دهد‬‫می‬‫که‬‫استفاده‬‫از‬agile‫برای‬‫توسعه‬‫نرم‬‫افزار‬
‫توزیع‬،‫شده‬‫موفق‬‫بوده‬‫است‬.
15 / 81
‫ششم‬ ‫مقاله‬..
‫ساختار‬‫تیم‬:
1-Partial Offshoring
‫تیم‬onshore،‫تیم‬‫طراحی‬‫است‬‫و‬‫ها‬‫نیازمندی‬‫را‬‫به‬‫تیم‬offshore
‫ارسال‬‫کند‬‫می‬‫که‬‫آن‬‫تیم‬‫با‬‫یک‬‫کد‬‫تست‬‫شده‬‫کامل‬‫پاسخ‬‫دهد‬‫می‬.
2-Complete Offshoring
‫تنها‬‫کسی‬‫که‬Onshore‫است‬‫مشتری‬‫است‬‫که‬feature‫ها‬‫را‬‫به‬
‫تیم‬offshore‫فرستد‬‫می‬.‫تیم‬offshore‫هم‬‫با‬‫یک‬‫کد‬‫کامال‬
‫شده‬‫تست‬‫پاسخ‬‫دهد‬‫می‬.
16 / 81
‫هفتم‬ ‫مقاله‬..
‫بهترین‬‫کارهای‬‫شده‬‫انجام‬‫در‬‫حوزه‬‫های‬‫تیم‬‫شده‬‫توزیع‬‫را‬‫نشا‬‫ن‬
‫دهد‬‫می‬.
-‫هر‬‫ساعت‬‫به‬‫صورت‬‫اتوماتیک‬Build‫ها‬‫از‬‫یک‬‫انبار‬‫داده‬
‫مرکزی‬‫تهیه‬‫شوند‬.
-‫ترکیب‬XP‫با‬‫سایر‬‫ها‬‫متودولوژی‬(‫مثال‬paip prog.‫در‬
scrum)
17 / 81
‫مقاالت‬ ‫تمام‬ ‫اصلی‬ ‫عیب‬
•‫هیچ‬‫کدام‬ً‫ا‬‫صراحت‬‫متودولوژی‬‫را‬‫که‬‫از‬agile‫در‬‫محیط‬
‫شده‬‫توزیع‬‫استفاده‬‫کند‬‫را‬‫بیان‬‫اند‬‫نکرده‬.
•‫ها‬‫تکنیک‬‫را‬‫به‬‫صورت‬‫کلی‬‫بیان‬‫اند‬‫کرده‬‫و‬‫وارد‬‫جزئیات‬
‫اند‬‫نشده‬.
•‫بیشتر‬‫راجع‬‫به‬‫کاربرد‬‫ها‬‫آن‬‫صحبت‬‫شده‬‫است‬‫تا‬‫جزئی‬‫ات‬‫نحوه‬
‫استفاده‬‫از‬‫ها‬‫آن‬
18 / 81
‫پیشنهادی‬ ‫متودولوژی‬
19 / 81
‫ها‬‫زیربخش‬
‫پروسه‬
‫پیشنهادی‬
‫مفاهیم‬
‫شده‬ ‫توزیع‬ ‫ساختار‬
‫پیشنهادی‬ ‫پروسه‬
20 / 81
‫مفاهیم‬
21 / 81
‫مفاهیم‬
•‫این‬‫متودولوژی‬‫بر‬‫پایه‬scrum‫و‬RUP‫است‬.
•‫مدیریت‬‫های‬‫تیم‬‫توزیع‬‫شده‬‫از‬‫اهمیت‬‫باالیی‬‫برخوردار‬‫اس‬‫ت‬.
‫زیرا‬‫بر‬‫وری‬‫بهره‬‫تیم‬‫و‬‫کارایی‬‫نرم‬‫افزار‬‫تاثیر‬‫گذارد‬‫می‬.
•‫تعامل‬‫و‬‫همکاری‬‫ها‬‫تیم‬‫دو‬‫فاکتور‬‫مهم‬‫در‬‫مدیریت‬‫های‬‫تیم‬
‫توزیع‬‫شده‬‫به‬‫شمار‬‫روند‬‫می‬.
‫مفاهیم‬
‫شده‬‫توزیع‬ ‫های‬‫سایت‬ ‫و‬ ‫ها‬‫تیم‬ ‫ساختار‬
‫هماهنگی‬ ‫و‬ ‫تعامل‬
‫ها‬‫فعالیت‬
22 / 81
‫شده‬ ‫توزیع‬ ‫های‬‫سایت‬ ‫و‬ ‫ها‬‫تیم‬ ‫ساختار‬
23 / 81
Feature Teams
‫وقتی‬‫یک‬‫تیم‬‫توانایی‬‫به‬‫اتمام‬‫رساندن‬‫یک‬feature‫از‬Product
Backlog‫را‬‫داشته‬،‫باشد‬‫به‬‫آن‬،‫تیم‬feature team‫گفته‬‫شود‬‫می‬.
24 / 81
‫ساختار‬‫تیم‬‫بر‬‫اساس‬feature team‫ها‬‫خواهد‬‫بود‬‫و‬‫نه‬‫بر‬‫اساس‬job
function‫ها‬!‫آنالیز‬‫در‬‫کانادا‬‫و‬‫نویسی‬‫برنامه‬‫در‬‫هند‬‫انجام‬‫شود‬‫نمی‬.‫زی‬‫را‬
‫مشکالت‬‫ارتباطی‬‫پدیدار‬‫خواهد‬‫شد‬.
‫ها‬‫تیم‬ ‫انواع‬
1-Distributed Scrum of Scrums
‫تیم‬‫ها‬‫از‬‫نظر‬‫جغرافیایی‬‫نزدیک‬‫به‬‫هم‬‫هستند‬.
2-Fully Distributed Scrum
‫ها‬‫تیم‬‫از‬‫نظر‬‫جغرافیایی‬‫پراکنده‬‫هستند‬.
26 / 81
‫ها‬‫تیم‬ ‫ویژگی‬
•‫پایدار‬‫هستند‬.
•‫به‬‫صورت‬‫بلند‬‫مدت‬‫با‬‫هم‬‫کار‬‫کنند‬‫می‬.
•‫تعداد‬‫آنها‬2(-)+/7‫نفر‬‫است‬.
•‫افراد‬‫دارای‬‫مهارت‬‫های‬‫متنوع‬‫هستند‬‫که‬‫توانایی‬‫تکمیل‬‫ی‬‫ک‬
feature‫از‬‫محصول‬‫را‬‫دارند‬.
27 / 81
‫هماهنگی‬ ‫و‬ ‫تعامل‬
28 / 81
‫تعامل‬
‫بهترین‬‫راه‬،‫تعامل‬‫ارتباط‬face-to-face‫است‬.‫زیرا‬‫ارتباط‬‫چشمی‬
‫باعث‬‫کسب‬‫اطالعات‬‫ضروری‬‫شود‬‫می‬.‫بنابراین‬‫در‬‫محیط‬‫توز‬‫یع‬
،‫شده‬‫استفاده‬‫از‬‫ویدئو‬‫کنفرانس‬‫پیشنهاد‬‫شود‬‫می‬.
•‫نکته‬:‫اگر‬‫امکان‬‫برقراری‬‫ویدئو‬‫کنفرانس‬‫به‬‫دلیل‬‫مسائلی‬‫چون‬‫پنهای‬‫باند‬‫و‬...‫م‬‫یسر‬،‫نبود‬
‫تماس‬‫تلفنی‬‫جایگزین‬‫خواهد‬‫شد‬.
29 / 81
‫هماهنگی‬
‫هماهنگی‬‫ها‬‫تیم‬‫از‬‫طریق‬‫برگزاری‬‫جلسات‬‫منظم‬‫صورت‬‫گی‬‫می‬‫رد‬.
‫جزئیات‬‫جلسات‬‫در‬‫ادامه‬...
30 / 81
‫ها‬‫فعالیت‬
31 / 81
Test-Driven Development
‫برای‬‫هر‬‫واحد‬‫از‬functionality،‫کد‬‫ابتدا‬‫تست‬‫نوشته‬‫شود‬‫می‬.
‫تست‬‫را‬‫اجرا‬،‫کنیم‬‫می‬‫اگر‬‫موفق‬،‫نبود‬‫یعنی‬‫پیاده‬‫سازی‬‫اش‬‫کال‬
‫دارد‬.‫سپس‬‫فقط‬‫کدهای‬‫الزم‬‫برای‬‫اینکه‬‫تست‬‫درست‬‫جواب‬‫دهد‬
‫را‬‫نویسیم‬‫می‬‫و‬‫بعد‬‫از‬،‫آن‬‫تمام‬‫ها‬‫تست‬‫را‬‫مجددا‬‫اجرا‬‫کنیم‬‫می‬.
32 / 81
Continuous Integration (C.I)
•‫افراد‬‫یک‬،‫تیم‬‫کارهایشان‬‫را‬‫با‬‫هم‬‫انجام‬‫دهند‬‫می‬.
•‫یک‬‫عضو‬‫تیم‬‫حداقل‬‫یک‬‫بار‬‫در‬‫روز‬‫درمورد‬‫کارهایی‬‫که‬‫انج‬‫ام‬
‫داده‬‫است‬‫به‬‫سایر‬‫تیم‬‫گزارش‬‫دهد‬‫می‬.
•‫هر‬integration‫که‬‫انجام‬،‫شود‬‫می‬‫بالفاصله‬‫تست‬‫شود‬‫می‬‫تا‬
‫خطای‬integration‫بوجود‬‫نیاید‬.
33 / 81
‫اولیه‬ ‫تعاریف‬
34 / 81
Scrum Master
‫مسئول‬‫این‬‫است‬‫که‬‫اطمینان‬‫حاصل‬‫کند‬‫که‬‫پروسه‬‫توسط‬‫ت‬‫یم‬‫به‬
‫خوبی‬‫درک‬‫شده‬‫است‬.
‫هماهنگی‬‫بین‬‫تیم‬‫را‬‫بوجود‬‫آورد‬‫می‬‫و‬‫نماینده‬‫تیم‬‫نیست‬.
‫هر‬‫تیم‬‫یک‬Scrum Master‫دارد‬.
35 / 81
Product Owners
‫مسئول‬‫ماکزیمم‬‫کردن‬‫ارزش‬‫کاری‬‫است‬‫که‬‫انجام‬‫شود‬‫می‬.
Principal Product Owner:‫مدیریت‬،‫پروژه‬‫جهت‬‫دهی‬‫اصلی‬
،‫پروژه‬‫تعیین‬‫ها‬‫اولویت‬
Team Product Owner:‫هماهنگ‬‫کردن‬‫تیم‬‫بمنظور‬‫اجرای‬
‫صحیح‬‫ها‬‫اولویت‬‫در‬Product Backlog
36 / 81
‫شده‬‫توزیع‬ ‫ساختار‬
37 / 81
‫چالش‬‫اصلی‬‫در‬‫ساختار‬‫های‬‫تیم‬،‫شده‬‫توزیع‬‫اختالف‬‫زمانی‬‫است‬.
‫زمانی‬ ‫اختالف‬
‫اگر‬‫اختالف‬‫زمانی‬‫کم‬،‫باشد‬‫یعنی‬‫ساعت‬‫کاری‬‫مشترک‬
(overlapping hours)‫بین‬‫ها‬‫تیم‬‫وجود‬‫دارد‬.،‫بنابراین‬‫از‬‫ویدئ‬‫و‬
‫کنفرانس‬‫برای‬‫برگزاری‬‫جلسات‬‫استفاده‬‫خواهد‬‫شد‬.
‫اگر‬‫اختالف‬‫زمانی‬‫بین‬‫ها‬‫تیم‬‫خیلی‬‫زیاد‬،‫باشد‬‫امکان‬‫وجود‬‫س‬‫اعت‬
‫کاری‬‫مشترک‬‫بین‬،‫ها‬‫تیم‬‫وجود‬‫ندارد‬.‫بنابراین‬‫باید‬‫از‬‫روش‬‫های‬
‫دیگر‬‫مثل‬wiki‫استفاده‬‫کرد‬.
wiki = shared documentations
39 / 81
‫شده‬ ‫توزیع‬ ‫های‬‫تیم‬ ‫آرایش‬
‫هدف‬‫تبدیل‬‫تیم‬‫معمولی‬(component team)‫به‬feature team
‫است‬.
‫سه‬‫روش‬:
.1Big-Bang reorganization
.‫توسعه‬ 2‫تدریجی‬‫های‬‫مسئولیت‬‫تیم‬
.‫تولید‬ 3‫تدریجی‬feature teams‫توسط‬‫اعمال‬‫مهمترین‬
feature‫ها‬
40 / 81
Big-Bang reorganization
‫در‬‫این‬،‫حالت‬‫ها‬‫تیم‬‫مجددا‬‫دهی‬‫سازمان‬‫شوند‬‫می‬.‫ها‬‫تیم‬‫بن‬‫گروه‬‫دی‬
،‫شوند‬‫می‬‫به‬‫صورتی‬‫که‬‫متخصصین‬‫از‬‫حوزه‬‫های‬‫مختلف‬‫در‬‫ه‬‫ر‬
‫گروه‬‫قرار‬‫داشته‬‫باشد‬‫و‬‫هر‬‫تیم‬‫نسبت‬‫به‬‫اکثریت‬‫سیس‬،‫تم‬‫دانش‬
‫کافی‬‫داشته‬‫باشد‬.
‫عیب‬‫این‬‫روش‬:
‫ریسک‬‫باال؛‬‫فرض‬‫کنید‬‫که‬‫همه‬‫افراد‬‫متخصص‬‫در‬،‫آنالیز‬‫د‬‫ر‬
‫استکهلم‬‫باشند‬.‫بنابراین‬‫تغییر‬‫در‬‫ها‬‫تیم‬‫ممکن‬‫است‬‫ب‬‫سیار‬‫بزرگ‬
‫باشد‬.
41 / 81
‫تیم‬ ‫های‬‫مسئولیت‬ ‫تدریجی‬ ‫توسعه‬
•‫تبدیل‬‫تیم‬‫به‬feature team‫آهسته‬‫صورت‬‫گیرد‬‫می‬.
•‫اعضای‬‫تیم‬‫تغییر‬‫کنند‬‫نمی‬.
•‫کم‬‫کم‬‫های‬‫مسئولیت‬‫تیم‬‫را‬‫گسترش‬‫دهیم‬‫می‬‫تا‬‫در‬‫نهای‬‫ت‬‫به‬
feature team‫تبدیل‬‫شود‬.
‫عیب‬‫این‬‫روش‬:
‫معایب‬component team‫و‬feature team‫را‬‫باهم‬‫دارد‬.
42 / 81
‫تدریجی‬ ‫تولید‬feature teams‫اعمال‬ ‫توسط‬
‫ترین‬‫مهم‬feature‫ها‬
‫در‬‫این‬،‫روش‬‫ابتدا‬‫ترین‬‫مهم‬feature‫ها‬‫به‬product backlog
‫اعمال‬‫شوند‬‫می‬‫و‬‫به‬feature team‫ها‬‫سپرده‬‫شوند‬‫می‬.‫بقیه‬
feature‫ها‬‫به‬component team‫ها‬‫داده‬‫خواهند‬‫شد‬.
‫عیب‬‫این‬‫روش‬:
Feature team‫ممکن‬‫است‬‫نیاز‬‫به‬‫تغییر‬‫کد‬‫نوشته‬‫شده‬‫ت‬‫وسط‬
component team‫داشته‬‫باشند‬.
43 / 81
‫شده‬‫توزیع‬ ‫جلسات‬
44 / 81
‫اگر‬‫ساعات‬‫مشترک‬‫بین‬‫ها‬‫تیم‬‫وجود‬‫نداشته‬،‫باشد‬‫هایی‬‫روش‬‫جایگزین‬‫ویدئو‬
‫کنفرانس‬‫خواهند‬‫شد‬.
‫جایگزین‬ ‫روش‬ ‫پنج‬
1-‫مالقات‬‫از‬‫طریق‬documentation
2-‫استفاده‬‫از‬‫رابط‬
3-‫جلسات‬‫با‬‫زمان‬‫متغیر‬
4-share the pain
5-feel the pain
46 / 81
‫طریق‬ ‫از‬ ‫مالقات‬documentation
‫در‬‫این‬،‫روش‬‫از‬wiki‫استفاده‬‫شود‬‫می‬.‫بدین‬‫ترتیب‬‫اعضا‬‫غائ‬‫ب‬
‫توانند‬‫می‬‫در‬‫مورد‬‫اتفاقاتی‬‫که‬‫در‬‫جلسه‬‫افتاده‬،‫است‬‫باخب‬‫ر‬‫شوند‬.
47 / 81
‫رابط‬ ‫از‬ ‫استفاده‬
‫در‬‫این‬،‫روش‬‫دو‬‫جلسه‬‫جداگانه‬‫برگزار‬‫خواهد‬‫شد‬‫و‬‫یک‬‫شخص‬‫ب‬‫ه‬
‫عنوان‬‫رابط‬(‫لینک‬)‫در‬‫هر‬‫دو‬‫جلسه‬‫حضور‬‫پیدا‬‫کند‬‫می‬‫و‬‫وظیف‬‫ه‬‫به‬
‫اشتراک‬‫گذاری‬‫اطالعات‬‫بین‬‫دو‬‫گروه‬‫را‬‫بر‬‫عهده‬‫دارد‬.
48 / 81
‫متغیر‬ ‫زمان‬ ‫با‬ ‫جلسات‬
‫در‬‫این‬،‫روش‬‫زمان‬‫جلسات‬‫با‬‫هم‬‫فرق‬‫کند‬‫می‬.‫بنابراین‬‫یک‬‫ج‬‫لسه‬
‫ممکن‬‫است‬‫در‬‫ساعات‬‫کاری‬‫یک‬‫تیم‬‫باشد‬‫و‬‫جلسه‬‫بعدی‬‫در‬
‫ساعات‬‫کاری‬‫تیم‬(‫های‬)‫دیگر‬.
49 / 81
Share the pain
‫یک‬‫زمان‬‫ثابت‬‫انتخاب‬‫خواهد‬‫شد‬.‫اما‬‫این‬‫زمان‬‫به‬‫گونه‬‫ای‬‫انت‬‫خاب‬
‫شود‬‫می‬‫که‬‫اکثریت‬‫افراد‬‫در‬‫تمام‬‫ها‬‫تیم‬‫با‬‫آن‬‫زمان‬‫موافق‬‫با‬‫شند‬.
‫رای‬‫گیری‬!
50 / 81
Feel the Pain
‫در‬‫این‬،‫حالت‬‫تیم‬‫یا‬‫هایی‬‫تیم‬‫که‬‫ساعات‬‫کاری‬‫ها‬‫آن‬‫با‬‫سایر‬‫ها‬‫تیم‬
‫متفاوت‬،‫است‬‫مجبور‬‫به‬‫برگزاری‬‫جلسات‬‫خارج‬‫از‬‫ساعت‬‫کار‬‫ی‬
‫خودشان‬‫خواهند‬‫بود‬.
51 / 81
‫پیشنهادی‬ ‫پروسه‬
52 / 81
‫است‬ ‫بخش‬ ‫دو‬ ‫شامل‬..1 2
53 / 81
‫فاز‬Release Planning
54 / 81
‫فاز‬Release Planning
‫در‬‫این‬‫مرحله‬‫یک‬plan‫اولیه‬‫بدست‬‫آید‬‫می‬.‫اما‬‫این‬plan،‫در‬‫طول‬
‫پروسه‬‫تولید‬‫افزار‬‫نرم‬‫ممکن‬‫است‬‫تغییر‬‫کند‬.
‫این‬‫فاز‬‫شامل‬3‫فعالیت‬‫زیر‬‫است‬:
1-Requirement Elicitation
2-General Release Planning Meeting
3-Local Release Planning Meeting
55 / 81
Requirement Elicitation
‫شامل‬‫جمع‬‫آوری‬‫نیازها‬‫از‬‫تمام‬‫افراد‬‫ذی‬‫نفع‬‫است‬.
‫از‬‫یکی‬‫از‬‫روش‬‫های‬‫جمع‬‫آوری‬‫نیازها‬‫مانند‬user stories‫استفاده‬
‫شود‬‫می‬.
56 / 81
General Release Planning Meeting
(General RPM)
‫در‬‫این‬،‫فعالیت‬‫تمامی‬product owner‫ها‬‫جمع‬‫شوند‬‫می‬‫تا‬‫نمایی‬
‫از‬‫محصول‬‫را‬‫تعریف‬‫کنند‬.
‫سپس‬product backlog‫ها‬‫را‬‫تولید‬‫و‬‫اولویت‬‫بندی‬‫کنند‬‫می‬.
‫ها‬‫اولویت‬‫را‬‫بر‬‫اساس‬‫اطالعات‬‫بدست‬‫آمده‬‫از‬‫ذی‬‫نفعان‬‫و‬
criteria‫خودشان‬‫انجام‬‫دهند‬‫می‬.
‫در‬‫نهایت‬‫هر‬Backlog‫به‬‫تعدادی‬section‫خرد‬‫شود‬‫می‬‫و‬‫هر‬
section‫به‬‫یک‬‫تیم‬‫اختصاص‬‫یابد‬‫می‬.
57 / 81
Local Release Planning Meeting (Local
RPM)
‫در‬‫این‬،‫فعالیت‬product owner،‫ها‬‫تیم‬‫را‬‫از‬section‫هایی‬‫که‬‫به‬
‫ها‬‫آن‬‫اختصاص‬‫یافته‬،‫است‬‫آگاه‬‫کند‬‫می‬.
58 / 81
Sprint
59 / 81
‫شامل‬4‫است‬ ‫فاز‬..
‫شامل‬‫چهار‬‫فاز‬‫است‬‫که‬‫به‬‫صورت‬‫چرخشی‬‫اجرا‬‫شوند‬‫می‬‫و‬‫در‬‫هر‬
،‫چرخه‬‫یک‬‫نسخه‬‫از‬‫محصول‬‫تولید‬‫شود‬‫می‬:
1-‫فاز‬Sprint Planning
2-‫فاز‬Development Work
3-‫فاز‬Sprint Review
4-‫فاز‬Sprint Retrospective
60 / 81
‫فاز‬Sprint Planning
61 / 81
‫فاز‬Sprint Planning
‫این‬‫فاز‬‫مشخص‬‫کند‬‫می‬‫که‬‫کدام‬‫قسمت‬‫از‬Product Backlog
‫باید‬‫در‬‫این‬‫قسمت‬‫تبدیل‬‫به‬working software‫شود‬.
‫شامل‬‫دو‬‫فعالیت‬‫است‬:
1-General Sprint Planning Meeting
2-Local Sprint Planning Meeting
62 / 81
General Sprint Planning Meeting
•‫در‬‫این‬،‫فعالیت‬principal product owner‫و‬team
product owners‫دور‬‫هم‬‫جمع‬‫شوند‬‫می‬‫تا‬‫در‬‫مورد‬‫کاری‬‫که‬
‫قرار‬‫است‬‫انجام‬،‫شود‬‫تصمیم‬‫بگیرند‬.
•‫یک‬‫هدف‬‫برای‬sprint‫تعریف‬‫کنند‬‫می‬.
•Feature‫هایی‬‫که‬‫هر‬‫تیم‬‫در‬‫طول‬sprint‫باید‬‫انجام‬‫ده‬‫را‬
‫مشخص‬‫کنند‬‫می‬.‫بدین‬‫صورت‬‫که‬‫وابستگی‬‫بین‬‫تیم‬‫های‬
،‫مختلف‬‫مینیمم‬‫باشد‬.
63 / 81
Local Sprint Planning Meeting
•‫در‬‫این‬،‫فعالیت‬Team product owner‫اعضای‬‫تیم‬‫خود‬‫را‬‫مالقات‬
‫کند‬‫می‬(Scrum Master‫هم‬‫در‬‫این‬‫جلسه‬‫حضور‬‫دارد‬).
•‫در‬‫این‬‫جلسه‬‫ابتدا‬‫وظایف‬‫وظایف‬‫تعریف‬‫شوند‬‫می‬.‫یعنی‬‫کا‬‫رهای‬
‫الزم‬‫برای‬‫تبدیل‬backlog‫به‬working software‫خرد‬‫شوند‬‫می‬
‫تا‬‫هر‬‫وظیفه‬(‫مثال‬)‫کمتر‬‫از‬‫یک‬‫روز‬‫انجام‬‫شود‬.
•‫تعداد‬‫ساعات‬‫الزم‬‫برای‬‫انجام‬‫هر‬‫وظیفه‬‫را‬‫تخمین‬‫زنند‬‫می‬.
•‫سپس‬‫هر‬‫وظیفه‬‫را‬‫به‬‫یکی‬‫از‬‫اعضای‬‫تیم‬‫سپارند‬‫می‬.
•‫در‬‫نهایت‬sprint backlog‫و‬sprint burndown‫تولید‬‫شوند‬‫می‬.
•Sprint Burndown‫گرافی‬‫است‬‫که‬‫زمان‬‫مانده‬‫باقی‬‫تا‬‫اتمام‬Sprint
Backlog‫را‬‫نشان‬‫دهد‬‫می‬.
64 / 81
‫فاز‬Development Work
65 / 81
‫فاز‬Development Work
‫شامل‬5‫فعالیت‬‫است‬‫که‬‫به‬‫صورت‬iterative‫و‬incremental‫انجام‬
‫شوند‬‫می‬.
1-Analysis and Design
2-Implementation and Testing
3-Deployment
4-Daily Scrum
5-Weekly Meetings
‫در‬‫پایان‬‫این‬،‫فاز‬‫یک‬‫نسخه‬‫از‬‫افزار‬‫نرم‬‫کاری‬‫قابل‬‫توسعه‬‫شامل‬‫کد‬‫قابل‬
،‫اجرا‬‫ها‬‫مدل‬‫و‬manual‫های‬‫مرتبط‬‫با‬‫آن‬‫کد‬‫تولید‬‫شوند‬‫می‬.
Manual‫ها‬‫شامل‬user manuals،Maintenance manuals‫و‬
operation manuals‫شود‬‫می‬.
66 / 81
Analysis and Design
•‫در‬‫فاز‬‫آنالیز‬:
‫نیازها‬‫با‬‫جزئیات‬‫مشخص‬‫شوند‬‫می‬.
‫آنالیز‬‫از‬‫زبان‬developer
•‫در‬‫فاز‬Design:
‫درک‬‫بیشتری‬‫از‬‫نیازهای‬non-functional‫و‬‫ها‬‫محدودیت‬‫خواهیم‬
‫داشت‬.
‫سیستم‬‫به‬‫گونه‬‫ای‬‫پیاده‬‫سازی‬‫شود‬‫می‬‫که‬‫تمام‬‫نیازها‬‫را‬‫پ‬‫شتیبانی‬
‫کند‬.
‫یک‬abstraction‫از‬‫پیاده‬‫سازی‬‫سیستم‬‫تولید‬‫خواهد‬‫شد‬.
‫در‬‫نهایت؛‬Design Model‫تولید‬‫خواهد‬‫شد‬.
67 / 81
Implementation and Testing
‫پیاده‬‫سازی‬‫و‬‫تست‬‫باهم‬‫انجام‬‫شوند‬‫می‬.‫زیرا‬‫از‬T.D.D‫استفاده‬
‫شود‬‫می‬.
‫سازی‬‫پیاده‬:
•‫وظیفه‬‫آن‬‫تبدیل‬Design Model‫به‬‫کد‬‫قابل‬‫اجراست‬‫که‬
‫مشتری‬‫مدنظر‬‫دارد‬.
•‫معماری‬‫و‬‫سیستم‬‫به‬‫صورت‬‫یکپارچه‬‫طراحی‬‫شوند‬‫می‬.‫ب‬‫دین‬
‫منظور‬‫استفاده‬‫از‬C.I‫بسیار‬‫مهم‬‫است‬.‫زیرا‬‫کدهای‬‫نوشته‬‫ش‬‫ده‬
‫توسط‬‫های‬‫تیم‬‫مختلف‬‫باید‬integrate‫شوند‬.
68 / 81
Implementation and Testing (cont.)
‫تست‬:
‫هدف‬‫اصلی‬‫آن‬‫تایید‬‫نتایج‬‫سازی‬‫پیاده‬‫است‬.
‫از‬‫یک‬Test Plan‫استفاده‬‫کند‬‫می‬‫که‬‫در‬‫ابتدای‬‫همین‬‫فاز‬‫یا‬‫در‬‫فاز‬
Release Planning‫تعریف‬‫اند‬‫شده‬.
‫دو‬‫روش‬‫تست‬:
1-Test-Driven Development
2-Acceptance Test-Driven Development
‫هر‬‫دو‬‫به‬‫این‬‫صورت‬‫عمل‬‫کنند‬‫می‬‫که‬‫ابتدا‬‫تست‬‫ساخته‬‫شود‬‫می‬،‫سپس‬
‫کد‬‫نوشته‬‫شود‬‫می‬.
‫نتایج‬‫تست‬‫به‬‫صورت‬Test Report‫نوشته‬‫شده‬‫و‬‫برای‬‫تمام‬‫اعضای‬
‫تمام‬‫ها‬‫تیم‬‫به‬‫اشتراک‬‫گذاشته‬‫شود‬‫می‬.
69 / 81
Deployment
‫این‬‫فعالیت‬‫به‬‫تمام‬‫های‬‫جنبه‬‫اجرای‬‫نرم‬‫افزار‬‫در‬‫محیط‬‫کارب‬‫ر‬‫توجه‬
‫دارد‬.
‫در‬‫اولین‬Task‫این‬،‫فعالیت‬‫تولید‬‫یا‬‫بروزرسانی‬manual‫هایی‬‫که‬
‫در‬‫مراحل‬‫بعدی‬‫استفاده‬‫خواهند‬‫شد‬‫انجام‬‫شود‬‫می‬.‫اگر‬‫این‬
‫آخرین‬iteration،‫باشد‬‫انجام‬‫این‬‫فعالیت‬‫بسیار‬‫ضروری‬‫است‬.
‫در‬‫آخرین‬task‫از‬‫این‬،‫فعالیت‬project monitoring‫بوسیله‬
team product owner‫انجام‬‫شود‬‫می‬.
70 / 81
Daily Scrum
‫حدودا‬ ‫است‬ ‫ای‬ ‫جلسه‬15
‫و‬ ‫تیم‬ ‫حضور‬ ‫با‬ ‫ای‬ ‫دقیقه‬
Scrum Master
71 / 81
Weekly Meetings
‫مالقات‬‫هفتگی‬‫به‬‫دو‬‫صورت‬‫انجام‬‫شود‬‫می‬:
‫الف‬-weekly Scrums
‫ب‬-Scrum of Scrums
Weekly Scrums:
‫مالقات‬‫هفتگی‬team product owner‫ها‬‫به‬‫همراه‬principal
product owner‫انجام‬‫شود‬‫می‬‫تا‬‫پروژه‬‫دنبال‬‫شود‬‫و‬‫یک‬
‫هماهنگی‬‫بین‬Team product owner‫ها‬‫صورت‬‫بگیرد‬‫و‬
‫های‬‫وابستگی‬‫احتمالی‬‫بین‬‫ها‬‫تیم‬‫مدیریت‬‫شود‬.
72 / 81
Weekly Meetings (cont.)
Scrum of Scrums:
‫جلسات‬‫هماهنگی‬‫هفتگی‬‫هستند‬‫و‬‫از‬‫هر‬،‫تیم‬‫نمایندگانی‬‫ح‬‫ضور‬
‫دارند‬.
‫در‬‫این‬‫جلسه‬‫در‬‫مورد‬‫وابستگی‬،‫ها‬‫تیم‬integration‫ها‬‫و‬‫هر‬‫مسئله‬
‫دیگری‬‫که‬‫دو‬‫یا‬‫چند‬‫تیم‬‫را‬‫به‬‫هم‬‫مربوط‬،‫کند‬‫صحبت‬‫ش‬‫می‬‫ود‬.
73 / 81
‫فاز‬Sprint Review
74 / 81
‫فاز‬Sprint Review
‫هدف‬‫از‬‫این‬،‫فاز‬‫حصول‬‫اطمینان‬‫از‬‫این‬‫است‬‫که‬‫ها‬‫تیم‬‫اهداف‬
sprint‫را‬‫به‬‫خوبی‬‫اجرا‬‫کرده‬‫باشند‬.‫سپس‬‫نتایج‬sprint‫به‬‫ذی‬
‫نفعان‬‫نمایش‬‫داده‬‫خواهد‬‫شد‬.
‫شامل‬‫سه‬‫فعالیت‬‫است‬:
1-Team Demo
2-Product Owner Demo
3-Demo Stakeholders
75 / 81
‫فاز‬Sprint Review(‫ادامه‬)
•Team Demo
‫یک‬‫نسخه‬‫از‬‫کار‬‫انجام‬‫شده‬‫به‬team product owner‫تحویل‬
‫داده‬‫شود‬‫می‬.
•Product owner demo
‫کارهای‬‫انجام‬‫شده‬‫توسط‬‫هر‬،‫تیم‬‫از‬‫طریق‬team product
owner،‫به‬‫ذی‬‫نفعان‬‫نمایش‬‫داده‬‫شود‬‫می‬.
•Demo Stakeholders
‫یک‬‫جلسه‬‫با‬‫حضور‬‫تمام‬product owner،‫ها‬‫نمایندگان‬‫ها‬‫تیم‬‫و‬
‫ذی‬‫نفعان‬.
‫یک‬‫نسخه‬‫کامل‬‫از‬‫کار‬‫انجام‬‫شده‬‫در‬‫این‬sprint‫به‬‫ذی‬‫نفعان‬
‫تحویل‬‫داده‬‫شود‬‫می‬.
76 / 81
‫فاز‬Sprint Retrospective
77 / 81
‫فاز‬Sprint Retrospective
‫هدف‬:‫آنالیز‬sprint‫قبلی‬‫و‬‫مقایسه‬‫آن‬‫با‬sprint‫فعلی‬‫است‬‫تا‬
‫کارهای‬‫انجام‬‫شده‬‫را‬‫بررسی‬‫کند‬‫و‬‫معایب‬‫و‬‫مشکالت‬‫کار‬‫را‬‫پ‬‫یدا‬
‫کند‬‫تا‬‫از‬‫بروز‬‫این‬‫اتفاقات‬‫در‬sprint‫های‬‫بعدی‬‫جلوگیری‬‫شود‬.
‫شامل‬‫دو‬‫فعالیت‬:
Team Retrospective
Retrospective of Retrospectives(‫اختیاری‬)
78 / 81
‫فعالیت‬Team Retrospective
‫در‬‫این‬،‫فعالیت‬ِ‫د‬‫خو‬‫تیم‬‫مشخص‬‫کند‬‫می‬‫که‬:
•‫چه‬‫هایی‬‫فعالیت‬‫به‬‫خوبی‬‫انجام‬‫اند‬‫شده‬.
•‫چه‬‫مشکالتی‬‫بر‬‫سر‬‫راه‬‫ها‬‫آن‬‫قرار‬‫گرفت‬.
‫سپس‬‫برای‬‫حل‬‫این‬‫مشکالت‬‫راه‬‫حل‬‫ارائه‬‫کنند‬‫می‬.
79 / 81
‫فعالیت‬Retrospective of Retrospectives
‫در‬‫صورت‬‫وجود‬‫مشکالت‬‫وابستگی‬‫بین‬،‫ها‬‫تیم‬‫یک‬‫جلسه‬‫ب‬‫ین‬
‫ها‬‫آن‬‫برگزار‬‫شود‬‫می‬‫تا‬‫این‬‫مشکالت‬‫را‬‫بررسی‬‫و‬‫حل‬‫کنند‬.
‫برگزاری‬‫این‬‫جلسه‬‫اختیاری‬‫است‬‫و‬‫به‬‫ها‬‫تیم‬‫بستگی‬‫دارد‬.
80 / 81
‫گیری‬ ‫نتیجه‬ ‫و‬ ‫خالصه‬
•scRumUP‫ترکیبی‬‫از‬Scrum‫و‬RUP‫است‬.
•scRumUP‫برای‬‫های‬‫محیط‬‫شده‬‫توزیع‬‫مناسب‬‫است‬.
•‫بمنظور‬‫مدیریت‬‫محیط‬،‫شده‬‫توزیع‬‫الزم‬‫بود‬‫تا‬‫خواص‬agile‫با‬
‫قدرت‬RUP‫تلفیق‬‫شوند‬.
•‫دو‬‫مفهوم‬‫جدید‬TDD‫و‬CI‫به‬‫متودولوژی‬‫اضافه‬‫شدند‬.
TDD‫باعث‬‫بهبود‬‫طراحی‬‫و‬‫کفیت‬‫کد‬‫شد‬.
CI‫خطاهای‬‫حاصل‬‫از‬integration‫در‬‫محیط‬‫توزیع‬‫شده‬‫را‬‫رفع‬
‫کرد‬‫می‬.
•‫در‬‫آینده‬‫توان‬‫می‬‫این‬‫متودولوژی‬‫را‬‫در‬‫های‬‫کمپانی‬‫بیشت‬‫ری‬‫به‬
‫اجرا‬‫درآورد‬‫و‬‫از‬‫ها‬‫آن‬‫برای‬‫بهبود‬‫متودولوژی‬feedback
‫گرفت‬.
81 / 81
‫بر‬ ‫مبتنی‬ ‫متودولوژی‬Scrum‫افزار‬ ‫نرم‬ ‫شده‬ ‫توزیع‬ ‫توسعه‬ ‫برای‬
‫پور‬‫صدیق‬ ‫نوید‬
‫نورحسینی‬ ‫دکتر‬–‫افزار‬ ‫نرم‬ ‫تولید‬ ‫متودولوژی‬–‫بهار‬95

More Related Content

Similar to Scrum based methodology for distributed software development

agil software managment by scrunm in tfs
agil software managment by scrunm in tfsagil software managment by scrunm in tfs
agil software managment by scrunm in tfs
Reza Rahimy
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار
عباس بني اسدي مقدم
 
Scrum
ScrumScrum
Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique
Nima Nikjoo
 
Agile
AgileAgile
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهد
عباس بني اسدي مقدم
 
Scrum doc
Scrum docScrum doc
آموزش ورکینگ مدل
آموزش ورکینگ مدلآموزش ورکینگ مدل
آموزش ورکینگ مدل
faradars
 
Scrum Presentation
Scrum PresentationScrum Presentation
Scrum Presentation
S.Mostafa Sayyedi
 
VoIP Seminar
VoIP SeminarVoIP Seminar
VoIP Seminar
Hossein Yavari
 
oCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsoCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_Patterns
Morteza Javan
 
فناوری اطلاعات و تولید نهایی
فناوری اطلاعات و تولید نهایی فناوری اطلاعات و تولید نهایی
فناوری اطلاعات و تولید نهایی
Babak Sorkhpour
 
Scrum
ScrumScrum
Scrum
sorour5284
 
آموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEW
آموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEWآموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEW
آموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEW
faradars
 
RUP (Rational Unified Process)
RUP (Rational Unified Process)RUP (Rational Unified Process)
RUP (Rational Unified Process)
Javad Pourhosaini
 
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاریچارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
عباس بني اسدي مقدم
 
Software Requirements Analysis - course overview
Software Requirements Analysis - course overviewSoftware Requirements Analysis - course overview
Software Requirements Analysis - course overview
softwareacademy
 
توسعه امن نرم افزار
توسعه امن نرم افزارتوسعه امن نرم افزار
توسعه امن نرم افزار
Mohammad Hamidi Esfahani
 
2- Agile BABOK - Ali Razi
2- Agile BABOK - Ali Razi2- Agile BABOK - Ali Razi
2- Agile BABOK - Ali RaziAli Moghadam
 
Agile & BABOK | By Ali Razi
Agile & BABOK | By Ali RaziAgile & BABOK | By Ali Razi
Agile & BABOK | By Ali Razi
Iran Agile Community
 

Similar to Scrum based methodology for distributed software development (20)

agil software managment by scrunm in tfs
agil software managment by scrunm in tfsagil software managment by scrunm in tfs
agil software managment by scrunm in tfs
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار
 
Scrum
ScrumScrum
Scrum
 
Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique Defeating software analysis using logical anti-debugging technique
Defeating software analysis using logical anti-debugging technique
 
Agile
AgileAgile
Agile
 
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهد
 
Scrum doc
Scrum docScrum doc
Scrum doc
 
آموزش ورکینگ مدل
آموزش ورکینگ مدلآموزش ورکینگ مدل
آموزش ورکینگ مدل
 
Scrum Presentation
Scrum PresentationScrum Presentation
Scrum Presentation
 
VoIP Seminar
VoIP SeminarVoIP Seminar
VoIP Seminar
 
oCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsoCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_Patterns
 
فناوری اطلاعات و تولید نهایی
فناوری اطلاعات و تولید نهایی فناوری اطلاعات و تولید نهایی
فناوری اطلاعات و تولید نهایی
 
Scrum
ScrumScrum
Scrum
 
آموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEW
آموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEWآموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEW
آموزش نرم افزار صنعتی کنترل و مانیتورینگ LabVIEW
 
RUP (Rational Unified Process)
RUP (Rational Unified Process)RUP (Rational Unified Process)
RUP (Rational Unified Process)
 
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاریچارچوب متن باز جهت توسعه سیستم های نرم افزاری
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
 
Software Requirements Analysis - course overview
Software Requirements Analysis - course overviewSoftware Requirements Analysis - course overview
Software Requirements Analysis - course overview
 
توسعه امن نرم افزار
توسعه امن نرم افزارتوسعه امن نرم افزار
توسعه امن نرم افزار
 
2- Agile BABOK - Ali Razi
2- Agile BABOK - Ali Razi2- Agile BABOK - Ali Razi
2- Agile BABOK - Ali Razi
 
Agile & BABOK | By Ali Razi
Agile & BABOK | By Ali RaziAgile & BABOK | By Ali Razi
Agile & BABOK | By Ali Razi
 

Scrum based methodology for distributed software development