SlideShare a Scribd company logo
‫حق‬ ‫بسمه‬
DevOps
‫؟‬ ‫چیست‬
‫ها‬ ‫مجموعه‬ ‫زیر‬ ‫و‬ ‫ها‬ ‫ساختار‬ ‫چه‬ ‫و‬
‫دارد‬
‫و‬
DevOps
‫؟‬ ‫کیست‬ ‫کار‬
‫(مرجع‬
DevOps
)
: ‫نویسنده‬
‫دخت‬ ‫اسمعیل‬ ‫یاشار‬
: ‫نسخه‬
۰ ۱
٫
: ‫نویسنده‬ ‫درباره‬
‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬
cyber security
. ‫هستم‬
‫از‬ ‫بیش‬
۱۵
. ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬
‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬
/ / / / / /
Devops Platform Cloud Eng |Gnu Linux System Network Security Storage
/
Engineer Admin & Oracle Dba | Linux Trainer |Consultant
): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬
. ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬
‫تبریز‬ ‫الگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬
: ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬
: 09141100257
Mob
Telegram ID : yashar_esm
Telegram channel : unixmens
Instagram Account
Linkedin Account :/ /
in yashar_esmaildokht
. ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬
: ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫چطور‬
‫توی‬
slideshare
. ‫کنید‬ ‫پیدا‬ ‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬
‫این‬ ‫از‬ ‫میتوانید‬ ‫هم‬ ‫دونیت‬ ‫جهت‬
‫لینک‬
‫کنید‬ ‫استفاده‬
: ‫مشاوره‬
. ‫بود‬ ‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬
: ‫به‬ ‫تقدیم‬
‫خدا‬
‫شتافت‬ ‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬
‫مادرم‬
‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬‫َم‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬
‫پدرم‬
‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬
‫عشقم‬
‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬
‫سورس‬ ‫اپن‬ ‫جامعه‬
‫بشریت‬
‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬
): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
‫لینوکس‬ ‫و‬ ‫گنو‬ ‫تاریخچه‬
“ ‫مخفف‬ ‫گنو‬ .‫‌باشد‬
‫ی‬‫م‬ ‫سازگار‬ ‫یونیکس‬ ‫با‬ ‫‌ای‬
‫ه‬‫فزایند‬ ‫طــور‬ ‫به‬ ‫کــه‬ ‫بــوده‬ ‫آزاد‬ ‫کامال‬ ‫عامل‬ ‫سیــستم‬ ‫یک‬ ‫گنو‬ ‫عامل‬ ‫سیستم‬
’
GNU s Not
Unix
‫سپتامبر‬ ‫در‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫اولیه‬ ‫اطالعیه‬ ‫استالمن‬ ‫ریچارد‬ .‫است‬ ”
۱۹۸۳
‫سپتامبر‬ ‫در‬ ‫گنو‬ ‫اعالمیه‬ ‫نام‬ ‫به‬ ‫آن‬ ‫‌تر‬
‫ل‬‫کام‬ ‫نسخه‬ .‫کرد‬ ‫منتشر‬
۱۹۸۵
.‫است‬ ‫شده‬ ‫ترجمه‬ ‫زبان‬ ‫چندین‬ ‫به‬ ‫که‬ ‫شد‬ ‫منتشر‬
“ ‫برای‬ ‫بازگشتی‬ ‫مخفف‬ ‫یک‬ ،‫نخست‬ ‫‌کند؛‬
‫ی‬‫م‬ ‫بــرطــرف‬ ‫را‬ ‫نیــازها‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫است‬ ‫شده‬ ‫انتخاب‬ ‫علت‬ ‫این‬ ‫به‬ »‫«گنو‬ ‫نام‬
’
GNU s Not
Unix
.‫است‬ ‫جالب‬ ‫آن‬ )‫خواندن‬ ‫(یا‬ ‫گفتن‬ ‫آهنگ‬ ،‫سوم‬ ،‫است‬ ‫واقعی‬ ‫کلمه‬ ‫یک‬ ،‫دوم‬ ،‫است‬ ”
‫یا‬ ‫بپردازید‬ ‫مبلغی‬ ‫است‬ ‫ممکن‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬ ‫شما‬ .‫قیمت‬ ‫نه‬ ،‫‌کند‬
‫ی‬‫م‬ ‫اشاره‬ ‫آزادی‬ ‫به‬ »‫آزاد‬ ‫‌افزار‬
‫م‬‫«نر‬ ‫در‬ »‫«آزاد‬ ‫کلمه‬
‫آزادی‬ ،‫نخست‬ .‫داشت‬ ‫خواهید‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫ویــژه‬ ‫آزادی‬ ‫ســه‬ ،‫باشید‬ ‫داشتــه‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫وقتـی‬ ،‫صورت‬ ‫هر‬ ‫در‬ .‫نپردازید‬
‫داشتن‬ ‫با‬ ،‫دلخواه‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫در‬ ‫تغییرات‬ ‫اعمال‬ ‫بــرای‬ ‫آزادی‬ ،‫دوم‬ ‫همــکاران؛‬ ‫و‬ ‫دوستان‬ ‫به‬ ‫آن‬ ‫دادن‬ ‫هدیه‬ ‫و‬ ‫برنامه‬ ‫از‬ ‫برداری‬ ‫نسخه‬ ‫برای‬
‫را‬ ‫گنو‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مجددا‬ ‫(اگر‬ .‫جامعه‬ ‫ساخت‬ ‫به‬ ‫کمک‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫یافته‬ ‫بهبود‬ ‫نسخه‬ ‫توزیع‬ ‫برای‬ ‫آزادی‬ ،‫سوم‬ ‫منبع؛‬ ‫کدهای‬ ‫به‬ ‫کامل‬ ‫دسترسی‬
.)‫کنید‬ ‫هدیه‬ ‫رایگان‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫یا‬ ‫و‬ ‫کنید‬ ‫دریافت‬ ‫را‬ ‫مبلغی‬ ‫نسخه‬ ‫یک‬ ‫انتقال‬ ‫فیزیکی‬ ‫کار‬ ‫بــرای‬ ‫‌تــوانـید‬
‫ی‬‫م‬ ،‫نمایید‬ ‫توزیع‬
‫ســال‬ ‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫نامیده‬ «‫گنو‬ ‫»پروژه‬ ،‫گنو‬ ‫سیستم‬ ‫توسعه‬ ‫پروژه‬
۱۹۸۳
‫در‬ ‫که‬ ‫همکاری‬ ‫روح‬ ‫بازگرداندن‬ ‫برای‬ ‫راهی‬ ‫عنوان‬ ‫به‬ ‫گنــو‬ ‫پــروژه‬
‫انحصاری‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫صاحبان‬ ‫توسط‬ ‫که‬ ‫موانع‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫تا‬ ‫شد‬ ‫ایجاد‬ ‫داشـت‬ ‫وجــود‬ ‫کامپیــوتر‬ ‫کاربران‬ ‫جامعه‬ ‫بین‬ ‫در‬ ‫نخست‬ ‫روزهای‬
.‫سازد‬ ‫ممکن‬ ‫را‬ ‫همکاری‬ ‫دیگر‬ ‫بار‬ ‫یک‬ ،‫بودند‬ ‫شده‬ ‫تحمیل‬
‫سال‬ ‫در‬
۱۹۷۱
‫دانشگاه‬ ‫در‬ ‫را‬ ‫خود‬ ‫کار‬ ‫استالمن‬ ‫ریچارد‬ ‫که‬ ‫هنگامی‬
MIT
‫استفاده‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫از‬ ‫منحصرا‬ ‫کــه‬ ‫گــروهی‬ ‫در‬ ،‫کرد‬ ‫آغاز‬
‫آزاد‬ ‫یکدیگر‬ ‫با‬ ‫همکاری‬ ‫در‬ ‫‌نویسان‬
‫ه‬‫بــرنام‬ .‫‌کــردند‬
‫ی‬‫م‬ ‫توزیع‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫اغلب‬ ‫نیز‬ ‫کامپیوتری‬ ‫‌های‬
‫ت‬‫شرک‬ ‫حتی‬ .‫پرداخت‬ ‫کار‬ ‫به‬ ‫‌کردند‬
‫ی‬‫م‬
.‫‌دادند‬
‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫همین‬ ‫نیز‬ ‫اغلب‬ ‫و‬ ‫بودند‬
‫دهه‬ ‫در‬
۱۹۸۰
‫منع‬ ‫را‬ ‫کاربزان‬ ‫توسط‬ ‫همکاری‬ ‫آنها‬ ‫مالکان‬ ‫و‬ ‫داشتند‬ ‫مالک‬ ‫که‬ ‫معنی‬ ‫این‬ ‫بــه‬ ،‫بودند‬ ‫انحصاری‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫تمام‬ ‫تقریبا‬
.‫‌کرد‬
‫ی‬‫م‬ ‫ایجاب‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫ضرورت‬ ‫کار‬ ‫این‬ ‫که‬ ‫‌کردند‬
‫ی‬‫م‬
‫‌توانید‬
‫ی‬‫نم‬ ‫حتی‬ ‫شـما‬ ،‫بــاشـد‬ ‫نـداشـته‬ ‫وجــود‬ ‫آزادی‬ ‫عامل‬ ‫سـیـستم‬ ‫اگــر‬ ‫دارند؛‬ ‫نیــاز‬ ‫عامل‬ ‫سیستم‬ ‫یــک‬ ‫به‬ ‫کامپیوتر‬ ‫کاربران‬ ‫تمام‬
‫عامل‬ ‫سیستم‬ ‫یک‬ ‫وجود‬ ،‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫در‬ ‫ضرورت‬ ‫اولیــن‬ ‫بنــابــراین‬ .‫کنید‬ ‫شروع‬ ‫را‬ ‫کامپیوتر‬ ‫با‬ ‫کار‬ ‫انحصاری‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫از‬ ‫استفاده‬ ‫بدون‬
.‫است‬ ‫آزاد‬
‫انتقال‬ ‫قابل‬ ‫و‬ ‫خورده‬ ‫محک‬ ‫قبال‬ ‫آن‬ ‫کلی‬ ‫طــراحی‬ ‫زیرا‬ ‫بساند‬ ‫یونیکس‬ ‫با‬ ‫منطبق‬ ‫عاملی‬ ‫سیستم‬ ‫تا‬ ‫گرفتند‬ ‫تصمیم‬ ‫آزاد‬ ‫افزاری‬ ‫نرم‬ ‫جنبش‬
.‫‌کرد‬
‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫گنو‬ ‫به‬ ‫یونیکس‬ ‫کاربران‬ ‫حرکت‬ ‫سازگاری‬ ‫این‬ ‫همچنین‬ ‫و‬ ،‫بود‬
،‫متن‬ ‫‌بندی‬
‫ب‬‫قال‬ ‫‌های‬
‫ه‬‫برنام‬ ،‫ویــرایشــگـرها‬ ،‫کامپــایـلرها‬ ‫شــامــل‬ ‫و‬ ‫اســت؛‬ ‫هسته‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫خیلی‬ ‫یونیکس‬ ‫شبه‬ ‫عامل‬ ‫سیستم‬ ‫یک‬
‫ژانویه‬ ‫در‬ .‫است‬ ‫بزرگی‬ ‫بسیار‬ ‫کار‬ ‫کامل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫نوشتن‬ ‫بنابرایـن‬ .‫‌باشد‬
‫ی‬‫م‬ ‫دیگر‬ ‫چیزهای‬ ‫خیلی‬ ‫و‬ ‫پستی‬ ‫‌افزارهای‬
‫م‬‫نر‬
۱۹۸۴
‫شروع‬
‫اکتبر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬ .‫انجامید‬ ‫طول‬ ‫به‬ ‫سالها‬ ‫کردند‬ ‫کار‬ ‫به‬
۱۹۸۵
.‫شد‬ ‫تاسیس‬ ‫گنو‬ ‫توسعه‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫سرمایه‬ ‫جذب‬ ‫برای‬ ‫بیشتر‬
‫سال‬ ‫تا‬
۱۹۹۰
‫سال‬ ‫در‬ ،‫یونیکس‬ ‫شبه‬ ‫هسته‬ ‫یک‬ ،‫لینوکس‬ ‫سپس‬ . ‫یافتند‬ ‫دست‬ ‫هسته‬ ‫جــز‬ ‫بــه‬ ،‫عامل‬ ‫سیستم‬ ‫اصلی‬ ‫اجزای‬ ‫تمامی‬ ‫به‬
۱۹۹۱
‫ســال‬ ‫در‬ ‫و‬ ‫کرد‬ ‫پیدا‬ ‫توسعه‬ ‫تروالدز‬ ‫لینوس‬ ‫توسط‬
۱۹۹۲
‫گنو‬ ‫کامل‬ ‫تقریبا‬ ‫سیستم‬ ‫با‬ ‫لینوکس‬ ‫ترکیب‬ .‫شد‬ ‫آزاد‬ ‫‌افـزار‬
‫م‬‫نــر‬ ‫یــک‬
‫‌های‬
‫م‬‫سیست‬ ‫از‬ ‫نفر‬ ‫میلیون‬ ‫‌ها‬
‫ه‬‫د‬ ‫‌اکنون‬
‫م‬‫ه‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫زده‬ ‫تخمــین‬ .‫لینوکس‬/‫گنـو‬ ‫سیستم‬ :‫شد‬ ‫کــامل‬ ‫عامــل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫منجر‬
.‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫غـیـره‬ ‫و‬ ‫ردهــت‬ ،‫دبیــان‬ ،‫اسلکور‬ ‫شــامــل‬ ،‫لینوکس‬/‫گنو‬
‫را‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫از‬ ‫کامل‬ ‫مجموعه‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نظر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬ .‫است‬ ‫نشده‬ ‫محدود‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫گنو‬ ‫پروژه‬ ،‫حال‬ ‫این‬ ‫با‬
.‫‌شود‬
‫ی‬‫م‬ ‫نیز‬ ‫کاربردی‬ ‫‌افزارهای‬
‫م‬‫نـر‬ ‫شــامــل‬ ‫مــوضــوع‬ ‫ایــن‬ .‫باشند‬ ‫داشته‬ ‫‌خواهند‬
‫ی‬‫م‬ ‫کاربــران‬ ‫از‬ ‫بسیاری‬ ‫که‬ ‫آنچه‬ ‫هر‬ ، ‫کند‬ ‫ایجاد‬
‫بنیاد‬ ‫جهت‬ ‫همین‬ ‫به‬ ‫کنند‬ ‫تهیه‬ ‫‌افزار‬
‫م‬‫نر‬ ‫نیز‬ ‫ندارند‬ ‫مهارت‬ ‫کامپیـوتر‬ ‫زمینه‬ ‫در‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫دارد‬ ‫قصد‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬
.‫کرد‬ ‫ایجاد‬ ،‫گنو‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫‌کار‬
‫ه‬‫تاز‬ ‫کاربران‬ ‫به‬ ‫کمک‬ ‫منظور‬ ‫به‬ ‫گرافیکی‬ ‫کار‬ ‫میز‬ ‫یک‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬
.‫است‬ ‫دسترس‬ ‫در‬ ‫‌اکنون‬
‫م‬‫ه‬ ‫آزاد‬ ‫بازی‬ ‫تعدادی‬ .‫کند‬ ‫ایجاد‬ ‫نیز‬ ‫دیگــری‬ ‫تفریح‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬
‫ی‬‫باز‬ ‫‌خــواهد‬
‫ی‬‫م‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بنیاد‬
‫به‬ ‫را‬ ‫گنو‬ ‫‌افزار‬
‫م‬‫نر‬ ،‫انحصاری‬ ‫سیستم‬ ‫مانند‬ ‫قوانینی‬ ‫که‬ ‫زمانی‬ ‫جز‬ ‫بـه‬ ،‫نـدارد‬ ‫وجــود‬ ‫محدودیتی‬ ‫هیچ‬ ‫برود؟‬ ‫پیش‬ ‫‌تواند‬
‫ی‬‫م‬ ‫کجا‬ ‫تا‬ ‫آزاد‬ ‫‌افزار‬
‫م‬‫نر‬
‫دهند‬ ‫انجام‬ ‫‌خواهند‬
‫ی‬‫م‬ ‫کامپیوتر‬ ‫کاربران‬ ‫که‬ ‫کارهایی‬ ‫تمام‬ ‫انجام‬ ‫برای‬ ‫آزاد‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫کردن‬ ‫فراهم‬ ‫نــهـایی‬ ‫هــدف‬ .‫کننــد‬ ‫منع‬ ‫کامل‬ ‫طور‬
.‫‌باشد‬
‫ی‬‫م‬ ‫انحصاری‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫کردن‬ ‫مطرود‬ ‫نتیجه‬ ‫در‬ ‫و‬
‫باز‬ ‫متن‬ ‫افزار‬ ‫نرم‬
Open Source
Software
‫مقدمه‬
‫قواعد‬ ‫گذاشته‬ ‫‌افزار‬
‫م‬‫نر‬ ‫اکوسیستم‬ ‫در‬ ‫‌گذاران‬
‫ه‬‫سرمای‬ ‫اقتصادی‬ ‫رفتار‬ ‫بر‬ ‫که‬ ‫‌ای‬
‫ه‬‫مالحظ‬ ‫قابل‬ ‫تأثیر‬ ‫با‬ ‫‌باز‬
‫ن‬‫مت‬ ‫افزار‬ ‫نرم‬
‫تولید‬ ‫فشار‬ ‫شرکتها‬ ،‫باشند‬ ‫کد‬ ‫کننده‬ ‫اعمال‬ ‫‌کنند‬
‫ی‬‫م‬ ‫سعی‬ ‫‌دهنگان‬
‫ه‬‫توسع‬ ‫تازه‬ ‫محیط‬ ‫این‬ ‫در‬ .‫است‬ ‫داده‬ ‫تغییر‬ ‫را‬ ‫بازی‬
.‫‌کشند‬
‫ی‬‫م‬ ‫را‬ ‫سرشاری‬ ‫سود‬ ‫انتظار‬ ‫سیستم‬ ‫فروشندگان‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫حس‬ ‫را‬ ‫‌باز‬
‫ن‬‫مت‬ ‫محصوالت‬
۱
‫معرفی‬ .
‫فعل‬ ‫در‬ ‫عمده‬ ‫تغییراتی‬ ‫اتفاق‬ ‫این‬ .‫است‬ ‫آورده‬ ‫بار‬ ‫به‬ ‫کاربران‬ ‫برای‬ ‫ارزانتر‬ ‫‌افزار‬
‫م‬‫نر‬ ‫از‬ ‫بیش‬ ‫چیزی‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫ظهور‬
.‫است‬ ‫کرده‬ ‫ایجاد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫حوزه‬ ‫بازیگران‬ ‫بین‬ ‫اقتصادی‬ ‫انفعال‬ ‫و‬
‫معنای‬ ‫به‬ ‫اما‬ ‫است‬ - ‫زندگی‬ ‫از‬ ‫سبکی‬ ‫حتی‬ ‫یا‬ - ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫به‬ ‫ویژه‬ ‫نگاهی‬ ‫تجسم‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌ها‬
‫ی‬‫خیل‬ ‫برای‬
‫جامعه‬ ‫رشد‬ ‫برای‬ ‫باید‬ ‫شرکتها‬ ‫که‬ ‫است‬ ‫این‬ ‫گابریل‬ ‫ریچارد‬ ‫و‬ ‫گلدمن‬ ‫ران‬ ‫پیشنهاد‬ .‫هست‬ ‫هم‬ ‫تجاری‬ ‫تدبیر‬ ‫نوعی‬
.‫نمایند‬ ‫ایجاد‬ ‫خدماتشان‬ ‫و‬ ‫محصوالت‬ ‫اطراف‬ ‫زنده‬ ‫محیطی‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫از‬ ‫کاربرانشان‬
‫به‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫کاربر‬ ‫احتیاجات‬ ‫با‬ ‫آن‬ ‫دادن‬ ‫تطبیق‬ ‫برای‬ ‫که‬ ‫را‬ ‫کد‬ ‫متن‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫معمول‬ ‫بطور‬
‫مبلغی‬ ‫دریافت‬ ‫ازای‬ ‫در‬ ‫را‬ ‫ممکن‬ ‫تغییرات‬ ‫بعالوه‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بازپخش‬ ‫اجازه‬ ‫کاربر‬ ‫به‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروان‬ ‫اغلب‬ .‫دارد‬ ‫همراه‬
( ‫باشد‬ ‫دسترس‬ ‫در‬ ‫عمومی‬ ‫بصورت‬ ‫کد‬ ‫متن‬ ‫تغییرات‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌دهند‬
‫ی‬‫م‬ ‫بازپخش‬ ‫برای‬
. .
www opensource org
.)
‫یک‬ ‫اینکه‬ ‫بجای‬ .‫‌دهد‬
‫ی‬‫م‬ ‫توسعه‬ ‫جامعه‬ ‫که‬ ‫است‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫جمعی‬ ‫‌باز‬
‫ن‬‫مت‬ .‫دارد‬ ‫وجود‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫نوع‬ ‫دو‬
‫از‬ ‫یک‬ ‫کدام‬ ‫که‬ ‫‌گیرند‬
‫ی‬‫م‬ ‫تصمیم‬ ‫داوطلبان‬ ‫از‬ ‫برگزیده‬ ‫گروهی‬ ‫گاهی‬ ‫باشد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مالک‬ ‫حقوقی‬ ‫شخصیت‬
‫‌دهندگان‬
‫ه‬‫توسع‬ .‫برود‬ ‫سو‬ ‫کدام‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫و‬ ‫شوند‬ ‫پذیرفته‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫شده‬ ‫اعمال‬ ‫همکاریهای‬
‫آپاچی‬ ‫وب‬ ‫سرور‬ ‫مورد‬ ‫مانند‬ ‫‌گیرند‬
‫ی‬‫م‬ ‫تصمیم‬ ‫‌افزار‬
‫م‬‫نر‬ ‫درباره‬ ‫بخصوص‬ ‫شرکت‬ ‫یک‬ ‫نه‬ ‫و‬ ‫کد‬ ‫کنندگان‬ ‫اعمال‬ ،‫شخصی‬
(
. .
httpd apache org
.)
‫در‬ ‫را‬ ‫تالیف‬ ‫حق‬ ‫شرکت‬ .‫است‬ ‫آن‬ ‫‌دهنده‬
‫ه‬‫توسع‬ ‫و‬ ‫مالک‬ ،‫سود‬ ‫پی‬ ‫در‬ ‫شخصیتی‬ ‫که‬ ‫است‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫تجاری‬ ‫‌باز‬
‫ن‬‫مت‬
‫مانند‬ ‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫آینده‬ ‫در‬ ‫و‬ ‫بپذیرد‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫را‬ ‫کد‬ ‫کدام‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫تعیین‬ ‫و‬ ‫دارد‬ ‫اختیار‬
‫مورد‬
MySQL
‫داده‬ ‫پایگاه‬ ‫و‬
( . . )
MySQL www mysql com
.
‫متمرکز‬ ‫کار‬ ‫نیروی‬ ‫اقتصاد‬ ‫بر‬ ‫اغلب‬ ‫جامعه‬ ‫بوسیله‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫اقتصاد‬ ‫درباره‬ ‫پیشین‬ ‫مطالعات‬
‫اشاره‬ ‫ریموند‬ ‫اریک‬ .‫‌یابد‬
‫ی‬‫م‬ ‫تخصیص‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫به‬ ‫‌آوری‬
‫ب‬‫تعج‬ ‫فراوان‬ ‫داوطلبانه‬ ‫کار‬ ‫میزان‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬
‫کمک‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫همتایانشان‬ ‫بین‬ ‫اعتبار‬ ‫افزایش‬ ‫از‬ ‫ناشی‬ ‫شخصی‬ ‫لذت‬ ‫بخاطر‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬
. ‫رسیدند‬ ‫مشابهی‬ ‫نتیجه‬ ‫به‬ ‫نیز‬ ‫خود‬ ‫تجربی‬ ‫مطالعه‬ ‫در‬ ‫همکارانش‬ ‫و‬ ‫هارووی‬ ‫ارنان‬ ‫‌کنند‬
‫ی‬‫م‬
‫‌انداز‬
‫م‬‫چش‬ ‫بهبود‬ ‫و‬ ‫فنی‬ ‫تواناییهای‬ ‫کردن‬ ‫مستند‬ ‫برای‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫استدالل‬ ‫تیروله‬ ‫جین‬ ،‫لرنرو‬ ‫جاشوا‬
‫لذت‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫گزارش‬ ‫گلف‬ ‫رابرت‬ ‫الخانیو‬ ‫کریم‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫آتی‬ ‫کارفرمایان‬ ‫برای‬ ‫شغلی‬
‫نشان‬ ‫مطالعه‬ ‫این‬ ‫گرچه‬ ‫است‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫کمک‬ ‫برای‬ ‫مهمی‬ ‫ذاتی‬ ‫محرک‬ ‫کار‬ ‫از‬ ‫بردن‬
.‫‌اند‬
‫م‬‫مه‬ ‫هم‬ ‫مالی‬ ‫‌های‬
‫ه‬‫انگیز‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬
‫را‬ ‫اشخاصی‬ ‫شرکتها‬ ‫چرا‬ ‫که‬ ‫‌دهد‬
‫ی‬‫نم‬ ‫شرح‬ ‫را‬ ‫این‬ ‫اما‬ ‫است‬ ‫داوطلبانه‬ ‫کار‬ ‫برای‬ ‫توضیحات‬ ‫از‬ ‫‌ای‬
‫ه‬‫پار‬ ‫اینها‬ ‫که‬ ‫حالی‬ ‫در‬
‫همکارانش‬ ‫و‬ ‫هان‬ ‫هورن‬ ‫ایل‬ .‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬
‫ن‬‫مت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫به‬ ‫شرکت‬ ‫کاری‬ ‫زمان‬ ‫در‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫استخدام‬
‫در‬ ‫آنها‬ ‫رتبه‬ ‫با‬ ‫مستقیمی‬ ‫رابطه‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫آپاچی‬ ‫افزار‬ ‫نرم‬ ‫بنیاد‬ ‫پروژه‬ ‫به‬ ‫که‬ ‫کسانی‬ ‫حقوق‬ ‫که‬ ‫دریافتند‬
‫معیاری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫بنیاد‬ ‫در‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫رتبه‬ ‫کارفرمایان‬ ‫که‬ ‫گرفتند‬ ‫نتیجه‬ ‫محققین‬ ‫پس‬ .‫دارد‬ ‫آپاچی‬ ‫تشکیالت‬
.‫‌گیرند‬
‫ی‬‫م‬ ‫بکار‬ ‫مولد‬ ‫‌های‬
‫ی‬‫توانای‬ ‫سنجش‬ ‫برای‬
DevOps reference - Devops metadologhy - devops technologhy
‫حوزه‬
DevOps
( ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫بین‬ ‫همکاری‬ ‫و‬ ‫هماهنگی‬ ‫بهبود‬ ‫به‬ ‫که‬ ‫است‬ ‫اطالعات‬ ‫فناوری‬ ‫صنعت‬ ‫در‬ ‫پرطرفدار‬ ‫‌های‬
‫ه‬‫رشت‬ ‫از‬ ‫یکی‬
Development
( ‫عملیات‬ ‫و‬ )
Operations
.‫‌پردازد‬
‫ی‬‫م‬ )
DevOps
‫‌های‬
‫ی‬‫توانمند‬ ‫و‬ ‫فرایندها‬ ،‫ابزارها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫تالش‬
.‫کند‬ ‫افزوده‬ ‫‌ها‬
‫س‬‫سروی‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫کیفیت‬ ‫و‬ ‫عملکرد‬ ‫به‬ ‫و‬ ‫بخشد‬ ‫بهبود‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫ارائه‬ ‫و‬ ‫توسعه‬ ‫سیکل‬ ،‫مناسب‬
‫حوزه‬ ‫در‬
DevOps
‫زمینه‬ ‫در‬ ‫رایج‬ ‫‌های‬
‫ل‬‫شغ‬ ‫از‬ ‫برخی‬ .‫هستند‬ ‫نیاز‬ ‫مورد‬ ‫گوناگون‬ ‫‌های‬
‫ش‬‫دان‬ ‫و‬ ‫‌ها‬
‫ت‬‫مهار‬ ‫با‬ ‫متعددی‬ ‫متخصصان‬ ،
DevOps
:‫شامل‬
•
‫متخصص‬
( )
DevOps DevOps Engineer
‫فرایندهای‬ ‫و‬ ‫ابزارها‬ ‫مدیریت‬ ‫و‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫مسئول‬ ‫فرد‬ ‫این‬ :
DevOps
‫‌های‬
‫ی‬‫استراتژ‬ ‫موفق‬ ‫اجرای‬ ‫توانایی‬ ‫باید‬ ‫‌ها‬
‫ن‬‫آ‬ .‫است‬ ‫سازمان‬ ‫محیط‬ ‫در‬
DevOps
.‫باشند‬ ‫داشته‬ ‫را‬
•
DevOps Evangelist
.‫دواپس‬ ‫سازی‬ ‫پیاده‬ ‫مسئول‬ ‫و‬ )‫(رهبر‬ ‫اصلی‬ ‫افسر‬ :
•
( ‫عملیات‬ ‫و‬ ‫اطالعات‬ ‫مدیر‬
IT Operations Manager
)
‫‌های‬
‫م‬‫تی‬ ‫عملیاتی‬ ‫رهبر‬ ‫‌عنوان‬
‫ه‬‫ب‬ ‫شخص‬ ‫این‬ :
IT
‫و‬
DevOps
.‫دارد‬ ‫برعهده‬ ‫را‬ ‫سازمان‬ ‫عملیاتی‬ ‫‌های‬
‫ت‬‫فعالی‬ ‫مدیریت‬ ‫و‬ ‫اجرا‬ ‫مسئولیت‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫عمل‬
•
( ‫عملیات‬ ‫اتوماسیون‬ ‫مدیر‬
Automation Manager
)
‫اتوماسیونی‬ ‫‌های‬
‫ل‬‫‌ح‬
‫ه‬‫را‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫و‬ ‫توسعه‬ ‫مسئول‬ ‫فرد‬ ‫این‬ :
.‫است‬ ‫عملیات‬ ‫کارایی‬ ‫و‬ ‫فرایندها‬ ‫بهبود‬ ‫برای‬
•
:‫اتوماسیون‬ ‫کارشناس‬
.‫است‬ ‫ابزارها‬ ‫سازی‬ ‫هماهنگ‬ ‫و‬ ‫اتوماسیون‬ ‫به‬ ‫دستیابی‬ ‫مسئول‬ ‫که‬ ‫فردی‬
•
( ‫فرایندها‬ ‫اتوماسیون‬ ‫متخصص‬
Process Automation Specialist
:)
‫‌سازی‬
‫ه‬‫پیاد‬ ‫و‬ ‫توسعه‬ ‫مسئول‬ ‫فرد‬ ‫این‬
.‫است‬ ‫سازمان‬ ‫در‬ ‫کارایی‬ ‫و‬ ‫فرایندها‬ ‫بهبود‬ ‫برای‬ ‫اتوماسیونی‬ ‫فرایندهای‬ ‫و‬ ‫ابزارها‬
•
Release Manager
:
.‫‌دهد‬
‫ی‬‫م‬ ‫اطمینان‬ ‫انتشار‬ ‫از‬ ‫پس‬ ‫محصول‬ ‫ثبات‬ ‫از‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫منتشر‬ ‫را‬ ‫جدید‬ ‫امکانات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬
•
‫امنیت‬ ‫متخصص‬
( )
DevOps DevSecOps Engineer
‫فرایندهای‬ ‫و‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫امنیت‬ ‫مسئول‬ ‫شخص‬ ‫این‬ :
DevOps
.‫باشد‬ ‫داشته‬ ‫را‬ ‫امنیتی‬ ‫‌های‬
‫ه‬‫روی‬ ‫و‬ ‫امنیتی‬ ‫استانداردهای‬ ‫اجرای‬ ‫توانایی‬ ‫باید‬ ‫و‬ ‫است‬
•
( ‫نظارت‬ ‫و‬ ‫مانیتورینگ‬ ‫متخصص‬
Monitoring and Observability Specialist
)
‫مسئول‬ ‫شخص‬ ‫این‬ :
.‫است‬ ‫خدمات‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫و‬ ‫مانیتورینگ‬ ‫‌های‬
‫م‬‫سیست‬ ‫مدیریت‬ ‫و‬ ‫تنظیم‬
‫مدیران‬ ‫و‬ ،‫شبکه‬ ‫مهندسان‬ ،‫امنیت‬ ‫و‬ ‫اطالعات‬ ‫متخصصان‬ ،‫‌افزار‬
‫م‬‫نر‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ،‫ابر‬ ‫متخصصان‬ ‫مانند‬ ‫دیگری‬ ‫‌های‬
‫ه‬‫زیرمجموع‬ ،‫همچنین‬
‫حوزه‬ ‫در‬ ‫مهمی‬ ‫‌های‬
‫ش‬‫نق‬ ‫نیز‬ ‫پروژه‬
DevOps
‫تیم‬ ‫با‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫ایفا‬
DevOps
‫بهبود‬ ‫‌افزار‬
‫م‬‫نر‬ ‫عرضه‬ ‫و‬ ‫توسعه‬ ‫فرآیند‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫همکاری‬
.‫یابد‬
‫بر‬ ‫شرحی‬
DevOps Evangelist
:
DevOps Evangelist
‫حوزه‬ ‫در‬ ‫که‬ ‫است‬ ‫نقش‬ ‫یک‬
DevOps
‫اجرای‬ ‫اجرایی‬ ‫روند‬ ‫و‬ ‫فرهنگ‬ ‫بر‬ ‫بسیاری‬ ‫تأثیر‬ ‫دارای‬ ‫و‬ ‫شده‬ ‫تعریف‬
DevOps
‫فرهنگ‬ ‫برای‬ ‫مشوق‬ ‫یک‬ ‫و‬ ‫راهنما‬ ‫یک‬ ،‫معلم‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫شخص‬ ‫این‬ . ‫دارد‬ ‫‌ها‬
‫ن‬‫سازما‬ ‫در‬
DevOps
‫عمل‬ ‫سازمان‬ ‫یک‬ ‫در‬
‫یک‬ ‫اصلی‬ ‫وظیفه‬ .‫‌کند‬
‫ی‬‫م‬
DevOps Evangelist
‫‌های‬
‫ه‬‫اید‬ ‫ترویج‬ ،‫دانش‬ ‫ارتقاء‬ ،‫آگاهی‬ ‫ایجاد‬ ‫شامل‬
DevOps
‫و‬ ‫‌ها‬
‫م‬‫تی‬ ‫تشویق‬ ‫و‬
‫رویکردهای‬ ‫بهتر‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫به‬ ‫سازمان‬ ‫اعضای‬
DevOps
.‫است‬
‫یک‬ ‫‌های‬
‫ت‬‫مسئولی‬ ‫و‬ ‫وظایف‬
DevOps Evangelist
:‫باشد‬ ‫موارد‬ ‫این‬ ‫شامل‬ ‫است‬ ‫ممکن‬
1
‫مزایای‬ ‫و‬ ‫اصول‬ ،‫‌ها‬
‫م‬‫مفهو‬ ‫مورد‬ ‫در‬ ‫‌ها‬
‫ی‬‫سخنران‬ ‫و‬ ‫‌ها‬
‫ه‬‫کارگا‬ ،‫آموزشی‬ ‫‌های‬
‫ه‬‫دور‬ ‫ارائه‬ :‫‌رسانی‬
‫ی‬‫آگاه‬ ‫و‬ ‫آموزش‬ .
DevOps
.‫سازمان‬ ‫اعضای‬ ‫به‬
2
‫‌های‬
‫ه‬‫واژ‬ ‫بهتر‬ ‫اجرای‬ ‫برای‬ ‫سازمان‬ ‫اعضای‬ ‫و‬ ‫‌ها‬
‫م‬‫تی‬ ‫از‬ ‫پشتیبانی‬ ‫و‬ ‫تشویق‬ :‫پشتیبانی‬ ‫و‬ ‫تشویق‬ .
DevOps
‫تجربیات‬ ‫گذاری‬ ‫اشتراک‬ ‫به‬ ‫و‬
.‫موفق‬
3
‫بهبود‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫بین‬ ‫ارتباطات‬ ‫که‬ ‫کاری‬ ‫محیط‬ ‫یک‬ ‫سوی‬ ‫به‬ ‫سازمان‬ ‫در‬ ‫فرهنگی‬ ‫تغییر‬ ‫ایجاد‬ ‫به‬ ‫کمک‬ :‫فرهنگی‬ ‫تغییرات‬ ‫اجرای‬ .
.‫یابد‬
4
.‫مختلف‬ ‫‌های‬
‫م‬‫تی‬ ‫بین‬ ‫نزدیک‬ ‫ارتباط‬ ‫و‬ ‫اتوماسیون‬ ،‫‌پذیری‬
‫ف‬‫انعطا‬ ‫فرهنگ‬ ‫ایجاد‬ ‫برای‬ ‫همکاری‬ ‫به‬ ‫اعضا‬ ‫تشویق‬ :‫همکاری‬ ‫به‬ ‫ترغیب‬ .
5
‫حوزه‬ ‫در‬ ‫دانش‬ ‫انتقال‬ ‫و‬ ‫نظر‬ ‫تبادل‬ ‫برای‬ ‫ویدیوها‬ ‫و‬ ‫‌ها‬
‫ی‬‫گردهمای‬ ،‫‌ها‬
‫س‬‫کنفران‬ ،‫جلسات‬ ‫برگزاری‬ :‫رویدادها‬ ‫مدیریت‬ .
DevOps
.
‫یک‬ ‫داشتن‬ ‫با‬
DevOps Evangelist
‫بین‬ ‫همکاری‬ ‫و‬ ‫هماهنگی‬ ‫افزایش‬ ،‫کاری‬ ‫فرهنگ‬ ‫بهبود‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌ها‬
‫ن‬‫سازما‬ ،‫متعهد‬ ‫و‬ ‫ماهر‬
‫اجرایی‬ ‫سطح‬ ‫ارتقای‬ ‫و‬ ‫وری‬ ‫بهره‬ ‫افزایش‬ ،‫مختلف‬ ‫‌های‬
‫م‬‫تی‬
DevOps
.‫کنند‬ ‫تامین‬ ‫را‬ ‫خود‬
DevOps reference - Devops metadologhy - devops technologhy
‫فرهنگ‬
DevOps
:
‫راهکار‬
DevOps
:
. ‫ها‬ ‫متادولوژی‬ ‫انواع‬ ‫روی‬ ‫و‬ . ‫کرد‬ ‫صحبت‬ ‫باید‬ ‫متادولوژی‬ ‫روی‬ ‫چیز‬ ‫هر‬ ‫از‬ ‫قبل‬
. ‫است‬ ‫آبشاری‬ ‫متادولوژی‬ ‫ها‬ ‫متادولوژی‬ ‫از‬ ‫یکی‬
‫ترتیبی‬ ‫و‬ ‫خطی‬ ‫رویکرد‬ ‫یک‬ ‫متدولوژی‬ ‫این‬ .‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫‌های‬
‫ی‬‫متدولوژ‬ ‫‌ترین‬
‫ه‬‫‌شد‬
‫ه‬‫شناخت‬ ‫و‬ ‫‌ترین‬
‫ی‬‫قدیم‬ ‫از‬ ‫یکی‬ ‫آبشاری‬ ‫متدولوژی‬
‫رویکرد‬ ‫این‬ .‫بروید‬ ‫بعدی‬ ‫مرحله‬ ‫به‬ ‫اینکه‬ ‫از‬ ‫قبل‬ ‫گردد‬ ‫تأیید‬ ‫و‬ ‫شود‬ ‫تکمیل‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫باید‬ ‫مرحله‬ ‫هر‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫ارائه‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫برای‬
:‫از‬ ‫عبارتند‬ ‫معموًال‬ ‫اصلی‬ ‫مراحل‬ .‫‌اند‬
‫ه‬‫شد‬ ‫تعریف‬ ‫واضح‬ ‫‌طور‬
‫ه‬‫ب‬ ‫یک‬ ‫هر‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫تقسیم‬ ‫مرحله‬ ‫هفت‬ ‫تا‬ ‫پنج‬ ‫به‬
( ‫‌ها‬
‫ی‬‫نیازمند‬ ‫تحلیل‬
Requirements Analysis
)
‫بدون‬ ‫و‬ ‫دقیق‬ ‫‌طور‬
‫ه‬‫ب‬ ‫نیازها‬ ‫تمامی‬ ‫که‬ ‫است‬ ‫این‬ ‫هدف‬ .‫‌شوند‬
‫ی‬‫م‬ ‫مستندسازی‬ ‫و‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫و‬ ‫مشتری‬ ‫نیازهای‬ ،‫مرحله‬ ‫این‬ ‫در‬ -
.‫نشود‬ ‫ایجاد‬ ‫مشکل‬ ‫توسعه‬ ‫بعدی‬ ‫مراحل‬ ‫در‬ ‫تا‬ ‫شوند‬ ‫مشخص‬ ‫ابهام‬
( ‫سیستم‬ ‫طراحی‬
System Design
)
‫طراحی‬ ‫و‬ ،‫داده‬ ‫پایگاه‬ ‫طراحی‬ ،‫سیستم‬ ‫معماری‬ ‫طراحی‬ ‫شامل‬ ‫این‬ .‫‌گیرد‬
‫ی‬‫م‬ ‫صورت‬ ‫سیستم‬ ‫طراحی‬ ،‫شده‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫نیازهای‬ ‫اساس‬ ‫بر‬ -
.‫است‬ ‫کاربری‬ ‫‌های‬
‫ط‬‫راب‬
( ‫‌سازی‬
‫ه‬‫پیاد‬
Implementation
)
.‫‌شود‬
‫ی‬‫م‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫‌ها‬
‫ی‬‫طراح‬ ‫اساس‬ ‫بر‬ ‫‌افزار‬
‫م‬‫نر‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ ‫نویسی‬ ‫کد‬ ،‫مرحله‬ ‫این‬ ‫در‬ -
( ‫تست‬
Testing
)
.‫ندارد‬ ‫وجود‬ ‫باگی‬ ‫هیچ‬ ‫و‬ ‫‌اند‬
‫ه‬‫شد‬ ‫برآورده‬ ‫‌درستی‬
‫ه‬‫ب‬ ‫نیازها‬ ‫تمامی‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫‌شود‬
‫ی‬‫م‬ ‫تست‬ ‫‌افزار‬
‫م‬‫نر‬ ،‫‌سازی‬
‫ه‬‫پیاد‬ ‫از‬ ‫پس‬ -
.‫‌باشند‬
‫ی‬‫م‬ ‫پذیرش‬ ‫تست‬ ‫و‬ ‫سیستم‬ ‫تست‬ ،‫یکپارچگی‬ ‫تست‬ ،‫واحد‬ ‫تست‬ ‫شامل‬ ‫‌ها‬
‫ت‬‫تس‬
( ‫نگهداری‬ ‫و‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬
Integration and Maintenance
)
‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫زمان‬ ‫طول‬ ‫در‬ .‫‌گیرد‬
‫ی‬‫م‬ ‫قرار‬ ‫عملیاتی‬ ‫محیط‬ ‫در‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫داده‬ ‫تحویل‬ ‫مشتری‬ ‫به‬ ‫تست‬ ‫از‬ ‫پس‬ ‫نهایی‬ ‫‌افزار‬
‫م‬‫نر‬ -
.‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫که‬ ‫باشد‬ ‫بهبودها‬ ‫و‬ ‫اصالحات‬
:‫مزایا‬
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫اشتباه‬ ‫احتمال‬ ‫کاهش‬ ‫به‬ ‫که‬ ‫است‬ ‫مشخص‬ ‫‌های‬
‫ی‬‫خروج‬ ‫دارای‬ ‫مرحله‬ ‫هر‬ :‫واضح‬ ‫و‬ ‫مشخص‬ ‫ساختار‬ -
.‫است‬ ‫فراهم‬ ‫مرحله‬ ‫هر‬ ‫در‬ ‫پروژه‬ ‫مدیریت‬ ‫و‬ ‫کنترل‬ ‫امکان‬ :‫پروژه‬ ‫کنترل‬ -
.‫است‬ ‫مفید‬ ‫آینده‬ ‫بهبودهای‬ ‫و‬ ‫نگهداری‬ ‫برای‬ ‫که‬ ‫‌شوند‬
‫ی‬‫م‬ ‫مستند‬ ‫‌خوبی‬
‫ه‬‫ب‬ ‫مراحل‬ ‫تمامی‬ : ‫کامل‬ ‫مستندسازی‬ -
:‫معایب‬
.‫است‬ ‫پرهزینه‬ ‫و‬ ‫دشوار‬ ‫پایانی‬ ‫مراحل‬ ‫در‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫در‬ ‫تغییرات‬ : ‫کم‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ -
. ‫دارد‬ ‫وجود‬ ‫تعغییرات‬ ‫اعمال‬ ‫برای‬ ‫زیادی‬ ‫سختی‬ ‫و‬ .‫باشد‬ ‫نیاز‬ ‫پروژه‬ ‫تکمیل‬ ‫برای‬ ‫زیادی‬ ‫زمان‬ ،‫خطی‬ ‫رویکرد‬ ‫دلیل‬ ‫به‬ : ‫بودن‬ ‫‌بر‬
‫ن‬‫زما‬ -
‫اعمال‬ ‫قابل‬ ‫‌سختی‬
‫ه‬‫ب‬ ‫آبشاری‬ ‫متدولوژی‬ ‫در‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫تغییر‬ ‫توسعه‬ ‫طول‬ ‫در‬ ‫مشتری‬ ‫واقعی‬ ‫نیازهای‬ ‫گاهی‬ : ‫واقعی‬ ‫نیازهای‬ ‫با‬ ‫تطابق‬ ‫عدم‬ -
.‫است‬
‫در‬ ‫کمتری‬ ‫تغییرات‬ ‫و‬ ‫شده‬ ‫تعریف‬ ‫‌خوبی‬
‫ه‬‫ب‬ ‫‌ها‬
‫ن‬‫آ‬ ‫مشخصات‬ ‫و‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫که‬ ‫است‬ ‫مناسب‬ ‫‌هایی‬
‫ه‬‫پروژ‬ ‫برای‬ ‫آبشاری‬ ‫متدولوژی‬ ،‫کلی‬ ‫‌طور‬
‫ه‬‫ب‬
( ‫چابک‬ ‫‌های‬
‫ی‬‫متدولوژ‬ ،‫‌تر‬
‫ه‬‫پیچید‬ ‫‌های‬
‫ط‬‫محی‬ ‫و‬ ‫پویا‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ ،‫مقابل‬ ‫در‬ .‫دارند‬ ‫زمان‬ ‫طول‬
Agile
.‫باشند‬ ‫‌تر‬
‫ب‬‫)مناس‬
DevOps reference - Devops metadologhy - devops technologhy
‫متدولوژی‬
agile
‫متدولوژی‬
Agile
‫به‬ ‫سریع‬ ‫پاسخ‬ ‫و‬ ،‫همکاری‬ ،‫‌پذیری‬
‫ف‬‫انعطا‬ ‫بر‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫افزایشی‬ ‫و‬ ‫تکرارشونده‬ ‫رویکرد‬ ‫یک‬ ،‫چابک‬ ‫یا‬
‫و‬ ‫اصول‬ .‫است‬ ‫شده‬ ‫ایجاد‬ ‫آبشاری‬ ‫متدولوژی‬ ‫مانند‬ ‫سنتی‬ ‫‌های‬
‫ی‬‫متدولوژ‬ ‫‌های‬
‫ت‬‫محدودی‬ ‫به‬ ‫واکنش‬ ‫در‬ ‫متدولوژی‬ ‫این‬ .‫دارد‬ ‫تأکید‬ ‫تغییرات‬
‫متدولوژی‬ ‫‌های‬
‫ش‬‫ارز‬
Agile
‫مانیفست‬ ‫در‬
Agile
‫سال‬ ‫در‬ ‫که‬
2001
.‫‌اند‬
‫ه‬‫شد‬ ‫بیان‬ ،‫شد‬ ‫منتشر‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫از‬ ‫گروهی‬ ‫توسط‬
‫مانیفست‬ ‫اصول‬
Agile
:
1
‫ابزارها‬ ‫و‬ ‫فرآیندها‬ ‫از‬ ‫بیشتر‬ ‫تعامالت‬ ‫و‬ ‫افراد‬ ‫به‬ ‫توجه‬ .
2
‫جامع‬ ‫مستندات‬ ‫از‬ ‫بیشتر‬ ‫کارآمد‬ ‫‌افزار‬
‫م‬‫نر‬ .
3
‫قرارداد‬ ‫در‬ ‫مذاکره‬ ‫از‬ ‫بیشتر‬ ‫مشتری‬ ‫با‬ ‫همکاری‬ .
4
‫برنامه‬ ‫یک‬ ‫از‬ ‫پیروی‬ ‫از‬ ‫بیشتر‬ ‫تغییرات‬ ‫به‬ ‫پاسخ‬ .
‫توسعه‬ ‫چرخه‬
Agile
:
‫توسعه‬ ‫چرخه‬
Agile
( ‫تکرارها‬ ‫به‬
Iterations
( ‫‌ها‬
‫ت‬‫اسپرین‬ ‫یا‬ )
Sprints
‫بین‬ ‫معموًال‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫تقسیم‬ )
1
‫تا‬
4
.‫‌کشند‬
‫ی‬‫م‬ ‫طول‬ ‫هفته‬
:‫است‬ ‫زیر‬ ‫مراحل‬ ‫شامل‬ ‫تکرار‬ ‫هر‬
1
( ‫‌ریزی‬
‫ه‬‫برنام‬ .
Planning
:)
‫انتخاب‬ ‫شامل‬ ‫جلسه‬ ‫این‬ .‫‌کنند‬
‫ی‬‫م‬ ‫برگزار‬ ‫‌ای‬
‫ه‬‫جلس‬ ‫تکرار‬ ‫‌های‬
‫ت‬‫اولوی‬ ‫و‬ ‫اهداف‬ ‫تعیین‬ ‫برای‬ ‫مشتری‬ ‫و‬ ‫توسعه‬ ‫تیم‬ ،‫تکرار‬ ‫هر‬ ‫ابتدای‬ ‫در‬ -
‫از‬ ‫وظایف‬
Backlog
.‫‌شود‬
‫ی‬‫م‬ ‫‌ها‬
‫ن‬‫آ‬ ‫انجام‬ ‫زمان‬ ‫تخمین‬ ‫و‬
2
( ‫توسعه‬ ‫و‬ ‫طراحی‬ .
Design and Development
:)
.‫است‬ ‫مشتری‬ ‫برای‬ ‫ارزشمند‬ ‫و‬ ‫ارائه‬ ‫قابل‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫ایجاد‬ ‫بر‬ ‫تمرکز‬ .‫‌کند‬
‫ی‬‫م‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫و‬ ‫طراحی‬ ‫را‬ ‫شده‬ ‫انتخاب‬ ‫وظایف‬ ‫توسعه‬ ‫تیم‬ -
3
( ‫تست‬ .
Testing
:)
.‫است‬ ‫باگ‬ ‫بدون‬ ‫‌افزار‬
‫م‬‫نر‬ ‫و‬ ‫‌اند‬
‫ه‬‫شد‬ ‫برآورده‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫‌شوند‬
‫ی‬‫م‬ ‫تست‬ ‫تکرار‬ ‫همان‬ ‫در‬ ‫یافته‬ ‫توسعه‬ ‫وظایف‬ -
4
( ‫بازبینی‬ .
Review
:)
.‫‌شود‬
‫ی‬‫م‬ ‫برگزار‬ ‫بازخورد‬ ‫دریافت‬ ‫و‬ ‫مشتری‬ ‫به‬ ‫نتایج‬ ‫نمایش‬ ‫برای‬ ‫‌ای‬
‫ه‬‫جلس‬ ،‫تکرار‬ ‫هر‬ ‫پایان‬ ‫در‬ -
5
( ‫بازنگری‬ .
Retrospective
:)
‫را‬ ‫بهبود‬ ‫راهکارهای‬ ‫و‬ ‫کند‬ ‫بحث‬ ‫بهبود‬ ‫قابل‬ ‫نقاط‬ ‫و‬ ،‫‌ها‬
‫ت‬‫موفقی‬ ،‫فرآیندها‬ ‫درباره‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫برگزار‬ ‫‌ای‬
‫ه‬‫جلس‬ ‫تکرار‬ ‫هر‬ ‫پایان‬ ‫در‬ ‫توسعه‬ ‫تیم‬ -
.‫کند‬ ‫پیدا‬ ‫بعدی‬ ‫تکرارهای‬ ‫برای‬
‫مزایای‬
Agile
:
.‫تکرار‬ ‫هر‬ ‫در‬ ‫‌ها‬
‫ت‬‫اولوی‬ ‫و‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫تغییر‬ ‫امکان‬ :‫باال‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ -
.‫مداوم‬ ‫و‬ ‫تدریجی‬ ‫‌صورت‬
‫ه‬‫ب‬ ‫کاربردی‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫ارائه‬ :‫ارزش‬ ‫ارائه‬ ‫در‬ ‫تسریع‬ -
.‫مشتری‬ ‫واقعی‬ ‫نیازهای‬ ‫تحقق‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫مستمر‬ ‫بازخورد‬ ‫دریافت‬ :‫مشتری‬ ‫با‬ ‫نزدیک‬ ‫همکاری‬ -
.‫تکرار‬ ‫هر‬ ‫در‬ ‫فرآیندها‬ ‫بهبود‬ ‫و‬ ‫بررسی‬ ‫امکان‬ :‫مستمر‬ ‫بهبود‬ -
‫‌های‬
‫ب‬‫چارچو‬
Agile
:
‫‌سازی‬
‫ه‬‫پیاد‬ ‫برای‬ ‫مختلف‬ ‫چارچوب‬ ‫چندین‬
Agile
‫از‬ ‫برخی‬ .‫‌اند‬
‫ه‬‫شد‬ ‫طراحی‬ ‫‌ها‬
‫م‬‫تی‬ ‫و‬ ‫مختلف‬ ‫نیازهای‬ ‫اساس‬ ‫بر‬ ‫کدام‬ ‫هر‬ ‫که‬ ‫دارد‬ ‫وجود‬
:‫از‬ ‫عبارتند‬ ‫‌ها‬
‫ب‬‫چارچو‬ ‫مشهورترین‬
( ‫اسکرام‬ -
Scrum
:)
( ‫محصول‬ ‫مالک‬ ‫مانند‬ ‫مشخصی‬ ‫‌های‬
‫ش‬‫نق‬ ‫و‬ ‫مدت‬ ‫کوتاه‬ ‫‌های‬
‫ت‬‫اسپرین‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پروژه‬ ‫مدیریت‬ ‫بر‬ ‫تمرکز‬ -
Product Owner
،)
( ‫مستر‬ ‫اسکرام‬
Scrum Master
.‫توسعه‬ ‫تیم‬ ‫و‬ ،)
( ‫کانبان‬ -
Kanban
:)
.‫‌ها‬
‫ت‬‫کار‬ ‫و‬ ‫بصری‬ ‫بردهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫فرآیندها‬ ‫‌سازی‬
‫ه‬‫بهین‬ ‫و‬ ‫کار‬ ‫مداوم‬ ‫جریان‬ ‫بر‬ ‫تمرکز‬ -
( ‫پروگرمینگ‬ ‫اکستریم‬ -
XP
:)
( ‫‌محور‬
‫ت‬‫تس‬ ‫توسعه‬ ،‫زوجی‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫مانند‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ه‬‫شیو‬ ‫بهترین‬ ‫بر‬ ‫تمرکز‬ -
TDD
.‫مداوم‬ ‫بازخورد‬ ‫و‬ ،)
‫معایب‬
Agile
:
‫موفقیت‬ :‫مشتری‬ ‫فعال‬ ‫مشارکت‬ ‫به‬ ‫نیاز‬ -
Agile
.‫است‬ ‫وابسته‬ ‫مشتری‬ ‫مستمر‬ ‫بازخورد‬ ‫و‬ ‫همکاری‬ ‫به‬
.‫شوند‬ ‫مواجه‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫و‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫در‬ ‫مشکالتی‬ ‫با‬ ‫مداوم‬ ‫تغییرات‬ ‫دلیل‬ ‫به‬ ‫‌ها‬
‫م‬‫تی‬ ‫است‬ ‫ممکن‬ :‫مداوم‬ ‫تغییر‬ -
.‫کند‬ ‫ایجاد‬ ‫مشکالتی‬ ‫موارد‬ ‫برخی‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫مستندات‬ ‫بر‬ ‫کمتر‬ ‫تأکید‬ :‫کمتر‬ ‫مستندسازی‬ -
‫متدولوژی‬
Agile
‫‌طور‬
‫ه‬‫ب‬ ‫‌توانند‬
‫ی‬‫م‬ ‫که‬ ‫‌هایی‬
‫م‬‫تی‬ ‫و‬ ،‫دارند‬ ‫تغییرات‬ ‫به‬ ‫سریع‬ ‫پاسخ‬ ‫و‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫است‬ ‫مناسب‬ ‫‌هایی‬
‫ه‬‫پروژ‬ ‫برای‬
‫بسیار‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫تغییر‬ ‫سرعت‬ ‫به‬ ‫‌ها‬
‫ت‬‫اولوی‬ ‫و‬ ‫نیازها‬ ‫که‬ ‫پویا‬ ‫و‬ ‫پیچیده‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫خصوص‬ ‫به‬ ‫رویکرد‬ ‫این‬ .‫کنند‬ ‫همکاری‬ ‫مشتریان‬ ‫با‬ ‫مؤثر‬
.‫است‬ ‫مفید‬
‫متدولوژی‬
devops
‫متدولوژی‬
DevOps
‫‌های‬
‫م‬‫تی‬ ‫بین‬ ‫ارتباط‬ ‫و‬ ‫همکاری‬ ‫افزایش‬ ‫آن‬ ‫هدف‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌برداری‬
‫ه‬‫بهر‬ ‫و‬ ‫توسعه‬ ‫برای‬ ‫جامع‬ ‫رویکرد‬ ‫یک‬
( ‫توسعه‬
Development
( ‫عملیات‬ ‫و‬ )
Operations
.‫است‬ )
DevOps
‫اتوماسیون‬ ‫با‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫تالش‬
‫‌های‬
‫ه‬‫شیو‬ ،‫سازمانی‬ ‫فرهنگ‬ ‫به‬ ‫متدولوژی‬ ‫این‬ .‫یابد‬ ‫دست‬ ‫‌افزار‬
‫م‬‫نر‬ ‫پایدارتر‬ ‫و‬ ‫‌تر‬
‫ت‬‫کیفی‬ ‫با‬ ،‫‌تر‬
‫ع‬‫سری‬ ‫تحویل‬ ‫به‬ ‫تا‬ ‫بخشد‬ ‫بهبود‬ ‫مداوم‬ ‫نظارت‬ ‫و‬
.‫‌شوند‬
‫ی‬‫م‬ ‫داده‬ ‫توضیح‬ ‫تفصیل‬ ‫به‬ ‫زیر‬ ‫در‬ ‫که‬ ‫است‬ ‫متکی‬ ‫خاصی‬ ‫ابزارهای‬ ‫و‬ ‫کاری‬
‫کلیدی‬ ‫اصول‬
DevOps
:
1
( ‫همکاری‬ ‫فرهنگ‬ .
Collaboration Culture
:)
-
DevOps
‫افزایش‬ ‫و‬ ‫سیلویی‬ ‫دیوارهای‬ ‫کاهش‬ ‫به‬ ‫همکاری‬ ‫فرهنگ‬ ‫این‬ .‫دارد‬ ‫تأکید‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫بین‬ ‫همکاری‬ ‫فرهنگ‬ ‫بر‬
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫م‬‫تی‬ ‫بین‬ ‫ارتباطات‬
2
( ‫اتوماسیون‬ .
Automation
:)
‫اساسی‬ ‫اصول‬ ‫از‬ ‫یکی‬ -
DevOps
‫اتوماسیون‬ ‫ابزارهای‬ .‫است‬ ‫مانیتورینگ‬ ‫و‬ ‫استقرار‬ ،‫ساخت‬ ،‫تست‬ ‫مانند‬ ‫تکراری‬ ‫فرآیندهای‬ ‫اتوماسیون‬
‫مانند‬
Jenkins، Ansible، Puppet
‫و‬
Chef
.‫‌شوند‬
‫ی‬‫م‬ ‫استفاده‬ ‫منظور‬ ‫این‬ ‫برای‬
3
( ‫مداوم‬ ‫استقرار‬ ‫و‬ ‫ادغام‬ .
/
CI CD
:)
-
( )
Continuous Integration CI
‫و‬
( )
Continuous Delivery CD
‫‌دهند‬
‫ی‬‫م‬ ‫اجازه‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫که‬ ‫هستند‬ ‫فرآیندهایی‬
‫تحویل‬ ‫سرعت‬ ‫به‬ ‫و‬ ‫باال‬ ‫کیفیت‬ ‫با‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫فرآیندها‬ ‫این‬ .‫دهند‬ ‫استقرار‬ ‫و‬ ‫تست‬ ‫خودکار‬ ‫و‬ ‫مداوم‬ ‫‌طور‬
‫ه‬‫ب‬ ‫را‬ ‫جدید‬ ‫کدهای‬
.‫شود‬
4
( ‫الگینگ‬ ‫و‬ ‫نظارت‬ .
Monitoring and Logging
:)
-
DevOps
.‫شوند‬ ‫حل‬ ‫و‬ ‫شناسایی‬ ‫‌سرعت‬
‫ه‬‫ب‬ ‫مشکالت‬ ‫تا‬ ‫دارد‬ ‫تأکید‬ ‫‌ها‬
‫گ‬‫ال‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫مستمر‬ ‫نظارت‬ ‫بر‬
‫مانند‬ ‫ابزارهایی‬
Prometheus، Grafana، ( , , )
ELK Stack Elasticsearch Logstash Kibana
‫منظور‬ ‫این‬ ‫برای‬
.‫‌شوند‬
‫ی‬‫م‬ ‫استفاده‬
5
( ‫مستمر‬ ‫بهبود‬ ‫و‬ ‫بازخورد‬ .
Continuous Feedback and Improvement
:)
-
DevOps
‫نظارتی‬ ‫‌های‬
‫م‬‫سیست‬ ‫و‬ ‫کاربران‬ ،‫مشتریان‬ ‫از‬ ‫بازخورد‬ .‫‌کند‬
‫ی‬‫م‬ ‫ایجاد‬ ‫مستمر‬ ‫بهبود‬ ‫و‬ ‫بازخورد‬ ‫از‬ ‫‌پایان‬
‫ی‬‫ب‬ ‫چرخه‬ ‫یک‬
.‫شوند‬ ‫اعمال‬ ‫‌افزار‬
‫م‬‫نر‬ ‫و‬ ‫فرآیندها‬ ‫در‬ ‫الزم‬ ‫بهبودهای‬ ‫تا‬ ‫‌شود‬
‫ی‬‫م‬ ‫‌آوری‬
‫ع‬‫جم‬
‫اصلی‬ ‫مراحل‬
DevOps
:
1
( ‫‌ریزی‬
‫ه‬‫برنام‬ .
Planning
:)
.‫‌کنند‬
‫ی‬‫م‬ ‫تدوین‬ ‫را‬ ‫توسعه‬ ‫‌های‬
‫ه‬‫برنام‬ ‫و‬ ‫‌آوری‬
‫ع‬‫جم‬ ‫را‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫‌ها‬
‫م‬‫تی‬ ،‫مرحله‬ ‫این‬ ‫در‬ -
2
( ‫کدنویسی‬ .
Coding
:)
‫(مانند‬ ‫نسخه‬ ‫کنترل‬ ‫مخازن‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫و‬ ‫‌نویسند‬
‫ی‬‫م‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫کدهای‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ -
Git
.‫‌کنند‬
‫ی‬‫م‬ ‫اعمال‬ )
3
( ‫ساخت‬ .
Building
:)
.‫است‬ ‫اجرایی‬ ‫‌های‬
‫ه‬‫بست‬ ‫ساختن‬ ‫و‬ ‫لینک‬ ،‫کامپایل‬ ‫شامل‬ ‫مرحله‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫تبدیل‬ ‫استقرار‬ ‫قابل‬ ‫‌های‬
‫ه‬‫بست‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫کدهای‬ -
4
( ‫تست‬ .
Testing
:)
.‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫‌ها‬
‫ن‬‫آ‬ ‫کارایی‬ ‫و‬ ‫کیفیت‬ ‫از‬ ‫تا‬ ‫‌شوند‬
‫ی‬‫م‬ ‫تست‬ ‫خودکار‬ ‫‌طور‬
‫ه‬‫ب‬ ‫شده‬ ‫ساخته‬ ‫کدهای‬ -
5
( ‫استقرار‬ .
Deployment
:)
( ‫تولیدی‬ ‫‌های‬
‫ط‬‫محی‬ ‫به‬ ‫شده‬ ‫تست‬ ‫کدهای‬ -
Production
( ‫‌تولیدی‬
‫ش‬‫پی‬ ‫‌های‬
‫ط‬‫محی‬ ‫یا‬ )
Staging
.‫‌یابند‬
‫ی‬‫م‬ ‫استقرار‬ )
6
( ‫عملیات‬ .
Operations
:)
.‫‌گیرد‬
‫ی‬‫م‬ ‫انجام‬ ‫آن‬ ‫عملکرد‬ ‫بر‬ ‫مستمر‬ ‫نظارت‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫اجرا‬ ‫تولیدی‬ ‫محیط‬ ‫در‬ ‫‌افزار‬
‫م‬‫نر‬ -
7
( ‫نظارت‬ .
Monitoring
:)
.‫شود‬ ‫تضمین‬ ‫‌ها‬
‫ن‬‫آ‬ ‫امنیت‬ ‫و‬ ‫اطمینان‬ ‫قابلیت‬ ،‫عملکرد‬ ‫تا‬ ‫‌شوند‬
‫ی‬‫م‬ ‫نظارت‬ ‫مداوم‬ ‫‌طور‬
‫ه‬‫ب‬ ‫‌ها‬
‫م‬‫سیست‬ -
‫مزایای‬
DevOps
:
.‫اصالحات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬ ‫تحویل‬ ‫زمان‬ ‫کاهش‬ :‫‌تر‬
‫ع‬‫سری‬ ‫تحویل‬ -
.‫مشکالت‬ ‫‌تر‬
‫ع‬‫سری‬ ‫حل‬ ‫و‬ ‫شناسایی‬ :‫کیفیت‬ ‫افزایش‬ -
.‫تولید‬ ‫محیط‬ ‫در‬ ‫مشکالت‬ ‫بروز‬ ‫احتمال‬ ‫کاهش‬ :‫بیشتر‬ ‫پایداری‬ -
.‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫بین‬ ‫همکاری‬ ‫و‬ ‫ارتباط‬ ‫بهبود‬ :‫بهتر‬ ‫همکاری‬ -
‫ابزارهای‬
DevOps
:
:‫نسخه‬ ‫کنترل‬ ‫و‬ ‫‌گذاری‬
‫ه‬‫نسخ‬ -
,
Git SVN
( ‫مداوم‬ ‫استقرار‬ ‫و‬ ‫مداوم‬ ‫ادغام‬ -
/
CI CD
:)
, ,
Jenkins Travis CI CircleCI
:‫زیرساخت‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ -
, ,
Ansible Puppet Chef
:‫الگینگ‬ ‫و‬ ‫مانیتورینگ‬ -
, , ,
Prometheus Grafana ELK Stack Splunk
:‫کانتینرها‬ ‫مدیریت‬ -
,
Docker Kubernetes
‫‌های‬
‫ش‬‫چال‬
DevOps
:
.‫باشد‬ ‫‌بر‬
‫ن‬‫زما‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫سازمان‬ ‫در‬ ‫فرهنگی‬ ‫تغییرات‬ ‫به‬ ‫نیاز‬ :‫سازمانی‬ ‫فرهنگ‬ ‫تغییر‬ -
‫متنوع‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫تخصص‬ ‫و‬ ‫دانش‬ ‫به‬ ‫نیاز‬ :‫ابزارها‬ ‫پیچیدگی‬ -
DevOps
.
.‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫بین‬ ‫مستمر‬ ‫همکاری‬ ‫و‬ ‫هماهنگی‬ ‫به‬ ‫نیاز‬ :‫‌ها‬
‫م‬‫تی‬ ‫بین‬ ‫هماهنگی‬ -
‫متدولوژی‬
DevOps
‫اتوماسیون‬ ،‫همکاری‬ ‫افزایش‬ ‫با‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌برداری‬
‫ه‬‫بهر‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫بهبود‬ ‫برای‬ ‫مؤثر‬ ‫و‬ ‫جامع‬ ‫راهکار‬ ‫یک‬
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌تر‬
‫ت‬‫کیفی‬ ‫با‬ ‫و‬ ‫‌تر‬
‫ع‬‫سری‬ ‫تحویل‬ ‫به‬ ،‫مداوم‬ ‫نظارت‬ ‫و‬
( )
systems development life cycle SDLC
( ‫‌ها‬
‫م‬‫سیست‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬
Systems Development Life Cycle
‫یا‬
SDLC
‫فرآیند‬ ‫که‬ ‫است‬ ‫ساختاریافته‬ ‫چارچوب‬ ‫یک‬ )
.‫‌دهد‬
‫ی‬‫م‬ ‫پوشش‬ ‫پایان‬ ‫تا‬ ‫آغاز‬ ‫از‬ ‫را‬ ‫اطالعاتی‬ ‫‌های‬
‫م‬‫سیست‬ ‫توسعه‬
SDLC
‫‌صورت‬
‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫به‬
‫هدف‬ ‫و‬ ‫‌اند‬
‫ه‬‫شد‬ ‫تعریف‬ ‫دقیق‬ ‫‌طور‬
‫ه‬‫ب‬ ‫یک‬ ‫هر‬ ‫که‬ ‫است‬ ‫مرحله‬ ‫چندین‬ ‫شامل‬ ‫چارچوب‬ ‫این‬ .‫کنند‬ ‫مدیریت‬ ‫و‬ ‫اجرا‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫سیستماتیک‬
.‫است‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫موفقیت‬ ‫تضمین‬ ‫‌ها‬
‫ن‬‫آ‬
‫اصلی‬ ‫مراحل‬
SDLC
:
1
( ‫‌ریزی‬
‫ه‬‫برنام‬ .
Planning
:)
.‫پروژه‬ ‫دامنه‬ ‫تعیین‬ ‫و‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫‌آوری‬
‫ع‬‫جم‬ ،‫پروژه‬ ‫اهداف‬ ‫تعریف‬ :‫‌ها‬
‫ی‬‫نیازمند‬ ‫و‬ ‫اهداف‬ -
.‫اجرا‬ ‫قابلیت‬ ‫تعیین‬ ‫برای‬ ‫پروژه‬ ‫عملیاتی‬ ‫و‬ ‫اقتصادی‬ ،‫فنی‬ ‫ارزیابی‬ :‫‌سنجی‬
‫ن‬‫امکا‬ ‫مطالعه‬ -
2
( ‫سیستم‬ ‫تحلیل‬ .
System Analysis
:)
.‫‌نفعان‬
‫ی‬‫ذ‬ ‫و‬ ‫کاربران‬ ‫‌های‬
‫ی‬‫نیازمند‬ ‫مستندسازی‬ ‫و‬ ‫گردآوری‬ :‫‌ها‬
‫ی‬‫نیازمند‬ ‫‌آوری‬
‫ع‬‫جم‬ -
.‫یابد‬ ‫توسعه‬ ‫باید‬ ‫که‬ ‫آنچه‬ ‫از‬ ‫بیشتر‬ ‫جزئیات‬ ‫و‬ ‫دقیق‬ ‫درک‬ ‫برای‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫تحلیل‬ :‫‌ها‬
‫ی‬‫نیازمند‬ ‫تحلیل‬ -
3
( ‫سیستم‬ ‫طراحی‬ .
System Design
:)
.‫‌افزار‬
‫م‬‫نر‬ ‫معماری‬ ‫تعیین‬ ‫و‬ ‫‌ها‬
‫ی‬‫فناور‬ ‫انتخاب‬ ،‫سیستم‬ ‫کلی‬ ‫ساختار‬ ‫تعیین‬ :‫سیستم‬ ‫معماری‬ ‫طراحی‬ -
.‫‌افزاری‬
‫م‬‫نر‬ ‫اجزای‬ ‫و‬ ‫کاربری‬ ‫‌های‬
‫ط‬‫راب‬ ،‫داده‬ ‫پایگاه‬ ‫شامل‬ ‫سیستم‬ ‫از‬ ‫قسمت‬ ‫هر‬ ‫برای‬ ‫دقیق‬ ‫‌های‬
‫ی‬‫طراح‬ ‫ایجاد‬ :‫تفصیلی‬ ‫طراحی‬ -
4
( ‫‌سازی‬
‫ه‬‫پیاد‬ .
Implementation
:)
.‫تفصیلی‬ ‫‌های‬
‫ی‬‫طراح‬ ‫اساس‬ ‫بر‬ ‫‌افزار‬
‫م‬‫نر‬ ‫کدهای‬ ‫توسعه‬ :‫کدنویسی‬ -
.‫سیستم‬ ‫مختلف‬ ‫اجزای‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ‫و‬ ‫ترکیب‬ :‫‌سازی‬
‫ه‬‫یکپارچ‬ -
5
( ‫تست‬ .
Testing
:)
( ‫واحد‬ ‫تست‬ -
Unit Testing
.‫جداگانه‬ ‫‌صورت‬
‫ه‬‫ب‬ ‫‌افزار‬
‫م‬‫نر‬ ‫واحد‬ ‫هر‬ ‫عملکرد‬ ‫بررسی‬ :)
( ‫یکپارچگی‬ ‫تست‬ -
Integration Testing
.‫سیستم‬ ‫مختلف‬ ‫اجزای‬ ‫یکپارچه‬ ‫عملکرد‬ ‫بررسی‬ :)
( ‫سیستم‬ ‫تست‬ -
System Testing
.‫‌ها‬
‫ی‬‫نیازمند‬ ‫شدن‬ ‫برآورده‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ‫سیستم‬ ‫کلی‬ ‫ارزیابی‬ :)
( ‫پذیرش‬ ‫تست‬ -
Acceptance Testing
.‫نهایی‬ ‫کاربران‬ ‫توسط‬ ‫سیستم‬ ‫نهایی‬ ‫تأیید‬ :)
6
( ‫استقرار‬ .
Deployment
:)
.‫استفاده‬ ‫برای‬ ‫‌سازی‬
‫ه‬‫آماد‬ ‫و‬ ‫عملیاتی‬ ‫محیط‬ ‫در‬ ‫سیستم‬ ‫استقرار‬ :‫‌اندازی‬
‫ه‬‫را‬ ‫و‬ ‫نصب‬ -
.‫سیستم‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫نهایی‬ ‫کاربران‬ ‫آموزش‬ :‫کاربران‬ ‫آموزش‬ -
7
( ‫پشتیبانی‬ ‫و‬ ‫نگهداری‬ .
Maintenance and Support
:)
.‫‌افزار‬
‫م‬‫نر‬ ‫اشکاالت‬ ‫اصالح‬ ‫و‬ ‫شناسایی‬ :‫اشکاالت‬ ‫رفع‬ -
.‫کاربران‬ ‫بازخورد‬ ‫اساس‬ ‫بر‬ ‫نیاز‬ ‫مورد‬ ‫بهبودهای‬ ‫و‬ ‫منظم‬ ‫‌های‬
‫ی‬‫‌روزرسان‬
‫ه‬‫ب‬ ‫انجام‬ :‫بهبودها‬ ‫و‬ ‫‌ها‬
‫ی‬‫‌روزرسان‬
‫ه‬‫ب‬ -
‫مزایای‬
SDLC
:
.‫‌افزاری‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫اجرای‬ ‫و‬ ‫مدیریت‬ ‫برای‬ ‫ساختاریافته‬ ‫چارچوب‬ ‫یک‬ ‫ارائه‬ :‫منظم‬ ‫ساختار‬ -
.‫‌افزار‬
‫م‬‫نر‬ ‫کیفیت‬ ‫تضمین‬ ‫برای‬ ‫متعدد‬ ‫‌های‬
‫ی‬‫بازبین‬ ‫و‬ ‫‌ها‬
‫ت‬‫تس‬ ‫انجام‬ ‫از‬ ‫اطمینان‬ :‫کیفیت‬ ‫کنترل‬ -
.‫پروژه‬ ‫از‬ ‫مرحله‬ ‫هر‬ ‫در‬ ‫جامع‬ ‫و‬ ‫دقیق‬ ‫مستندات‬ ‫ایجاد‬ :‫جامع‬ ‫مستندسازی‬ -
.‫توسعه‬ ‫فرآیند‬ ‫طول‬ ‫در‬ ‫‌ها‬
‫ک‬‫ریس‬ ‫مدیریت‬ ‫و‬ ‫شناسایی‬ :‫ریسک‬ ‫مدیریت‬ -
‫معایب‬
SDLC
:
.‫باشد‬ ‫پرهزینه‬ ‫و‬ ‫دشوار‬ ‫پایانی‬ ‫مراحل‬ ‫در‬ ‫‌ها‬
‫ی‬‫نیازمند‬ ‫تغییر‬ ‫است‬ ‫ممکن‬ :‫‌پذیری‬
‫ف‬‫انعطا‬ ‫عدم‬ -
.‫باشد‬ ‫داشته‬ ‫نیاز‬ ‫زیادی‬ ‫زمان‬ ‫است‬ ‫ممکن‬ ‫مستندسازی‬ ‫و‬ ‫دقیق‬ ‫فرآیندهای‬ :‫بودن‬ ‫‌بر‬
‫ن‬‫زما‬ -
.‫بیافتد‬ ‫تعویق‬ ‫به‬ ‫پایانی‬ ‫مراحل‬ ‫تا‬ ‫است‬ ‫ممکن‬ ‫کاربران‬ ‫بازخورد‬ ‫دریافت‬ :‫بازخورد‬ ‫در‬ ‫تأخیر‬ -
‫‌های‬
‫ل‬‫مد‬ ‫انواع‬
SDLC
:
1
( ‫آبشاری‬ ‫مدل‬ .
Waterfall Model
:)
.‫شود‬ ‫تکمیل‬ ‫بعدی‬ ‫مرحله‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫کامل‬ ‫‌طور‬
‫ه‬‫ب‬ ‫باید‬ ‫مرحله‬ ‫هر‬ ‫که‬ ‫ترتیبی‬ ‫و‬ ‫خطی‬ ‫رویکرد‬ -
2
( ‫چابک‬ ‫مدل‬ .
Agile Model
:)
.‫دارد‬ ‫تأکید‬ ‫مداوم‬ ‫تحویل‬ ‫و‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ ،‫همکاری‬ ‫بر‬ ‫که‬ ‫افزایشی‬ ‫و‬ ‫تکرارشونده‬ ‫رویکرد‬ -
3
( ‫مارپیچی‬ ‫مدل‬ .
Spiral Model
:)
.‫است‬ ‫ارزیابی‬ ‫و‬ ‫توسعه‬ ،‫ریسک‬ ‫تحلیل‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ :‫اصلی‬ ‫فاز‬ ‫چهار‬ ‫شامل‬ ‫که‬ ‫ریسک‬ ‫ارزیابی‬ ‫و‬ ‫تکرارشونده‬ ‫توسعه‬ ‫از‬ ‫ترکیبی‬ -
4
‫مدل‬ .
( - )
V V Model
:
.‫دارد‬ ‫مرحله‬ ‫هر‬ ‫در‬ ‫تأیید‬ ‫و‬ ‫تست‬ ‫بر‬ ‫بیشتری‬ ‫تأکید‬ ‫که‬ ‫آبشاری‬ ‫مدل‬ ‫گسترش‬ -
:‫‌بندی‬
‫ع‬‫جم‬
SDLC
‫‌صورت‬
‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫اجرای‬ ‫و‬ ‫مدیریت‬ ‫برای‬ ‫جامع‬ ‫چارچوب‬ ‫یک‬
،‫معایب‬ ‫و‬ ‫‌ها‬
‫ش‬‫چال‬ ‫وجود‬ ‫با‬ .‫ببرند‬ ‫پیش‬ ‫‌یافته‬
‫ن‬‫سازما‬ ‫و‬ ‫سیستماتیک‬
SDLC
‫‌افزارهای‬
‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫‌ها‬
‫ش‬‫رو‬ ‫پرکاربردترین‬ ‫از‬ ‫یکی‬ ‫همچنان‬
.‫است‬ ‫‌آمیز‬
‫ت‬‫موفقی‬ ‫و‬ ‫کیفیت‬ ‫با‬
Life Cycle Management
( ‫عمر‬ ‫چرخه‬ ‫مدیریت‬
Life Cycle Management
‫سیستم‬ ‫یک‬ ‫حیات‬ ‫مراحل‬ ‫تمامی‬ ‫مدیریت‬ ‫فرآیند‬ ‫به‬ ‫اطالعات‬ ‫فناوری‬ ‫حوزه‬ ‫در‬ )
‫کار‬ ‫(از‬ ‫بازنشستگی‬ ‫و‬ ‫نگهداری‬ ،‫‌برداری‬
‫ه‬‫بهر‬ ،‫توسعه‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫شامل‬ ‫مراحل‬ ‫این‬ .‫دارد‬ ‫اشاره‬ ‫پایان‬ ‫تا‬ ‫آغاز‬ ‫از‬ ‫‌افزاری‬
‫ت‬‫سخ‬ ‫یا‬ ‫‌افزاری‬
‫م‬‫نر‬
‫اطمینان‬ ‫قابلیت‬ ‫و‬ ‫کارایی‬ ‫افزایش‬ ‫و‬ ‫‌ها‬
‫ه‬‫هزین‬ ‫کاهش‬ ،‫منابع‬ ‫از‬ ‫استفاده‬ ‫‌سازی‬
‫ه‬‫بهین‬ ،‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫از‬ ‫هدف‬ .‫‌شوند‬
‫ی‬‫م‬ ‫سیستم‬ )‫انداختن‬
.‫است‬ ‫‌ها‬
‫م‬‫سیست‬
‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫مفهوم‬
:‫است‬ ‫زیر‬ ‫مراحل‬ ‫شامل‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬
1
.‫پروژه‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫و‬ ‫‌سنجی‬
‫ن‬‫امکا‬ ‫ارزیابی‬ ،‫سیستم‬ ‫طراحی‬ ،‫‌ها‬
‫ی‬‫نیازمند‬ ‫تعریف‬ ‫شامل‬ :‫طراحی‬ ‫و‬ ‫‌ریزی‬
‫ه‬‫برنام‬ .
2
.‫سیستم‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫‌سازی‬
‫ه‬‫یکپارچ‬ ،‫کدنویسی‬ ‫شامل‬ :‫‌سازی‬
‫ه‬‫پیاد‬ ‫و‬ ‫توسعه‬ .
3
.‫مشکالت‬ ‫حل‬ ‫و‬ ‫‌ها‬
‫ی‬‫‌روزرسان‬
‫ه‬‫ب‬ ،‫تغییرات‬ ‫مدیریت‬ ،‫مانیتورینگ‬ ‫شامل‬ :‫نگهداری‬ ‫و‬ ‫‌برداری‬
‫ه‬‫بهر‬ .
4
.‫منابع‬ ‫بازیابی‬ ‫و‬ ‫جدید‬ ‫‌های‬
‫م‬‫سیست‬ ‫به‬ ‫‌ها‬
‫ه‬‫داد‬ ‫انتقال‬ ،‫سیستم‬ ‫انداختن‬ ‫کار‬ ‫از‬ ‫شامل‬ :‫بازنشستگی‬ .
‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫ابزارهای‬
‫یعنی‬ ‫ابزارها‬ ‫این‬ ‫از‬ ‫مورد‬ ‫دو‬ ‫اینجا‬ ‫در‬ .‫دارند‬ ‫وجود‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫مختلفی‬ ‫ابزارهای‬
Foreman
‫و‬
Red Hat Satellite
:‫‌دهیم‬
‫ی‬‫م‬ ‫توضیح‬ ‫را‬
Foreman
Foreman
.‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫مجازی‬ ‫و‬ ‫فیزیکی‬ ‫‌های‬
‫ت‬‫زیرساخ‬ ‫مدیریت‬ ‫امکان‬ ‫که‬ ‫است‬ ‫سرورها‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫برای‬ ‫‌باز‬
‫ن‬‫مت‬ ‫ابزار‬ ‫یک‬
.‫دارد‬ ‫‌ها‬
‫م‬‫سیست‬ ‫مدیریت‬ ‫فرآیندهای‬ ‫خودکارسازی‬ ‫برای‬ ‫متنوعی‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫ابزار‬ ‫این‬
‫اصلی‬ ‫‌های‬
‫ی‬‫ویژگ‬
Foreman
:
‫از‬ ‫استفاده‬ :‫خودکار‬ ‫پیکربندی‬ -
Puppet
.‫سرورها‬ ‫خودکار‬ ‫پیکربندی‬ ‫برای‬
‫مانند‬ ‫مختلف‬ ‫‌های‬
‫م‬‫پلتفر‬ ‫در‬ ‫مجازی‬ ‫‌های‬
‫ن‬‫ماشی‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬ ‫امکان‬ :‫مجازی‬ ‫‌های‬
‫ن‬‫ماشی‬ ‫مدیریت‬ -
VMware، Libvirt
‫و‬
OpenStack
.
.‫‌ها‬
‫گ‬‫ال‬ ‫مدیریت‬ ‫و‬ ‫سرورها‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫ارائه‬ :‫مانیتورینگ‬ ‫و‬ ‫نظارت‬ -
‫جمله‬ ‫از‬ ‫مختلف‬ ‫‌های‬
‫ل‬‫عام‬ ‫سیستم‬ ‫با‬ ‫سرورهایی‬ ‫مدیریت‬ ‫امکان‬ :‫عامل‬ ‫سیستم‬ ‫چندین‬ ‫از‬ ‫پشتیبانی‬ -
Linux
‫و‬
Windows
.
‫مانند‬ ‫ابزارهایی‬ ‫با‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ‫قابلیت‬ :‫دیگر‬ ‫ابزارهای‬ ‫با‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ -
Ansible، Chef
‫و‬
Salt
.
Red Hat Satellite
Red Hat Satellite
‫به‬ ‫ابزار‬ ‫این‬ .‫است‬ ‫شده‬ ‫طراحی‬ ‫پیچیده‬ ‫و‬ ‫بزرگ‬ ‫‌های‬
‫ط‬‫محی‬ ‫مدیریت‬ ‫برای‬ ‫که‬ ‫است‬ ‫سیستم‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬
.‫کنند‬ ‫‌روزرسانی‬
‫ه‬‫ب‬ ‫و‬ ‫مدیریت‬ ‫متمرکز‬ ‫‌صورت‬
‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫سرورهای‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫ن‬‫سازما‬
‫اصلی‬ ‫‌های‬
‫ی‬‫ویژگ‬
Red Hat Satellite
:
‫از‬ ‫استفاده‬ ‫با‬ ‫سرورها‬ ‫تنظیمات‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ ‫امکان‬ :‫پیکربندی‬ ‫مدیریت‬ -
Puppet
‫و‬
Ansible
.
.‫سیستم‬ ‫‌های‬
‫ی‬‫‌روزرسان‬
‫ه‬‫ب‬ ‫و‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫بست‬ ‫مرکزی‬ ‫مدیریت‬ :‫‌ها‬
‫ی‬‫‌روزرسان‬
‫ه‬‫ب‬ ‫و‬ ‫‌ها‬
‫ه‬‫بست‬ ‫مدیریت‬ -
.‫جدید‬ ‫‌های‬
‫ه‬‫نسخ‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ایجاد‬ ‫جمله‬ ‫از‬ ‫محتوا‬ ‫‌های‬
‫ه‬‫بست‬ ‫و‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫امکان‬ :‫محتوا‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ -
.‫هشدارها‬ ‫مدیریت‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫ابزارهای‬ ‫ارائه‬ :‫مانیتورینگ‬ ‫و‬ ‫نظارت‬ -
.‫سازمانی‬ ‫استانداردهای‬ ‫با‬ ‫تطابق‬ ‫و‬ ‫امنیتی‬ ‫‌های‬
‫ت‬‫سیاس‬ ‫اجرای‬ ‫امکان‬ :‫تطابق‬ ‫و‬ ‫امنیت‬ -
‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫سایر‬
‫بر‬ ‫عالوه‬
Foreman
‫و‬
Red Hat Satellite
:‫دارند‬ ‫وجود‬ ‫‌ها‬
‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫برای‬ ‫نیز‬ ‫دیگری‬ ‫ابزارهای‬ ،
-
Ansible Tower
‫پایه‬ ‫بر‬ ‫که‬ ‫خودکارسازی‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬ :
Ansible
‫مدیریتی‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫و‬ ‫شده‬ ‫ساخته‬
.‫‌دهد‬
‫ی‬‫م‬ ‫ارائه‬ ‫‌تری‬
‫ه‬‫پیشرفت‬
-
Puppet Enterprise
‫پایه‬ ‫بر‬ ‫که‬ ‫خودکارسازی‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬ ‫پلتفرم‬ ‫یک‬ :
Puppet
‫مدیریتی‬ ‫امکانات‬ ‫و‬ ‫شده‬ ‫ساخته‬
.‫دارد‬ ‫‌ای‬
‫ه‬‫پیشرفت‬
-
Chef Automate
‫را‬ ‫خود‬ ‫‌برداری‬
‫ه‬‫بهر‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫که‬ ‫خودکارسازی‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬ :
.‫کنند‬ ‫خودکار‬
‫افزایش‬ ‫و‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫‌سازی‬
‫ه‬‫بهین‬ ‫به‬ ‫که‬ ‫است‬ ‫اطالعات‬ ‫فناوری‬ ‫مدیریت‬ ‫از‬ ‫حیاتی‬ ‫جنبه‬ ‫یک‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬
‫مانند‬ ‫ابزارهایی‬ .‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫م‬‫سیست‬ ‫کارایی‬
Foreman
‫و‬
Red Hat Satellite
‫مدیریت‬ ‫و‬ ‫خودکارسازی‬ ‫در‬ ‫مهمی‬ ‫نقش‬
.‫کنند‬ ‫مدیریت‬ ‫مؤثرتر‬ ‫‌طور‬
‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫‌های‬
‫م‬‫سیست‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫ن‬‫سازما‬ ‫به‬ ‫و‬ ‫دارند‬ ‫عمر‬ ‫چرخه‬ ‫مختلف‬ ‫فرآیندهای‬
‫در‬ ‫استقرار‬
DevOps
‫؟‬ ‫هست‬ ‫معیاری‬ ‫چه‬ ‫اساس‬ ‫بر‬ ‫استقرار‬
‫یک‬ ‫مبنای‬ ‫بر‬ ‫را‬ ‫خود‬ ‫کد‬ ‫قادرند‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ،‫میکروسرویس‬ ‫رویکرد‬ ‫از‬ ‫‌گیری‬
‫ه‬‫بهر‬ ‫و‬ ‫محور‬ ‫سرویس‬ ‫معماری‬ ‫اعمال‬ ‫با‬ ،‫حاضر‬ ‫حال‬ ‫در‬
.‫نمایند‬ ‫مستقر‬ ‫و‬ ‫اعمال‬ ‫همزمان‬ ‫‌طور‬
‫ه‬‫ب‬ ‫کدها‬ ‫مختلف‬ ‫‌های‬
‫ش‬‫بخ‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫‌ها‬
‫ن‬‫آ‬ ‫به‬ ‫اقدام‬ ‫این‬ .‫کنند‬ ‫ایجاد‬ ‫ماژوالر‬ ‫طراحی‬
:‫از‬ ‫عبارتند‬ ‫‌تر‬
‫ه‬‫کوتا‬ ‫استقرار‬ ‫‌های‬
‫ه‬‫چرخ‬ ‫از‬ ‫تجاری‬ ‫‌های‬
‫د‬‫سو‬
.‫بازار‬ ‫به‬ ‫محصول‬ ‫عرضه‬ ‫زمان‬ ‫کاهش‬ -
.‫محصول‬ ‫جدید‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫به‬ ‫مشتریان‬ ‫‌تر‬
‫ع‬‫سری‬ ‫دسترسی‬ -
.‫‌شود‬
‫ی‬‫م‬ ‫کد‬ ‫مشکالت‬ ‫سریع‬ ‫رفع‬ ‫و‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫پرسرعت‬ ‫و‬ ‫مکرر‬ ‫‌ی‬
‫ه‬‫توسع‬ ‫موجب‬ ‫که‬ ،‫توسعه‬ ‫تیم‬ ‫به‬ ‫مشتریان‬ ‫‌تر‬
‫ع‬‫سری‬ ‫بازخورد‬ -
‫‌های‬
‫م‬‫تی‬ ‫برای‬ ‫را‬ ‫جدیدی‬ ‫‌های‬
‫ش‬‫چال‬ ‫نیز‬ ‫تغییرات‬ ‫این‬ ،‫اما‬
DevOps
‫در‬ ‫کاستی‬ ‫به‬ ‫منجر‬ ‫است‬ ‫ممکن‬ ‫اما‬ ،‫مکرر‬ ‫استقرار‬ .‫است‬ ‫کرده‬ ‫ایجاد‬
‫و‬ ‫محصول‬ ‫ریسک‬ ‫که‬ ‫شود‬ ‫تدوین‬ ‫کد‬ ‫استقرار‬ ‫برای‬ ‫مناسبی‬ ‫‌های‬
‫ی‬‫استراتژ‬ ‫که‬ ‫است‬ ‫ضروری‬ ،‫رو‬ ‫این‬ ‫از‬ .‫شود‬ ‫مشتری‬ ‫تجربه‬ ‫و‬ ‫اطمینان‬ ‫قابلیت‬
‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫که‬ ‫ابزارهایی‬ ‫و‬ ‫برتر‬ ‫تجارب‬ ،‫‌افزار‬
‫م‬‫نر‬ ‫استقرار‬ ‫‌های‬
‫ی‬‫استراتژ‬ ‫از‬ ‫تعدادی‬ ‫بررسی‬ ‫به‬ ‫جا‬ ‫این‬ ‫در‬ .‫برساند‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫مشتری‬ ‫تجربه‬
.‫پرداخت‬ ‫خواهیم‬ ،‫کنند‬ ‫عمل‬ ‫بیشتر‬ ‫امنیت‬ ‫و‬ ‫سرعت‬ ‫با‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬
/
Blue Green Deployment
‫یا‬
Canary Deployment
‫چیست؟‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬
. ‫سبز‬ ‫دیگری‬ ‫و‬ ‫آبی‬ ‫نام‬ ‫به‬ ‫یکی‬ - ‫است‬ ‫یکسان‬ ‫تولید‬ ‫محیط‬ ‫دو‬ ‫داشتن‬ ‫شامل‬ ‫که‬ ‫است‬ ‫انتشار‬ ‫مدیریت‬ ‫استراتژی‬ ‫یک‬ ‫آبی‬-‫سبز‬ ‫استقرار‬
" " " "
.‫هستند‬ ‫مشابهی‬ ‫تنظیمات‬ ‫و‬ ‫‌ها‬
‫ت‬‫زیرساخ‬ ،‫منابع‬ ‫حاوی‬ ‫که‬ ،‫باشند‬ ‫یکدیگر‬ ‫دقیق‬ ‫‌سازی‬
‫ه‬‫شبی‬ ‫که‬ ‫‌اند‬
‫ه‬‫شد‬ ‫طراحی‬ ‫‌ای‬
‫ه‬‫گون‬ ‫به‬ ‫‌ها‬
‫ط‬‫محی‬ ‫این‬
‫برای‬ ‫شما‬ ‫به‬ ‫دادن‬ ‫اجازه‬ ‫با‬ ‫جدید‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫نسخ‬ ‫معرفی‬ ‫خطر‬ ‫کاهش‬ ‫و‬ ‫خرابی‬ ‫زمان‬ ‫رساندن‬ ‫حداقل‬ ‫به‬ ،‫آبی‬-‫سبز‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫اصلی‬ ‫هدف‬
.‫است‬ ‫‌ها‬
‫ط‬‫محی‬ ‫این‬ ‫بین‬ ‫‌جایی‬
‫ه‬‫جاب‬
‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ ‫این‬ .‫دهید‬ ‫می‬ ‫انجام‬ )‫سبز‬ ‫(مثًال‬ ‫فعال‬ ‫غیر‬ ‫محیط‬ ‫در‬ ‫را‬ ‫کار‬ ‫این‬ ،‫کنید‬ ‫می‬ ‫اجرا‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫از‬ ‫جدیدی‬ ‫نسخه‬ ‫که‬ ‫هنگامی‬
‫بر‬ ‫تأثیرگذاری‬ ‫بدون‬ ‫را‬ ‫الزم‬ ‫تنظیمات‬ ‫و‬ ‫کنید‬ ‫حاصل‬ ‫اطمینان‬ ‫آن‬ ‫بودن‬ ‫پایدار‬ ‫از‬ ،‫کنید‬ ‫آزمایش‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬
‫آن‬ ‫و‬ ‫دهید‬ ‫تغییر‬ ‫سبز‬ ‫محیط‬ ‫به‬ ‫را‬ ‫کاربران‬ ‫توانید‬ ‫می‬ ،‫است‬ ‫اعتماد‬ ‫قابل‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫شدید‬ ‫مطمئن‬ ‫که‬ ‫هنگامی‬ .‫دهید‬ ‫انجام‬ ‫خود‬ ‫کاربران‬
‫استقرار‬ ‫دریافت‬ ‫آماده‬ ‫و‬ ‫شود‬ ‫می‬ ‫تبدیل‬ ‫کار‬ ‫به‬ ‫آماده‬ ‫حالت‬ ‫به‬ ‫اکنون‬ ‫بود‬ ‫فعال‬ ‫قبًال‬ ‫که‬ ‫آبی‬ ‫محیط‬ .‫کنید‬ ‫تبدیل‬ ‫جدید‬ ‫فعال‬ ‫تولید‬ ‫محیط‬ ‫به‬ ‫را‬
.‫است‬ ‫بعدی‬
.‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫یکسان‬ ‫داده‬ ‫پایگاه‬ ‫و‬ ‫پایداری‬ ‫الیه‬ ‫یک‬ ‫از‬ ‫سیستم‬ ‫دو‬ ‫هر‬ ‫سبز‬ ‫آبی‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫یک‬ ‫در‬ ‫واقع‬ ‫در‬
–
‫های‬ ‫داده‬ ‫سازی‬ ‫همگام‬ ‫حفظ‬
‫داده‬ ‫پایگاه‬ ‫یک‬ ‫و‬ ‫است‬ ‫ضروری‬ ‫اپلیکیشن‬
Mirror
‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ .‫باشد‬ ‫کننده‬ ‫کمک‬ ‫‌تواند‬
‫ی‬‫م‬ )‌
‫ی‬‫ا‬ ‫(آینه‬
‫برای‬ ‫آبی‬ ‫بوسیله‬ ‫را‬ ‫اصلی‬ ‫داده‬ ‫پایگاه‬
Write
‫خواندن‬ ‫برای‬ ‫سبز‬ ‫وسیله‬ ‫به‬ ‫را‬ ‫ثانویه‬ ‫داده‬ ‫پایگاه‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫داده‬ ‫پایگاه‬ ‫در‬ ‫ها‬ ‫عملیات‬
‫داده‬ ‫های‬ ‫پایگاه‬ ،‫باشد‬ ‫داشته‬ ‫نیاز‬ ‫نوشتن‬ ‫به‬ ‫تست‬ ‫عملیات‬ ‫حین‬ ‫نیز‬ ‫سبز‬ ‫اگر‬ .‫کنید‬ ‫استفاده‬ ‫سبز‬ ‫به‬ ‫آبی‬ ‫از‬ ‫جابجایی‬ ‫حین‬ ‫ها‬ ‫عملیات‬
.‫یابند‬ ‫تکثیر‬ ‫طرفه‬ ‫دو‬ ‫بصورت‬ ‫‌توانند‬
‫ی‬‫م‬
‫است‬ ‫ممکن‬ .‫بازگردانید‬ ‫فعالیت‬ ‫چرخه‬ ‫به‬ ‫مجددا‬ ‫یا‬ ‫و‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬ ‫آبی‬ ‫قدیمی‬ ‫نمونه‬ ‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ ،‫‌شود‬
‫ی‬‫م‬ ‫فعال‬ ‫سبز‬ ‫وقتی‬
‫ورژن‬ ‫یک‬
‫آن‬ ‫روی‬ ‫بر‬ ‫را‬ ‫جدیدتر‬
‫مسیریابی‬ ‫بر‬ ‫سبز‬ -‫آبی‬ ‫استقرارهای‬ .‫نمایید‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫بعدی‬ ‫انتشار‬ ‫در‬ ‫جدید‬ ‫سبز‬ ‫عنوان‬ ‫به‬ ‫و‬ ‫نمایید‬ ‫مستقر‬ ‫نمونه‬
‫ترافیک‬
‫رسانی‬ ‫بروز‬ ‫با‬ ‫‌توان‬
‫ی‬‫م‬ ‫را‬ ‫اینکار‬ .‫هستند‬ ‫متکی‬
DNS CNAME
( ‫میزبان‬ ‫برای‬ ‫ها‬
host
‫مقادیر‬ ‫اینحال‬ ‫با‬ .‫رساند‬ ‫انجام‬ ‫به‬ ‫ها‬ )
‫طوالنی‬
TTL
‫تا‬ ‫دهید‬ ‫تغییر‬ ‫را‬ ‫بار‬ ‫کننده‬ ‫متعادل‬ ‫تنظیمات‬ ‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ ،‫جایگزین‬ ‫بعنوان‬ .‫سازد‬ ‫مواجه‬ ‫تاخیر‬ ‫با‬ ‫را‬ ‫تغییرات‬ ‫این‬ ‫‌تواند‬
‫ی‬‫م‬
.‫شوند‬ ‫اعمال‬ ‫سرعت‬ ‫به‬ ‫تغییرات‬
‫چیست؟‬ ‫قناری‬ ‫استقرار‬
‫استقرار‬
Canary
‫در‬ ‫استقرار‬ ‫از‬ ‫قبل‬ ‫را‬ ‫جدید‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫نسخ‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫که‬ ‫است‬ ‫انتشار‬ ‫مدیریت‬ ‫‌های‬
‫ی‬‫استراتژ‬ ‫از‬ ‫دیگر‬ ‫یکی‬
»‫‌سنگ‬
‫ل‬‫زغا‬ ‫معدن‬ ‫در‬ ‫«قناری‬ ‫قیاس‬ ‫نام‬ ‫به‬ ‫که‬ ‫روش‬ ‫این‬ .‫کنید‬ ‫عرضه‬ ‫کاربران‬ ‫از‬ ‫‌ای‬
‫ه‬‫‌شد‬
‫ل‬‫کنتر‬ ‫و‬ ‫کوچک‬ ‫گروه‬ ‫برای‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬
‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫کاربران‬ ‫همه‬ ‫بر‬ ‫تأثیرگذاری‬ ‫از‬ ‫قبل‬ ‫را‬ ‫جدید‬ ‫نسخه‬ ‫احتمالی‬ ‫مشکل‬ ‫هرگونه‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫شما‬ ‫به‬ ،‫است‬ ‫شده‬ ‫نامگذاری‬
.‫‌رساند‬
‫ی‬‫م‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫برق‬ ‫قطع‬ ‫یا‬ ‫گسترده‬ ‫مشکل‬ ‫یک‬ ‫خطر‬ ‫بنابراین‬ ،‫کنید‬
‫به‬ ‫آبی‬ ‫از‬ ‫جابجایی‬ ‫جای‬ ‫به‬ .‫است‬ ‫همراه‬ ‫بیشتری‬ ‫پذیری‬ ‫ریسک‬ ‫با‬ ‫اینکه‬ ‫جز‬ ‫است‬ ‫سبز‬ -‫آبی‬ ‫مشابه‬ ‫قناری‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬
‫از‬ ‫کوچکی‬ ‫بخش‬ ‫در‬ ‫را‬ ‫جدید‬ ‫کد‬ ‫یک‬ ،‫قناری‬ ‫روش‬ ‫به‬ ‫استقرار‬ ‫با‬ .‫‌کنید‬
‫ی‬‫م‬ ‫استفاده‬ ‫شده‬ ‫بندی‬ ‫مرحله‬ ‫رویکرد‬ ‫یک‬ ‫از‬ ‫شما‬ ،‫گام‬ ‫یک‬ ‫در‬ ‫سبز‬
‫های‬ ‫زیرساخت‬
Production
‫به‬ ‫کاربران‬ ‫از‬ ‫کمی‬ ‫عده‬ ‫تنها‬ ،‫یافت‬ ‫دست‬ ‫انتشار‬ ‫جهت‬ ‫تایید‬ ‫به‬ ‫اپلیکیشن‬ ‫اینکه‬ ‫از‬ ‫پس‬ .‫‌کنید‬
‫ی‬‫م‬ ‫مستقر‬
.‫‌رساند‬
‫ی‬‫م‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫خرابی‬ ‫هرگونه‬ ‫اینکار‬ .‫‌شوند‬
‫ی‬‫م‬ ‫هدایت‬ ‫آن‬ ‫سمت‬
‫دهنده‬ ‫نشان‬ ‫زیر‬ ‫تصویر‬ .‫یابد‬ ‫گسترش‬ ‫زیرساخت‬ ‫باقیمانده‬ ‫بر‬ ‫تدریج‬ ‫به‬ ‫تواند‬ ‫می‬ ‫جدید‬ ‫ورژن‬ ،‫نیافته‬ ‫بروز‬ ‫خطایی‬ ‫هیچ‬ ‫که‬ ‫شود‬ ‫گزارش‬ ‫اگر‬
.‫است‬ ‫قناری‬ ‫استقرار‬ ‫اجرای‬ ‫نحوه‬
‫نظر‬ ‫زیر‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫عملکرد‬ ‫و‬ ‫بازخورد‬ ،‫‌کنید‬
‫ی‬‫م‬ ‫عرضه‬ ‫کاربران‬ ‫از‬ ‫درصدی‬ ‫برای‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫جدید‬ ‫نسخه‬ ‫تدریج‬ ‫به‬ ‫شما‬ ،‫قناری‬ ‫استقرار‬ ‫در‬
‫دریافت‬ ‫مثبت‬ ‫بازخورد‬ ‫و‬ ‫باشد‬ ‫داشته‬ ‫خوبی‬ ‫عملکرد‬ ‫جدید‬ ‫نسخه‬ ‫اگر‬ .‫‌کنید‬
‫ی‬‫م‬ ‫تکرار‬ ‫بیاید‬ ‫پیش‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫را‬ ‫مشکلی‬ ‫هر‬ ‫و‬ ‫‌گیرید‬
‫ی‬‫م‬
‫برطرف‬ ‫را‬ ‫مشکالت‬ ،‫کنید‬ ‫متوقف‬ ‫را‬ ‫عرضه‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫شدید‬ ‫مواجه‬ ‫مشکلی‬ ‫با‬ ‫اگر‬ ،‫دیگر‬ ‫طرف‬ ‫از‬ .‫دهید‬ ‫ادامه‬ ‫را‬ ‫کامل‬ ‫نسخه‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫کند‬
‫و‬ ‫شناسایی‬ ‫اوایل‬ ‫در‬ ‫بالقوه‬ ‫مشکل‬ ‫گونه‬ ‫هر‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫افزایشی‬ ‫رویکرد‬ ‫این‬ .‫دهید‬ ‫ادامه‬ ‫را‬ ‫روند‬ ‫سپس‬ ‫و‬ ‫کنید‬
.‫دهد‬ ‫می‬ ‫کاهش‬ ‫را‬ ‫بار‬ ‫فاجعه‬ ‫شکست‬ ‫یک‬ ‫خطر‬ ‫و‬ ‫شود‬ ‫می‬ ‫فصل‬ ‫و‬ ‫حل‬
‫استقرار‬ ‫اسم‬ ‫به‬ ‫فوق‬ ‫استراتژی‬ ‫گذاری‬ ‫نام‬ ‫دلیل‬
‫قناری‬
‫با‬ ‫‌کردند‬
‫ی‬‫م‬ ‫کار‬ ‫سنگ‬ ‫زغال‬ ‫معدن‬ ‫در‬ ‫که‬ ‫افرادی‬ ‫گذشته‬ ‫در‬ ‫که‬ ‫است‬ ‫دلیل‬ ‫این‬ ‫به‬ ،
‫بر‬ ‫را‬ ‫جدید‬ ‫تغییرات‬ ‫ابتدا‬ ‫استراتژی‬ ‫این‬ ‫در‬ ‫دلیل‬ ‫همین‬ ‫به‬ .‫‌فهمیدند‬
‫ی‬‫م‬ ‫معدن‬ ‫در‬ ‫را‬ ‫سمی‬ ‫گازهای‬ ‫انتشار‬ ،‫ها‬ ‫قناری‬ ‫سروصدای‬ ‫از‬ ‫استفاده‬
.‫دهند‬ ‫نشان‬ ‫ما‬ ‫به‬ ‫را‬ ‫آمده‬ ‫پیش‬ ‫مشکالت‬ ‫‌توانند‬
‫ی‬‫م‬ ‌
،‫‌ها‬
‫ی‬‫قنار‬ ‫سروصدای‬ ‫همانند‬ ‫کاربران‬ ‫این‬ ‫و‬ ‫‌کنیم‬
‫ی‬‫م‬ ‫تست‬ ‫کاربران‬ ‫از‬ ‫اندکی‬ ‫تعداد‬ ‫روی‬
‫برای‬ ‫راهی‬ ‫تدبیر‬ ‫قناری‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫اصلی‬ ‫چالش‬
‫به‬ ‫کاربران‬ ‫برخی‬ ‫هدایت‬
‫برخی‬ ‫آن‬ ‫بر‬ ‫عالوه‬ .‫است‬ ‫جدید‬ ‫اپلیکیشن‬
‫درحالیکه‬ ‫باشند‬ ‫داشته‬ ‫نیاز‬ ‫تست‬ ‫برای‬ ‫کاربران‬ ‫از‬ ‫یکسانی‬ ‫گروه‬ ‫به‬ ‫همیشه‬ ‫است‬ ‫ممکن‬ ‫ها‬ ‫برنامه‬
‫از‬ ‫متفاوتی‬ ‫گروه‬ ‫به‬ ‫زمان‬ ‫هر‬ ‫در‬ ‫دیگر‬ ‫برخی‬
.‫دارند‬ ‫احتیاج‬ ‫کاربران‬
.‫کنید‬ ‫هدایت‬ ‫قناری‬ ‫استقرار‬ ‫در‬ ‫را‬ ‫کاربر‬ ‫ترافیک‬ ‫‌توانید‬
‫ی‬‫م‬ ‫زیر‬ ‫‌های‬
‫ک‬‫تکنی‬ ‫از‬ ‫یکی‬ ‫انتخاب‬ ‫با‬
•
‫خارجی‬ ‫کاربران‬ ‫سپس‬ ‫و‬ ‫شوند‬ ‫قناری‬ ‫استقرار‬ ‫وارد‬ ‫داخلی‬ ‫کاربران‬ ‫ابتدا‬
•
‫محدوده‬ ‫مبنای‬ ‫بر‬ ‫ترافیک‬ ‫مسیریابی‬
IP
‫کاربران‬
•
‫خاص‬ ‫جغرافیایی‬ ‫نواحی‬ ‫در‬ ‫اپلیکیشن‬ ‫انتشار‬
•
‫برنامه‬ ‫که‬ ‫هنگامی‬ ‫منطق‬ ‫این‬ .‫خاص‬ ‫های‬ ‫گروه‬ ‫یا‬ ‫کاربران‬ ‫برای‬ ‫جدید‬ ‫های‬ ‫ویژگی‬ ‫کردن‬ ‫فعال‬ ‫منظور‬ ‫به‬ ‫منطق‬ ‫یک‬ ‫کارگیری‬ ‫به‬
.‫‌گردد‬
‫ی‬‫م‬ ‫حذف‬ ‫‌شود‬
‫ی‬‫م‬ ‫فعال‬ ‫نیز‬ ‫کاربران‬ ‫باقیمانده‬ ‫برای‬
‫کنند؟‬ ‫می‬ ‫کار‬ ‫چگونه‬ ‫قناری‬ ‫استقرار‬ ‫و‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬
.‫بیاندازیم‬ ‫عمل‬ ‫در‬ ‫استراتژی‬ ‫هر‬ ‫عملکرد‬ ‫نحوه‬ ‫به‬ ‫‌تر‬
‫ق‬‫دقی‬ ‫نگاهی‬ ‫بیایید‬ ،‫قناری‬ ‫و‬ ‫سبز‬-‫آبی‬ ‫استقرار‬ ‫بین‬ ‫‌های‬
‫ت‬‫تفاو‬ ‫بهتر‬ ‫درک‬ ‫برای‬
‫سبز‬-‫آبی‬ ‫استقرار‬
‫مشابه‬ ‫‌های‬
‫ی‬‫پیکربند‬ ‫و‬ ‫منابع‬ ،‫‌ها‬
‫ت‬‫زیرساخ‬ ‫با‬ - ‫بود‬ ‫خواهد‬ ‫سبز‬ ‫محیط‬ ‫این‬ - ‫کنید‬ ‫‌اندازی‬
‫ه‬‫را‬ ‫را‬ ‫‌سازی‬
‫ه‬‫صحن‬ ‫محیط‬ ‫یک‬ :‫‌سازی‬
‫ه‬‫آماد‬
.‫تولید‬ ‫محیط‬
.‫کنید‬ ‫مستقر‬ )‫سبز‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫جدید‬ ‫نسخه‬ :‫استقرار‬
‫اعتماد‬ ‫قابل‬ ‫و‬ ‫پایدار‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ‫را‬ ‫الزم‬ ‫تنظیمات‬ ‫هرگونه‬ ‫و‬ ‫کنید‬ ‫آزمایش‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫جدید‬ ‫نسخه‬ :‫تست‬
.‫دهید‬ ‫انجام‬ ‫آن‬ ‫بودن‬
‫جدید‬ ‫فعال‬ ‫تولید‬ ‫محیط‬ ‫به‬ ‫را‬ ‫آن‬ ‫و‬ ‫دهید‬ ‫تغییر‬ )‫(سبز‬ ‫غیرفعال‬ ‫محیط‬ ‫به‬ ‫را‬ ‫کاربران‬ ،‫شدید‬ ‫مطمئن‬ ‫جدید‬ ‫نسخه‬ ‫از‬ ‫که‬ ‫هنگامی‬ :‫سوئیچ‬
.‫کنید‬ ‫تبدیل‬
Standby
‫از‬ .‫باشد‬ ‫بعدی‬ ‫استقرار‬ ‫دریافت‬ ‫آماده‬ ‫و‬ ‫کند‬ ‫عمل‬ ‫کار‬ ‫به‬ ‫آماده‬ ‫عنوان‬ ‫به‬ ‫تواند‬ ‫می‬ ‫اکنون‬ )‫(آبی‬ ‫بود‬ ‫فعال‬ ‫قبًال‬ ‫که‬ ‫محیطی‬ :
.‫شد‬ ‫مستقر‬ ‫ًا‬‫د‬‫مجد‬ ،‫شد‬ ‫آماده‬ ‫آزمایش‬ ‫برای‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫زمانی‬ ‫و‬ ‫برد‬ ‫بین‬ ‫از‬ ‫را‬ ‫آن‬ ‫‌توان‬
‫ی‬‫م‬ ،‫‌ها‬
‫ه‬‫هزین‬ ‫در‬ ‫‌جویی‬
‫ه‬‫صرف‬ ‫برای‬ ،‫دیگر‬ ‫طرف‬
‫قناری‬ ‫استقرار‬
‫به‬ ‫خاص‬ ‫معیارهای‬ ‫اساس‬ ‫بر‬ ‫را‬ ‫ترافیک‬ ‫از‬ ‫بخشی‬ ‫هدایت‬ ‫امکان‬ ‫که‬ ‫کنید‬ ‫تنظیم‬ ‫را‬ ‫ترافیک‬ ‫مجدد‬ ‫مسیریابی‬ ‫مکانیسم‬ ‫یک‬ :‫سازی‬ ‫آماده‬
.‫کند‬ ‫می‬ ‫فراهم‬ ‫افزار‬ ‫نرم‬ ‫از‬ ‫دیگری‬ ‫نسخه‬
.‫کنید‬ ‫وصل‬ ‫نسخه‬ ‫آن‬ ‫به‬ ‫تولید‬ ‫محیط‬ ‫در‬ ‫را‬ ‫خود‬ ‫کاربران‬ ‫پایگاه‬ ‫از‬ ‫کمی‬ ‫درصد‬ ‫و‬ ‫کنید‬ ‫مستقر‬ ‫را‬ ‫جدید‬ ‫نسخه‬ :‫استقرار‬
.‫کنید‬ ‫تکرار‬ ‫‌آید‬
‫ی‬‫م‬ ‫پیش‬ ‫که‬ ‫مشکلی‬ ‫هر‬ ‫مورد‬ ‫در‬ ‫و‬ ‫کنید‬ ‫نظارت‬ ‫جدید‬ ‫نسخه‬ ‫برای‬ ‫را‬ ‫عملکرد‬ ‫معیارهای‬ ‫و‬ ‫کاربر‬ ‫بازخورد‬ :‫مانیتورینگ‬
‫در‬ .‫کنید‬ ‫منتشر‬ ‫خود‬ ‫کاربران‬ ‫بقیه‬ ‫برای‬ ‫را‬ ‫آن‬ ‫تدریج‬ ‫به‬ ،‫کرد‬ ‫دریافت‬ ‫مثبت‬ ‫بازخورد‬ ‫و‬ ‫داشت‬ ‫خوبی‬ ‫عملکرد‬ ‫جدید‬ ‫نسخه‬ ‫اگر‬ :‫انتشار‬
.‫دهید‬ ‫ادامه‬ ‫را‬ ‫روند‬ ‫سپس‬ ‫و‬ ‫کنید‬ ‫برطرف‬ ‫را‬ ‫مشکالت‬ ،‫کنید‬ ‫متوقف‬ ‫موقتًا‬ ‫را‬ ‫انتشار‬ ،‫مشکل‬ ‫بروز‬ ‫صورت‬
:‫قناری‬ ‫استقرار‬ ‫مقابل‬ ‫در‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬
‫را‬ ‫آنها‬ ‫پیامدهای‬ ‫و‬ ‫ها‬ ‫استراتژی‬ ‫این‬ ‫بین‬ ‫کلیدی‬ ‫های‬ ‫تفاوت‬ ‫بیایید‬ ،‫داریم‬ ‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫عملکرد‬ ‫نحوه‬ ‫از‬ ‫روشنی‬ ‫درک‬ ‫که‬ ‫اکنون‬
.‫کنیم‬ ‫بررسی‬ ‫را‬ ‫ها‬ ‫پروژه‬ ‫برای‬
1
‫استقرار‬ ‫سهولت‬ ‫و‬ ‫سرعت‬ .
‫دو‬ ‫شما‬ ‫که‬ ‫آنجایی‬ ‫از‬ .‫کنید‬ ‫اجرا‬ ‫را‬ ‫جدید‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫نسخ‬ ‫‌توانید‬
‫ی‬‫م‬ ‫که‬ ‫است‬ ‫سهولت‬ ‫و‬ ‫سرعت‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫اصلی‬ ‫‌های‬
‫ت‬‫مزی‬ ‫از‬ ‫یکی‬
‫تضمین‬ ‫را‬ ‫یکپارچه‬ ‫کاربری‬ ‫تجربه‬ ‫و‬ ‫برسانید‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫خرابی‬ ‫زمان‬ ‫و‬ ‫شوید‬ ‫‌جا‬
‫ه‬‫جاب‬ ‫‌ها‬
‫ن‬‫آ‬ ‫بین‬ ‫فورًا‬ ‫تقریبًا‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫دارید‬ ‫یکسان‬ ‫محیط‬
‫زیرا‬ ،‫کند‬ ‫نمی‬ ‫صدق‬ ‫ها‬ ‫قناری‬ ‫برای‬ ‫مورد‬ ‫این‬ .‫است‬ ‫آسان‬ ‫سبز‬/‫آبی‬ ‫استقرار‬ ‫از‬ ‫پشتیبانی‬ ،‫ها‬ ‫برنامه‬ ‫اکثر‬ ‫در‬ ‫که‬ ‫است‬ ‫این‬ ‫دیگر‬ ‫مزیت‬ .‫کنید‬
.‫کند‬ ‫اجرا‬ ‫همزمان‬ ‫طور‬ ‫به‬ ‫را‬ ‫مختلف‬ ‫نسخه‬ ‫دو‬ ‫که‬ ‫شود‬ ‫طراحی‬ ‫ای‬ ‫گونه‬ ‫به‬ ‫باید‬ ‫برنامه‬ ،‫قناری‬ ‫استقرار‬ ‫از‬ ‫پشتیبانی‬ ‫برای‬
‫کاربر‬ ‫بازخورد‬ ‫باید‬ ،‫خود‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬ ‫به‬ ‫جدید‬ ‫نسخه‬ ‫عرضه‬ ‫از‬ ‫قبل‬ .‫دارد‬ ‫افزایشی‬ ‫و‬ ‫تدریجی‬ ‫رویکرد‬ ‫به‬ ‫نیاز‬ ‫قناری‬ ‫استقرار‬ ،‫دیگر‬ ‫سوی‬ ‫از‬
‫امکان‬ ‫اما‬ ،‫باشد‬ ‫گیرتر‬ ‫وقت‬ ‫فرآیند‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫این‬ .‫دهید‬ ‫انجام‬ ‫را‬ ‫تنظیمات‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬ ،‫کنید‬ ‫بررسی‬ ‫دقت‬ ‫به‬ ‫را‬ ‫عملکرد‬ ‫معیارهای‬ ‫و‬
‫که‬ ‫دارند‬ ‫نیاز‬ ‫ترافیک‬ ‫مسیر‬ ‫تغییر‬ ‫مکانیزم‬ ‫به‬ ‫زیرا‬ ‫هستند‬ ‫تر‬ ‫پیچیده‬ ‫ها‬ ‫قناری‬ ،‫این‬ ‫بر‬ ‫عالوه‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫ریسک‬ ‫کاهش‬ ‫و‬ ‫بیشتر‬ ‫کنترل‬
‫بار‬ ‫کننده‬ ‫متعادل‬ ‫یا‬ ‫ساده‬ ‫شبکه‬ ‫سوئیچ‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫سبز‬/‫آبی‬ ‫استقرار‬ ،‫مقابل‬ ‫در‬ .‫کند‬ ‫منتقل‬ ‫قناری‬ ‫به‬ ‫را‬ ‫ترافیک‬ ‫از‬ ‫بخشی‬ ‫تدریج‬ ‫به‬ ‫تواند‬ ‫می‬
.‫دارد‬ ‫نیاز‬
2
‫ریسک‬ ‫مدیریت‬ .
‫به‬ ‫را‬ ‫کار‬ ‫این‬ ‫آنها‬ ‫اما‬ ،‫اند‬ ‫شده‬ ‫طراحی‬ ‫جدید‬ ‫افزار‬ ‫نرم‬ ‫های‬ ‫نسخه‬ ‫معرفی‬ ‫خطر‬ ‫رساندن‬ ‫حداقل‬ ‫به‬ ‫برای‬ ‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫دو‬ ‫هر‬
. ‫داد‬ ‫انجام‬ ‫میشود‬ ‫مختلف‬ ‫های‬ ‫روش‬
‫کند‬ ‫می‬ ‫تضمین‬ ‫این‬ .‫دارد‬ ‫تمرکز‬ ‫جدید‬ ‫نسخه‬ ‫به‬ ‫کاربران‬ ‫تغییر‬ ‫از‬ ‫قبل‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫کامل‬ ‫اعتبارسنجی‬ ‫و‬ ‫آزمایش‬ ‫بر‬ ‫آبی‬-‫سبز‬ ‫استقرار‬
‫سوی‬ ‫از‬ .‫دهد‬ ‫می‬ ‫کاهش‬ ‫را‬ ‫گسترده‬ ‫قطعی‬ ‫یا‬ ‫مشکل‬ ‫بروز‬ ‫احتمال‬ ‫و‬ ‫شود‬ ‫می‬ ‫حل‬ ‫و‬ ‫شناسایی‬ ‫جدید‬ ‫نسخه‬ ‫شدن‬ ‫فعال‬ ‫از‬ ‫قبل‬ ‫مشکلی‬ ‫هر‬ ‫که‬
‫معیارهای‬ ‫و‬ ‫بازخورد‬ ‫بر‬ ‫و‬ ‫کند‬ ‫می‬ ‫عرضه‬ ‫کاربران‬ ‫برای‬ ‫را‬ ‫جدید‬ ‫نسخه‬ ‫تدریج‬ ‫به‬ ،‫است‬ ‫متکی‬ ‫تری‬ ‫تکراری‬ ‫رویکرد‬ ‫بر‬ ‫قناری‬ ‫استقرار‬ ،‫دیگر‬
‫کل‬ ‫بر‬ ‫اینکه‬ ‫از‬ ‫قبل‬ ،‫کنید‬ ‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫زودتر‬ ‫را‬ ‫احتمالی‬ ‫مشکالت‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ ‫این‬ .‫کند‬ ‫می‬ ‫نظارت‬ ‫آنها‬ ‫عملکرد‬
.‫بگذارد‬ ‫تأثیر‬ ‫شما‬ ‫کاربر‬ ‫پایگاه‬
3
‫نیاز‬ ‫مورد‬ ‫منابع‬ .
‫برای‬ ‫تواند‬ ‫می‬ ‫این‬ .‫کنید‬ ‫حفظ‬ ‫را‬ ‫یکسان‬ ‫تولید‬ ‫محیط‬ ‫دو‬ ‫باید‬ ‫شما‬ ‫زیرا‬ ،‫دارد‬ ‫نیاز‬ ‫قناری‬ ‫استقرار‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫منابع‬ ‫به‬ ‫آبی‬-‫سبز‬ ‫استقرار‬
‫پایان‬ ‫از‬ ‫پس‬ ‫را‬ ‫سبز‬ ‫محیط‬ ‫‌توان‬
‫ی‬‫م‬ ،‫مدرن‬ ‫منابع‬ ‫تامین‬ ‫با‬ ،‫حال‬ ‫این‬ ‫با‬ .‫باشد‬ ‫گران‬ ‫محدود‬ ‫بودجه‬ ‫با‬ ‫هایی‬ ‫پروژه‬ ‫یا‬ ‫کوچکتر‬ ‫های‬ ‫سازمان‬
.‫بازگرداند‬ ‫را‬ ‫آن‬ ،‫است‬ ‫استقرار‬ ‫آماده‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫زمانی‬ ‫تنها‬ ‫و‬ ‫برد‬ ‫بین‬ ‫از‬ ‫استقرار‬
‫استقرار‬
Canary
‫‌های‬
‫ه‬‫نسخ‬ ‫و‬ ‫کنید‬ ‫‌اندازی‬
‫ه‬‫را‬ ‫آزمایش‬ ‫برای‬ ‫را‬ ‫‌بندی‬
‫ه‬‫مرحل‬ ‫محیط‬ ‫یک‬ ‫باید‬ ‫فقط‬ ‫شما‬ ‫زیرا‬ ،‫است‬ ‫کارآمدتر‬ ‫منابع‬ ‫نظر‬ ‫از‬
‫دسترسی‬ ‫قابل‬ ‫محدود‬ ‫منابع‬ ‫با‬ ‫هایی‬ ‫پروژه‬ ‫برای‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫این‬ .‫کنید‬ ‫مستقر‬ ‫خود‬ ‫کاربران‬ ‫پایگاه‬ ‫از‬ ‫کمی‬ ‫درصد‬ ‫در‬ ‫ابتدا‬ ‫در‬ ‫را‬ ‫جدید‬
.‫باشد‬ ‫تر‬
4
‫عقب‬ ‫به‬ ‫بازگشت‬ ‫قابلیت‬ .
‫استراتژی‬ ‫دو‬ ‫بین‬ ‫روند‬ ‫اما‬ ،‫دهند‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫بازگشت‬ ‫قابلیت‬ ‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫دو‬ ‫هر‬ ،‫جدید‬ ‫نسخه‬ ‫در‬ ‫مشکل‬ ‫بروز‬ ‫صورت‬ ‫در‬
.‫است‬ ‫متفاوت‬
‫با‬
Deployment
‫توان‬ ‫می‬ ‫را‬ ‫این‬ .‫برگردانید‬ ‫غیرفعال‬ ‫محیط‬ ‫به‬ ‫را‬ ‫کاربران‬ ‫و‬ ‫بازگردید‬ ‫قبلی‬ ‫نسخه‬ ‫به‬ ‫سرعت‬ ‫به‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫آبی‬-‫سبز‬
.‫کرد‬ ‫تضمین‬ ‫را‬ ‫یکپارچه‬ ‫کاربری‬ ‫تجربه‬ ‫و‬ ‫رساند‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫خرابی‬ ‫زمان‬ ‫و‬ ‫داد‬ ‫انجام‬ ‫بالفاصله‬ ‫تقریبًا‬
‫استقرار‬
Canary
‫سپس‬ ‫و‬ ‫کنید‬ ‫برطرف‬ ‫را‬ ‫مشکالت‬ ،‫کنید‬ ‫متوقف‬ ‫را‬ ‫عرضه‬ ،‫مشکالت‬ ‫شناسایی‬ ‫صورت‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬
.‫برگردید‬ ‫قبلی‬ ‫نسخه‬ ‫به‬ ،‫اصلی‬ ‫نسخه‬ ‫به‬ ‫دیده‬ ‫آسیب‬ ‫کاربران‬ ‫هدایت‬ ‫با‬ ‫توانید‬ ‫می‬ ،‫لزوم‬ ‫صورت‬ ‫در‬ .‫دهید‬ ‫ادامه‬ ‫را‬ ‫روند‬
5
‫کاربر‬ ‫تأثیر‬ .
.‫گرفت‬ ‫نظر‬ ‫در‬ ‫قناری‬ ‫و‬ ‫سبز‬-‫آبی‬ ‫استقرار‬ ‫بین‬ ‫انتخاب‬ ‫هنگام‬ ‫باید‬ ‫که‬ ‫است‬ ‫دیگری‬ ‫مهم‬ ‫عامل‬ ‫کاربران‬ ‫روی‬ ‫تأثیر‬
.‫دهد‬ ‫می‬ ‫کاهش‬ ‫را‬ ‫کاربر‬ ‫تأثیر‬ ،‫آن‬ ‫به‬ ‫کاربران‬ ‫تغییر‬ ‫از‬ ‫قبل‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫جدید‬ ‫نسخه‬ ‫کامل‬ ‫آزمایش‬ ‫با‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ،‫طرف‬ ‫یک‬ ‫از‬
‫استقرار‬ ‫در‬ ‫مشکل‬ ‫بروز‬ ‫صورت‬ ‫در‬ ‫اما‬ .‫نگیرند‬ ‫قرار‬ ‫اختاللی‬ ‫یا‬ ‫مشکل‬ ‫گونه‬ ‫هیچ‬ ‫معرض‬ ‫در‬ ‫استقرار‬ ‫فرآیند‬ ‫طول‬ ‫در‬ ‫که‬ ‫کند‬ ‫می‬ ‫تضمین‬ ‫این‬
.‫است‬ ‫هیچ‬ ‫یا‬ ‫همه‬ ‫رویکرد‬ ‫یک‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ .‫گرفت‬ ‫خواهد‬ ‫قرار‬ ‫آنها‬ ‫معرض‬ ‫در‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬ ،‫جدید‬
‫استقرار‬
Canary
‫در‬ ‫تکرار‬ ‫حین‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬ ،‫دهد‬ ‫می‬ ‫قرار‬ ‫جدید‬ ‫نسخه‬ ‫معرض‬ ‫در‬ ‫ابتدا‬ ‫در‬ ‫را‬ ‫کاربران‬ ‫از‬ ‫کمی‬ ‫درصد‬
‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫زودتر‬ ‫را‬ ‫مشکالت‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ ‫استراتژی‬ ‫این‬ ،‫حال‬ ‫این‬ ‫با‬ .‫شوند‬ ‫مواجه‬ ‫اختالالتی‬ ‫یا‬ ‫مشکالت‬ ‫با‬ ‫انتشار‬
.‫دهند‬ ‫قرار‬ ‫تاثیر‬ ‫تحت‬ ‫را‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬ ‫اینکه‬ ‫از‬ ‫قبل‬ ،‫کنید‬
‫استقرار‬ ‫بین‬ ‫انتخاب‬
‫آبی‬
-
‫سبز‬
‫و‬
‫قناری‬
.‫دارد‬ ‫بستگی‬ ‫شما‬ ‫ریسک‬ ‫تحمل‬ ‫و‬ ‫منابع‬ ،‫خاص‬ ‫نیازهای‬ ‫به‬ ‫نهایت‬ ‫در‬ ‫قناری‬ ‫و‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬ ‫بین‬ ‫انتخاب‬
‫کامل‬ ‫آزمایش‬ ‫در‬ ‫خود‬ ‫توانایی‬ ‫به‬ ‫و‬ ،‫دارید‬ ‫یکسان‬ ‫تولید‬ ‫محیط‬ ‫دو‬ ‫حفظ‬ ‫برای‬ ‫کافی‬ ‫منابع‬ ، ‫میباشد‬ ‫اولویت‬ ‫در‬ ‫را‬ ‫استقرار‬ ‫سهولت‬ ‫و‬ ‫سرعت‬ ‫اگر‬
.‫باشد‬ ‫شما‬ ‫برای‬ ‫انتخاب‬ ‫بهترین‬ ‫است‬ ‫ممکن‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ،‫دارید‬ ‫اطمینان‬ ‫جدید‬ ‫های‬ ‫نسخه‬ ‫تأیید‬ ‫و‬
‫ممکن‬ ‫قناری‬ ‫استقرار‬ ،‫‌دهید‬
‫ی‬‫م‬ ‫ترجیح‬ ‫ریسک‬ ‫مدیریت‬ ‫برای‬ ‫را‬ ‫‌تری‬
‫ه‬‫‌شد‬
‫ل‬‫کنتر‬ ‫و‬ ‫تکراری‬ ‫رویکرد‬ ‫یا‬ ‫دارید‬ ‫محدودی‬ ‫منابع‬ ‫اگر‬ ،‫دیگر‬ ‫سوی‬ ‫از‬
.‫باشد‬ ‫‌تر‬
‫ب‬‫مناس‬ ‫است‬
‫تفاوت‬ ‫درک‬ ‫با‬ .‫دارد‬ ‫بستگی‬ ‫فرد‬ ‫به‬ ‫منحصر‬ ‫شرایط‬ ‫و‬ ‫نیازها‬ ‫به‬ ‫انتخاب‬ ‫بهترین‬ ‫و‬ ‫دارند‬ ‫را‬ ‫خود‬ ‫ضعف‬ ‫و‬ ‫قوت‬ ‫نقاط‬ ‫استراتژی‬ ‫دو‬ ‫هر‬ ،‫نهایت‬ ‫در‬
‫موفقیت‬ ‫و‬ ‫کند‬ ‫می‬ ‫برآورده‬ ‫را‬ ‫ما‬ ‫نیازهای‬ ‫وجه‬ ‫بهترین‬ ‫به‬ ‫که‬ ‫بگیریم‬ ‫آگاهانه‬ ‫تصمیمی‬ ‫توانید‬ ‫می‬ ،‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫بین‬ ‫کلیدی‬ ‫های‬
.‫کند‬ ‫می‬ ‫تضمین‬ ‫را‬ ‫افزاری‬ ‫نرم‬ ‫های‬ ‫پروژه‬
‫در‬ ‫پیشرفته‬ ‫پیشرفته‬ ‫تحویل‬
Kubernetes
‫با‬
Argo Rollouts
‫و‬
Codefresh
Codefresh
‫از‬ ‫استفاده‬ ‫با‬
Argo Rollouts
‫در‬ ‫تدریجی‬ ‫استقرار‬ ‫برای‬ ‫خاص‬ ‫طور‬ ‫به‬ ‫که‬ ‫ای‬ ‫پروژه‬ ،
Kubernetes
‫شده‬ ‫طراحی‬
.‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫قناری‬ ‫و‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬ ‫جمله‬ ‫از‬ ،‫پیشرفته‬ ‫پیشرفته‬ ‫تحویل‬ ‫های‬ ‫روش‬ ،‫است‬
‫از‬ ‫ویژگی‬ ‫چند‬ ‫بررسی‬ ‫به‬ ‫زیر‬ ‫در‬
Argo Rollouts، Codefresh
: ‫پردازیم‬ ‫می‬
‫مخزن‬ ‫یک‬ ‫در‬ ‫و‬ ‫شده‬ ‫تعریف‬ ‫کد‬ ‫در‬ ‫سبز‬/‫آبی‬ ‫استقرار‬ ‫‌های‬
‫ه‬‫جنب‬ ‫تمام‬ - ‫اعالمی‬ ‫پیکربندی‬
Git
‫فرآیند‬ ‫از‬ ‫و‬ ‫‌شوند‬
‫ی‬‫م‬ ‫بررسی‬
GitOps
. ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬
.‫کاربر‬ ‫توسط‬ ‫شده‬ ‫تعریف‬ ‫های‬ ‫تست‬ ‫بودن‬ ‫آمیز‬ ‫موفقیت‬ ‫از‬ ‫پس‬ ‫آن‬ ‫سرگیری‬ ‫از‬ ‫و‬ ‫استقرار‬ ‫توقف‬ ‫سرگیری‬ ‫از‬ ‫و‬ ‫مکث‬
–
‫خوشه‬ ‫در‬ ‫موجود‬ ‫سرویس‬ ‫های‬ ‫شبکه‬ ‫از‬ ‫که‬ ‫هایی‬ ‫روش‬ ‫از‬ ‫استفاده‬ ‫پیشرفته‬ ‫ترافیک‬ ‫سوئیچینگ‬
–
Kubernetes
.‫برند‬ ‫می‬ ‫بهره‬
‫انجام‬ ‫از‬ ‫قبل‬ ‫دود‬ ‫آزمایش‬ ‫(یعنی‬ ‫شود‬ ‫استفاده‬ ‫جدید‬ ‫نسخه‬ ‫تأیید‬ ‫برای‬ ‫تواند‬ ‫می‬ ‫که‬ ‫نمایش‬ ‫پیش‬ ‫سرویس‬ ‫یک‬ ‫ایجاد‬ - ‫جدید‬ ‫نسخه‬ ‫تأیید‬
.)‫ترافیک‬ ‫سوئیچ‬
.‫قناری‬ ‫استقرار‬ ‫در‬ ‫منابع‬ ‫رفتن‬ ‫هدر‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫خوشه‬ ‫از‬ ‫بهتر‬ ‫استفاده‬ ‫برای‬ ‫قرابت‬ ‫ضد‬ ‫قوانین‬ ‫اعمال‬ - ‫بهبودیافته‬ ‫استفاده‬
.‫جدید‬ ‫کاربردی‬ ‫های‬ ‫برنامه‬ ‫داشبورد‬ ‫طریق‬ ‫از‬ ‫استقرار‬ ‫مدیریت‬ ‫و‬ ‫وضعیت‬ ‫مشاهده‬ - ‫عرضه‬ ‫آسان‬ ‫مدیریت‬
‫بنگ‬ ‫بیگ‬ ‫استقرار‬ ‫استراتژی‬
‫روز‬ ‫به‬ ‫و‬ ‫زده‬ ‫کنار‬ ‫حرکت‬ ‫یک‬ ‫در‬ ‫را‬ ‫اپلیکیشن‬ ‫یک‬ ‫از‬ ‫بزرگی‬ ‫های‬ ‫بخش‬ ‫یا‬ ‫کل‬ ‫بنگ‬ ‫بیگ‬ ‫استقرارهای‬ ،‫است‬ ‫مشخص‬ ‫نامش‬ ‫از‬ ‫همانطورکه‬
‫که‬ ‫‌گردد‬
‫ی‬‫م‬ ‫بر‬ ‫روزهایی‬ ‫به‬ ‫استراتژی‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫رسانی‬
.‫‌گردید‬
‫ی‬‫م‬ ‫نصب‬ ‫مشتری‬ ‫توسط‬ ‫و‬ ‫‌شد‬
‫ی‬‫م‬ ‫منتشر‬ ‫فیزیکی‬ ‫رسانه‬ ‫روی‬ ‫بر‬ ‫افزار‬ ‫نرم‬
‫به‬ ‫ملزم‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫تولید‬ ‫حوزه‬ ‫کارهای‬ ‫و‬ ‫کسب‬ ،‫بنگ‬ ‫بیگ‬ ‫استقرارهای‬
‫آبشاری‬ ‫مدل‬ ‫تحت‬ ‫اغلب‬ ‫گسترده‬ ‫های‬ ‫تست‬ ‫و‬ ‫توسعه‬ ‫دادن‬ ‫شکل‬
.‫نمود‬ ‫می‬ ‫محصول‬ ‫انتشار‬ ‫از‬ ‫پیش‬
‫باعث‬ ‫امر‬ ‫این‬.‫‌شوند‬
‫ی‬‫م‬ ‫رسانی‬ ‫بروز‬ ‫سرور‬ ‫یا‬ ‫مشتری‬ ‫سمت‬ ‫در‬ ‫خودکار‬ ‫و‬ ‫مرتب‬ ‫طور‬ ‫به‬ ‫که‬ ‫برخوردارند‬ ‫مزیت‬ ‫این‬ ‫از‬ ‫نوین‬ ‫های‬ ‫اپلیکیشن‬
.‫باشد‬ ‫برخودار‬ ‫کمتری‬ ‫چابکی‬ ‫و‬ ‫سرعت‬ ‫از‬ ‫نوین‬ ‫های‬ ‫تیم‬ ‫به‬ ‫نسبت‬ ‫بنگ‬ ‫بیگ‬ ‫رویکرد‬ ‫تا‬ ‫‌شود‬
‫ی‬‫م‬
‫بنگ‬ ‫بیگ‬ ‫استقرار‬ ‫های‬ ‫مشخصه‬ ‫ازجمله‬
•
.‫اند‬ ‫شده‬ ‫بندی‬ ‫بسته‬ ‫استقرار‬ ‫یک‬ ‫در‬ ‫اصلی‬ ‫قطعات‬ ‫همه‬
•
.‫‌گردد‬
‫ی‬‫م‬ ‫جایگرین‬ ‫جدید‬ ‫افزار‬ ‫نرم‬ ‫با‬ ‫کامل‬ ‫یا‬ ‫گسترده‬ ‫بطور‬ ‫موجود‬ ‫افزار‬ ‫نرم‬ ‫نسخه‬ ‫یک‬
•
.‫است‬ ‫توسعه‬ ‫و‬ ‫تست‬ ‫از‬ ‫مدتی‬ ‫طوالنی‬ ‫چرخه‬ ‫حاصل‬ ‫معموال‬ ‫استقرار‬
•
.‫باشد‬ ‫عملی‬ ‫غیر‬ ‫یا‬ ‫ممکن‬ ‫غیر‬ ‫میتواند‬ ‫عقب‬ ‫به‬ ‫بازگشت‬ ‫چراکه‬ ‫‌گردد‬
‫ی‬‫م‬ ‫لحاظ‬ ‫خطا‬ ‫بروز‬ ‫برای‬ ‫حداقلی‬ ‫شانس‬ ‫یک‬
•
.‫باشد‬ ‫داشته‬ ‫همراه‬ ‫به‬ ‫را‬ ‫متعددی‬ ‫های‬ ‫تیم‬ ‫تالش‬ ‫تواند‬ ‫می‬ ‫و‬ ‫است‬ ‫طوالنی‬ ‫معموال‬ ‫پروژه‬ ‫تکمیل‬ ‫زمان‬
•
.‫شود‬ ‫انجام‬ ‫مشتریان‬ ‫طرف‬ ‫از‬ ‫رسانی‬ ‫بروز‬ ‫به‬ ‫اقدام‬ ‫دارد‬ ‫ضرورت‬ ‫گرفته‬ ‫صورت‬ ‫مشتری‬ ‫سمت‬ ‫در‬ ‫اپلیکیشن‬ ‫نصب‬ ‫چون‬
‫با‬ ‫مرتبط‬ ‫یا‬ ‫عمومی‬ ‫کاربری‬ ‫با‬ ‫های‬ ‫اپلیکیشن‬ ‫در‬ ‫چون‬ ‫نیست‬ ‫نوین‬ ‫های‬ ‫اپلیکیشن‬ ‫مناسب‬ ‫بنگ‬ ‫بیگ‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‌
‫ی‬‫استراتژ‬
‫ها‬ ‫ریسک‬ ‫وجود‬ ‫حیاتی‬ ‫کارهای‬ ‫و‬ ‫کسب‬
‫غالبا‬ ‫عقبگردها‬ ‫و‬ ‫است‬ ‫مالی‬ ‫بزرگ‬ ‫ضرر‬ ‫معنای‬ ‫به‬ ‫ای‬ ‫لحظه‬ ‫توقف‬ ‫که‬ ‫درجایی‬ .‫نیست‬ ‫پذیرش‬ ‫قابل‬
.‫هستند‬ ‫ممکن‬ ‫غیر‬ ‫حتی‬ ‫و‬ ‫بر‬ ‫زمان‬ ،‫پرهزینه‬
‫غیر‬ ‫های‬ ‫سیستم‬ ‫برای‬ ‫‌تواند‬
‫ی‬‫م‬ ‫بنگ‬ ‫بیگ‬ ‫رویکرد‬
Production
‫افزاری‬ ‫نرم‬ ‫بسته‬ ‫یک‬ ‫قالب‬ ‫در‬ ‫فروشندگان‬ ‫توسط‬ ‫که‬ ‫‌افزارهایی‬
‫م‬‫نر‬ ‫یا‬
.‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫ندرت‬ ‫به‬ ‫استراتژی‬ ‫این‬ ‫از‬ ‫امروزه‬ .‫باشد‬ ‫مناسب‬ ‫دسکتاپ‬ ‫های‬ ‫برنامه‬ ‫نظیر‬ ‫میشوند‬ ‫ارائه‬
‫چرخشی‬ ‫استقرار‬ ‫استراتژی‬
‫مربوطه‬ ‫های‬ ‫ریسک‬ ‫از‬ ‫بسیاری‬ ‫چون‬ ‫بهترند‬ ‫بنگ‬ ‫بیگ‬ ‫استقرارهای‬ ‫از‬ ‫ای‬ ‫مرحله‬ ‫یا‬ ‫فازی‬ ،‫چرخشی‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬
‫جمله‬ ‫از‬
‫آسان‬ ‫بازگشت‬ ‫بدون‬ ‫خرابی‬ ‫با‬ ‫کاربر‬ ‫مواجهه‬
‫جایگزین‬ ‫تدریج‬ ‫به‬ ‫اپلیکیشن‬ ‫یک‬ ‫جدید‬ ‫ورژن‬ ،‫چرخشی‬ ‫استقرار‬ ‫دریک‬ .‫رسانند‬ ‫می‬ ‫حداقل‬ ‫به‬ ‫را‬
‫زمانی‬ ‫دوره‬ ‫دریک‬ ‫واقعی‬ ‫استقرار‬ .‫‌گردد‬
‫ی‬‫م‬ ‫آن‬ ‫قدیمی‬ ‫ورژن‬
‫قدیمی‬ ‫و‬ ‫جدید‬ ‫های‬ ‫ورژن‬ ‫دوره‬ ‫این‬ ‫طی‬ .‫‌دهد‬
‫ی‬‫م‬ ‫رخ‬
‫یا‬ ‫عملکرد‬ ‫بر‬ ‫تاثیر‬ ‫بدون‬
‫نمودار‬ .‫شود‬ ‫تر‬ ‫ساده‬ ‫قدیمی‬ ‫های‬ ‫مولفه‬ ‫با‬ ‫ناسازگار‬ ‫جدید‬ ‫های‬ ‫مولفه‬ ‫تعویض‬ ‫‌گردد‬
‫ی‬‫م‬ ‫باعث‬ ‫روند‬ ‫این‬ .‫نمود‬ ‫خواهند‬ ‫همزیستی‬ ‫کاربر‬ ‫تجربه‬
.‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫سبز‬ ‫رنگ‬ ‫به‬ ‫جدید‬ ‫ورژن‬ ‫و‬ ‫آبی‬ ‫رنگ‬ ‫به‬ ‫قدیمی‬ ‫ورژن‬ ‫درخوشه‬ ‫سرور‬ ‫هر‬ ‫روی‬ ‫بر‬ .‫‌دهد‬
‫ی‬‫م‬ ‫نشان‬ ‫را‬ ‫استقرار‬ ‫الگوی‬ ‫زیر‬
‫ه‬ ‫اپلیکیشن‬ ‫اگر‬ .‫است‬ ‫چرخشی‬ ‫استقرار‬ ‫یک‬ ‫از‬ ‫ای‬ ‫نمونه‬ ،‫اپلیکیشن‬ ‫یک‬ ‫وار‬ ‫سلسله‬ ‫ارتقاء‬
h
‫‌تواند‬
‫ی‬‫م‬ ‫ارتقاء‬ ،‫باشند‬ ‫شده‬ ‫مستقر‬ ‫کانتینر‬ ‫روی‬ ‫بر‬
‫مشکالت‬ ‫اگر‬ .‫‌شود‬
‫ی‬‫م‬ ‫اندازی‬ ‫راه‬ ‫مجددا‬ ‫ریپازیتوری‬ ‫از‬ ‫تصویر‬ ‫جدیدترین‬ ‫دانلود‬ ‫با‬ ‫کانتینر‬ ‫هر‬ .‫گیرد‬ ‫شکل‬ ‫زمان‬ ‫هر‬ ‫در‬ ‫کانتینر‬ ‫یک‬ ‫قالب‬ ‫در‬
،‫حالت‬ ‫این‬ ‫در‬ .‫شود‬ ‫اندازی‬ ‫راه‬ ‫کانتینر‬ ‫قالب‬ ‫در‬ ‫مجددا‬ ‫‌تواند‬
‫ی‬‫م‬ ‫تر‬ ‫قدیمی‬ ‫تصویر‬ ،‫باشد‬ ‫داشته‬ ‫وجود‬ ‫برنامه‬ ‫های‬ ‫ورژن‬ ‫از‬ ‫یکی‬ ‫با‬ ‫سازگاری‬
.‫‌کنند‬
‫ی‬‫م‬ ‫همزیستی‬ ‫یکدیگر‬ ‫با‬ ‫شود‬ ‫داده‬ ‫ارتقاء‬ ‫برنامه‬ ‫هر‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫ها‬ ‫برنامه‬ ‫سلسله‬ ‫از‬ ‫قدیم‬ ‫و‬ ‫جدید‬ ‫های‬ ‫ورژن‬
‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫‌های‬
‫ش‬‫رو‬ ‫بهترین‬
‫های‬ ‫ریسک‬ ‫تا‬ ‫کنند‬ ‫دنبال‬ ‫را‬ ‫برتر‬ ‫‌های‬
‫ش‬‫رو‬ ‫از‬ ‫تعدادی‬ ‫‌توانند‬
‌
‫ی‬‫م‬ ‫عملیات‬ ‫و‬ ‫‌دهنده‬
‫ه‬‫توسع‬ ‫های‬ ‫تیم‬
.‫برسانند‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫استقرار‬
•
:‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫لیست‬ ‫چک‬ ‫یک‬ ‫از‬ ‫استفاده‬
‫اینکه‬ ‫از‬ ‫بعد‬ ‫تنها‬ ‫است‬ ‫ممکن‬ ‫لیست‬ ‫درچک‬ ‫آیتم‬ ‫یک‬ ‫مثال‬ ‫برای‬
.‫نماید‬ ‫گیری‬ ‫پشتیبان‬ ‫داده‬ ‫پایگاه‬ ‫کل‬ ‫از‬ ،‫داده‬ ‫تخریب‬ ‫از‬ ‫پیشگیری‬ ‫منظور‬ ‫به‬ ،‫شدند‬ ‫متوقف‬ ‫اپلیکیشن‬ ‫های‬ ‫سرویس‬
•
( ‫مداوم‬ ‫ادغام‬
Continuous Integration
:)
‫مکانیزم‬
CI
‫کد‬ ‫‌کند‬
‫ی‬‫م‬ ‫تضمین‬
merge
‫مخزن‬ ‫یک‬ ‫انشعاب‬ ‫در‬ ‫شده‬
‫طول‬ ‫در‬ ‫خطایی‬ ‫اگر‬ .‫‌گردد‬
‫ی‬‫م‬ ‫ادغام‬ ‫اصلی‬ ‫انشعاب‬ ‫با‬ ‫موفق‬ ‫بیلد‬ ‫و‬ ‫واحد‬ ‫های‬ ‫تست‬ ،‫ها‬ ‫وابستگی‬ ‫سری‬ ‫یک‬ ‫بررسی‬ ‫از‬ ‫بعد‬ ‫تنها‬ ‫کد‬
‫از‬ ‫استفاده‬ ‫بنابراین‬ .‫‌گردد‬
‫ی‬‫م‬ ‫مطلع‬ ‫نویسی‬ ‫برنامه‬ ‫تیم‬ ‫و‬ ‫‌خورد‬
‫ی‬‫م‬ ‫شکست‬ ‫فرآیند‬ ‫باشد‬ ‫داشته‬ ‫وجود‬ ‫مسیر‬
CI
‫که‬ ‫معناست‬ ‫این‬ ‫به‬
‫ابزارهای‬ ‫از‬ ‫هایی‬ ‫نمونه‬ .‫است‬ ‫شده‬ ‫تست‬ ‫استقرار‬ ‫از‬ ‫پیش‬ ‫برنامه‬ ‫در‬ ‫تغییری‬ ‫هر‬
CI
: ‫از‬ ‫عبارتند‬
CircleCI
‫و‬
,
Jenkins
,
gitlab azure devops
•
( ‫مداوم‬ ‫تحویل‬
Continuous Delivery
: )
‫مکانیزم‬ ‫با‬
CD
‫آماده‬ ‫همواره‬ ‫و‬ ‫شده‬ ‫بندی‬ ‫بسته‬ ،‫قبل‬ ‫مرحله‬ ‫نهایی‬ ‫کد‬ ،
.‫است‬ ‫محیط‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫در‬ ‫استقرار‬
/
Gitlab CI CD
.‫هست‬ ‫ابزارهایی‬ ‫چنین‬ ‫از‬
•
( ‫استاندارد‬ ‫عملیاتی‬ ‫های‬ ‫محیط‬ ‫از‬ ‫استفاده‬
SOE
:)‫ها‬
‫نظیر‬ ‫ابزارهایی‬ ‫از‬ ‫‌توانید‬
‫ی‬‫م‬ ‫محیط‬ ‫ثبات‬ ‫از‬ ‫اطمینان‬ ‫برای‬
Vagrant
‫و‬
Packer
.‫کنید‬ ‫استفاده‬ ‫سرورها‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫ط‬‫محی‬ ‫برای‬
•
‫ابزارهای‬ ‫از‬ ‫استفاده‬
‫برای‬ ‫خودکار‬
:‫ها‬ ‫محیط‬ ‫ساخت‬
‫یک‬ ‫با‬ ‫را‬ ‫زیرساخت‬ ‫یک‬ ‫‌توانید‬
‫ی‬‫م‬ ‫راحتی‬ ‫به‬ ،‫ابزارها‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬
.‫بسازید‬ ‫نو‬ ‫از‬ ‫و‬ ‫ببرید‬ ‫ازبین‬ ،‫کلیک‬
CloudFormation
.‫است‬ ‫ابزارهایی‬ ‫چنین‬ ‫از‬ ‫ای‬ ‫نمونه‬
•
:‫بندی‬ ‫پیکر‬ ‫مدیریت‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬
‫نظیر‬
Puppet ،Chef
‫یا‬
Ansible
‫تنظیمات‬ ‫خودکار‬ ‫اعمال‬ ‫برای‬ ‫ها‬ ‫سرور‬ ‫در‬
‫اجرای‬ ،‫عامل‬ ‫سیستم‬
( ‫ها‬ ‫وصله‬
patches
.‫افزار‬ ‫نرم‬ ‫نصب‬ ‫یا‬ )
•
: ‫ارتباطی‬ ‫های‬ ‫کانال‬ ‫از‬ ‫استفاده‬
‫نظیر‬
Slack
‫و‬ ‫ناموفق‬ ‫های‬ ‫بیلد‬ ‫از‬ ‫خودکار‬ ‫های‬ ‫اعالن‬ ‫برای‬
‫های‬ ‫شکست‬
‫یا‬ ‫و‬ ‫اپلیکیشن‬
‫دیگر‬ ‫های‬ ‫ابزار‬
•
‫برای‬ ‫فرآیندی‬ ‫ایجاد‬
‫به‬ ‫دهی‬ ‫هشدار‬
:‫خطا‬ ‫بروز‬ ‫پیرامون‬ ‫ها‬ ‫استقرار‬ ‫مسئول‬ ‫تیم‬
‫محیط‬ ‫در‬ ‫را‬ ‫موارد‬ ‫این‬ ‫آل‬ ‫ایده‬ ‫حالت‬ ‫در‬
‫های‬
CI
‫خواهید‬ ‫نیاز‬ ‫مسئول‬ ‫تیم‬ ‫به‬ ‫رسانی‬ ‫اطالع‬ ‫برای‬ ‫راهی‬ ‫به‬ ‫شما‬ ‫یابند‬ ‫استقرار‬ ‫تغییرات‬ ‫این‬ ‫اگر‬ ‫اما‬ ‫آورد‬ ‫خواهید‬ ‫بدست‬
.‫داشت‬
•
‫استقرارها‬ ‫برای‬ ‫خودکار‬ ‫های‬ ‫عقب‬ ‫به‬ ‫بازگشت‬ ‫سازی‬ ‫فعال‬
‫بواسطه‬ ‫که‬ :
،‫سرویس‬ ‫به‬ ‫پذیری‬ ‫دسترس‬ ‫پیرامون‬ ‫مشکالت‬ ‫بروز‬
‫خود‬ ‫ی‬ ‫نسخه‬ ‫آخرین‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬
rollback
.‫‌شود‬
‫ی‬‫م‬
‫استقرار‬ ‫از‬ ‫پس‬ ‫مانیتورینگ‬
‫است‬ ‫ممکن‬ ‫نمائید‬ ‫اتخاذ‬ ‫را‬ ‫فوق‬ ‫موارد‬ ‫شما‬ ‫اینکه‬ ‫از‬ ‫پس‬ ‫حتی‬
،‫دلیل‬ ‫همین‬ ‫به‬ .‫شود‬ ‫مواجه‬ ‫شکست‬ ‫با‬ ‫برنامه‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫هنوز‬
‫ابزار‬ ‫یک‬ .‫است‬ ‫مهم‬ ‫کامل‬ ‫استقرار‬ ‫یک‬ ‫اجرای‬ ‫و‬ ‫ریزی‬ ‫برنامه‬ ‫اندازه‬ ‫همان‬ ‫به‬ ‫پیوندد‬ ‫می‬ ‫وقوع‬ ‫به‬ ‫استقرار‬ ‫از‬ ‫پس‬ ‫بالفاصله‬ ‫که‬ ‫مواردی‬ ‫بر‬ ‫نظارت‬
( ‫اپلیکیشن‬ ‫کارایی‬ ‫بر‬ ‫نظارت‬
Application Performance Monitoring
‫معیارهای‬ ‫تا‬ ‫کند‬ ‫کمک‬ ‫شما‬ ‫تیم‬ ‫به‬ ‫تواند‬ ‫می‬ ،)
‫مهم‬ ‫کارایی‬
‫بطور‬ ‫تواند‬ ‫می‬ ‫سیستم‬ ‫معماری‬ ‫یا‬ ‫اپلیکیشن‬ ‫در‬ ‫تغییرات‬ .‫نماید‬ ‫نظارت‬ ‫را‬ ‫استقرار‬ ‫از‬ ‫پس‬ ‫سرور‬ ‫پاسخگویی‬ ‫زمان‬ ‫جمله‬ ‫از‬
.‫بگذارد‬ ‫تاثیر‬ ‫برنامه‬ ‫کارایی‬ ‫بر‬ ‫چشمگیری‬
‫نظیر‬ ‫خطا‬ ‫بر‬ ‫نظارت‬ ‫حل‬ ‫راه‬ ‫یک‬
Rollbar
‫از‬ ‫پس‬ ‫شده‬ ‫فعال‬ ‫مجدد‬ ‫یا‬ ‫جدید‬ ‫خطاهای‬ ‫از‬ ‫را‬ ‫شما‬ ‫تیم‬ ‫سرعت‬ ‫به‬ ‫کار‬ ‫این‬ .‫است‬ ‫ضروری‬ ‫بسیار‬
‫استقرار‬
‫بر‬ ‫نظارت‬ ‫ابزار‬ ‫یک‬ ‫بدون‬ .‫نماید‬ ‫کشف‬ ‫را‬ ‫گردد‬ ‫رسیدگی‬ ‫و‬ ‫توجه‬ ‫آنها‬ ‫به‬ ‫فورا‬ ‫است‬ ‫نیاز‬ ‫که‬ ‫مهمی‬ ‫اشکاالت‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫‌سازد‬
‫ی‬‫م‬ ‫مطلع‬
‫آنها‬ ‫دهی‬ ‫گزارش‬ ‫به‬ ‫را‬ ‫زمانی‬ ‫اشکاالت‬ ‫این‬ ‫با‬ ‫مواجهه‬ ‫در‬ ‫کاربران‬ ‫از‬ ‫اندکی‬ ‫عده‬ ‫درحالیکه‬ .‫نشوند‬ ‫کشف‬ ‫هرگز‬ ‫اشکاالت‬ ‫است‬ ‫ممکن‬ ،‫خطا‬
.‫شود‬ ‫زیادی‬ ‫مشکالت‬ ‫بروز‬ ‫به‬ ‫منجر‬ ‫زمان‬ ‫مرور‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ،‫مشتری‬ ‫منفی‬ ‫تجربه‬ .‫‌کنند‬
‫ی‬‫نم‬ ‫عمل‬ ‫چنین‬ ‫کاربران‬ ‫بیشتر‬ ،‫میدهند‬ ‫اختصاص‬
( ‫عملیات‬ ‫های‬ ‫تیم‬ ‫میان‬ ‫در‬ ‫استقرار‬ ‫از‬ ‫پس‬ ‫مسائل‬ ‫همه‬ ‫از‬ ‫مشترک‬ ‫دید‬ ‫یک‬ ‫خطا‬ ‫بر‬ ‫نظارت‬ ‫ابزار‬ ‫یک‬
Ops
)
( ‫دهندگان‬ ‫توسعه‬ ‫و‬
Dev
)
‫ها‬ ‫تیم‬ ‫به‬ ‫مشترک‬ ‫درک‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫ایجاد‬
.‫باشند‬ ‫داشته‬ ‫بیشتری‬ ‫همکاری‬ ‫و‬ ‫پاسخگویی‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬
‫پروژه‬ ‫مدیریت‬
،‫نظارت‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫برای‬ ‫روشی‬ ،‫پروژه‬ ‫مدیریت‬ ،‫بنابراین‬ .‫است‬ ‫پروژه‬ ‫یک‬ ،‫‌کند‬
‫ی‬‫م‬ ‫تولید‬ ‫را‬ ‫دستاوردی‬ ‫و‬ ‫دارد‬ ‫پایان‬ ‫و‬ ‫آغاز‬ ‫یک‬ ‫که‬ ‫‌چه‬
‫ن‬‫آ‬ ‫هر‬
.‫است‬ ‫پروژه‬ ‫یک‬ »‫«مدیریت‬ ،‫کلمه‬ ‫یک‬ ‫در‬ ‫و‬ ‫گزارش‬ ،‫کنترل‬
،‫‌ها‬
‫ت‬‫فعالی‬ ‫مدیریت‬ ،‫‌بندی‬
‫ن‬‫زما‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫مانند‬ ‫را‬ ‫مرتبط‬ ‫اصول‬ ‫از‬ ‫زیادی‬ ‫تعداد‬ ‫که‬ ‫است‬ ‫مفهومی‬ ‫چتر‬ ‫یک‬ ،‫پروژه‬ ‫مدیریت‬ ،‫حقیقت‬ ‫در‬
.‫‌گیرد‬
‫ی‬‫دربرم‬ ...‫و‬ ‫ریسک‬ ‫مدیریت‬ ،‫منابع‬ ‫مدیریت‬
‫تیم‬ ‫یک‬ ‫و‬ ‫برآورده‬ ‫را‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫انتظارات‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫تدوین‬ ‫را‬ ‫‌ای‬
‫ه‬‫برنام‬ ‫او‬ .‫دارد‬ ‫نام‬ ‫پروژه‬ ‫مدیر‬ ،‫است‬ ‫پروژه‬ ‫یک‬ ‫بر‬ ‫نظارت‬ ‫مسئول‬ ‫که‬ ‫شخصی‬
( ‫پروژه‬ ‫‌های‬
‫ی‬‫‌دادن‬
‫ل‬‫تحوی‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کنترل‬ ‫و‬ ‫نظارت‬ ‫را‬ ‫پروژه‬ ‫اجرای‬ ،‫پروژه‬ ‫مدیر‬ ‫سپس‬ .‫‌دهد‬
‫ی‬‫م‬ ‫تشکیل‬ ‫را‬ ‫پروژه‬
Deliverable
)
.‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ ‫پروژه‬ ‫مدیریت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫یک‬ ‫کمک‬ ‫به‬ ‫اغلب‬ ،‫کار‬ ‫این‬ .‫شود‬ ‫حاصل‬ ،‫انتظار‬ ‫مورد‬ ‫باکیفیت‬
‫چیست؟‬ ‫پروژه‬ ‫مدیریت‬
.‫دارد‬ ‫وجوهی‬ ‫چه‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫بدانیم‬ ‫باید‬ ،‫چیزی‬ ‫هر‬ ‫بررسی‬ ‫از‬ ‫پیش‬
‫و‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌کند‬
‫ی‬‫م‬ ‫تالش‬ ‫پروژه‬ ‫مدیر‬ .‫‌کند‬
‫ی‬‫م‬ ‫مطالعه‬ ‫را‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫اجرای‬ ‫و‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫که‬ ‫است‬ ‫مشی‬ ‫خط‬ ‫یک‬ ‫پروژه‬ ‫مدیریت‬
.‫شوند‬ ‫اجرا‬ ‫مشخص‬ ‫‌زمان‬
‫ت‬‫مد‬ ‫در‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫تا‬ ‫کند‬ ‫پیدا‬ ‫دست‬ ‌
‫ه‬‫‌شد‬
‫ن‬‫تعیی‬ ‫اهداف‬ ‫به‬ ‫منابع‬
‫تدوین‬ ‫را‬ ‫‌ای‬
‫ه‬‫برنام‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫‌اند‬
‫ه‬‫آموخت‬ ‫که‬ ‫‌هایی‬
‫ش‬‫رو‬ ‫از‬ ‫پروژه‬ ‫مدیران‬ .‫‌کنند‬
‫ی‬‫م‬ ‫مشخص‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫یا‬ ‫مشتریان‬ ‫را‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫اهداف‬
‫‌های‬
‫ت‬‫محدودی‬ ‫به‬ ‫باید‬ ‫‌ها‬
‫ه‬‫برنام‬ .‫کنند‬ ‫مشخص‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫نیازهای‬ ‫رفع‬ ‫برای‬ ‫را‬ ‫الزم‬ ‫‌های‬
‫ی‬‫‌دادن‬
‫ل‬‫توی‬ ‫و‬ ‫مهم‬ ‫اهداف‬ ،‫وظایف‬ ،‫منابع‬ ‫آن‬ ‫در‬ ‫و‬ ‫کنند‬
( ‫زمان‬ ‫‌ها‬
‫ت‬‫محدودی‬ ‫این‬ ‫کنند؛‬ ‫توجه‬ ‫نیز‬ ‫‌گانه‬
‫ه‬‫س‬
Time
( ‫هزینه‬ ،)
Cost
( ‫پروژه‬ ‫محدوده‬ ‫و‬ )
Project Scope
.‫هستند‬ )
‫‌افزارهای‬
‫م‬‫نر‬ .‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫پروژه‬ ‫مدیریت‬ ‫‌های‬
‫ه‬‫برنام‬ ‫از‬ ‫نیازها‬ ‫و‬ ‫‌ها‬
‫ه‬‫برنام‬ ،‫‌ها‬
‫ت‬‫محدودی‬ ‫بین‬ ‫تعادل‬ ‫به‬ ‫دستیابی‬ ‫منظور‬ ‌
‫ه‬‫ب‬ ‫اغلب‬ ‫مدیران‬
‫‌ی‬
‫ه‬‫هزین‬ ‫باید‬ ،‫شویم‬ ‫مواجه‬ ‫محدودیت‬ ‫با‬ ‫پروژه‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫در‬ ‫اگر‬ ،‫مثال‬ ‫برای‬ .‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫م‬‫تی‬ ‫کردن‬ ‫کارآمد‬ ‫و‬ ‫پروژه‬ ‫پیگیری‬ ‫به‬ ‫آنالین‬
.‫شود‬ ‫صرف‬ ‫بیشتری‬
‫چیست؟‬ ‫پروژه‬
.‫شوید‬ ‫آشنا‬ ‫پروژه‬ ‫مفهوم‬ ‫با‬ ‫است‬ ‫بهتر‬ ،‫دارد‬ ‫وظایفی‬ ‫چه‬ ‫پروژه‬ ‫مدیر‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫دادیم‬ ‫توضیح‬ ‫که‬ ‫حال‬
،‫‌رسد‬
‫ی‬‫م‬ ‫پایان‬ ‫به‬ ‫پروژه‬ ‫که‬ ‫زمانی‬ .‫شود‬ ‫کامل‬ ‫مشخصی‬ ‫‌زمان‬
‫ت‬‫مد‬ ‫در‬ ‫باید‬ ‫و‬ ‫دارد‬ ‫مشخصی‬ ‫هدف‬ ‫که‬ ‫است‬ ‫‌ها‬
‫ت‬‫فعالی‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ ‫پروژه‬
‫یا‬ ‫‌شوند‬
‫ی‬‫م‬ ‫تکرار‬ ‫مدام‬ ‫که‬ ‫‌وکار‬
‫ب‬‫کس‬ ‫عملکردهای‬ ‫‌ی‬
‫ه‬‫بقی‬ ‫خالف‬ ‫بر‬ ‫زیرا‬ ،‫هستند‬ ‫یکتا‬ ‫‌ها‬
‫ه‬‫پروژ‬ .‫‌است‬
‫ه‬‫گرفت‬ ‫شکل‬ ‫خاصی‬ ‫خدمت‬ ‫یا‬ ‫محصول‬
.‫‌رسند‬
‫ی‬‫م‬ ‫پایان‬ ‫به‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫پیدا‬ ‫ادامه‬
‫پروژه‬ ‫حیات‬ ‫چرخه‬ ‫مرحله‬
( ‫پروژه‬ ‫حیات‬ ‫چرخه‬ ‫بتوانید‬ ‫اگر‬ .‫‌کنند‬
‫ی‬‫م‬ ‫طی‬ ‫را‬ ‫مختلفی‬ ‫مراحل‬ ‫‌ها‬
‫ن‬‫آ‬ ‫همه‬ ،‫هستند‬ ‫پایان‬ ‫و‬ ‫میانه‬ ،‫آغاز‬ ‫دارای‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫که‬ ‫‌جا‬
‫ن‬‫آ‬ ‫از‬
Project
Life Cycle
.‫‌اید‬
‫ه‬‫فراگرفت‬ ‫خوبی‬ ‫به‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫یعنی‬ ،‫کنید‬ ‫درک‬ ‫را‬ )
۱
‫شروع‬ .
‫چگونه‬: ‫و‬ »‫‌دهد؟‬
‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫چیزی‬ ‫چه‬ ‫دقیقا‬ ‫«پروژه‬ ‫‌کند‬
‫ی‬‫م‬ ‫بیان‬ ‫که‬ ،‫را‬ ‫پروژه‬ ‫منشور‬ ‫و‬ ‫تدوین‬ ‫را‬ ‫ایده‬ ‫شما‬ .‫است‬ ‫پروژه‬ ‫شروع‬ ،‫مرحله‬ ‫این‬
.‫‌کنید‬
‫ی‬‫م‬ ‫تهیه‬ ،»‫برسید؟‬ ‫آن‬ ‫به‬ ‫‌خواهید‬
‫ی‬‫م‬
‫مانند‬ ‫فرایندهایی‬ ‫و‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫برنامه‬ ،‫پروژه‬ ‫اهداف‬ ‫تعیین‬ ‫برای‬ ‫را‬ ‫مرتبط‬ ‫افراد‬ ‫سایر‬ ‫و‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ،‫تیم‬ ‫که‬ ‫جایی‬ ‫در‬ ،‫پروژه‬ ‫از‬ ‫مرحله‬ ‫این‬
.‫‌رسد‬
‫ی‬‫م‬ ‫خود‬ ‫اوج‬ ‫به‬ ،‫‌آورید‬
‫ی‬‫م‬ ‫هم‬ ‫گرد‬ ،‫ارتباطاتی‬ ‫زنجیره‬ ‫و‬ ‫ارتباطات‬ ‫چگونگی‬
۲
‫‌ریزی‬
‫ه‬‫برنام‬ .
‫خروجی‬ .‫‌کنید‬
‫ی‬‫م‬ ‫ریزی‬ ‫برنامه‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫صرف‬ ‫که‬ ‫زمانی‬ ‫برآورد‬ ‫و‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫‌های‬
‫ش‬‫بخ‬ ‫به‬ ‫کارها‬ ‫تجزیه‬ ‫با‬ ‫شما‬ ‫که‬ ‫است‬ ‫جایی‬ ،‫بعدی‬ ‫مرحله‬
( ‫چارت‬ ‫گانت‬ ‫با‬ ‫اغلب‬ ‫که‬ ‫است‬ ‫پروژه‬ ‫برنامه‬ ،‫حاصل‬
Gantt chart
‫نشان‬ ،‫‌ها‬
‫ن‬‫‌آ‬‫بین‬ ‫وابستگی‬ ‫چگونگی‬ ‫و‬ ‫کارها‬ ‫ترتیب‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫رسم‬ )
.‫است‬ ‫پروژه‬ ‫نتایج‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫راه‬ ‫نقشه‬ ‫یک‬ ‫حکم‬ ‫در‬ ‫امر‬ ‫این‬ .‫‌شود‬
‫ی‬‫م‬ ‫داده‬
۳
‫اجرا‬ .
‫نظر‬ ‫از‬ ‫شوید‬ ‫مطمئن‬ ‫تا‬ ‫‌کنید‬
‫ی‬‫م‬ ‫نظارت‬ ‫و‬ ‫کنترل‬ ‫را‬ ‫کار‬ ،‫مسیر‬ ‫این‬ ‫طول‬ ‫در‬ .‫کنید‬ ‫اجرا‬ ‫را‬ ‫آن‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫دارید‬ ‫برنامه‬ ‫پروژه‬ ‫برای‬ ‫که‬ ‫اکنون‬
‫هر‬ ‫ثبت‬ ‫و‬ ‫مشکالت‬ ‫با‬ ‫مقابله‬ ،‫‌ها‬
‫ک‬‫ریس‬ ‫تعدیل‬ ‫و‬ ‫شناسایی‬ ‫برای‬ ‫همچنین‬ .‫‌روید‬
‫ی‬‫م‬ ‫پیش‬ ‫برنامه‬ ‫طبق‬ ،‫عملکرد‬ ‫کیفیت‬ ‫و‬ ‫‌بندی‬
‫ن‬‫زما‬ ،‫بودجه‬
.‫‌افتد‬
‫ی‬‫م‬ ‫اتفاق‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫پروژه‬ ‫مدیر‬ ‫یک‬ ‫کار‬ ‫اعظم‬ ‫قسمت‬ .‫کرد‬ ‫خواهید‬ ‫تالش‬ ،‫تغییری‬
۴
‫کنترل‬ ‫و‬ ‫نظارت‬ .
‫‌شود‬
‫ی‬‫م‬ ‫نیز‬ ‫پروژه‬ ‫پیشرفت‬ ‫‌گیری‬
‫ه‬‫انداز‬ ‫شامل‬ ،‫کنترل‬ ‫و‬ ‫نظارت‬ .‫‌رود‬
‫ی‬‫م‬ ‫پیش‬ ‫اجرا‬ ‫فاز‬ ‫با‬ ‫‌زمان‬
‫م‬‫ه‬ ‫که‬ ‫است‬ ‫کنترل‬ ‫و‬ ‫نظارت‬ ،‫مرحله‬ ‫چهارمین‬
‫کنترل‬ ‫فرایند‬ ‫از‬ ،‫پروژه‬ ‫در‬ ‫کیفیت‬ ‫تضمین‬ ‫از‬ ‫اطمینان‬ ‫برای‬ .‫‌رود‬
‫ی‬‫م‬ ‫پیش‬ ‫‌شده‬
‫ن‬‫تعیی‬ ‫زمانبندی‬ ‫و‬ ‫بودجه‬ ‫با‬ ‫مطابق‬ ‫پروژه‬ ‫باشیم‬ ‫مطمئن‬ ‫تا‬
.‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫کیفیت‬
‫هدف‬ .‫‌شوند‬
‫ی‬‫م‬ ‫شناخته‬ ‫‌گانه‬
‫ه‬‫س‬ ‫‌های‬
‫ت‬‫محدودی‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫هستند‬ ‫محدوده‬ ‫و‬ ‫هزینه‬ ،‫زمان‬ ‫به‬ ‫مربوط‬ ‫معموال‬ ،‫پروژه‬ ‫در‬ ‫مهم‬ ‫موضوع‬ ‫سه‬
.‫کنند‬ ‫‌روی‬
‫ش‬‫پی‬ ‫شده‬ ‫تعیین‬ ‫‌ی‬
‫ه‬‫محدود‬ ‫از‬ ‫عامل‬ ‫سه‬ ‫این‬ ‫ندهد‬ ‫اجازه‬ ‫که‬ ‫است‬ ‌
‫ی‬‫دقیق‬ ‫‌های‬
‫ل‬‫کنتر‬ ‫اعمال‬ ،‫فاز‬ ‫این‬ ‫اصلی‬
۵
‫پایان‬ .
‫به‬ ‫‌ای‬
‫ه‬‫‌آموخت‬
‫س‬‫در‬ ‫هرگونه‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫و‬ ‫ببرد‬ ‫را‬ ‫استفاده‬ ‫بهترین‬ ،‫آمده‬ ‫‌دست‬
‫ه‬‫ب‬ ‫‌چه‬
‫ن‬‫آ‬ ‫از‬ ‫تا‬ ‫یابند‬ ‫پایان‬ ‫‌دقت‬
‫ه‬‫ب‬ ‫باید‬ ‫پروژه‬ ‫کارهای‬
‫را‬ ‫نهایی‬ ‫‌های‬
‫ش‬‫گزار‬ ‫و‬ ‫مدارک‬ ‫و‬ ‫اسناد‬ ‫تمام‬ ،‫کرد‬ ‫خواهید‬ ‫دریافت‬ ‫را‬ ‫پروژه‬ ‫اتمام‬ ‫جهت‬ ‫مشتری‬ ‫پذیرش‬ ،‫مرحله‬ ‫این‬ ‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫منتقل‬ ،‫‌ها‬
‫م‬‫تی‬
.‫‌دهید‬
‫ی‬‫م‬ ‫تحویل‬ ‫عملیات‬ ‫مدیریت‬ ‫تیم‬ ‫مانند‬ ‫دیگری‬ ‫تیم‬ ‫به‬ ‫را‬ ‫تحویل‬ ‫قابل‬ ‫موارد‬ ‫و‬ ‫‌رسانید‬
‫ی‬‫م‬ ‫پایان‬ ‫به‬
‫پروژه‬ ‫مدیریت‬ ‫مثلث‬ ‫یا‬ ‫‌گانه‬
‫ه‬‫س‬ ‫‌های‬
‫ت‬‫محدودی‬
( ‫پروژه‬ ‫مدیریت‬ ‫مثلث‬ ‫نام‬ ‫به‬ ‫که‬ ‫‌گانه‬
‫ه‬‫س‬ ‫‌های‬
‫ت‬‫محدودی‬
Project Panagement Triangle
‫است‬ ‫مفهومی‬ ،‫‌شوند‬
‫ی‬‫م‬ ‫شناخته‬ ‫نیز‬ )
‫است؛‬ ‫پروژه‬ ‫مدیریت‬ ‫بنای‬ ‫سنگ‬ ‫مفهوم‬ ‫این‬ .‫دارد‬ ‫اشاره‬ ‫پروژه‬ ‫‌ی‬
‫ه‬‫محدود‬ ‫و‬ ‫هزینه‬ ،‫زمان‬ ‫در‬ ‫محدودیت‬ ‫به‬ ‫و‬ ‫است‬ ‫صادق‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫تمام‬ ‫برای‬ ‫که‬
( ‫‌ریزی‬
‫ه‬‫برنام‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫در‬ ‫باید‬ ‫مدیران‬ ‫دلیل‬ ‫همین‬ ‫به‬
planning phase
( ‫‌بندی‬
‫ن‬‫زما‬ ‫به‬ ‫خاصی‬ ‫توجه‬ )
schedule
،‫پروژه‬ ‫اتمام‬ ‫برای‬ )
‫و‬ ‫بودجه‬
WBS
( ‫کار‬ ‫شکست‬ ‫ساختار‬ ‫یا‬
work breakdown structure
‫‌های‬
‫ت‬‫محدودی‬ ‫مدیریت‬ ‫‌ی‬
‫ه‬‫نحو‬ ‫به‬ ‫بیایید‬ .‫‌باشند‬
‫ه‬‫داشت‬ )
.‫بیندازیم‬ ‫نگاهی‬ ‫‌گانه‬
‫ه‬‫س‬
۱
‫زمان‬ .
( ‫پرت‬ ‫نمودارهای‬ ‫مثل‬ ‫ابزارهایی‬ ‫از‬ ‫منظور‬ ‫این‬ ‫به‬ .‫بزنند‬ ‫تخمین‬ ،‫است‬ ‫الزم‬ ‫پروژه‬ ‫اتمام‬ ‫برای‬ ‫که‬ ‫را‬ ‫زمانی‬ ‫باید‬ ‫پروژه‬ ‫مدیران‬
PERT
charts
( ‫بحرانی‬ ‫مسیر‬ ‫یا‬ )
Critical Path Method
‫آن‬ ‫به‬ ‫که‬ )
CPM
‫و‬ ‫پروژه‬ ‫آغاز‬ ‫در‬ ‫باید‬ ‫کار‬ ‫این‬ .‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ،‫‌گویند‬
‫ی‬‫م‬ ‫نیز‬
‫اجرا‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫به‬ ‫پروژه‬ ‫وقتی‬ .‫شود‬ ‫مشخص‬ ‫‌ها‬
‫ت‬‫فعالی‬ ‫تمام‬ ‫رساندن‬ ‫انجام‬ ‫به‬ ‫برای‬ ‫الزم‬ ‫زمان‬ ‫و‬ ‫اقدامات‬ ‫تا‬ ‫شود‬ ‫انجام‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫در‬
( ‫‌بندی‬
‫ن‬‫زما‬ .‫شود‬ ‫ایجاد‬ ‫تغییر‬ ‫برنامه‬ ‫در‬ ‫لزوم‬ ‫صورت‬ ‫در‬ ‫تا‬ ‫باشد‬ ‫‌نظر‬
‫ت‬‫تح‬ ‫باید‬ ‫پروژه‬ ‫وضعیت‬ ،‫رسید‬
Schedule Management
‫از‬ )
.‫هستند‬ ‫زمانی‬ ‫‌های‬
‫ت‬‫محدودی‬ ‫‌وفصل‬
‫ل‬‫ح‬ ‫مسئول‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫تشکیل‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫مدیریت‬ ‫فرایندهای‬ ‫از‬ ‫دسته‬ ‫آن‬
( ‫پروژه‬ ‫الین‬ ‫تایم‬ ‫یا‬ ‫زمانی‬ ‫خط‬ :‫مرتبط‬ ‫مطلب‬
Project Timeline
‫چیست؟‬ )
۲
‫محدوده‬ .
‫باید‬ ‫کار‬ ‫شکست‬ ‫ساختار‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫در‬ .‫شوند‬ ‫انجام‬ ‫پروژه‬ ‫اتمام‬ ‫برای‬ ‫باید‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫کارهایی‬ ‌
‫م‬‫تما‬ ‫شامل‬ ‫محدوده‬
‫اجرای‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫در‬ ‫‌نشده‬
‫ی‬‫‌ریز‬
‫ه‬‫برنام‬ ‫‌های‬
‫ت‬‫فعالی‬ ‫دلیل‬ ‫به‬ ‫است‬ ‫ممکن‬ ،‫نشود‬ ‫مشخص‬ ‫پروژه‬ ‫ابتدای‬ ‫در‬ ‫محدوده‬ ‫اگر‬ .‫کرد‬ ‫شناسایی‬ ‫را‬ ‫محدوده‬
‫پروژه‬ ‫محدوده‬ ‫مدیریت‬ ‫فرایند‬ .‫شود‬ ‫پروژه‬ ‫خوردن‬ ‫شکست‬ ‫باعث‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫‌نامند‬
‫ی‬‫م‬ ‫محدوده‬ ‫خزش‬ ‫را‬ ‫پدیده‬ ‫این‬ .‫یابد‬ ‫گسترش‬ ‫پروژه‬
.‫‌کند‬
‫ی‬‫م‬ ‫کنترل‬ ‫را‬ ‫مسئله‬ ‫این‬
۳
‫هزینه‬ .
‫که‬ ‫است‬ ‫این‬ ‫‌ها‬
‫ن‬‫آ‬ ‫نهایی‬ ‫هدف‬ .‫هستند‬ ‫‌ها‬
‫ه‬‫هزین‬ ‫کنترل‬ ‫و‬ ‫‌بندی‬
‫ه‬‫بودج‬ ،‫زدن‬ ‫تخمین‬ ‫مسئول‬ ‫پروژه‬ ‫مدیران‬ .‫دارد‬ ‫زیادی‬ ‫‌های‬
‫ه‬‫هزین‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫هر‬
.‫است‬ ‫هزینه‬ ‫مدیریت‬ ‫به‬ ‫مربوط‬ ‫‌ها‬
‫ت‬‫مسئولی‬ ‫این‬ ‫تمام‬ .‫کنند‬ ‫اجرا‬ ‫مقبول‬ ‫‌ای‬
‫ه‬‫بودج‬ ‫با‬ ‫را‬ ‫پروژه‬
،‫زمان‬ ‫به‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫‌گانه‬
‫ه‬‫س‬ ‫‌های‬
‫ت‬‫محدودی‬ .‫باشد‬ ‫نکرده‬ ‫ذکر‬ ‫را‬ ‫‌گانه‬
‫ه‬‫س‬ ‫‌های‬
‫ت‬‫محدودی‬ ‫که‬ ‫نیست‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫مدیریت‬ ‫راهنمای‬ ‫هیچ‬
‫هزینه‬ ‫و‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫پروژه‬ ‫اهداف‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫که‬ ‫است‬ ‫وظایفی‬ ‫شامل‬ ‫محدوده‬ ،‫است‬ ‫شما‬ ‫برنامه‬ ،‫زمان‬ .‫دارد‬ ‫اشاره‬ ‫محدوده‬ ‫و‬ ‫هزینه‬
‫تاثیر‬ ‫یکدیگر‬ ‫بر‬ ‫همیشه‬ ،‫مثلث‬ ‫این‬ ‫ضلع‬ ‫سه‬ .‫است‬ ‫مهم‬ ‫بسیار‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫هر‬ ‫برای‬ ‫امر‬ ‫این‬ ‫که‬ ‫‌بینید‬
‫ی‬‫م‬ .‫‌شود‬
‫ی‬‫م‬ ‫شامل‬ ‫را‬ ‫بودجه‬ ‫و‬ ‫مالی‬ ‫موارد‬
.‫هستید‬ ‫هزینه‬ ‫و‬ ‫محدوده‬ ‫مجدد‬ ‫تنظیم‬ ‫به‬ ‫مجبور‬ ،‫نکنید‬ ‫‌نشینی‬
‫ب‬‫عق‬ ‫‌موقع‬
‫ه‬‫ب‬ ‫اگر‬ .‫‌گذارند‬
‫ی‬‫م‬
‫وجود‬ ‫زیادی‬ ‫عوامل‬ ‫و‬ ‫نیست‬ ‫پروژه‬ ‫موفقیت‬ ‫متضمن‬ ،‫‌گانه‬
‫ه‬‫س‬ ‫محدودیت‬ ‫این‬ ‫مدیریت‬ ‫اگرچه‬ .‫است‬ ‫استوار‬ ‫رکن‬ ‫سه‬ ‫این‬ ‫بر‬ ‫پروژه‬ ‫هر‬ ‫موفقیت‬
.‫نیاید‬ ‫وجود‬ ‫به‬ ‫مشکلی‬ ‫تا‬ ‫شوند‬ ‫مدیریت‬ ‫باید‬ ،‫رکن‬ ‫سه‬ ‫این‬ ،‫حال‬ ‫این‬ ‫با‬ ‫دارد‬
‫کیست؟‬ ‫پروژه‬ ‫مدیر‬
.‫سازیم‬ ‫آشنا‬ ‫پروژه‬ ‫مدیر‬ ‫با‬ ‫‌تر‬
‫ق‬‫دقی‬ ‫صورت‬ ‫به‬ ‫را‬ ‫شما‬ ‫داریم‬ ‫قصد‬ ‫ادامه‬ ‫در‬ ،‫دارد‬ ‫وجوهی‬ ‫چه‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫تعریف‬ ‫‌دانید‬
‫ی‬‫م‬ ‫که‬ ‫حال‬
‫‌های‬
‫ت‬‫شرک‬ ‫در‬ .‫کارهاست‬ ‫سازماندهی‬ ‫و‬ ‫تیم‬ ‫هدایت‬ ‫مسئول‬ ‫و‬ ‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫پروژه‬ ‫اجرای‬ ‫و‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫‌ی‬
‫ه‬‫وظیف‬ ‫که‬ ‫است‬ ‫کسی‬ ‫پروژه‬ ‫مدیر‬
( ‫متخصصانی‬ ‫معموال‬ ‫پروژه‬ ‫مدیران‬ ‫‌تر‬
‫ه‬‫پیچید‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫در‬ ‫و‬ ‫‌تر‬
‫ه‬‫‌یافت‬
‫ن‬‫سازما‬ ‫و‬ ‫‌تر‬
‫ی‬‫رسم‬
PMP
‫سازمان‬ ‫از‬ ‫معتبری‬ ‫‌ی‬
‫ه‬‫‌نام‬
‫ی‬‫گواه‬ ‫که‬ ‫هستند‬ )
( ‫پروژه‬ ‫مدیریت‬
PMI
.‫دارند‬ )
‫فرایندهای‬ ‫تمام‬ ‫مسئول‬ ‫پروژه‬ ‫مدیران‬ .‫نیست‬ ‫‌نامه‬
‫ی‬‫گواه‬ ‫نیازمند‬ ‫پروژه‬ ‫مدیر‬ ،‫کوچک‬ ‫‌وکارهای‬
‫ب‬‫کس‬ ‫مثل‬ ،‫رسمی‬ ‫‌تر‬
‫م‬‫ک‬ ‫‌های‬
‫ن‬‫سازما‬ ‫در‬
‫پایان‬ ‫و‬ ‫نظارت‬ ،‫اجرا‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫بر‬ ‫پروژه‬ ‫مدیران‬ ،‫ساده‬ ‫زبان‬ ‫به‬ .‫‌دهند‬
‫ی‬‫م‬ ‫رخ‬ ‫پروژه‬ ‫حیات‬ ‫‌ی‬
‫ه‬‫چرخ‬ ‫تمام‬ ‫در‬ ‫که‬ ‫هستند‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫مدیریت‬
.‫دارند‬ ‫مشترکی‬ ‫‌های‬
‫ت‬‫مسئولی‬ ‫و‬ ‫‌ها‬
‫ش‬‫نق‬ ‫پروژه‬ ‫مدیران‬ ‫‌تر‬
‫ش‬‫بی‬ ،‫این‬ ‫وجود‬ ‫با‬ ‫‌کنند؛‬
‫ی‬‫م‬ ‫نظارت‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫به‬ ‫دادن‬
‫معمول‬ ‫وظایف‬ ‫از‬ ‫برخی‬ .‫شوید‬ ‫آشنا‬ ‫پروژه‬ ‫مدیر‬ ‫وظایف‬ ‫با‬ ‫است‬ ‫بهتر‬ ،‫است‬ ‫کسی‬ ‫چه‬ ‫پروژه‬ ‫مدیر‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫‌دانید‬
‫ی‬‫م‬ ‫که‬ ‫حال‬
:‫از‬ ‫‌اند‬
‫ت‬‫عبار‬ ‫پروژه‬ ‫مدیر‬
•
( ‫محدوده‬ ‫مدیریت‬
Scope Management
:)
‫پروژه؛‬ ‫کردن‬ ‫کامل‬ ‫برای‬ ‫الزم‬ ‫کار‬ ‫تعریف‬
•
( ‫‌ها‬
‫ت‬‫فعالی‬ ‫مدیریت‬
Task Management
:)
‫‌ها؛‬
‫ی‬‫‌دادن‬
‫ل‬‫تحوی‬ ‫تعیین‬ ‫و‬ ‫‌ها‬
‫ت‬‫فعالی‬ ‫برای‬ ‫‌ریزی‬
‫ه‬‫برنام‬
•
( ‫منابع‬ ‫مدیریت‬
Resource Management
:)
‫کارآمد؛‬ ‫شکلی‬ ‫به‬ ‫منابع‬ ‫‌ی‬
‫ه‬‫بقی‬ ‫و‬ ‫مواد‬ ،‫‌ها‬
‫ه‬‫سرمای‬ ،‫افراد‬ ‫از‬ ‫استفاده‬
•
( ‫تیم‬ ‫مدیریت‬
Team Management
:)
‫آن؛‬ ‫رهبری‬ ‫و‬ ‫تیم‬ ‫تشکیل‬
•
( ‫‌بندی‬
‫ن‬‫زما‬ ‫مدیریت‬
Schedule Management
:)
‫زمانی‬ ‫‌ی‬
‫ه‬‫برنام‬ ‫کردن‬ ‫مشخص‬ ‫منظور‬ ‌
‫ه‬‫ب‬ ‫‌ها‬
‫ت‬‫فعالی‬ ‫مدت‬ ‫تحلیل‬
‫تغییر‬ ‫برنامه‬ ‫در‬ ‫لزوم‬ ‫صورت‬ ‫در‬ ‫تا‬ ‫باشد‬ ‫‌نظر‬
‫ت‬‫تح‬ ‫باید‬ ‫پروژه‬ ‫وضعیت‬ ،‫رسید‬ ‫اجرا‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫به‬ ‫پروژه‬ ‫وقتی‬ .‫پروژه‬ ‫‌های‬
‫ت‬‫فعالی‬ ‫برای‬
‫شود؛‬ ‫ایجاد‬
•
( ‫کیفیت‬ ‫مدیریت‬
Quality Management
:)
‫کار‬ ‌
‫ه‬‫ب‬ ‫و‬ ‫پروژه‬ ‫خدمات‬ ‫و‬ ‫محصوالت‬ ‫برای‬ ‫کیفیت‬ ‫‌های‬
‫ت‬‫سیاس‬ ‫تعیین‬
‫پروژه؛‬ ‫مدیریت‬ ‫وظایف‬ ‫از‬ ‫کیفیت‬ ‫کنترل‬ ‫و‬ ‫تضمین‬ ‫فرایندهای‬ ‫بستن‬
•
( ‫‌ها‬
‫ه‬‫هزین‬ ‫مدیریت‬
Cost Management
:)
‫بودجه؛‬ ‫تعیین‬ ‫و‬ ‫‌ها‬
‫ه‬‫هزین‬ ‫تخمین‬
•
( ‫‌نفعان‬
‫ی‬‫ذ‬ ‫مدیریت‬
Stakeholder Management
:)
‫ارتباط‬ ‫و‬ ‫توقعاتشان‬ ‫و‬ ‫انتظارات‬ ‫به‬ ‫دادن‬ ‌
‫خ‬‫پاس‬ ‫با‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫اقناع‬
‫پروژه؛‬ ‫پیشرفت‬ ‫حین‬ ‫در‬ ‫ایشان‬ ‫با‬ ‫گرفتن‬
•
( ‫ریسک‬ ‫مدیریت‬
Risk management
:)
‫‌ها؛‬
‫ن‬‫آ‬ ‫رساندن‬ ‫حداقل‬ ‌
‫ه‬‫ب‬ ‫و‬ ‫پروژه‬ ‫‌های‬
‫ک‬‫ریس‬ ‫بر‬ ‫نظارت‬ ‫و‬ ‫شناسایی‬
•
( ‫وضعیت‬ ‫گزارش‬
Status Reporting
:)
.‫دیگر‬ ‫اسناد‬ ‫و‬ ‫گزارش‬ ‫تنظیم‬ ‫طریق‬ ‫از‬ ‫پروژه‬ ‫پیشرفت‬ ‫و‬ ‫عملکرد‬ ‫پیگیری‬ ‫و‬ ‫نظارت‬
‫مدیریت‬ ‫‌ی‬
‫ه‬‫مؤسس‬ ‫نظر‬ ‌
‫ت‬‫تح‬ ‫پروژه‬ ‫مدیران‬ ‫که‬ ‫بدانید‬ ‫باید‬ ،‫کیست‬ ‫پروژه‬ ‫مدیر‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫تعریف‬ ‫‌دانید‬
‫ی‬‫م‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫که‬ ‫حال‬
( ‫پروژه‬ ‫مدیریت‬ ‫دانش‬ ‫کتاب‬ ‫در‬ ‫را‬ ‫مدیریت‬ ‫استانداردهای‬ ‌
‫ه‬‫مؤسس‬ ‫این‬ .‫‌کنند‬
‫ی‬‫م‬ ‫دریافت‬ ‫‌نامه‬
‫ی‬‫گواه‬ ‫و‬ ‫‌بینند‬
‫ی‬‫م‬ ‫آموزش‬ ‫پروژه‬
Project
( )
Management Book of Knowledge PMBOK
.‫‌است‬
‫ه‬‫کرد‬ ‫کدگذاری‬ ‫و‬ ‫تعریف‬ )
‫مدرک‬
PMP
‫مانند‬ ‫‌تری‬
‫ی‬‫تخصص‬ ‫آموزشی‬ ‫‌های‬
‫ب‬‫انتخا‬ ‌
‫ه‬‫مؤسس‬ ‫این‬ ‫اما‬ ،‫است‬ ‫پروژه‬ ‫مدیران‬ ‫برای‬ ‫معمول‬ ‫و‬ ‫استاندارد‬ ‫‌های‬
‫ه‬‫‌نام‬
‫ی‬‫گواه‬ ‫از‬ ‫یکی‬
( ‫برنامه‬ ‫مدیریت‬ ‫متخصص‬ ‫تربیت‬ ‫‌های‬
‫ه‬‫برنام‬
Program Management Professional
( ‫پورتفولیو‬ ‫مدیریت‬ ‫متخصص‬ ‫و‬ )
Portfolio Management Professional
.‫‌گذارد‬
‫ی‬‫م‬ ‫مدیران‬ ‫پای‬ ‫پیش‬ ‫را‬ )
‫پروژه‬ ‫مدیریت‬ ‫‌افزارهای‬
‫م‬‫نر‬
‫مانند‬ ‫پروژه‬ ‫مدیریت‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫از‬ ،‫‌هایشان‬
‫ت‬‫مهار‬ ‫و‬ ‫دانش‬ ‫کنار‬ ‫در‬ ،‫‌ها‬
‫ه‬‫پروژ‬ ‫اتمام‬ ‫جهت‬ ‫در‬ ‫الزم‬ ‫وظایف‬ ‫تمام‬ ‫اجرای‬ ‫برای‬ ‫پروژه‬ ‫مدیران‬
( ‫پروژه‬ ‫مایکروسافت‬
Microsoft Project
.‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ )
‫کمک‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫همچنین‬ .‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‌
‫ه‬‫پروژ‬ ‫گزارش‬ ‫و‬ ‫نظارت‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫امر‬ ‫در‬ ‫مدیران‬ ‫به‬ ‫که‬ ‫است‬ ‫بستری‬ ‫پروژه‬ ‫مدیریت‬ ‫افزار‬ ‫نرم‬
‫به‬ ‫مربوط‬ ‫جزئیات‬ ‫تمام‬ ‫مدیریت‬ ‫جهت‬ ‫را‬ ‫پروژه‬ ‫‌های‬
‫م‬‫تی‬ ،‫خوب‬ ‫‌افزار‬
‫م‬‫نر‬ ‫یک‬ .‫کنند‬ ‫همکاری‬ ‫یکدیگر‬ ‫با‬ ‫و‬ ‫کرده‬ ‫مدیریت‬ ‫را‬ ‫خود‬ ‫کار‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬
.‫‌سازد‬
‫ی‬‫م‬ ‫توانمند‬ ،‫موفق‬ ‫پروژه‬ ‫یک‬
‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬
.‫دارند‬ ‫قرار‬ ‫دسترس‬ ‫در‬ ،‫ها‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫شما‬ ‫به‬ ‫کمک‬ ‫برای‬ ،‫موبایل‬ ‫هم‬ ‫و‬ ‫آنالین‬ ‫هم‬ ،‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫از‬ ‫‌ای‬
‫ه‬‫گسترد‬ ‫طیف‬ ‫امروزه‬
.‫‌پردازیم‬
‫ی‬‫م‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫به‬ ‫ادامه‬ ‫در‬
‫گانت‬ ‫نمودار‬
‫شامل‬ ‫که‬ ‫خود‬ ‫اصلی‬ ‫ساختار‬ ‫‌ها‬
‫ن‬‫آ‬ ‫اما‬ .‫هستند‬ ‫مشارکتی‬ ‫و‬ ‫تعاملی‬ ،‫گانت‬ ‫امروزه‬ ‫نمودارهای‬ .‫دارد‬ ‫دستی‬ ‫نسخه‬ ‫با‬ ‫زیادی‬ ‫فاصله‬ ‫آنالین‬ ‫نسخه‬
‫پر‬ ‫زمانی‬ ‫جدول‬ ‫و‬ ‫شده‬ ‫لیست‬ ‫چپ‬ ‫سمت‬ ‫در‬ ‫وظایف‬ .‫‌اند‬
‫ه‬‫کرد‬ ‫حفظ‬ ،‫است‬ ‫راست‬ ‫سمت‬ ‫در‬ ‫زمانی‬ ‫جدول‬ ‫و‬ ‫چپ‬ ‫سمت‬ ‫در‬ ‫گسترده‬ ‫صفحه‬ ‫یک‬
.‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫پروژه‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫و‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫برای‬ ‫نوار‬ ‫این‬ ‫از‬ .‫است‬ ‫شده‬ ‫کشیده‬ ‫پایان‬ ‫تاریخ‬ ‫تا‬ ‫شروع‬ ‫تاریخ‬ ‫از‬ ‫وضعیت‬ ‫نوار‬ ‫یک‬ ،‫‌شود‬
‫ی‬‫م‬
‫داشبورد‬
‫و‬ ‫تیم‬ ‫کار‬ ‫حجم‬ ،‫‌ها‬
‫ت‬‫فعالی‬ ‫وضعیت‬ ،‫بودجه‬ ‫مانند‬ ‫‌ای‬
‫ه‬‫داد‬ ‫نقاط‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ ‫داشبورد‬ ،‫اساسا‬ .‫باشد‬ ‫پیچیده‬ ‫یا‬ ‫آسان‬ ‫‌تواند‬
‫ی‬‫م‬ ‫داشبورد‬ ‫ساخت‬
.‫‌دهد‬
‫ی‬‫م‬ ‫ارائه‬ ‫آن‬ ‫پیشرفت‬ ‫و‬ ‫پروژه‬ ‫از‬ ‫باال‬ ‫سطح‬ ‫نمای‬ ‫یک‬ ،‫ابزار‬ ‫این‬ .‫است‬ ‫برنامه‬ ‫کلی‬ ‫وضعیت‬
‫از‬ ‫بعضی‬ .‫بدانند‬ ‫را‬ ‫زیادی‬ ‫جزئیات‬ ‫‌خواهند‬
‫ی‬‫نم‬ ‫معموال‬ ‫‌ها‬
‫ن‬‫آ‬ ‫زیرا‬ ‫است؛‬ ‫پروژه‬ ‫درباره‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫‌داشتن‬
‫ه‬‫نگ‬ ‫‌روز‬
‫ه‬‫ب‬ ‫برای‬ ‫‌آلی‬
‫ه‬‫اید‬ ‫ابزار‬ ‫داشبورد‬
‫ایجاد‬ ‫داشبورد‬ ‫تا‬ ‫کرده‬ ‫سرهم‬ ‫دیگر‬ ‫برنامه‬ ‫یک‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کنند‬ ‫جمع‬ ‫دستی‬ ‫‌طور‬
‫ه‬‫ب‬ ‫را‬ ‫متفاوت‬ ‫گزارشات‬ ‫از‬ ‫‌ای‬
‫ه‬‫دست‬ ‫باید‬ ‫داشبوردها‬
.‫شود‬
‫‌ها‬
‫ت‬‫فعالی‬ ‫لیست‬
‫اهداف‬ ‫‌شدن‬
‫ه‬‫برآورد‬ ‫از‬ ‫تا‬ ‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫پروژه‬ ‫حین‬ ‫در‬ ‫‌ها‬
‫ن‬‫آ‬ ‫پیگیری‬ ‫و‬ ‫تخصیص‬ ،‫‌ها‬
‫ت‬‫فعالی‬ ‫مدیریت‬ ‫برای‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫از‬
‫بیشتری‬ ‫شفافیت‬ ‫مدیران‬ ‫به‬ ‫و‬ ‫‌ها‬
‫ت‬‫فعالی‬ ‫بیشتر‬ ‫کنترل‬ ‫امکان‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ،‫خوب‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬ .‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫‌شده‬
‫ی‬‫‌بند‬
‫ن‬‫زما‬
‫‌دهد‬
‫ی‬‫م‬ ‫فرایندها‬ ‫درباره‬
‫پروژه‬ ‫تقویم‬
( ‫مایلستون‬ ‫هر‬ ‫تاریخ‬ ‫ردیابی‬ ‫برای‬ ‫عالی‬ ‫روش‬ ‫یک‬ ‫پروژه‬ ‫تقویم‬
Milestone
‫زمانی‬ ‫جدول‬ ‫و‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫برنامه‬ ‫با‬ ،‫تقویم‬ ‫این‬ .‫است‬ ‫پروژه‬ ‫در‬ )
.‫کند‬ ‫مشخص‬ ‫را‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫منابع‬ ‫دیگر‬ ‫و‬ ‫مرخصی‬ ‫روزهای‬ ،‫تعطیالت‬ ‫‌تواند‬
‫ی‬‫م‬ ‫و‬ ‫است‬ ‫همسو‬
‫کانبان‬ ‫تابلو‬
‫ظرفیت‬ ‫و‬ ‫منابع‬ ‫که‬ ‫زمانی‬ ‫در‬ ‫فقط‬ ‫کار‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬ .‫است‬ ‫ناب‬ ‫‌هنگام‬
‫ه‬‫ب‬ ‫تولید‬ ‫روش‬ ‫از‬ ‫بخشی‬ ‫که‬ ‫است‬ ‫بصری‬ ‫کار‬ ‫گردش‬ ‫ابزار‬ ‫یک‬ ‫کانبان‬
.‫است‬ ‫آماده‬ ،‫باشد‬ ‫داشته‬ ‫وجود‬
.‫است‬ ‫شده‬ ‫تشکیل‬ ،‫است‬ ‫وظایف‬ ‫‌دهنده‬
‫ن‬‫نشا‬ ‫که‬ ‫‌ها‬
‫ن‬‫ستو‬ ‫زیر‬ ‫در‬ ‫‌هایی‬
‫ت‬‫کار‬ ‫و‬ ‫تولید‬ ‫چرخه‬ ‫‌دهنده‬
‫ن‬‫نشا‬ ‫که‬ ‫‌هایی‬
‫ن‬‫ستو‬ ‫با‬ ‫تابلو‬ ‫یک‬ ‫از‬ ‫کانبان‬
‫کار‬ ‫روی‬ ‫بر‬ ‫‌ها‬
‫م‬‫تی‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫شفافیت‬ ،‫کانبان‬ .‫‌شوند‬
‫ی‬‫م‬ ‫منتقل‬ ‫دیگر‬ ‫ستون‬ ‫به‬ ‫ستون‬ ‫یک‬ ‫از‬ ‫‌ها‬
‫ت‬‫کار‬ ،‫کار‬ ‫تکمیل‬ ‫و‬ ‫اجرا‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫با‬
.‫‌شوند‬
‫ی‬‫م‬ ‫متمرکز‬
‫کار‬ ‫حجم‬ ‫کنترل‬ ‫ابزارهای‬
‫را‬ ‫کار‬ ‫بیشترین‬ ‫برخی‬ ‫که‬ ‫حالی‬ ‫در‬ ،‫شود‬ ‫توزیع‬ ‫ضعیف‬ ‫‌تواند‬
‫ی‬‫م‬ ‫اغلب‬ ‫کار‬ ‫حجم‬ .‫شود‬ ‫داده‬ ‫تخصیص‬ ‫باید‬ ‫که‬ ‫کاری‬ ‫میزان‬ ‫یعنی‬ ‫کار‬ ‫حجم‬
( ‫منابع‬ ‫تسطیح‬ ‫باید‬ ،‫اتفاق‬ ‫این‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ .‫‌مانند‬
‫ی‬‫م‬ ‫بیکار‬ ‫نسبتا‬ ‫دیگر‬ ‫برخی‬ ‫و‬ ‫‌گیرند‬
‫ی‬‫م‬
Leveling Resource
.‫داد‬ ‫انجام‬ )
.‫شود‬ ‫متقبل‬ ‫‌تواند‬
‫ی‬‫م‬ ‫را‬ ‫کار‬ ‫میزان‬ ‫چه‬ ‫تیم‬ ‫عضو‬ ‫هر‬ ‫بدانید‬ ‫که‬ ‫است‬ ‫مهم‬ ،‫وظایف‬ ‫اجرای‬ ‫و‬ ‫تخصیص‬ ‫هنگام‬
‫منابع‬ ‫مدیریت‬ ‫‌افزار‬
‫م‬‫نر‬
،‫لزوم‬ ‫صورت‬ ‫در‬ ‫که‬ ‫‌طوری‬
‫ه‬‫ب‬ ،‫منابع‬ ‫مدیریت‬ .‫دارید‬ ‫نیاز‬ ‫پروژه‬ ‫برای‬ ‫شما‬ ‫که‬ ‫است‬ ‫افرادی‬ ‫حتی‬ ‫و‬ ‫لوازم‬ ،‫تجهیزات‬ ،‫ابزار‬ ‫شامل‬ ‫چیزی‬ ‫هر‬ ‫منابع‬
‫ابزاری‬ ‫به‬ ،‫بنابراین‬ .‫است‬ ‫پروژه‬ ‫یک‬ ‫داخل‬ ‫‌ای‬
‫ه‬‫پروژ‬ ،‫هستید‬ ‫روبرو‬ ‫خارجی‬ ‫‌کنندگان‬
‫ن‬‫تامی‬ ‫و‬ ‫فروشندگان‬ ‫با‬ ‫که‬ ‫زمانی‬ ‫‌ویژه‬
‫ه‬‫ب‬ ،‫باشند‬ ‫دسترس‬ ‫در‬
‫شما‬ ‫برنامه‬ ‫با‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫تمام‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫ردیابی‬ ‫پروژه‬ ‫در‬ ،‫دارید‬ ‫نیاز‬ ‫‌ها‬
‫ن‬‫آ‬ ‫به‬ ‫که‬ ‫را‬ ‫زمانی‬ ‫و‬ ‫‌ها‬
‫ن‬‫آ‬ ‫هزینه‬ ‫میزان‬ ،‫منابع‬ ‫این‬ ‫که‬ ‫دارید‬ ‫نیاز‬
.‫کند‬ ‫هماهنگ‬
‫کاری‬ ‫ساعت‬ ‫ثبت‬ ‫ورقه‬
‫کاری‬ ‫‌های‬
‫ت‬‫ساع‬ ‫بتوانند‬ ‫تا‬ ‫دارند‬ ‫نیاز‬ ‫ابزاری‬ ‫به‬ ‫‌ها‬
‫ن‬‫آ‬ .‫است‬ ‫پروژه‬ ‫مدیر‬ ‫‌های‬
‫ت‬‫مسئولی‬ ‫از‬ ‫بخشی‬ ‫پیمانکار‬ ‫یا‬ ‫تیم‬ ‫اعضای‬ ‫کاری‬ ‫ساعات‬ ‫پیگیری‬
‫دستمزد‬ ،‫‌اند‬
‫ه‬‫داد‬ ‫انجام‬ ‫که‬ ‫کاری‬ ‫بابت‬ ‫همه‬ ‫و‬ ‫است‬ ‫‌موقع‬
‫ه‬‫ب‬ ‫افراد‬ ‫پرداختی‬ ‫که‬ ‫شوند‬ ‫مطمئن‬ ‫تا‬ ‫کنند‬ ‫تایید‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫پیگیری‬ ‫را‬
.‫‌گیرند‬
‫ی‬‫م‬
‫همکاری‬ ‫ابزارهای‬
‫در‬ ‫افراد‬ ‫‌که‬
‫ن‬‫ای‬ ‫به‬ ‫برسد‬ ‫چه‬ ،‫است‬ ‫سخت‬ ‫کافی‬ ‫اندازه‬ ‫به‬ ‫اتاق‬ ‫یک‬ ‫فضای‬ ‫در‬ ‫همکاری‬ .‫است‬ ‫بیشتر‬ ‫وری‬ ‫بهره‬ ‫و‬ ‫کارایی‬ ‫برای‬ ‫صرفا‬ ‫همکاری‬
.‫باشند‬ ‫داشته‬ ‫قرار‬ ‫زمانی‬ ‫مختلف‬ ‫مناطق‬
‫به‬ ‫پاسخگویی‬ ‫زمان‬ ‫‌توانید‬
‫ی‬‫م‬ ‫همکاری‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ،‫باشد‬ ‫خارجی‬ ‫مشتری‬ ‫یا‬ ‫دور‬ ‫راه‬ ‫از‬ ‫کارمند‬ ‫زیادی‬ ‫تعداد‬ ‫دارای‬ ‫شما‬ ‫تیم‬ ‫خواه‬
‫هنگام‬ ‫یا‬ ‫پروژه‬ ‫اتمام‬ ‫از‬ ‫بعد‬ ‫‌های‬
‫ی‬‫بررس‬ ‫هنگام‬ ‫‌تواند‬
‫ی‬‫م‬ ‫‌ویژه‬
‫ه‬‫ب‬ ‫امر‬ ‫این‬ .‫نمایید‬ ‫کمک‬ ‫پروژه‬ ‫حیاتی‬ ‫ارتباطات‬ ‫برقراری‬ ‫به‬ ‫و‬ ‫داده‬ ‫کاهش‬ ‫را‬ ‫ایمیل‬
.‫باشد‬ ‫مفید‬ ،‫بزرگ‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫مکالمات‬ ‫و‬ ‫پروژه‬ ‫مهم‬ ‫‌های‬‫پرونده‬ ‫جستجوی‬
‫پروژه‬ ‫مدیریت‬ ‫‌های‬
‫ش‬‫نق‬
‫به‬ ‫زمانی‬ ‫پروژه‬ ‫یک‬ .‫دارند‬ ‫خاصی‬ ‫‌های‬
‫ل‬‫شغ‬ ‫افراد‬ ‫این‬ .‫است‬ ‫‌پذیر‬
‫ن‬‫امکا‬ ‫افراد‬ ‫توسط‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫تکمیل‬ ‫نیستند؛‬ ‫مراحل‬ ‫و‬ ‫ابزار‬ ‫فقط‬ ‫‌ها‬
‫ه‬‫پروژ‬
‫سیالیت‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ‫‌هایی‬
‫ش‬‫رو‬ ‫که‬ ‫حالی‬ ‫در‬ .‫باشند‬ ‫شده‬ ‫بیان‬ ‫‌خوبی‬
‫ه‬‫ب‬ ‫افراد‬ ‫‌های‬
‫ش‬‫نق‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫کار‬ ‫شکل‬ ‫بهترین‬
:‫هستند‬ ‫پروژه‬ ‫یک‬ ‫در‬ ‫موجود‬ ‫اصلی‬ ‫‌های‬
‫ش‬‫نق‬ ‫زیر‬ ‫موارد‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫فراهم‬ ‫بیشتری‬
•
:‫پروژه‬ ‫حامی‬
‫این‬ ‫از‬ ‫‌ها‬
‫ن‬‫آ‬ ‌
‫م‬‫تی‬ ‫و‬ ‫‌اند‬
‫ه‬‫کرد‬ ‫مطرح‬ ‫را‬ ‫پروژه‬ ‫ایده‬ ‫که‬ ‫هستند‬ ‫ارشدی‬ ‫مدیر‬ ‫اغلب‬ ‫‌ها‬
‫ن‬‫آ‬ .‫است‬ ‫نتیجه‬ ‫مسئول‬ ‫شخص‬ ‫این‬
‫‌ها‬
‫ن‬‫آ‬ ،‫نهایت‬ ‫در‬ .‫‌کند‬
‫ی‬‫م‬ ‫حمایت‬ ‫فروش‬ ‫آنالین‬ ‫ابزار‬ ‫معرفی‬ ‫برای‬ ‫‌ای‬
‌
‫ه‬‫پروژ‬ ‫از‬ ،‫فروش‬ ‫مدیر‬ ،‫مثال‬ ‫‌عنوان‬
‫ه‬‫ب‬ .‫‌شود‬
‫ی‬‫م‬ ‫‌مند‬
‫ه‬‫بهر‬ ‫مزیت‬
‫دارند؛‬ ‫وجود‬ ‫نیز‬ ‫پروژه‬ ‫اجرایی‬ ‫حامی‬ ‫مانند‬ ‫پروژه‬ ‫حامیان‬ ‫از‬ ‫مختلفی‬ ‫سطح‬ ،‫سازمان‬ ‫به‬ ‫بسته‬ .‫‌دهند‬
‫ی‬‫م‬ ‫نشان‬ ‫را‬ ‫پروژه‬ ‫مشتریان‬
•
:‫پروژه‬ ‫مدیر‬
‫و‬ ‫‌تر‬
‫گ‬‫بزر‬ ‫همچنین‬ ‫و‬ ‫‌یافته‬
‫ن‬‫ساما‬ ‫و‬ ‫‌تر‬
‫ی‬‫رسم‬ ‫‌های‬
‫ر‬‫ساختا‬ ‫در‬ .‫است‬ ‫کار‬ ‫سازماندهی‬ ‫و‬ ‫تیم‬ ‫هدایت‬ ‫مسئول‬ ‫شخص‬ ‫این‬
‫مدیران‬ .‫ندارند‬ ‫احتیاج‬ ‫گواهینامه‬ ‫به‬ ‫پروژه‬ ‫مدیران‬ ،‫‌تر‬
‫ی‬‫غیررسم‬ ‫‌های‬
‫ن‬‫سازما‬ ‫در‬ .‫هستند‬ ‫گواهینامه‬ ‫دارای‬ ‫پروژه‬ ‫مدیران‬ ،‫‌تر‬
‫ه‬‫پیچید‬
‫دارند؛‬ ‫را‬ ...‫و‬ ‫هزینه‬ ‫برآورد‬ ،‫منابع‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫شامل‬ ‫پروژه‬ ‫گزارش‬ ‫و‬ ‫نظارت‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫وظیفه‬ ‫پروژه‬
•
:‫‌کننده‬
‫ن‬‫تامی‬
‫خارجی‬ ‫پیمانکار‬ ‫یک‬ ‫یا‬ ‫توسعه‬ ‫تیم‬ ‫مانند‬ ‫داخلی‬ ‫‌کننده‬
‫ن‬‫تامی‬ ‫یک‬ ‫است‬ ‫ممکن‬ ‫است‬ ‫کار‬ ‫انجام‬ ‫حال‬ ‫در‬ ‫که‬ ‫شخصی‬
‫معرفی‬ ‫تیم‬ ‫به‬ ،‫باشند‬ ‫پروژه‬ ‫مدیر‬ ‫یا‬ ‫فنی‬ ‫کارشناس‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫اصلی‬ ‫تماس‬ ‫نقطه‬ ‫توسط‬ ‫پروژه‬ ‫تیم‬ ‫در‬ ‫‌کننده‬
‫ن‬‫تامی‬ .‫باشد‬
‫‌شود؛‬
‫ی‬‫م‬
•
:‫تیم‬ ‫عضو‬
‫دستیابی‬ ‫برای‬ ‫که‬ ‫هستند‬ ‫‌ای‬
‫ه‬‫حرف‬ ‫افرادی‬ ‫تیم‬ ‫اعضای‬ .‫است‬ ‫شده‬ ‫داده‬ ‫تخصیص‬ ‫پروژه‬ ‫از‬ ‫بخشی‬ ‫انجام‬ ‫برای‬ ‫که‬ ‫شخصی‬
‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫نیاز‬ ‫تا‬ ‫باشند‬ ‫تعامل‬ ‫در‬ ‫کاربران‬ ‫با‬ ‫و‬ ‫کنند‬ ‫تکمیل‬ ‫را‬ ‫تحویل‬ ‫قابل‬ ‫موارد‬ ‫که‬ ‫دارند‬ ‫وظیفه‬ ‫‌ها‬
‫ن‬‫آ‬ .‫‌کنند‬
‫ی‬‫م‬ ‫کار‬ ‫پروژه‬ ‫اهداف‬ ‫به‬
‫هستند؛‬ ‫فرایند‬ ‫مستندسازی‬ ‫به‬ ‫موظف‬ ‫افراد‬ ‫این‬ ‫غالبا‬ .‫کنند‬ ‫درک‬
•
:‫‌نفعان‬
‫ی‬‫ذ‬
‫عموم‬ ‫یا‬ ‫سازمان‬ ‫یک‬ ‫در‬ ‫داخلی‬ ‫آژانسی‬ ‫یا‬ ‫گروه‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫است‬ ‫ممکن‬ .‫دارند‬ ‫پروژه‬ ‫در‬ ‫سهمی‬ ‫یا‬ ‫منافع‬ ‫که‬ ‫گروهی‬ ‫یا‬ ‫فرد‬
،‫پروژه‬ ‫حیات‬ ‫چرخه‬ ‫طول‬ ‫در‬ ،‫‌نفعان‬
‫ی‬‫ذ‬ ‫و‬ ‫پروژه‬ ‫بین‬ ‫ارتباط‬ ‫برقراری‬ ‫برای‬ ‫معموال‬ ‫پروژه‬ ‫مدیر‬ .‫باشند‬ ‫‌المنفعه‬
‫م‬‫عا‬ ‫پروژه‬ ‫یک‬ ‫در‬ ‫مردم‬
‫است؛‬ ‫عملکرد‬ ‫و‬ ‫دستاوردها‬ ‫درباره‬ ‫بازخورد‬ ‫دنبال‬ ‫به‬ ،‫‌ها‬
‫ن‬‫آ‬ ‫انتظارات‬ ‫مدیریت‬ ‫حین‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫کار‬
•
:‫مشتریان‬
.‫‌شود‬
‫ی‬‫م‬ ‫داده‬ ‫تحویل‬ ‫‌ها‬
‫ن‬‫آ‬ ‫به‬ ‫پروژه‬ ‫نهایی‬ ‫و‬ ‫اصلی‬ ‫مولفه‬ ‫یا‬ ‫پروژه‬ ‫که‬ ‫فردی‬ ‫یا‬ ‫گروه‬
‫پروژه‬ ‫مدیریت‬ ‫‌های‬
‫ی‬‫متدلوژ‬
‫معمول‬ ‫رویکردهای‬ ‫از‬ ‫برخی‬ ‫زیر‬ ‫در‬ .‫‌اند‬
‫ه‬‫پرداخت‬ ‫پروژه‬ ‫اجرای‬ ‫به‬ ،‫آزموده‬ ‫‌هایی‬
‫ش‬‫رو‬ ‫با‬ ‫افراد‬ ‫‌ها‬
‫ل‬‫سا‬ ‫طی‬ ،‫کاری‬ ‫دوباره‬ ‫از‬ ‫شما‬ ‫نجات‬ ‫برای‬
.‫‌اند‬
‫ه‬‫شد‬ ‫بیان‬ ‫پروژه‬ ‫مدیریت‬
( ‫آبشاری‬
Waterfall Project Management
)
،‫‌سازید‬
‫ی‬‫م‬ ‫‌حل‬
‫ه‬‫را‬ ،‫‌دهید‬
‫ی‬‫م‬ ‫قرار‬ ‫یکدیگر‬ ‫کنار‬ ‫را‬ ‫طرح‬ ،‫‌شوید‬
‫ی‬‫م‬ ‫روبرو‬ ‫الزامات‬ ‫با‬ .‫است‬ ‫کار‬ ‫تحویل‬ ‫برای‬ ‫خطی‬ ‫رویکرد‬ ‫یک‬ ،‫آبشاری‬ ‫مدل‬
.‫‌کنید‬
‫ی‬‫م‬ ‫منتقل‬ ‫بعدی‬ ‫مرحله‬ ‫به‬ ‫را‬ ‫آن‬ ‫سپس‬ ‫و‬ ‫‌کنید‬
‫ی‬‫م‬ ‫اجرا‬ ‫و‬ ‫آزمون‬
‫‌دانید‬
‫ی‬‫نم‬ ‫واقعا‬ ‫که‬ ‫زمانی‬ .‫است‬ ‫خوب‬ ،‫‌رود‬
‫ی‬‫م‬ ‫انتظار‬ ‫مسیر‬ ‫طول‬ ‫در‬ ‫کمی‬ ‫تغییرات‬ ‫یا‬ ‫است‬ ‫واضح‬ ‫‌ها‬
‫ن‬‫آ‬ ‫الزامات‬ ‫که‬ ‫‌هایی‬
‫ه‬‫پروژ‬ ‫برای‬ ،‫روش‬ ‫این‬
.‫کنید‬ ‫اجتناب‬ ‫روش‬ ‫این‬ ‫از‬ ،‫نیست‬ ‫مشخص‬ ‫الزامات‬ ‫و‬ ‫برسید‬ ‫نهایی‬ ‫نتیجه‬ ‫به‬ ‫چگونه‬
( ‫چابک‬
Agile Project Management
)
( ‫اجایل‬ ‫یا‬ ‫چابک‬ ‫پروژه‬ ‫مدیریت‬
Agile
‫بسیار‬ ‫نیز‬ ‫بازاریابی‬ ‫مانند‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫دیگر‬ ‫انواع‬ ‫در‬ ‫اما‬ ‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫در‬ ‫اغلب‬ )
‫‌که‬
‫ن‬‫ای‬ ‫از‬ ‫قبل‬ ‫ممکن‬ ‫جای‬ ‫تا‬ ‫تیم‬ ‫و‬ ‫شده‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫کار‬ .‫است‬ ‫کوتاه‬ ‫زمانی‬ ‫‌های‬
‫ه‬‫باز‬ ‫در‬ ‫سریع‬ ‫تکراری‬ ‫کار‬ ‫شامل‬ ‫روش‬ ‫این‬ .‫است‬ ‫شده‬ ‫رایج‬
.‫‌دهد‬
‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫آن‬ ،‫شود‬ ‫بعدی‬ ‫الزامات‬ ‫مجموعه‬ ‫وارد‬
‫در‬ ‫تغییر‬ ‫و‬ ‫‌کنید‬
‫ی‬‫م‬ ‫کار‬ ‫سنتی‬ ‫فضای‬ ‫در‬ ‫که‬ ‫هنگامی‬ .‫است‬ ‫خوب‬ ،‫دارند‬ ‌
‫ت‬‫فعالی‬ ‫تکرار‬ ‫و‬ ‫سریع‬ ‫ترکیب‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫‌هایی‬
‫ه‬‫پروژ‬ ‫برای‬ ‫روش‬ ‫این‬
.‫کنید‬ ‫اجتناب‬ ‫روش‬ ‫این‬ ‫از‬ ،‫است‬ ‫نشده‬ ‫درک‬ ‫حتی‬ ‫یا‬ ‫تکمیل‬ ‫هنوز‬ ‫چابک‬ ‫‌های‬
‫ش‬‫رو‬
‫آبشاری؟‬ ‫یا‬ ‫چابک‬ ‫متدولوژی‬ :‫مرتبط‬ ‫مطلب‬
( ‫اسکرام‬
Scrum Project Management
)
( ‫اسپرینت‬ ‫بر‬ ‫مبتنی‬ ‫و‬ ‫کوتاه‬ ‫روشی‬ ‫اسکرام‬
Sprint
‫از‬ ‫‌تر‬
‫م‬‫ک‬ ‫‌های‬
‫م‬‫تی‬ ‫در‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ )
۱۰
‫‌ای‬
‫ه‬‫چرخ‬ ‫اغلب‬ ‫روش‬ ‫این‬ ‫است؛‬ ‫ایدئال‬ ‫نفر‬
( ‫مستر‬ ‫اسکرام‬ ‫را‬ ‫فرایند‬ ‫این‬ .‫است‬ ‫اسکرام‬ ‫‌ی‬
‫ه‬‫روزان‬ ‫جلسات‬ ‫همان‬ ‫یا‬ ‫روزانه‬ ‫کوتاه‬ ‫جلسات‬ ‫شامل‬ ‫و‬ ‫دارد‬ ‫‌ای‬
‫ه‬‫دوهفت‬
Scrum master
)
( ‫چابک‬ ‫چارچوب‬ ‫در‬ ‫اسکرام‬ .‫‌کند‬
‫ی‬‫م‬ ‫هدایت‬
agile framework
( ‫زمانی‬ ‫‌های‬
‫ت‬‫محدودی‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫کار‬ )
time boxes
‫و‬ ‫تعامل‬ ،)
( ‫محصول‬ ‫‌الگ‬
‫ک‬‫ب‬ ،‫تیمی‬ ‫همکاری‬
Product Backlog
.‫دارد‬ ‫بازخورد‬ ‫‌های‬
‫ه‬‫چرخ‬ ‫و‬ )
( ‫چابک‬ ‫سازمان‬ :‫مرتبط‬ ‫مطلب‬
Agile
‫چیست؟‬ )
۷
‫چابک‬ ‌
‫ن‬‫سازما‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫گام‬
( ‫ناب‬
Lean Project Management
)
‫جنبش‬ ‫ظهور‬ ‫زمان‬ ‫از‬ ‫ناب‬ ‫روش‬
the Lean Startup
‫محصول‬ ‫توسعه‬ ‫برای‬ ‫تکراری‬ ‫رویکرد‬ ‫یک‬ ‫از‬ ‫که‬ ‫است‬ ‫داشته‬ ‫متفاوتی‬ ‫معنای‬
.‫است‬ ،‫پروژه‬ ‫دستاوردهای‬ ‫روی‬ ‫بر‬ ‫بازخورد‬ ‫دریافت‬ ‫جهت‬ ‫اغلب‬ ‫و‬ ‫نهایی‬ ‫کاربران‬ ‫سریع‬ ‫ورود‬ ‫شامل‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬
.‫است‬ ‫درگیر‬ ‫افراد‬ ‫مؤثر‬ ‫همکاری‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫فرایندها‬ ‫در‬ ‫اتالف‬ ‫‌بردن‬
‫ن‬‫‌بی‬
‫ز‬‫ا‬ ‫برای‬ ‫راهی‬ ،‫ناب‬ ‫پروژه‬ ‫مدیریت‬ ،‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫سنتی‬ ‫‌طور‬
‫ه‬‫ب‬
‫یک‬ ‫روی‬ ‫بر‬ ‫فقط‬ ‫همزمان‬ ‫که‬ ‫است‬ ‫آن‬ ‫روش‬ ‫این‬ ‫معمول‬ ‫ویژگی‬ ‫یک‬ .‫‌شود‬
‫ی‬‫م‬ ‫ازکارافتادگی‬ ‫حذف‬ ‫و‬ ‫‌ها‬
‫م‬‫تی‬ ‫بین‬ ‫جابجایی‬ ‫سهولت‬ ‫باعث‬ ‫امر‬ ‫این‬
.‫‌کند‬
‫ی‬‫م‬ ‫کار‬ ‫پروژه‬
‫‌های‬
‫ش‬‫بخ‬ ‫که‬ ‫نیستیم‬ ‫مطمئن‬ ‫که‬ ‫هنگامی‬ .‫است‬ ‫مفید‬ ،‫دارند‬ ‫تمرکز‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫مهمی‬ ‫اقدامات‬ ‫و‬ ‫فرایند‬ ‫بهبود‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ ،‫ناب‬ ‫روش‬
.‫‌کنیم‬
‫ی‬‫م‬ ‫اجتناب‬ ‫روش‬ ‫این‬ ‫از‬ ،‫باشند‬ ‫سودمند‬ ،‫فرایندها‬ ‫از‬ ‫آسان‬ ‫استفاده‬ ‫و‬ ‫‌سازی‬
‫ه‬‫ساد‬ ‫در‬ ‫تالش‬ ‫با‬ ‫‌توانند‬
‫ی‬‫م‬ ‫کاری‬
( ‫کانبان‬
Kanban
)
‫و‬ ‫کار‬ ‫جریان‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫مدیریت‬ ‫کانبان‬ ‫رد‬‫ُب‬ ‫روی‬ ‫وظایف‬ ‫قراردادن‬ ‫با‬ ‫را‬ ‫کار‬ ‫جریان‬ ‫که‬ ‫است‬ ‫پروژه‬ ‫مدیر‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫بصری‬ ‫روشی‬ ‫کانبان‬
‫‌های‬
‫ه‬‫پروژ‬ ‫در‬ ‫ناب‬ ‫تولیدی‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫برای‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫بهتر‬ ‫را‬ ‫‌ها‬
‫ی‬‫ناکارآمد‬ ‫کانبان‬ .‫باشد‬ ‫شفاف‬ ‫‌کنندگان‬
‫ت‬‫مشارک‬ ‫‌ی‬
‫ه‬‫هم‬ ‫برای‬ ‫پروژه‬ ‫پیشرفت‬
.‫‌است‬
‫ه‬‫شد‬ ‫استفاده‬ ‫چابک‬
‫از‬ ‫چابک‬ ‫‌های‬
‫م‬‫تی‬ .‫‌است‬
‫ه‬‫شد‬ ‫ایجاد‬ ‫کانبان‬ ‫‌های‬
‫ش‬‫رو‬ ‫و‬ ‫ابزارها‬ ‫برای‬ ‫جدیدی‬ ‫کاربردهای‬ ،‫ترلو‬ ‫مانند‬ ‫بصری‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫تابلوهای‬ ‫ظهور‬ ‫با‬
.‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫‌ی‬
‫ه‬‫توسع‬ ‫در‬ ‫‌الگ‬
‫ک‬‫ب‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫و‬ ‫کاربران‬ ‫‌های‬
‫ن‬‫داستا‬ ‫کردن‬ ‫‌برد‬
‫ی‬‫استور‬ ‫برای‬ ‫کانبان‬ ‫تابلوهای‬
۶
( ‫سیگما‬
Six Sigma
)
‫بر‬ ‫آماری‬ ‫تحلیل‬ ‫مانند‬ ‫کیفیت‬ ‫مدیریت‬ ‫راهبردهای‬ ‫از‬ ‫روش‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫کیفیت‬ ‫افزایش‬ ‫به‬ ‫پروژه‬ ‫مشکالت‬ ‫شناسایی‬ ‫با‬ ‫سیگما‬ ‫شش‬
‫نوعی‬ .‫‌گیرد‬
‫ی‬‫م‬ ‫کار‬ ‫به‬ ،‫دارند‬ ‫باالیی‬ ‫تخصص‬ ‫خود‬ ‫شغل‬ ‫در‬ ‫که‬ ‫را‬ ‫کارمندانی‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫استفاده‬ ‫تجربی‬ ‫‌های‬
‫ه‬‫داد‬ ‫اساس‬
۶
‫نام‬ ‫به‬ ‫سیگما‬
۶
.‫دهد‬ ‫کاهش‬ ‫را‬ ‫هدررفت‬ ‫تا‬ ‫‌است‬
‫ه‬‫شد‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫ناب‬ ‫روش‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫ناب‬ ‫سیگمای‬
‫را‬ ‫اهمیت‬ ‫‌ترین‬
‫ش‬‫بی‬ ،‫داریم‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫به‬ ‫دستیابی‬ ‫انتظار‬ ‫که‬ ‫پایداری‬ ‫نتایج‬ ‫به‬ ‫دستیابی‬ ‫برای‬ ‫مداوم‬ ‫تالش‬ ‫که‬ ‫است‬ ‫این‬ ‫بر‬ ‫اعتقاد‬ ‫روش‬ ‫این‬ ‫در‬
‫‌ها‬
‫ه‬‫پروژ‬ ‫کیفیت‬ ‫تا‬ ‫کنند‬ ‫مشارکت‬ ،‫پایین‬ ‫تا‬ ‫باال‬ ‫از‬ ،‫سازمان‬ ‫تمام‬ ‫است‬ ‫الزم‬ .‫داد‬ ‫ارتقا‬ ‫و‬ ‫کرد‬ ‫تعریف‬ ‫را‬ ‫فرایندها‬ ‫‌توان‬
‫ی‬‫م‬ .‫دارد‬ ‫موفقیت‬ ‫برای‬
.‫شود‬ ‫حفظ‬
۷
( ‫بحرانی‬ ‫مسیر‬ ‫روش‬ .
CPM
)
( ‫بحرانی‬ ‫مسیر‬ ‫روش‬
Critical Path Method
‫در‬ ‫را‬ ‫کار‬ ‫شکست‬ ‫ساختار‬ ‫در‬ ‫‌شده‬
‫ص‬‫مشخ‬ ‫کارهای‬ ‌
‫م‬‫تما‬ ‫که‬ ‫بسازد‬ ‫مدلی‬ ‫‌کند‬
‫ی‬‫م‬ ‫تالش‬ )
‫که‬ ‫‌ای‬
‫ی‬‫بحران‬ ‫‌های‬
‫ت‬‫فعالی‬ ،‫اطالعات‬ ‫این‬ ‫به‬ ‫دستیابی‬ ‫با‬ .‫‌هاست‬
‫ن‬‫آ‬ ‫اجرای‬ ‫زمانی‬ ‫‌ی‬
‫ه‬‫دور‬ ‫و‬ ‫پروژه‬ ‫وظایف‬ ‫‌ی‬
‫ه‬‫دنبال‬ ‫شناسایی‬ ‫آن‬ ‫هدف‬ .‫بگیرد‬ ‫بر‬
.‫‌شوند‬
‫ی‬‫م‬ ‫مشخص‬ ،‫نبیند‬ ‫آسیب‬ ‫پروژه‬ ‫‌ی‬
‫ه‬‫برنام‬ ‫تا‬ ‫برسند‬ ‫پایان‬ ‫به‬ ‫مشخص‬ ‫زمان‬ ‫در‬ ‫باید‬
۸
( ‫پروژه‬ ‫مدیریت‬ ‫بحرانی‬ ‫‌ی‬
‫ه‬‫زنجیر‬ .
CCPM
)
( ‫پروژه‬ ‫مدیریت‬ ‫بحرانی‬ ‫‌ی‬
‫ه‬‫زنجیر‬ ‫روش‬ ‫در‬ ‫پروژه‬ ‫مدیران‬
Critical Chain Project Management
‫اتمام‬ ‫برای‬ ‫الزم‬ ‫منابع‬ ‫بر‬ )
‫انعطاف‬ ‫حفظ‬ ‫و‬ ‫منابع‬ ‫تعادل‬ ‫بر‬ ‫تمرکز‬ ‫زیرا‬ ،‫دارد‬ ‫‌تری‬
‫م‬‫ک‬ ‫فنی‬ ‫پیچیدگی‬ ‫روش‬ ‫این‬ .‫‌کنند‬
‫ی‬‫م‬ ‫تمرکز‬ )‫دفترها‬ ‫فضای‬ ،‫تجهیزات‬ ،‫‌ها‬
‫م‬‫(تی‬ ‫پروژه‬
.‫شود‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫یا‬ ‫وظایف‬ ‫ترتیب‬ ‫به‬ ‫زیادی‬ ‫توجه‬ ‫نیست‬ ‫الزم‬ ‫و‬ ‫‌هاست‬
‫ن‬‫آ‬
،‫‌وساز‬
‫ت‬‫ساخ‬ ‫مانند‬ ‫مختلفی‬ ‫‌های‬
‫ه‬‫حیط‬ ‫در‬ ‫‌چنین‬
‫م‬‫ه‬ ‫و‬ ‫بزرگ‬ ‫‌های‬
‫ت‬‫شرک‬ ‫در‬ ‫هم‬ ‫و‬ ‫کوچک‬ ‫‌های‬
‫ت‬‫شرک‬ ‫در‬ ‫هم‬ ‫بحرانی‬ ‫‌ی‬
‫ه‬‫زنجیر‬ ‫روش‬ ‫از‬
‫و‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌ی‬
‫ه‬‫توسع‬
( ‫توسعه‬ ‫و‬ ‫تحقیق‬
R&D
)
.‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫‌ها‬
‫ی‬‫فناور‬
‫شویم؟‬ ‫پروژه‬ ‫مدیر‬ ‫یک‬ ‫چگونه‬
‫به‬ ‫نیاز‬ ‫شغل‬ ‫این‬ .‫بدهند‬ ‫انگیزه‬ ‫خود‬ ‫گروه‬ ‫به‬ ،‫تیم‬ ‫پیشرفت‬ ‫گزارش‬ ‫و‬ ‫نظارت‬ ،‫‌ریزی‬
‫ه‬‫برنام‬ ‫بر‬ ‫عالوه‬ ‫باید‬ ‫‌ها‬
‫ن‬‫آ‬ .‫هستند‬ ‫رهبر‬ ،‫پروژه‬ ‫مدیران‬
.‫کند‬ ‫برقرار‬ ‫ارتباط‬ ‫پروژه‬ ‫تیم‬ ‫و‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫با‬ ‫روشنی‬ ‫به‬ ‫بتواند‬ ‫و‬ ‫باشد‬ ‫قوی‬ ‫ارتباطی‬ ‫های‬ ‫مهارت‬ ‫دارای‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ .‫دارد‬ ‫زیادی‬ ‫‌های‬
‫ت‬‫مهار‬
‫مانند‬ ‫نمایندگی‬ ‫طریق‬ ‫از‬ ‫معمول‬ ‫‌طور‬
‫ه‬‫ب‬ ‫رسمی‬ ‫پروژه‬ ‫مدیران‬
PMI
‫یا‬
2
PRINCE
،‫گواهینامه‬ ‫صدور‬ ‫از‬ ‫پس‬ .‫‌کنند‬
‫ی‬‫م‬ ‫دریافت‬ ‫گواهینامه‬
( ‫‌ای‬
‫ه‬‫حرف‬ ‫توسعه‬ ‫واحدهای‬ ‫گردآوری‬ ‫جهت‬ ،‫اضافی‬ ‫‌های‬
‫ش‬‫آموز‬ ‫با‬ ‫را‬ ‫خود‬ ‫‌های‬
‫ه‬‫گواهینام‬ ‫باید‬ ‫‌ها‬
‫ن‬‫آ‬
PDU
.‫نمایند‬ ‫حفظ‬ ،)
‫و‬ ‫تجاری‬ ‫‌های‬
‫ت‬‫مهار‬ ‫تا‬ ‫‌اند‬
‫ه‬‫یافت‬ ‫گسترش‬ ‫اخیرا‬ ،‫‌اند‬
‫ه‬‫شد‬ ‫گواهی‬ ‫که‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫مدیران‬ ‫صالحیت‬ ‫استانداردهای‬ ،‫شد‬ ‫ذکر‬ ‫قبال‬ ‫که‬ ‫‌طور‬
‫ن‬‫هما‬
‫گواهینامه‬ .‫شوند‬ ‫شامل‬ ‫را‬ ‫بیشتری‬ ‫رهبری‬
PMI
‫استانداردهای‬ ‫و‬
PDU
( ‫پروژه‬ ‫مدیریت‬ ‫دانش‬ ‫پیکره‬ ‫راهنمای‬ ‫کتاب‬ ‫در‬ ‫‌توانید‬
‫ی‬‫م‬ ‫را‬
PMBOK
.‫است‬ ‫دشوار‬ ،‫گواهینامه‬ ‫رسمی‬ ‫آموزش‬ ‫بدون‬ ،‫پروژه‬ ‫مدیریت‬ ‫فنی‬ ‫‌های‬
‫ه‬‫جنب‬ ‫به‬ ‫دستیابی‬ ‫اما‬ .‫کنید‬ ‫پیدا‬ ‫‌ها‬
‫ن‬‫آ‬ ‫سایت‬ ‫در‬ ‫یا‬ )
‫پروژه‬ ‫مدیریت‬ ‫تاریخچه‬
‫از‬ ‫‌تر‬
‫ل‬‫قب‬ ‫حتی‬ ‫و‬ ‫جیزه‬ ‫بزرگ‬ ‫اهرام‬ ،‫روم‬ ‫‌های‬
‫ت‬‫قنا‬ ،‫چین‬ ‫دیوار‬ ‫از‬ ‫قبل‬ ‫بشر‬ ‫واقع‬ ‫در‬ ‫اما‬ ،‫بدانید‬ ‫جدیدی‬ ‫نسبتا‬ ‫رشته‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫شما‬ ‫شاید‬
‫که‬ ‫ببندید‬ ‫شرط‬ ‫‌توانید‬
‫ی‬‫م‬ .‫باشند‬ ‫شده‬ ‫ساخته‬ ‫‌روشی‬
‫ک‬‫ت‬ ‫صورت‬ ‫به‬ ‫اهرام‬ ‫‌که‬‫کرد‬ ‫تصور‬ ‫‌توان‬
‫ی‬‫نم‬ .‫است‬ ‫داشته‬ ‫برعهده‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ،‫آن‬
.‫است‬ ‫داشته‬ ‫وجود‬ ‫قبال‬ ،‫‌شناسیم‬
‫ی‬‫م‬ ‫پروژه‬ ‫مدیریت‬ ‫‌عنوان‬
‫ه‬‫ب‬ ‫امروزه‬ ‫که‬ ‫چیزی‬ ‫هر‬ ‫و‬ ‫بودجه‬ ،‫‌ها‬
‫م‬‫تی‬ ،‫‌بندی‬
‫ن‬‫زما‬ ،‫‌ها‬
‫ه‬‫برنام‬
‫دهه‬ ‫در‬ ،‫کرده‬ ‫خود‬ ‫معطوف‬ ‫را‬ ‫توجه‬ ‫و‬ ‫هست‬ ‫امروز‬ ‫که‬ ‫صورتی‬ ‫به‬ ‫پروژه‬ ‫مدیریت‬ ‫رشته‬
۱۹۵۰
‫صنایع‬ ‫از‬ ‫بسیاری‬ ،‫زمان‬ ‫آن‬ ‫در‬ .‫کرد‬ ‫ظهور‬
‫محبوب‬ ‫گزینه‬ ‫و‬ ‫‌گرفت‬
‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ،‫گانت‬ ‫هنری‬ ‫نمودار‬ .‫بودند‬ ‫کرده‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ،‫تولید‬ ‫و‬ ‫مدیریت‬ ‫برای‬ ‫را‬ ‫‌ای‬
‫ه‬‫‌یافت‬
‫ر‬‫ساختا‬ ‫فرایندهای‬
.‫بود‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫برای‬
‫دهه‬ ‫از‬
۱۹۵۰
‫استفاده‬ ،‫‌کردند‬
‫ی‬‫م‬ ‫طراحی‬ ‫خودشان‬ ‫که‬ ‫سفارشی‬ ‫‌های‬
‫ش‬‫رو‬ ‫از‬ ‫اغلب‬ ‫و‬ ‫‌دادند‬
‫ی‬‫م‬ ‫انجام‬ ‫پروژه‬ ‫مدیریت‬ ‫‌ها‬
‫ل‬‫سا‬ ‫مردم‬ ،‫بعد‬ ‫به‬
( ‫پروژه‬ ‫مدیریت‬ ‫دانش‬ ‫پیکره‬ ‫راهنمای‬ ‫که‬ ‫زمانی‬ ‫موضوع‬ ‫این‬ .‫‌کردند‬
‫ی‬‫م‬
PMBOK
‫موسسه‬ ‫توسط‬ )
PMI
‫استاندارد‬ ‫‌عنوان‬
‫ه‬‫ب‬
ANSI
‫در‬
‫سال‬
۱۹۹۸
.‫کرد‬ ‫تغییر‬ ،‫شد‬ ‫معرفی‬
‫استاندارد‬ ‫یک‬ ‫اکنون‬ .‫است‬ ‫شده‬ ‫دیده‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫بزرگی‬ ‫تغییرات‬ ‫نیز‬ ‫گذشته‬ ‫سال‬ ‫چند‬ ‫در‬
ISO
‫که‬ ‫دارد‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬
‫سال‬ ‫در‬
۲۰۱۲
‫مدیریت‬ ‫برای‬ ‫فنی‬ ‫‌های‬
‫ت‬‫مهار‬ ‫و‬ ‫‌بندی‬
‫ن‬‫زما‬ ‫یادگیری‬ ‫از‬ ‫دیدگاه‬ ‫تغییر‬ ،‫تغییرات‬ ‫این‬ ‫تمام‬ ‫بین‬ ‫در‬ ‫تغییر‬ ‫بزرگترین‬ ‫اما‬ .‫شد‬ ‫ارائه‬
.‫دارند‬ ‫اهمیت‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫در‬ ‫افراد‬ ‫که‬ ‫بود‬ ‫موضوع‬ ‫این‬ ‫درک‬ ‫به‬ ‫‌ها‬
‫ه‬‫پروژ‬
‫‌های‬
‫ت‬‫مهار‬ ‫اثبات‬ ‫به‬ ‫ملزم‬ ‫‌ها‬
‫ن‬‫آ‬ ‫اکنون‬ .‫داشتند‬ ‫فنی‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫اصلی‬ ‫‌های‬
‫ت‬‫مهار‬ ‫اثبات‬ ‫به‬ ‫نیاز‬ ‫پروژه‬ ‫‌ای‬
‫ه‬‫حرف‬ ‫مدیران‬ ،‫سنتی‬ ‫‌طور‬
‫ه‬‫ب‬
.‫هستند‬ ‫هیجانی‬ ‫هوش‬ ‫و‬ ‫‌گری‬
‫ی‬‫مرب‬ ‫مانند‬ ‫رهبری‬ ‫‌های‬
‫ت‬‫مهار‬ ‫یا‬ ‫مشتری‬ ‫روابط‬ ‫و‬ ‫استراتژی‬ ‫مانند‬ ،‫‌وکار‬
‫ب‬‫کس‬ ‫مدیریت‬ ‫در‬ ‫‌تری‬
‫ه‬‫گسترد‬
‫آغاز‬ ‫یک‬ ‫پایان‬ :‫پروژه‬ ‫مدیریت‬
‫می‬ ،‫‌شود‬
‫ی‬‫م‬ ‫پروژه‬ ‫مدیریت‬ ‫وارد‬ ‫جدی‬ ‫‌طور‬
‫ه‬‫ب‬ ‫که‬ ‫کسی‬ ‫هر‬ .‫نیست‬ ‫‌طور‬
‫ن‬‫ای‬ ‫واقعا‬ ‫اما‬ ‫است؛‬ ‫کار‬ ‫پایان‬ ‫این‬ ‫که‬ ‫‌رسد‬
‫ی‬‫م‬ ‫نظر‬ ‫به‬
‫فقط‬ ‫ما‬ ‫که‬ ‫‌داند‬
.‫پرداختیم‬ ‫آن‬ ‫به‬ ‫سطحی‬ ‫‌طور‬
‫ه‬‫ب‬ ‫فقط‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫پیرامون‬ ‫‌هایمان‬
‫ه‬‫دانست‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ .‫‌ایم‬
‫ه‬‫کرد‬ ‫لمس‬ ‫را‬ ‫یخی‬ ‫کوه‬ ‫این‬ ‫نوک‬
‫‌چه‬
‫ن‬‫آ‬ .‫کند‬ ‫ناامید‬ ‫یا‬ ‫جذب‬ ‫را‬ ‫شما‬ ‫‌تواند‬
‫ی‬‫م‬ ‫موضوع‬ ‫این‬ ،‫عالقه‬ ‫صورت‬ ‫در‬ ‫و‬ ‫دارند‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫عناصری‬ ‫چه‬ ‫که‬ ‫‌دانید‬
‫ی‬‫م‬ ‫اکنون‬ ‫اما‬
‫همیشه‬ .‫دارد‬ ‫وجود‬ ‫یادگیری‬ ‫برای‬ ‫زیادی‬ ‫چیزهای‬ ‫نباشید؛‬ ‫مغرور‬ ‫فقط‬ .‫شد‬ ‫نخواهید‬ ‫خسته‬ ‫هرگز‬ ‫که‬ ‫است‬ ‫این‬ ‫کنیم‬ ‫تضمین‬ ‫‌توانیم‬
‫ی‬‫م‬ ‫که‬
.‫باشید‬ ‫کنجکاو‬
( ‫مایلستون‬
Milestone
‫چگونه‬ ‫و‬ ‫چیست‬ )
‫کنیم؟‬ ‫مشخص‬ ‫پروژه‬ ‫در‬ ‫را‬ ‫آن‬
‫در‬ ‫‌توانند‬
‫ی‬‫م‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫مشخص‬ ‫موردنظر‬ ‫هدف‬ ‫به‬ ‫رسیدن‬ ‫مسیر‬ ‫در‬ ‫را‬ ‫پروژه‬ ‫پیشرفت‬ ‫اصلی‬ ‫نقاط‬ ،‫پروژه‬ ‫عطف‬ ‫نقط‬ ‫یا‬ ‫پروژه‬ ‫های‬ ‫مایلستون‬
،‫بنابراین‬ ‫دارد؛‬ ‫بستگی‬ ‫کلی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫زمانی‬ ‫جدول‬ ‫به‬ ‫پروژه‬ ‫استون‬ ‫مایل‬ ‫تخمینی‬ ‫تاریخ‬ .‫دهند‬ ‫رخ‬ ‫تیم‬ ‫گروهی‬ ‫یا‬ ‫فردی‬ ‫‌های‬
‫ش‬‫تال‬ ‫‌ی‬
‫ه‬‫نتیج‬
( ‫مایلستون‬ ‫معنی‬ ‫معنی‬ ‫مطلب‬ ‫این‬ ‫در‬ .‫است‬ ‫ضروری‬ ‫ها‬ ‫مایلستون‬ ‫توسعه‬ ‫در‬ ‫پروژه‬ ‫مدیریت‬
Milestone
‫دادیم‬ ‫توضیح‬ ‫را‬ ‫پروژه‬ ‫کنترل‬ ‫در‬ )
.‫کرد‬ ‫پیگیری‬ ‫و‬ ‫مشخص‬ ‫پروژه‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫باید‬ ‫چطور‬ ‫و‬ ‫چیست‬ ‫مایلستون‬ ‫که‬ ‫پرداختیم‬ ‫این‬ ‫به‬ ‫و‬
( ‫مایلستون‬ ‫معنی‬
Milestone
‫چیست؟‬ ‫پروژه‬ ‫کنترل‬ ‫در‬ )
‫به‬ ‫نسبت‬ ‫است‬ ‫ممکن‬ ‫ها‬ ‫استون‬ ‫مایل‬ ‫تعیین‬ .‫‌دهد‬
‫ی‬‫م‬ ‫نشان‬ ‫مربوط‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫در‬ ‫را‬ ‫‌گیر‬
‫م‬‫چش‬ ‫‌های‬
‌
‫ت‬‫پیشرف‬ ‫که‬ ‫است‬ ‫هدفی‬ ‫پروژه‬ ‫مایلستون‬
،‫کلی‬ ‫حالت‬ ‫در‬ .‫‌باشد‬‫داشته‬ ‫وجه‬ ‫چندین‬ ‫‌که‬
‫ن‬‫ای‬ ‫یا‬ ‫بوده‬ ‫‌مدت‬
‫ی‬‫طوالن‬ ‫پروژه‬ ‫که‬ ‫هنگامی‬ ‫‌ویژه‬
‫ه‬‫ب‬ ،‫باشد‬ ‌
‫ح‬‫ارج‬ ‫کلی‬ ‫هدف‬ ‫تکمیل‬ ‫برای‬ ‫تالش‬
.‫‌شوند‬
‫ی‬‫م‬ ‫ایجاد‬ ‫‌تدریج‬
‫ه‬‫ب‬ ‫پروژه‬ ‫پایان‬ ‫تا‬ ‫که‬ ‫هستند‬ ‫رویدادهایی‬ ‫‌ها‬
‫ن‬‫مایلستو‬
‫معنی‬ ‫بهتر‬ ‫درک‬ ‫برای‬ ‫ادامه‬ ‫در‬
Milestone
.‫‌کنیم‬
‫ی‬‫م‬ ‫بررسی‬ ‫را‬ ‫‌وساز‬
‫ت‬‫ساخ‬ ‫صنعت‬ ‫در‬ ‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫از‬ ‫مثالی‬ ،‫پروژه‬ ‫کنترل‬ ‫در‬
‫پروژه‬ ‫مایلستون‬ ‫اولین‬ ،‫مثال‬ ‫برای‬ ‫کنند؛‬ ‫دنبال‬ ‫را‬ ‫خاصی‬ ‫مراحل‬ ‫باید‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫نظارت‬ ‫ساختمانی‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫بر‬ ‫پروژه‬ ‫مدیران‬ ‫که‬ ‫هنگامی‬
‫طی‬ ‫طبقات‬ ‫تکمیل‬ ‫‌تواند‬
‫ی‬‫م‬
۱
‫مدت‬ ‫ظرف‬ ‫ساختمان‬ ‫سقف‬ ‫تکمیل‬ ‫است‬ ‫ممکن‬ ‫بعدی‬ ‫‌ی‬
‫ه‬‫مرحل‬ ،‫آن‬ ‫از‬ ‫پس‬ ‫باشد؛‬ ‫هفته‬
۱
‫پایان‬ ‫در‬ .‫باشد‬ ‫ماه‬
‫های‬ ‫مایلستون‬ ‫‌ها‬
‫ل‬‫مثا‬ ‫این‬ ‫‌ی‬
‫ه‬‫هم‬ ،‫واقع‬ ‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫آن‬ ‫کردن‬ ‫وصل‬ ‫و‬ ‫گازرسانی‬ ‫سیستم‬ ‫وبرای‬ ‫دیگری‬ ‫استون‬ ‫مایل‬ ،‫جاری‬ ‫ماه‬
.‫شود‬ ‫تکمیل‬ ‫پروژه‬ ،‫نهایت‬ ‫در‬ ‫تا‬ ‫بیفتند‬ ‫اتفاق‬ ‫خاصی‬ ‫ترتیِب‬ ‫به‬ ‫باید‬ ‫زیرا‬ ،‫هستند‬ ‫پروژه‬ ‫این‬ ‫در‬ ‫اصلی‬
‫در‬ ‫را‬ ‫ها‬ ‫مایلستون‬ ‫این‬ ‫پروژه‬ ‫مدیران‬ ،‫معمول‬ ‫طور‬ ‌
‫ه‬‫ب‬ .‫‌کنند‬
‫ی‬‫م‬ ‫حفظ‬ ‫مشترک‬ ‫اهدافی‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫را‬ ‫تیم‬ ‫‌ی‬
‫ه‬‫انگیز‬ ‫معموال‬ ‫ها‬ ‫استون‬ ‫مایل‬
‫و‬ ‫کرده‬ ‫ایجاد‬ ‫پروژه‬ ‫ابتدای‬
‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ .‫‌کنند‬
‫ی‬‫م‬ ‫‌نظر‬
‫ل‬‫تباد‬ ‫و‬ ‫بحث‬ ‫پروژه‬ ‫تیم‬ ‫اعضای‬ ‫سایر‬ ‫با‬ ،‫‌ها‬
‫ن‬‫آ‬ ‫بودن‬ ‫منطقی‬ ‫از‬ ‫اطمینان‬ ‫برای‬
،‫دیگر‬ ‫عبارت‬ ‌
‫ه‬‫ب‬ ‫‌دهند؛‬
‫ی‬‫م‬ ‫انجام‬ ‫روزانه‬ ‫‌صورت‬‫به‬ ‫را‬ ‫پروژه‬ ‫کوچک‬ ‫‌های‬
‫ت‬‫فعالی‬ ‫تیم‬ ‫اعضای‬ ‫زیرا‬ ،‫هستند‬ ‫متفاوت‬ ‫پروژه‬ ‫‌های‬
‫ت‬‫فعالی‬ ‫با‬
‫ها‬ ‫مایلستون‬ ‫اما‬ ،‫باشند‬ ‫دیگران‬ ‫با‬ ‫تلفنی‬ ‫تماس‬ ‫چند‬ ‫برقراری‬ ‫یا‬ ‫ساخت‬ ‫‌ی‬
‫ه‬‫مراحل‬ ‫طی‬ ‫در‬ ‫تدارکات‬ ‫انجام‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫پروژه‬ ‫‌های‬
‫ت‬‫فعالی‬
.‫‌شود‬
‫ی‬‫م‬ ‫منتهی‬ ‫کلی‬ ‫پروژه‬ ‫تکمیل‬ ‫به‬ ‫نهایت‬ ‫در‬ ‫‌ها‬
‫ن‬‫آ‬ ‫از‬ ‫هریک‬ ‫تکمیل‬ ‫که‬ ‫هستند‬ ‫پروژه‬ ‫در‬ ‫مهمی‬ ‫مراحل‬
‫در‬ ‫که‬ ‫افرادی‬ ‫و‬ ‫‌کنید‬
‫ی‬‫م‬ ‫کار‬ ‫آن‬ ‫در‬ ‫که‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫نوع‬ ‫به‬ ‫بسته‬ .‫خوبیست‬ ‫مثال‬ ‫فوق‬ ‫‌وساز‬
‫ت‬‫ساخ‬ ‫‌ی‬
‫ه‬‫نمون‬ ،‫پروژه‬ ‫نهایی‬ ‫هدف‬ ‫‌که‬
‫ن‬‫ای‬ ‫از‬ ‫‌نظر‬
‫ف‬‫صر‬
.‫شوند‬ ‫شامل‬ ‫را‬ ‫نهایی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫تأیید‬ ‫و‬ ‫نیازها‬ ‫بررسی‬ ،‫پروژه‬ ‫تصویب‬ ‫‌توانند‬
‫ی‬‫م‬ ‫ها‬ ‫استون‬ ‫مایل‬ ‫از‬ ‫برخی‬ ،‫دارند‬ ‫مشارکت‬ ‫آن‬
.‫‌پردازیم‬
‫ی‬‫م‬ ‫پروژه‬ ‫در‬ ‫استون‬ ‫مایل‬ ‫‌کردن‬
‫ص‬‫مشخ‬ ‫چگونگی‬ ‫به‬ ‫مطلب‬ ‫‌ی‬
‫ه‬‫ادام‬ ‫در‬ ،‫چیست‬ ‫مایلستون‬ ‫دادیم‬ ‫توضیح‬ ‫که‬ ‫اکنون‬
‫معنی‬ ‫و‬ ‫چیست‬ ‫استون‬ ‫مایل‬ ‫دریافتید‬ ‫که‬ ‫اکنون‬
Milestone
‫آن‬ ‫کردن‬ ‫مشخص‬ ‫‌های‬
‫ه‬‫را‬ ‫به‬ ‫ادامه‬ ‫در‬ ‌
،‫دادیم‬ ‫توضیح‬ ‫را‬ ‫پروژه‬ ‫کنترل‬ ‫در‬
،‫ادامه‬ ‫در‬ .‫کنید‬ ‫پیگیری‬ ‫و‬ ‫تنظیم‬ ‫را‬ ‫پروژه‬ ‫های‬ ‫مایلستون‬ ‫‌توانید‬
‫ی‬‫م‬ ‫‌ها‬
‫ن‬‫آ‬ ‫طریق‬ ‫از‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫زیادی‬ ‫‌های‬
‫ش‬‫رو‬ .‫پرداخت‬ ‫خواهیم‬
.‫بگیرید‬ ‫کار‬ ‫به‬ ‫خود‬ ‫بعدی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫تعیین‬ ‫در‬ ‫سهولت‬ ‫برای‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫‌توانید‬
‫ی‬‫م‬ ‫که‬ ‫‌کنیم‬
‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫‌هایی‬
‫ه‬‫اید‬
۱
‫کنید‬ ‫جدا‬ ‫ها‬ ‫مایلستون‬ ‫از‬ ‫را‬ ‫پروژه‬ ‫به‬ ‫مربوط‬ ‫کارهای‬ .
‫‌ترین‬
‫گ‬‫بزر‬ ‫درمورد‬ ‫گیری‬ ‫تصمیم‬ ‫با‬ ‫را‬ ‫کار‬ ‫این‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫معمول‬ ‫‌طور‬‫به‬ .‫است‬ ‫پروژه‬ ‫در‬ ‫ها‬ ‫مایلستون‬ ‫شناسایی‬ ،‫ضروری‬ ‫مراحل‬ ‫اولین‬ ‫از‬ ‫یکی‬
‫پیِش‬ ‫‌تحویلی‬
‫ل‬‫قاب‬ ‫محصول‬ ‫یا‬ ‫هدف‬ ‫آیا‬ ‫که‬ ‫ببینید‬ ‫سپس‬ ‫و‬ ‫بنویسید‬ ‫را‬ ‫شوند‬ ‫انجام‬ ‫باید‬ ‫که‬ ‫کارهایی‬ ‫‌ی‬
‫ه‬‫هم‬ .‫دهید‬ ‫انجام‬ ‫پروژه‬ ‫دستاوردهای‬
‫تأثیر‬ ‫موردنظر‬ ‫استون‬ ‫مایل‬ ‫که‬ ‫بگیرید‬ ‫تصمیم‬ ‫باید‬ ،‫آن‬ ‫از‬ ‫پس‬ ‫‌آید؛‬
‫ی‬‫م‬ ‫شمار‬ ‫به‬ ‫پروژه‬ ‫به‬ ‫مربوط‬ ‫کارهای‬ ‫از‬ ‫یکی‬ ‫مورد‬ ‫این‬ ‫یا‬ ‫دارید‬ ‫رویتان‬
‫پروژه‬ ‫به‬ ‫مربوط‬ ‫کارهای‬ ‫از‬ ‫یکی‬ ‫موردنظر‬ ‫آیتم‬ ‫احتماال‬ ،‫باشد‬ ‫منفی‬ ‫پاسخ‬ ‫اگر‬ ‫خیر؛‬ ‫یا‬ ‫دارد‬ ‫کلی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫نهایی‬ ‫مهلت‬ ‫به‬ ‫رسیدن‬ ‫در‬ ‫مهمی‬
.‫است‬
‫از‬ ‫یکی‬ ‫موردنظر‬ ‫آیتم‬ ‫شرایطی‬ ‫چنین‬ ‫در‬ ،‫زیاد‬ ‫احتمال‬ ‫به‬ .‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫آن‬ ‫پیشرفت‬ ‫به‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫پروژه‬ ‫در‬ ‫مهمی‬ ‫لحظات‬ ،‫مقابل‬ ‫در‬
.‫است‬ ‫پروژه‬ ‌
‫ن‬‫استو‬ ‫مایل‬ ‫نیز‬ ‫مورد‬ ‫این‬ ،‫‌باشد‬
‫ه‬‫داشت‬ ‫نیاز‬ ‫‌نفعان‬
‫ی‬‫ذ‬ ‫توسط‬ ‫بررسی‬ ‫به‬ ‫که‬ ‫برسد‬ ‫‌ای‬
‫ه‬‫مرحل‬ ‫به‬ ‫پروژه‬ ‫اگر‬ .‫است‬ ‫پروژه‬ ‫های‬ ‫مایلستون‬
‫برای‬ ‫تالش‬ ‫در‬ ‫‌چه‬
‫ن‬‫آ‬ ‫بتوانند‬ ‫تیم‬ ‫اعضای‬ ‫تمام‬ ‫تا‬ ‫شوند‬ ‫نوشته‬ ‫باید‬ ،‫هستند‬ ‫برخوردار‬ ‫پروژه‬ ‫در‬ ‫‌تری‬
‫ش‬‫بی‬ ‫اهمیت‬ ‫از‬ ‫که‬ ‫وقایعی‬ ،‫کلی‬ ‫طور‬ ‌
‫ه‬‫ب‬
‫‌تری‬
‫ش‬‫بی‬ ‫اهمیت‬ ،‫بقیه‬ ‫به‬ ‫نسبت‬ ،‫پروژه‬ ‫های‬ ‫مایلستون‬ ‫از‬ ‫برخی‬ ،‫این‬ ‫بر‬ ‫عالوه‬ ‫‌کنند؛‬
‫ی‬‫م‬ ‫ریزی‬ ‫برنامه‬ ‫آن‬ ‫برای‬ ‫و‬ ‫ببینند‬ ‫را‬ ‫هستند‬ ‫انجامش‬
‫احتیاج‬ ‫پروژه‬ ‫مدیر‬ ‫توجه‬ ‫به‬ ‫‌تر‬
‫م‬‫مه‬ ‫های‬ ‫مایلستون‬ ،‫حال‬ ‫عین‬ ‫در‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کار‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫روی‬ ‫تیم‬ ‫اعضای‬ ،‫بنابراین‬ ‫دارند؛‬
.‫بگیرد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫به‬ ‫رسیدگی‬ ‫تا‬ ‫دارند‬
‫مدرک‬ :‫مرتبط‬ ‫مطلب‬
PMP
‫بگیریم؟‬ ‫را‬ ‫مدرک‬ ‫این‬ ‫چگونه‬ ‫و‬ ‫چیست‬
۲
‫‌باشید‬
‫ه‬‫داشت‬ ‫نظارت‬ ‫پروژه‬ ‫پایان‬ ‫مهلت‬ ‫روی‬ .
‫تیم‬ ‫اعضای‬ ‫توجه‬ ‫افزایش‬ ‫‌های‬
‫ه‬‫را‬ ‫از‬ ‫یکی‬ ،‫دیگر‬ ‫سوی‬ ‫از‬ .‫است‬ ‫مفید‬ ‫پروژه‬ ‫مهم‬ ‫مراحل‬ ‫تمام‬ ‫پایان‬ ‫برای‬ ‫‌شده‬
‫ن‬‫تعیی‬ ‫‌های‬
‫ت‬‫مهل‬ ‫بر‬ ‫دائمی‬ ‫نظارت‬
.‫بگیرند‬ ‫نظر‬ ‫در‬ ‫پروژه‬ ‫در‬ ‫مایلستونی‬ ‫عنوان‬ ‌
‫ه‬‫ب‬ ‫را‬ ‫‌تحویلی‬
‫ل‬‫قاب‬ ‫محصول‬ ‫هر‬ ‫به‬ ‫دستیابی‬ ‫که‬ ‫است‬ ‫این‬ ‫پروژه‬ ‫‌های‬
‫ل‬‫‌االج‬
‫ب‬‫ضر‬ ‫به‬
‫از‬ ‫شوند؛‬ ‫مطمئن‬ ‫‌ها‬
‫ل‬‫‌االج‬
‫ب‬‫ضر‬ ‫‌کردن‬‫رعایت‬ ‫از‬ ‫تا‬ ‫کنند‬ ‫مراجعه‬ ‫کلی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫‌ی‬
‫ه‬‫برنام‬ ‫به‬ ‫‌ای‬
‫ه‬‫دور‬ ‫‌صورت‬‫به‬ ‫بتوانند‬ ‫باید‬ ‫تیم‬ ‫اعضای‬ ،‫واقع‬ ‫در‬
‫برای‬ ،‫‌چنین‬
‫م‬‫ه‬ ‫‌هاست؛‬
‫ن‬‫آ‬ ‫به‬ ‫‌تر‬
‫ش‬‫بی‬ ‫توجه‬ ‫برای‬ ‫خوبی‬ ‫روش‬ ، ‫استون‬ ‫مایل‬ ‫‌عنوان‬‫به‬ ‫پروژه‬ ‫پایان‬ ‫‌های‬
‫ت‬‫مهل‬ ‫از‬ ‫بصری‬ ‫لیستی‬ ‫‌ی‬
‫ه‬‫تهی‬ ،‫رو‬ ‫این‬
‫باشند؛‬ ‫مشخص‬ ‫کلی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫‌های‬
‫ه‬‫برنام‬ ‫در‬ ‫‌ها‬
‌
‫ن‬‫آ‬ ‫محل‬ ‫تا‬ ‫کنید‬ ‫استفاده‬ ‫دیگری‬ ‫َاشکال‬ ‫یا‬ ‫رنگ‬ ‫از‬ ‫‌توانید‬
‫ی‬‫م‬ ‫ها‬ ‫مایلستون‬ ‫این‬ ‫کردن‬ ‌
‫ص‬‫مشخ‬
.‫کنید‬ ‫لیست‬ ،‫دهند‬ ‫انجام‬ ‫باید‬ ‫مهم‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫هر‬ ‫تکمیل‬ ‫برای‬ ‫‌ها‬
‫م‬‫تی‬ ‫از‬ ‫هریک‬ ‫که‬ ‫را‬ ‫کارهایی‬ ‫تمام‬ ،‫این‬ ‫بر‬ ‫عالوه‬
‫بزنید؛‬ ‫عالمت‬ ‫را‬ ‫‌شده‬
‫ن‬‫تعیی‬ ‫موارد‬ ،‫‌ها‬
‫ن‬‫آ‬ ‫اتمام‬ ‫هنگام‬ ‫تا‬ ‫کنید‬ ‫لیست‬ ‫گروهی‬ ‫در‬ ‫را‬ ‫موردنیاز‬ ‫کارهای‬ ‫‌ی‬
‫ه‬‫هم‬ ‫باید‬ ‫نیز‬ ‫پروژه‬ ‫استون‬ ‫مایل‬ ‫هر‬ ‫برای‬
‫طی‬ ‫اگر‬ ،‫مثال‬ ‫برای‬
۲
‫مختص‬ ‫وظایف‬ ‫از‬ ‫همه‬ ‫که‬ ‫شوید‬ ‫مطمئن‬ ‫تا‬ ‫کنید‬ ‫مطرح‬ ‫تیم‬ ‫اعضای‬ ‫با‬ ‫را‬ ‫آن‬ ،‫دارید‬ ‫رو‬ ‫پیِش‬ ‫مهمی‬ ‌
‫ن‬‫مایلستو‬ ‫هفته‬
‫که‬ ‫شوید‬ ‫مطمئن‬ ‫باید‬ ،‫مقرر‬ ‫مهلت‬ ‫به‬ ‫شدن‬ ‫نزدیک‬ ‫با‬ ،‫‌چنین‬
‫م‬‫ه‬ ‫دارند؛‬ ‫کافی‬ ‫آگاهی‬ ‫مرحله‬ ‫این‬ ‫تکمیل‬ ‫جهت‬ ‫در‬ ‫تیم‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫خودشان‬
.‫‌باشند‬
‫ه‬‫رسید‬ ‫پایان‬ ‫به‬ ‫‌شده‬
‫ن‬‫تعیی‬ ‫کارهای‬ ‫‌تر‬
‫ش‬‫بی‬
۳
‫کنید‬ ‫برقرار‬ ‫ارتباط‬ ‫‌ها‬
‫م‬‫تی‬ ‫‌ی‬
‫ه‬‫هم‬ ‫با‬ .
‫‌که‬
‫ن‬‫ای‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ،‫بنابراین‬ ‫هستند؛‬ ‫وابسته‬ ‫داخلی‬ ‫‌های‬
‫م‬‫تی‬ ‫سایر‬ ‫یا‬ ‫سازمان‬ ‫از‬ ‫خارج‬ ‫‌کاران‬
‫م‬‫ه‬ ‫به‬ ‫کارشان‬ ‫تکمیل‬ ‫برای‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫‌تر‬
‫ش‬‫بی‬
‫تکمیل‬ ‫مجاز‬ ‫‌های‬
‫ت‬‫مهل‬ ‫از‬ ‫نیز‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫تا‬ ‫کنید‬ ‫برقرار‬ ‫موثر‬ ‫ارتباط‬ ‫دیگر‬ ‫‌های‬
‫م‬‫تی‬ ‫در‬ ‫حاضر‬ ‫افراد‬ ‫با‬ ‫بتوانید‬ ‫باید‬ ،‫‌رود‬
‫ی‬‫م‬ ‫پیش‬ ‫‌خوبی‬
‫ه‬‫ب‬ ‫‌چیز‬
‫ه‬‫هم‬
‫‌بندی‬
‫ن‬‫زما‬ ‫و‬ ‫دارند‬ ‫ارتباط‬ ‫نیز‬ ‫‌ها‬
‫ن‬‫آ‬ ‫به‬ ‫که‬ ‫هایی‬ ‫مایلستون‬ ،‫دیگر‬ ‫‌های‬
‫م‬‫تی‬ ‫از‬ ‫خود‬ ‫انتظارات‬ ‫درمورد‬ ‫باید‬ ،‫این‬ ‫بر‬ ‫عالوه‬ ‫کنید؛‬ ‫آگاه‬ ‫خود‬ ‫‌ی‬
‌
‫ه‬‫پروژ‬
‌
‫ه‬‫ب‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫تالش‬ ‫پروژه‬ ‫هدف‬ ‫به‬ ‫رسیدن‬ ‫مسیر‬ ‫در‬ ‫نیز‬ ‫‌ها‬
‫ن‬‫آ‬ ‫‌که‬
‫ن‬‫ای‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ،‫منظور‬ ‫همین‬ ‫به‬ ‫کنید؛‬ ‫عمل‬ ‫صریح‬ ‫کامال‬ ،‫پروژه‬ ‫کلی‬
‫‌ی‬
‫ه‬‫نتیج‬ ‫بهترین‬ ‫بتوانند‬ ‫تا‬ ‫کنند‬ ‫کار‬ ‫هم‬ ‫با‬ ‫باید‬ ‫‌ها‬
‫م‬‫تی‬ ‫اعضای‬ ‫‌ی‬
‫ه‬‫هم‬ ‫که‬ ‫است‬ ‫این‬ ‫حقیقت‬ .‫‌باشید‬
‫ه‬‫داشت‬ ‫هماهنگی‬ ‫‌دیگر‬
‫ک‬‫ی‬ ‫با‬ ‫منظم‬ ‫طور‬
.‫آورند‬ ‫دست‬ ‫به‬ ‫را‬ ‫ممکن‬
.‫چیست‬ ‫استون‬ ‫مایل‬ ‫کردن‬ ‫پیگیری‬ ‫‌های‬
‫ه‬‫را‬ ‫‌دهیم‬
‫ی‬‫م‬ ‫پاسخ‬ ‫ادامه‬ ‫در‬ .‫شدید‬ ‫آشنا‬ ‫پروژه‬ ‫در‬ ‫آن‬ ‫ایجاد‬ ‫‌ی‬
‫ه‬‫نحو‬ ‫و‬ ‫استون‬ ‫مایل‬ ‫با‬ ‫‌جا‬
‫ن‬‫ای‬ ‫به‬ ‫تا‬
‫و‬ ‫ها‬ ‫مایلستون‬ ‫پیگیری‬ ‫برای‬ ‫یکسان‬ ‫روشی‬ ‫از‬ ‫باید‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫فعالیت‬ ‫یکسانی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫مدیر‬ ‫‌نظر‬
‫ت‬‫تح‬ ‫تیمی‬ ‫در‬ ‫افراد‬ ‫از‬ ‫گروهی‬ ‫که‬ ‫شرایطی‬ ‫در‬
‌
‫ه‬‫ب‬ ‫‌توانند‬
‫ی‬‫م‬ ‫تیم‬ ‫اعضای‬ ‫صورت‬ ‫این‬ ‫در‬ ‫زیرا‬ ،‫است‬ ‫اهمیت‬ ‫حائز‬ ‫تیم‬ ‫رهبر‬ ‫برای‬ ،‫ویژه‬ ‫طور‬ ‌
‫ه‬‫ب‬ ،‫موضوع‬ ‫این‬ .‫شود‬ ‫استفاده‬ ‫پروژه‬ ‫پایانی‬ ‫مهلت‬
.‫کنند‬ ‫کار‬ ‫‌دیگر‬
‫ک‬‫ی‬ ‫با‬ ‫‌یافته‬
‫ن‬‫سازما‬ ‫طور‬
،‫کاغذ‬ ‫روی‬ ‫نوشتن‬ ‫به‬ ‫‌توان‬
‫ی‬‫م‬ ‫‌ها‬
‫ش‬‫رو‬ ‫این‬ ‌
‫ه‬‫جمل‬ ‫از‬ ‫باشد؛‬ ‫گزینه‬ ‫بهترین‬ ‫تیمتان‬ ‫برای‬ ‫که‬ ‫کنید‬ ‫انتخاب‬ ‫‌ها‬
‫ن‬‫آ‬ ‫پیگیری‬ ‫برای‬ ‫را‬ ‫روشی‬ ،‫بنابراین‬
‫پیگیری‬ ‫‌های‬
‫ش‬‫رو‬ ‫از‬ ‫‌هایی‬
‫ه‬‫نمون‬ ،‫ادامه‬ ‫در‬ .‫کرد‬ ‫اشاره‬ ‫آنالین‬ ‫مدیریت‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫ایمیل‬ ‫طریق‬ ‫از‬ ‫‌دیگر‬
‫ک‬‫ی‬ ‫با‬ ‫ارتباط‬ ‫برقراری‬
:‫‌ایم‬
‫ه‬‫آورد‬ ‫را‬ ‫مایلستون‬
۱
‫کاغذ‬ ‫روی‬ ‫نوشتن‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬ .
‫حضوری‬ ‫‌صورت‬‫به‬ ‫را‬ ‫تیم‬ ‫جلسات‬ ‫که‬ ‫هنگامی‬ .‫‌باشد‬
‫ه‬‫داشت‬ ‫‌همراه‬
‫ه‬‫ب‬ ‫مزیت‬ ‫چندین‬ ‫‌تواند‬
‫ی‬‫م‬ ‫کاغذ‬ ‫روی‬ ‫برنامه‬ ‫نوشتن‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬
‫آسان‬ ‫بسیار‬ ‫کاغذ‬ ‫روی‬ ‫کلی‬ ‫‌ی‬
‫ه‬‫برنام‬ ‫نوشتن‬ ‫با‬ ‫آن‬ ‫پیشرفت‬ ‫‌ی‬
‫ه‬‫مشاهد‬ ‫و‬ ‫پروژه‬ ‫‌ریزی‬
‫ح‬‫طر‬ ‫چگونگی‬ ‫روی‬ ‫نظارت‬ ‫امکان‬ ،‫‌کنید‬
‫ی‬‫م‬ ‫برگزار‬
.‫ببینید‬ ‫بهتر‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫مختلف‬ ‫وجوه‬ ‫تا‬ ‫دهید‬ ‫انجام‬ ‫نیز‬ ‫رنگی‬ ‫کدگذاری‬ ‫با‬ ‫را‬ ‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫‌چنین‬
‫م‬‫ه‬ ‫‌شود؛‬
‫ی‬‫م‬
۲
‫ایمیل‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬ .
‫در‬ ‫کسی‬ ‫هر‬ ،‫واقع‬ ‫در‬ .‫دارد‬ ‫‌همراه‬
‫ه‬‫ب‬ ‫مزایایی‬ ‫نیز‬ ‫ابزار‬ ‫این‬ ‫که‬ ‫‌دهند‬
‫ی‬‫م‬ ‫ترجیح‬ ‫را‬ ‫ایمیل‬ ‫از‬ ‫استفاده‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫پیگیری‬ ‫برای‬ ‫افراد‬ ‫از‬ ‫برخی‬
‫کارهای‬ ‫و‬ ‫نظرات‬ ‫بررسی‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ .‫کند‬ ‫مطرح‬ ‫را‬ ‫موردنظرش‬ ‫پیشنهادهای‬ ‫یا‬ ‫سؤاالت‬ ‫بالفاصله‬ ‫‌تواند‬
‫ی‬‫م‬ ‫ایمیلی‬ ‫ارتباطات‬ ‫‌ی‬
‫ه‬‫زنجیر‬
.‫دارد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫گذشته‬ ‫ایمیلی‬ ‫ارتباطات‬ ‫‌ی‬
‫ه‬‫تاریخچ‬ ‫نیز‬ ‫تیم‬ ‫اعضای‬ ‫پیشین‬
۳
‫آنالین‬ ‫مدیریت‬ ‫سیستم‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬ .
‫برای‬ ‫مختلفی‬ ‫پولی‬ ‫و‬ ‫رایگان‬ ‫‌های‬
‫ه‬‫برنام‬ .‫‌اند‬
‫ه‬‫کرد‬ ‫پیدا‬ ‫رواج‬ ‫پروژه‬ ‫اصلی‬ ‫های‬ ‫مایلستون‬ ‫پیگیری‬ ‫برای‬ ‫نیز‬ ‫آنالین‬ ‫مدیریت‬ ‫‌های‬
‫م‬‫سیست‬ ،‫امروزه‬
.‫کنند‬ ‫پیدا‬ ‫دسترسی‬ ‫آن‬ ‫به‬ ‫‌توانند‬
‫ی‬‫م‬ ،‫کنند‬ ‫‌نام‬
‫ت‬‫ثب‬ ‫موردنظر‬ ‫سیستم‬ ‫در‬ ‫که‬ ‫کسانی‬ ‫تمامی‬ ‫و‬ ‫‌اند‬
‫ه‬‫شد‬ ‫ایجاد‬ ‫امر‬ ‫این‬
‫جداگانه‬ ‫لیستی‬ ‫در‬ ‫را‬ ‫فردی‬ ‫کارهای‬ ‫کردن‬ ‌
‫ص‬‫مشخ‬ ‫و‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫تقسیم‬ ‫امکان‬ ‫‌ها‬
‫م‬‫سیست‬ ‫این‬ ،‫کلی‬ ‫طور‬ ‌
‫ه‬‫ب‬
‫اختصاص‬ ‫او‬ ‫به‬ ‫مایلستونی‬ ‫که‬ ،‫تیم‬ ‫اعضای‬ ‫از‬ ‫فردی‬ ‫هر‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫آنالین‬ ‫مدیریت‬ ‫‌های‬
‫م‬‫سیست‬ ،‫‌چنین‬
‫م‬‫ه‬ ‫‌کنند؛‬
‫ی‬‫م‬ ‫فراهم‬
.‫کند‬ ‫مشخص‬ ‫را‬ ‫آن‬ ‫‌شدن‬‫تکمیل‬ ‫عالمتی‬ ‫با‬ ‫بتواند‬ ،‫موردنظر‬ ‫‌ی‬
‫ه‬‫مرحل‬ ‫به‬ ‫دستیابی‬ ‫صورت‬ ‫در‬ ،‫‌است‬
‫ه‬‫شد‬ ‫داده‬
‫پیگیری‬ ‫را‬ ‫پروژه‬ ‫مختلف‬ ‫کارهای‬ ‫انجام‬ ‫مسئول‬ ‫اشخاص‬ ‫تا‬ ‫‌دهند‬
‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫تیم‬ ‫اعضای‬ ‫به‬ ‫آنالین‬ ‫مدیریت‬ ‫‌های‬
‫م‬‫سیست‬ ،‫این‬ ‫بر‬ ‫عالوه‬
‫‌های‬
‫ی‬‫‌تیم‬
‫م‬‫ه‬ ‫پیشرفت‬ ‫‌توانند‬
‫ی‬‫م‬ ‫ها‬ ‫مایلستون‬ ‫مشاهده‬ ‫با‬ ‫نیز‬ ‫اعضا‬ ‫‌ی‬
‫ه‬‫هم‬ .‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫نیز‬ ‫‌ها‬
‫ن‬‫آ‬ ‫ارتباطات‬ ‫بهبود‬ ‫به‬ ‫موضوع‬ ‫این‬ ‫که‬ ‫کنند‬
.‫‌کنند‬
‫ی‬‫م‬ ‫دنبال‬ ‫را‬ ‫کلی‬ ‫‌ی‬
‫ه‬‫پروژ‬ ‫اهداف‬ ‫نیز‬ ‫‌ها‬
‫ن‬‫آ‬ ‫که‬ ‫شوند‬ ‫مطمئن‬ ‫تا‬ ‫ببینند‬ ‫را‬ ‫خود‬
‫‌بندی‬
‫ع‬‫جم‬
،‫واقع‬ ‫در‬ .‫است‬ ‫مهم‬ ‫بسیار‬ ،‫هستید‬ ‫بزرگ‬ ‫‌ای‬
‫ه‬‫پروژ‬ ‫درگیر‬ ‫که‬ ‫هنگامی‬ ،‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫پیگیری‬ ‫و‬ ‫تنظیم‬ ‫برای‬ ‫روشی‬ ‫از‬ ‫استفاده‬
‫چک‬ ‫‌دیگر‬
‫ک‬‫ی‬ ‫با‬ ‫منظم‬ ‫طور‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫و‬ ‫کنید‬ ‫بررسی‬ ‫تیم‬ ‫اعضای‬ ‫‌ی‬
‫ه‬‫هم‬ ‫با‬ ‫را‬ ‫پروژه‬ ‫پایان‬ ‫‌های‬
‫ت‬‫مهل‬ ‫و‬ ‫اهداف‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫مایلستون‬
.‫‌کنید‬
‫ی‬‫م‬ ‫برآورده‬ ‫نیز‬ ‫را‬ ‫مشتریانتان‬ ‫انتظارات‬ ‫و‬ ‫‌رسانید‬
‫ی‬‫م‬ ‫پایان‬ ‫به‬ ‫مقرر‬ ‫مهلت‬ ‫در‬ ‫را‬ ‫پروژه‬ ‫که‬ ‫‌شوید‬
‫ی‬‫م‬ ‫مطمئن‬ ‫کار‬ ‫این‬ ‫انجام‬ ‫با‬ .‫کنید‬
:‫منبع‬
.
indeed com
Epic
‫چیست؟‬ ‫اسکرام‬ ‫در‬
‫زیادی‬ ‫‌آمیز‬
‫ت‬‫موفقی‬ ‫‌های‬
‫ن‬‫داستا‬ ،‫نه‬ ‫که‬ ‫چرا‬ ‫و‬ ‫شده‬ ‫محصول‬ ‫توسعه‬ ‫دنیای‬ ‫در‬ ‫پرطرفدار‬ ‫‌ای‬
‫ه‬‫کلم‬ ‫به‬ ‫تبدیل‬ »‫«اسکرام‬ ‫که‬ ‫است‬ ‫دهه‬ ‫یک‬ ‫اکنون‬
‫موفقیت‬ ‫داستان‬ ‫از‬ ‫بلکه‬ ،‫‌کنیم‬
‫ی‬‫نم‬ ‫صحبت‬ ‫هستند‬ ‫اسکرام‬ ‫‌نیازهای‬
‫ش‬‫پی‬ ‫معنای‬ ‫به‬ ‫که‬ »‫کاربر‬ ‫‌های‬
‫ن‬‫«داستا‬ ‫درباره‬ ‫البته‬ .‫‌ایم‬
‫ه‬‫شنید‬ ‫آن‬ ‫به‬ ‫راجع‬
‫همان‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫به‬ ‫راجع‬ ‫‌خواهیم‬
‫ی‬‫م‬ ‫اما‬ ‫صورت‬ ‫هر‬ ‫در‬ .‫‌اند‬
‫ه‬‫گرفت‬ ‫پیش‬ ‫در‬ ‫را‬ ‫اسکرام‬ ‫‌شناسی‬
‫ش‬‫رو‬ ‫که‬ ‫‌گوییم‬
‫ی‬‫م‬ ‫که‬ ‫‌هایی‬
‫ن‬‫سازما‬ ‫و‬ ‫‌ها‬
‫م‬‫تی‬
‫درباره‬ :‫بزنیم‬ ‫حرف‬ ‫‌نیازها‬
‫ش‬‫پی‬
Epic
.‫اسکرام‬ ‫در‬
( »‫«اپیک‬ ‫یا‬ »‫«حماسه‬
Epic
‫کارهای‬ ‫به‬ ‫دست‬ ‫که‬ ‫تاریخی‬ ‫‌ای‬
‫ه‬‫افسان‬ ‫و‬ ‫بزرگ‬ ‫قهرمانان‬ ‫به‬ ‫راجع‬ ‫طوالنی‬ ‫داستانی‬ ‫عنوان‬ ‫به‬ ‫امروز‬ ‫به‬ ‫تا‬ ‫را‬ )
‫به‬ ‫راجع‬ ‫است‬ ‫الزم‬ ‫هرآنچه‬ ‫تا‬ ‫دهید‬ ‫ادامه‬ ‫مطالعه‬ ‫به‬ .‫‌رویم‬
‫ی‬‫م‬ ‫متفاوت‬ ‫کامال‬ ‫مفهومی‬ ‫سراغ‬ ‫به‬ ‫مقاله‬ ‫این‬ ‫در‬ ‫اما‬ ،‫‌شناختیم‬
‫ی‬‫م‬ ‫‌زدند‬
‫ی‬‫م‬ ‫شجاعانه‬
Epic
.‫بگیرید‬ ‫فرا‬ ‫را‬ ‫بدانید‬ ‫اسکرام‬ ‫در‬
Epic
‫چیست؟‬ ‫اسکرام‬ ‫در‬
،‫بگوییم‬ ‫ممکن‬ ‫شکل‬ ‫‌ترین‬
‫ه‬‫ساد‬ ‫به‬ ‫بخواهیم‬ ‫اگر‬
Epic
‫یا‬ ‫چابک‬ ‫مدیریت‬ ‫زیرمجموعه‬ ‫خود‬ ‫(که‬ ‫اسکرام‬ ‫در‬
Agile
‫یک‬ ،)‫‌آید‬
‫ی‬‫م‬ ‫حساب‬ ‫به‬
( »‫کاربر‬ ‫‌های‬
‫ن‬‫«داستا‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫است‬ ‫بزرگ‬ ‫وظیفه‬
User Stories
‫های‬ ‫اسپرینت‬ ‫میان‬ ‫‌تواند‬
‫ی‬‫م‬ ‫اپیک‬ ‫یک‬ .‫شود‬ ‫تقسیم‬ ‫خردتر‬ )
‫همین‬ ‫به‬ ‫و‬ ‫باشد‬ ‫‌کند‬
‫ی‬‫م‬ ‫طلب‬ ‫مشتری‬ ‫آنچه‬ ‫از‬ ‫باال‬ ‫سطح‬ ‫توضیحی‬ ‫‌تواند‬
‫ی‬‫م‬ ‫اپیک‬ .‫شود‬ ‫پخش‬ ‫مختلف‬ ‫چابک‬ ‫‌های‬
‫م‬‫تی‬ ‫حتی‬ ‫یا‬ ‫و‬ ‫مختلف‬
‫و‬ ‫ابعاد‬ ،‫خاطر‬ ‫همین‬ ‫به‬ ‫و‬ ‫است‬ ‫باال‬ ‫سطح‬ ‫‌نیاز‬
‫ش‬‫پی‬ ‫یک‬ ‫اپیک‬ ،‫کردیم‬ ‫اشاره‬ ‫که‬ ‫همانطور‬ .‫‌شوند‬
‫ی‬‫م‬ ‫ضمیمه‬ ‫آن‬ ‫در‬ ‫نیز‬ ‫مقادیری‬ ،‫ترتیب‬
.‫شود‬ ‫تغییر‬ ‫دچار‬ ‫زمان‬ ‫گذر‬ ‫در‬ ‫‌تواند‬
‫ی‬‫م‬ ‫آن‬ ‫‌انداز‬
‫م‬‫چش‬
‫قابل‬ ‫و‬ ‫خرد‬ ‫‌های‬
‫ه‬‫تک‬ ‫به‬ ‫را‬ ‫وظایف‬ ‫که‬ ‫‌ست‬
‫ن‬‫ای‬ ‫کلی‬ ‫ایده‬ .‫است‬ ‫مراتب‬ ‫سلسله‬ ‫ساخت‬ ‫و‬ ‫کارها‬ ‫به‬ ‫‌بخشی‬
‫ن‬‫ساما‬ ‫برای‬ ‫کارآمد‬ ‫راهی‬ ‫‌ها‬
‫ک‬‫اپی‬
‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫اپیک‬ .‫کنید‬ ‫‌سازی‬
‫ش‬‫ارز‬ ‫خود‬ ‫مشتریان‬ ‫برای‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫بتوانید‬ ‫و‬ ‫شوند‬ ‫عملی‬ ‫واقعا‬ ‫بزرگ‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫تا‬ ‫کنید‬ ‫تقسیم‬ ‫‌سازی‬
‫ه‬‫پیاد‬
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌تر‬
‫گ‬‫بزر‬ ‫هدفی‬ ‫سمت‬ ‫به‬ ‫حرکت‬ ‫و‬ ‫کارها‬ ‫‌بندی‬
‫م‬‫تقسی‬ ‫در‬
‫برای‬ ‫اپیک‬ ‫‌نیاز‬
‫ش‬‫پی‬ ‫یک‬ ،‫نو‬ ‫سال‬ ‫مهمانی‬ ‫برگزاری‬ ‫‌کنیم‬
‫ی‬‫م‬ ‫فرض‬ .‫‌زنیم‬
‫ی‬‫م‬ ‫واقعی‬ ‫دنیای‬ ‫از‬ ‫مثالی‬ ،‫باشیم‬ ‫کرده‬ ‫باز‬ ‫بهتر‬ ‫را‬ ‫موضوع‬ ‫اینکه‬ ‫برای‬
‫باید‬ .‫جزییات‬ ‫ریزترین‬ ‫تا‬ ‫گرفته‬ ‫اهداف‬ ‫‌ترین‬
‫گ‬‫بزر‬ ‫از‬ :‫کنید‬ ‫‌مند‬
‫ن‬‫ساما‬ ‫را‬ ‫خود‬ ‫وظایف‬ ‫باید‬ ،‫مهمی‬ ‫مهمانی‬ ‫چنین‬ ‫برگزاری‬ ‫برای‬ .‫است‬ ‫شما‬
،‫‌شوید‬
‫ی‬‫م‬ ‫باخبر‬ ‫خود‬ ‫اپیک‬ ‫از‬ ‫وقتی‬ .‫بچسبید‬ ‫مشخص‬ ‫نقشه‬ ‫یک‬ ‫به‬ ‫و‬ ‫کنید‬ ‫پایش‬ ‫را‬ ‫خود‬ ‫پیشرفت‬ ،‫دهید‬ ‫نشان‬ ‫واکنش‬ ‫تغییرها‬ ‫به‬ ‫بتوانید‬
‫دکوراسیون‬ ،‫نیاز‬ ‫مورد‬ ‫لوازم‬ ‫خرید‬ ،‫‌ها‬
‫ی‬‫خوراک‬ ‫به‬ ‫راجع‬ ‫‌گیری‬
‫م‬‫تصمی‬ ،‫مهمانان‬ ‫فهرست‬ ‫آوردن‬ ‫فراهم‬ ‫مانند‬ ‫خردتر‬ ‫وظایف‬ ‫به‬ ‫را‬ ‫آن‬ ‫‌توانید‬
‫ی‬‫م‬
.‫کنید‬ ‫تقسیم‬ ‫مشابه‬ ‫موارد‬ ‫و‬ ‫جدید‬ ‫سال‬ ‫خرید‬ ،‫منزل‬
،‫‌شوند‬
‫ی‬‫م‬ ‫ساخته‬ ‫‌ها‬
‫ی‬‫‌بند‬
‫ن‬‫زما‬ ‫نظرگیری‬ ‫در‬ ‫با‬ ‫هم‬ ‫‌ها‬
‫ک‬‫اپی‬ ‫برخی‬ .‫‌گیرند‬
‫ی‬‫م‬ ‫شکل‬ ‫مدیریتی‬ ‫‌دهی‬
‫ش‬‫گزار‬ ‫نیازهای‬ ‫به‬ ‫بسته‬ ‫‌ها‬
‫ک‬‫اپی‬ ‫برخی‬
‫‌های‬
‫ه‬‫را‬ ‫‌ترین‬
‫ج‬‫رای‬ ‫از‬ ‫یکی‬ .‫نکشند‬ ‫طول‬ ‫هفته‬ ‫دو‬ ‫از‬ ‫بیشتر‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫و‬ ‫باشند‬ ‫طوالنی‬ ‫زیادی‬ ‫یا‬ ‫کوتاه‬ ‫زیادی‬ ‫نباید‬ ‫که‬ ‫‌هایی‬
‫ی‬‫‌بند‬
‫ن‬‫زما‬
( »‫‌سرایی‬
‫ن‬‫«داستا‬ ،‫فرایند‬ ‫این‬ ‫مدیریت‬
Storytelling
‫چیست؟‬ ‫اصال‬ ‫‌سرایی‬
‫ن‬‫داستا‬ ‫اما‬ .‫دارد‬ ‫نام‬ )
‫چیست؟‬ ‫سرایی‬ ‫داستان‬
‫هم‬ ‫اگر‬ .‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌گذارند‬
‫ی‬‫م‬ ‫اپیک‬ ‫روی‬ ‫که‬ ‫تاثیری‬ ‫و‬ ‫رخدادها‬ ‫جریان‬ ‫تصویرسازی‬ ‫در‬ ‫شما‬ ‫به‬ ‫که‬ ‫است‬ ‫ابزاری‬ ‫اصل‬ ‫در‬ ‫‌سرایی‬
‫ن‬‫داستا‬
‫واقع‬ ‫در‬ .‫بسازید‬ ‫را‬ ‫خودتان‬ ‫الگوی‬ ،‫ندارد‬ ‫تطابق‬ ‫رفت‬ ‫خواهیم‬ ‫‌ها‬
‫ن‬‫آ‬ ‫سراغ‬ ‫به‬ ‫که‬ ‫‌هایی‬
‫ه‬‫نمون‬ ‫از‬ ‫‌یک‬
‫چ‬‫هی‬ ‫با‬ ‫شما‬ ‫کاری‬ ‫الگوی‬ ‫که‬ ‫کردید‬ ‫احساس‬
‫را‬ ‫اهداف‬ ‫به‬ ‫رسیدن‬ ‫نحوه‬ ‫و‬ ‫مسیر‬ ،‫عوض‬ ‫در‬ ‫و‬ ‫ندارد‬ ‫‌ای‬
‫ه‬‫شد‬ ‫مشخص‬ ‫پیش‬ ‫از‬ ‫مسیر‬ ‫هیچ‬ ‫چابک‬ ‫‌شناسی‬
‫ش‬‫رو‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫خاطر‬ ‫به‬ ‫را‬ ‫این‬
.‫دارند‬ ‫بستگی‬ ‫خودتان‬ ‫به‬ ‫مسائل‬ ‫باقی‬ ‫و‬ ‫‌دهد‬
‫ی‬‫م‬ ‫نشان‬ ‫شما‬ ‫به‬
.‫کنیم‬ ‫تبدیل‬ ‫رسیدگی‬ ‫قابل‬ ‫و‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫اجزای‬ ‫به‬ ‫را‬ ‫‌مان‬
‫گ‬‫بزر‬ ‫اپیک‬ ‫‌کنیم‬
‫ی‬‫م‬ ‫سعی‬ ‫و‬ ‫‌گردیم‬
‫ی‬‫بازم‬ ‫زدیم‬ ‫پیشتر‬ ‫که‬ ‫مثالی‬ ‫به‬ ‫دیگر‬ ‫‌بار‬
‫ک‬‫ی‬
‫در‬ .‫کند‬ ‫‌شان‬
‫ی‬‫نهای‬ ،‫اسکرام‬ ‫در‬ ‫اسپرینت‬ ‫برهه‬ ‫در‬ ‫و‬ ‫برداشته‬ ‫را‬ ‫اجزا‬ ‫آن‬ ‫بتواند‬ ‫تیم‬ ‫تا‬ ‫است‬ ‫مهم‬ ‫بسیار‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫اجزای‬ ‫به‬ ‫اپیک‬ ‫کردن‬ ‫تقسیم‬
‫به‬ ‫متصل‬ ‫اجزای‬ ‫به‬ ‫رسیدگی‬ ،‫‌بندی‬
‫ت‬‫اولوی‬ ،‫ابعاد‬ ‫نظر‬ ‫از‬ ‫فراوان‬ ‫دقت‬ ‫نیازمند‬ ‫که‬ ‫کرد‬ ‫مقایسه‬ ‫هنری‬ ‫اثر‬ ‫یک‬ ‫خلق‬ ‫با‬ ‫را‬ ‫کار‬ ‫این‬ ‫‌توان‬
‫ی‬‫م‬ ‫واقع‬
.‫‌رویم‬
‫ی‬‫م‬ ‫کارها‬ ‫تقسیم‬ ‫برای‬ ‫رایج‬ ‫روش‬ ‫چند‬ ‫سراغ‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫است‬ ‫چنینی‬ ‫این‬ ‫موارد‬ ‫و‬ ‫یکدیگر‬
‫کاری‬ ‫جریان‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬
‫چطور‬ ،‫کاری‬ ‫جریان‬ ‫نظر‬ ‫از‬ ‫ببینیم‬ ‫بیایید‬ ‫حاال‬ ‫و‬ ‫زدیم‬ ‫حرف‬ ‫نو‬ ‫سال‬ ‫مهمانی‬ ‫برگزاری‬ ‫پروژه‬ ‫به‬ ‫راجع‬ ،‫رفتیم‬ ‫آن‬ ‫سراغ‬ ‫به‬ ‫پیشتر‬ ‫که‬ ‫مثالی‬ ‫در‬
‫تهیه‬ ‫بیرون‬ ‫از‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫موارد‬ ،‫آن‬ ‫در‬ ‫که‬ ‫باشد‬ ‫کاری‬ ‫جریان‬ ‫یک‬ ‫‌توان‬
‫ی‬‫م‬ ‫کردن‬ ‫خرید‬ .‫هستیم‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫اجزای‬ ‫به‬ ‫آن‬ ‫کردن‬ ‫تقسیم‬ ‫به‬ ‫قادر‬
‫جریان‬ ‫یک‬ ‫مشابه‬ ‫صورت‬ ‫به‬ ‫‌توانیم‬
‫ی‬‫م‬ ‫هم‬ ‫را‬ ‫منزل‬ ‫دکوراسیون‬ ‫به‬ ‫رسیدگی‬ ‫و‬ ‫است‬ ‫مهمانان‬ ‫برای‬ ‫پختن‬ ‫غذا‬ ،‫دیگر‬ ‫کاری‬ ‫جریان‬ ‫یک‬ .‫‌کنید‬
‫ی‬‫م‬
‫مهمانی‬ ‫میزبان‬ ‫همان‬ ‫اینجا‬ ‫در‬ ‫(که‬ ‫محصول‬ ‫مدیر‬ ‫گاهی‬ ‫یا‬ ‫محصول‬ ‫مالک‬ ‫است؟‬ ‫ساده‬ ‫چقدر‬ ‫فرایند‬ ‫این‬ ‫‌بینید‬
‫ی‬‫م‬ .‫آوریم‬ ‫حساب‬ ‫به‬ ‫کاری‬
.‫بود‬ ‫خواهد‬ ‫امور‬ ‫‌بندی‬
‫ت‬‫اولوی‬ ‫به‬ ‫قادر‬ ‫راحتی‬ ‫به‬ )‫است‬
‫مثال‬ ‫برای‬ .‫کنید‬ ‫موکول‬ ‫بعدی‬ ‫مراحل‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫‌توانید‬
‫ی‬‫م‬ ‫بنابراین‬ ‫و‬ ‫نباشند‬ ‫مهم‬ ‫لحظه‬ ‫این‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫کاری‬ ‫جریان‬ ‫‌های‬
‫م‬‫گا‬ ‫برخی‬
‫بعدا‬ ‫بتوان‬ ‫را‬ ‫کار‬ ‫همین‬ ‫احتماال‬ ‫اما‬ .‫دارید‬ ‫آن‬ ‫شدن‬ ‫خنک‬ ‫برای‬ ‫زمان‬ ‫اندکی‬ ‫به‬ ‫نیاز‬ ‫زیرا‬ ،‫باشید‬ ‫گذاشته‬ ‫اولویت‬ ‫در‬ ‫را‬ ‫کیک‬ ‫پختن‬ ‫است‬ ‫ممکن‬
.‫داد‬ ‫انجام‬ ‫نیز‬
‫نقش‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬
،‫‌گیرند‬
‫ی‬‫م‬ ‫برعهده‬ ‫پروژه‬ ‫یک‬ ‫در‬ ‫را‬ ‫گوناگونی‬ ‫‌های‬
‫ش‬‫نق‬ ،‫مختلف‬ ‫افراد‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬
Epic
‫نیز‬ ‫‌ها‬
‫ش‬‫نق‬ ‫به‬ ‫بسته‬ ‫‌توان‬
‫ی‬‫م‬ ‫را‬ ‫اسکرام‬ ‫در‬
‫از‬ ‫صحبت‬ ‫وقتی‬ ‫و‬ ‫باشیم‬ ‫داشته‬ ‫خود‬ ‫مهمانی‬ ‫در‬ ‫را‬ »‫«آشپز‬ ‫حتی‬ ‫و‬ »‫«مهمان‬ ،»‫«میزبان‬ ‫‌های‬
‫ش‬‫نق‬ ‫‌توانیم‬
‫ی‬‫م‬ ‫مثال‬ ‫برای‬ .‫کرد‬ ‫‌بندی‬
‫م‬‫تقسی‬
‫گوناگون‬ ‫های‬ ‫پرسونا‬ ‫به‬ ‫راجع‬ ،‫نقش‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬ ‫در‬ .‫بود‬ ‫خواهید‬ ‫بیشتر‬ ‫هرچه‬ ‫‌های‬
‫ش‬‫نق‬ ‫افزودن‬ ‫به‬ ‫قادر‬ ،‫باشد‬ ‫محصول‬ ‫توسعه‬
‫در‬ ‫‌کننده‬
‫م‬‫سرگر‬ ‫بازی‬ ‫«چند‬ ‫دنبال‬ ‫به‬ ‫مهمان‬ ‫و‬ ‫باشد‬ »‫‌آمیز‬
‫ت‬‫موفقی‬ ‫مهمانی‬ ‫یک‬ ‫«برگزاری‬ ‫دنبال‬ ‫‌تواند‬
‫ی‬‫م‬ ‫میزبان‬ ‫مثال‬ ‫برای‬ .‫‌کنیم‬
‫ی‬‫م‬ ‫صحبت‬
.»‫مهمانی‬
‫زمانی‬ ‫برنامه‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬
‫در‬ ‫‌توان‬
‫ی‬‫م‬ ‫آنچه‬ ‫براساس‬ ‫را‬ ‫کارها‬ ‫معموال‬ ‫توسعه‬ ‫تیم‬ .‫کرد‬ ‫‌بندی‬
‫م‬‫تقسی‬ ،‫شدن‬ ‫نهایی‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫زمان‬ ‫به‬ ‫بسته‬ ‫‌توان‬
‫ی‬‫م‬ ‫را‬ ‫‌ها‬
‫ک‬‫اپی‬ ‫برخی‬
‫به‬ ‫بسته‬ ‫سپس‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫‌های‬
‫ش‬‫بر‬ ‫به‬ ‫تقسیم‬ ،‫برداشته‬ ‫را‬ ‫اپیک‬ ‫تمام‬ ‫تیم‬ ‫اعضای‬ .‫‌کند‬
‫ی‬‫م‬ ‫تقسیم‬ ‫آورد‬ ‫دست‬ ‫به‬ ‫اسپرینت‬ ‫هر‬
.‫‌دهند‬
‫ی‬‫م‬ ‫جای‬ ‫مختلف‬ ‫‌های‬
‫ت‬‫اسپرین‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ،‫وظایف‬ ‫میان‬ ‫‌های‬
‫ط‬‫ارتبا‬ ‫و‬ ‫اولویت‬
‫میان‬ ‫ارتباطات‬ ‫و‬ ‫اولویت‬ ،‫ابعاد‬ ‫مانند‬ ‫مختلف‬ ‫فاکتورهای‬ ‫به‬ ‫توجه‬ ‫نیازمند‬ ‫کاربر‬ ‫‌های‬
‫ن‬‫داستا‬ ‫‌بندی‬
‫م‬‫تقسی‬ ،‫کردیم‬ ‫اشاره‬ ‫پیشتر‬ ‫که‬ ‫همانطور‬
‫یک‬ ‫زدن‬ ‫برش‬ ‫مانند‬ ‫چیزی‬ ‫به‬ ‫راجع‬ ‫داریم‬ ‫بنابراین‬ .‫افقی‬ ‫و‬ ‫عمودی‬ :‫داریم‬ ‫کاربر‬ ‫‌های‬
‫ن‬‫داستا‬ ‫‌بندی‬
‫م‬‫تقسی‬ ‫برای‬ ‫رویکرد‬ ‫دو‬ ‫بنابراین‬ .‫است‬ ‫امور‬
‫تمام‬ ‫از‬ ‫مقداری‬ ،‫بزنید‬ ‫برش‬ ‫عمودی‬ ‫را‬ ‫کیک‬ ‫اگر‬ ‫اما‬ .‫‌آورید‬
‫ی‬‫م‬ ‫دست‬ ‫به‬ ‫واحد‬ ‫الیه‬ ‫یک‬ ،‫بزنید‬ ‫برش‬ ‫افقی‬ ‫را‬ ‫کیک‬ ‫اگر‬ .‫‌کنیم‬
‫ی‬‫م‬ ‫صحبت‬ ‫کیک‬
.‫داشت‬ ‫خواهید‬ ‫کیک‬ ‫‌های‬
‫ه‬‫الی‬
‫و‬ ‫وظیفه‬ ،‫داستان‬ ‫میان‬ ‫تفاوت‬
Epic
‫چیست؟‬ ‫اسکرام‬ ‫در‬
‫که‬ ‫کردیم‬ ‫صحبت‬ ‫این‬ ‫به‬ ‫راجع‬ ‫تاکنون‬
Epic
‫که‬ ‫کنیم‬ ‫صحبت‬ ‫این‬ ‫به‬ ‫راجع‬ ‫بیایید‬ ‫حاال‬ .‫‌شود‬
‫ی‬‫م‬ ‫‌بندی‬
‫م‬‫تقسی‬ ‫چطور‬ ‫و‬ ‫چیست‬ ‫اسکرام‬ ‫در‬
‫که‬ ‫است‬ ‫بزرگ‬ ‫کاری‬ ‫این‬ .‫بوده‬ »‫نو‬ ‫سال‬ ‫مهمانی‬ ‫«برگزاری‬ ‫لحظه‬ ‫این‬ ‫به‬ ‫تا‬ ‫ما‬ ‫اپیک‬ .‫دارد‬ ‫عناصر‬ ‫سایر‬ ‫از‬ ‫‌ای‬
‫ه‬‫‌کنند‬
‫ز‬‫متمای‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫چه‬
( »‫‌ها‬
‫ن‬‫«داستا‬ ،‫‌بندی‬
‫م‬‫تقسی‬ ‫این‬ ‫نتایج‬ .‫‌شود‬
‫ی‬‫م‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫وظایف‬ ‫به‬ ‫تبدیل‬ ،‫گوناگون‬ ‫‌های‬
‫ش‬‫رو‬ ‫به‬ ‫چطور‬ ‫دیدیم‬
Stories
‫که‬ ‫هستند‬ )
( »‫«وظایف‬ ‫نام‬ ‫به‬ ‫‌تری‬
‫ک‬‫کوچ‬ ‫قطعات‬ ‫به‬ ‫خود‬ ‫هم‬ ‫‌ها‬
‫ن‬‫داستا‬ ‫اما‬ .‫برسند‬ ‫انجام‬ ‫به‬ ‫اسپرینت‬ ‫برهه‬ ‫یک‬ ‫در‬ ‫‌توانند‬
‫ی‬‫م‬
Tasks
.‫‌شوند‬
‫ی‬‫م‬ ‫تقسیم‬ )
»‫‌یافته‬
‫ن‬‫«پایا‬ ‫برچسب‬ ‫‌مان‬
‫ن‬‫داستا‬ ،‫رسیدند‬ ‫پایان‬ ‫به‬ ‫وظایف‬ ‫تمام‬ ‫که‬ ‫هم‬ ‫زمانی‬ .‫‌کند‬
‫ی‬‫م‬ ‫رسیدگی‬ ‫‌ها‬
‫ن‬‫آ‬ ‫به‬ ‫و‬ ‫برداشته‬ ‫را‬ ‫وظایف‬ ‫این‬ ‫توسعه‬ ‫تیم‬
:‫است‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫‌چیز‬
‫ه‬‫هم‬ ‫بنابراین‬ .‫‌خورد‬
‫ی‬‫م‬
‫اپیک‬
)‫‌ها‬
‫ن‬‫(داستا‬ ‫رسیدگی‬ ‫قابل‬ ‫و‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫قطعات‬ ‫به‬ ‫باید‬ ‫اپیک‬ .‫شود‬ ‫نهایی‬ ‫واحد‬ ‫اسپرینت‬ ‫یک‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ‫از‬ ‫‌تر‬
‫گ‬‫بزر‬ ‫که‬ ‫‌نیازی‬
‫ش‬‫پی‬ :
.‫شود‬ ‫تقسیم‬
‫داستان‬
.‫برسد‬ ‫پایان‬ ‫به‬ ‫واحد‬ ‫اسپرینت‬ ‫یک‬ ‫در‬ ‫که‬ ‫شود‬ ‫پیکربندی‬ ‫‌ای‬
‫ه‬‫‌گون‬
‫ه‬‫ب‬ ‫باید‬ ‫داستان‬ .‫‌کند‬
‫ی‬‫م‬ ‫طلب‬ ‫‌وکار‬
‫ب‬‫کس‬ ‫که‬ ‫‌نیازی‬
‫ش‬‫پی‬ :
‫وظایف‬
.‫‌دهند‬
‫ی‬‫م‬ ‫شکل‬ ‫را‬ ‫کامل‬ ‫داستانی‬ ،‫‌گیرند‬
‫ی‬‫م‬ ‫قرار‬ ‫یکدیگر‬ ‫کنار‬ ‫وقتی‬ ‫که‬ ‫داستان‬ ‫هر‬ ‫ضروری‬ ‫موارد‬ :
‫مصداق‬ ‫هم‬ ‫اینجا‬ ‫در‬ ‫موضوع‬ ‫همین‬ .‫‌آورد‬
‫ی‬‫نم‬ ‫همراه‬ ‫به‬ ‫هم‬ ‫خاصی‬ ‫نتیجه‬ ،‫نباشد‬ ‫‌گیری‬
‫ه‬‫انداز‬ ‫قابل‬ ‫هرآنچه‬ ‫که‬ ‫‌اید‬
‫ه‬‫شنید‬ ‫را‬ ‫این‬ ‫احتماال‬
‫نمودارهای‬ ‫سراغ‬ ‫به‬ ‫‌توان‬
‫ی‬‫م‬ ،‫اپیک‬ ‫هر‬ ‫در‬ ‫دستاوردها‬ ‫میزان‬ ‫‌گیری‬
‫ه‬‫انداز‬ ‫برای‬ .‫‌کند‬
‫ی‬‫م‬
Burndown
‫‌بینی‬
‫ش‬‫پی‬ ‫در‬ ‫شما‬ ‫به‬ ‫نمودار‬ ‫این‬ .‫رفت‬
‫‌رو‬
‫ه‬‫روب‬ ‫‌ها‬
‫ن‬‫آ‬ ‫با‬ ‫تیم‬ ‫که‬ ‫موانعی‬ ‫و‬ ‫پیشرفت‬ ‫مدیریت‬ ،‫‌داون‬
‫ن‬‫بر‬ ‫نمودار‬ ‫به‬ ‫همیشگی‬ ‫توجه‬ ‫با‬ .‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫هم‬ ‫توسعه‬ ‫تیم‬ ‫روی‬ ‫پیش‬ ‫مسیر‬
.‫‌شوید‬
‫ی‬‫م‬ ‫مشتریان‬ ‫و‬ ‫تیم‬ ‫میان‬ ‫اعتماد‬ ‫‌گیری‬
‫ل‬‫شک‬ ‫باعث‬ ‫بلکه‬ ،‫‌آورید‬
‫ی‬‫م‬ ‫پدید‬ ‫سیستم‬ ‫در‬ ‫را‬ ‫شفافیت‬ ‫‌تنها‬
‫ه‬‫ن‬ ‫کار‬ ‫این‬ ‫با‬ .‫‌شود‬
‫ی‬‫م‬ ‫آسان‬ ،‫است‬
‫شناسایی‬ ‫نحوه‬
Epic
‫است؟‬ ‫چگونه‬ ‫اسکرام‬ ‫در‬
‫مباحثه‬ ‫نیازمند‬ ‫که‬ ‫‌زنیم‬
‫ی‬‫م‬ ‫حرف‬ ‫چیزی‬ ‫به‬ ‫راجع‬ ‫داریم‬ .‫کرد‬ ‫رسیدگی‬ ‫آن‬ ‫به‬ ‫واحد‬ ‫برهه‬ ‫یک‬ ‫در‬ ‫‌توان‬
‫ی‬‫نم‬ ‫که‬ ‫است‬ ‫بزرگ‬ ‫نسبتا‬ ‫کار‬ ‫یک‬ ‫اپیک‬
‫حدودی‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خردتر‬ ‫کارهای‬ ‫ابعاد‬ ،‫اپیک‬ ‫سطح‬ ‫در‬ .‫باشید‬ ‫‌تر‬
‫ک‬‫کوچ‬ ‫اجزایی‬ ‫به‬ ‫آن‬ ‫تقسیم‬ ‫به‬ ‫قادر‬ ‫تا‬ ‫است‬ ‫طوالنی‬ ‫فکری‬ ‫بارش‬ ‫و‬
‫با‬ ‫شما‬ ‫تیم‬ ‫که‬ ‫دیگری‬ ‫چیز‬ ‫هر‬ ‫یا‬ ‫امتیاز‬ ،‫‌شرت‬
‫ی‬‫ت‬ ‫سایزهای‬ ‫مانند‬ ‫گوناگون‬ ‫‌گیری‬
‫ه‬‫انداز‬ ‫واحدهای‬ ‫از‬ ‫‌توانیم‬
‫ی‬‫م‬ ‫کار‬ ‫این‬ ‫برای‬ ‫و‬ ‫‌زنیم‬
‫ی‬‫م‬ ‫تخمین‬
.‫بگیریم‬ ‫بهره‬ ،‫است‬ ‫راحت‬ ‫آن‬
‫نمودار‬ ‫در‬ ‫اپیک‬ ‫پیشرفت‬ ‫میزان‬ ‫پایش‬ ‫به‬ ‫قادر‬ ‫سپس‬ ‫توسعه‬ ‫تیم‬
Burndown
‫هم‬ ،‫‌دهد‬
‫ی‬‫م‬ ‫نمایش‬ ‫را‬ ‫امور‬ ‫در‬ ‫پیشروی‬ ‫مقدار‬ ‫هم‬ ‫که‬ ‫است‬
.‫است‬ ‫مسیر‬ ‫در‬ ‫احتمالی‬ ‫موانع‬ ‫بازتابگر‬
‫اپیک‬ ‫مزایای‬
.‫‌رساند‬
‫ی‬‫م‬ ‫یاری‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫دقیقا‬ ‫آنچه‬ ‫و‬ ‫ذینفعان‬ ‫باالی‬ ‫سطح‬ ‫‌نیازهای‬
‫ش‬‫پی‬ ‫درک‬ ‫در‬ ‫شما‬ ‫به‬ ‫اپیک‬
.‫باشید‬ ‫کار‬ ‫ابعاد‬ ‫تعیین‬ ‫به‬ ‫قادر‬ ،‫مشتری‬ ‫با‬ ‫توافق‬ ‫در‬ ‫‌شود‬
‫ی‬‫م‬ ‫باعث‬ ‫اپیک‬
.‫نکنید‬ ‫مختلف‬ ‫امور‬ ‫در‬ ‫غرق‬ ‫را‬ ‫آن‬ ،‫حال‬ ‫عین‬ ‫در‬ ‫و‬ ‫شوید‬ ‫مشغول‬ ‫محصول‬ ‫الگ‬ ‫بک‬ ‫در‬ ‫‌تر‬
‫گ‬‫بزر‬ ‫موارد‬ ‫پایش‬ ‫به‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫شما‬ ‫به‬ ‫اپیک‬
‫خروجی‬ ‫یک‬ ‫با‬ ‫تنگاتنگ‬ ‫ارتباطی‬ ‫معموال‬ ‫که‬ ‫است‬ ‫اصیل‬ ‫‌ای‬
‫ه‬‫اید‬ ‫نماینده‬ ‫هم‬ ‫اپیک‬ ‫و‬ ‫‌آید‬
‫ی‬‫م‬ ‫پدید‬ ‫‌الگ‬
‫ک‬‫ب‬ ‫در‬ ‫مراتب‬ ‫سلسله‬ ‫نوعی‬ ‫واقع‬ ‫در‬
.‫دارد‬ ‫مشخص‬
‫‌نظرهای‬
‫ه‬‫نقط‬ ‫برای‬ ‫فضا‬ ‫‌دارنده‬
‫ه‬‫نگ‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌ها‬
‫ک‬‫اپی‬ .‫بود‬ ‫خواهید‬ ‫محصول‬ ‫ارائه‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫‌زمان‬
‫ت‬‫مد‬ ‫زدن‬ ‫تخمین‬ ‫به‬ ‫قادر‬ ‫دیگر‬ ‫سوی‬ ‫از‬
.‫است‬ ‫افتاده‬ ‫تعویق‬ ‫به‬ ‫کنند‬ ‫پیدا‬ ‫را‬ ‫مطلوب‬ ‫ساختار‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌ها‬
‫ن‬‫آ‬ ‫تکامل‬ ‫که‬ ‫مواردی‬ ‫یا‬ ‫‌اند‬
‫ه‬‫نگرفت‬ ‫شکل‬ ‫کامال‬ ‫هنوز‬ ‫که‬ ‫باشند‬ ‫جدیدی‬
.‫‌رسانند‬
‫ی‬‫م‬ ‫یاری‬ ‫محصول‬ ‫الگ‬ ‫بک‬ ‫موثر‬ ‫مدیریت‬ ‫در‬ ‫چابک‬ ‫توسعه‬ ‫تیم‬ ‫به‬ ‫که‬ ‫‌شوند‬
‫ی‬‫م‬ ‫کاربر‬ ‫داستان‬ ‫چندین‬ ‫به‬ ‫تبدیل‬ ‫سپس‬ ‫‌ها‬
‫ک‬‫اپی‬
‫اپیک‬ ‫بالقوه‬ ‫و‬ ‫رایج‬ ‫مشکالت‬
‫‌ها‬
‫م‬‫تی‬ ‫اوقات‬ ‫از‬ ‫گاهی‬ .‫دارد‬ ‫طرف‬ ‫دو‬ ‫‌ای‬
‫ه‬‫سک‬ ‫هر‬ ‫اما‬ ،‫‌آورد‬
‫ی‬‫م‬ ‫همراه‬ ‫به‬ ‫خود‬ ‫با‬ ‫محصول‬ ‫‌الگ‬
‫ک‬‫ب‬ ‫مدیریت‬ ‫هنگام‬ ‫به‬ ‫زیادی‬ ‫مزایای‬ ‫اپیک‬ ‫اگرچه‬
‫به‬ ‫توسعه‬ ‫تیم‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫دردسرساز‬ ‫زمانی‬ ‫موضوع‬ ‫این‬ .‫ببینند‬ ‫بزرگ‬ ‫کاربری‬ ‫‌های‬
‫ن‬‫داستا‬ ‫از‬ ‫فراتر‬ ‫چیزی‬ ‫را‬ ‫اپیک‬ ‫و‬ ‫شده‬ ‫گیج‬ ‫است‬ ‫ممکن‬
‫اندازه‬ ‫از‬ ‫بیش‬ ‫ابزارهایی‬ ‫است‬ ‫ممکن‬ ‫دیگر‬ ‫سوی‬ ‫از‬ .‫شود‬ ‫قائل‬ ‫تمایز‬ ‫‌ها‬
‫ن‬‫داستا‬ ‫و‬ ‫‌ها‬
‫ک‬‫اپی‬ ‫میان‬ ‫تا‬ ‫‌پردازد‬
‫ی‬‫م‬ ‫چندوجهی‬ ‫ابزارهایی‬ ‫ساخت‬
.‫برد‬ ‫پیش‬ ‫الگ‬ ‫بک‬ ‫در‬ ‫موجود‬ ‫موارد‬ ‫از‬ ‫جداگانه‬ ‫را‬ ‫‌ها‬
‫ک‬‫اپی‬ ‫بتوان‬ ‫تا‬ ‫شود‬ ‫دیده‬ ‫تدارک‬ ‫پیچیده‬
‫اندازه‬ ‫از‬ ‫بیش‬ ‫را‬ ‫‌ها‬
‫ک‬‫اپی‬ ‫برخی‬ ،‫باشد‬ ‫داشته‬ ‫شوند‬ ‫انجام‬ ‫باید‬ ‫که‬ ‫کارهایی‬ ‫به‬ ‫راجع‬ ‫واضح‬ ‫ذهنیتی‬ ‫اینکه‬ ‫بدون‬ ‫است‬ ‫ممکن‬ ‫ضمنا‬ ‫توسعه‬ ‫تیم‬
‫دردی‬ ‫هیچ‬ ‫به‬ ‫عمال‬ ،‫نباشند‬ ‫دقیق‬ ‫‌ها‬
‫ن‬‫تخمی‬ ‫وقتی‬ ‫و‬ ‫‌رود‬
‫ی‬‫م‬ ‫باالتر‬ ‫تیم‬ ‫اعضای‬ ‫میان‬ ‫ابهام‬ ‫احتمال‬ ‫ترتیب‬ ‫بدین‬ .‫بزند‬ ‫تخمین‬ ‫باال‬ ‫سطح‬
.‫‌کنند‬
‫ی‬‫نم‬ ‫‌دهی‬
‫ش‬‫گزار‬ ‫فرایند‬ ‫به‬ ‫کمکی‬ ‫و‬ ‫‌خورند‬
‫ی‬‫نم‬
‫ابزارها‬
‫اهمیت‬ ‫از‬ ،‫استقرار‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫انجام‬ ‫و‬ ‫کد‬ ‫مدیریت‬ ‫جهت‬ ‫مناسب‬ ‫‌های‬
‫ی‬‫تکنولوژ‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫استفاده‬ ،‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫دنیای‬ ‫در‬
( ‫کنترل‬ ‫سورس‬ ‫‌های‬
‫م‬‫پلتفر‬ .‫است‬ ‫برخوردار‬ ‫‌ای‬
‫ه‬‫ویژ‬
Source Control
( ‫مداوم‬ ‫استقرار‬ / ‫مداوم‬ ‫پیوستگی‬ ‫و‬ )
CI/CD
‫در‬ ‫حیاتی‬ ‫نقش‬ )
.‫‌کنند‬
‫ی‬‫م‬ ‫ایفا‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫کارایی‬ ‫افزایش‬ ‫و‬ ‫توسعه‬ ‫زمان‬ ‫کاهش‬ ،‫کد‬ ‫کیفیت‬ ‫بهبود‬
،‫کنند‬ ‫پیگیری‬ ‫را‬ ‫منبع‬ ‫کد‬ ‫در‬ ‫تغییرات‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫به‬ ‫که‬ ‫است‬ ‫فرآیندی‬ ،‫نسخه‬ ‫کنترل‬ ‫یا‬ ‫کنترل‬ ‫سورس‬
‫مانند‬ ‫ابزارهایی‬ .‫کنند‬ ‫کار‬ ‫تداخل‬ ‫بدون‬ ‫و‬ ‫همزمان‬ ‫صورت‬ ‫به‬ ‫خود‬ ‫همکاران‬ ‫با‬ ‫و‬ ‫کنند‬ ‫مدیریت‬ ‫را‬ ‫کد‬ ‫مختلف‬ ‫‌های‬
‫ه‬‫نسخ‬
Git،Subversion
(SVN)
‫و‬
Mercurial
‫و‬ ‫مؤثر‬ ‫صورت‬ ‫به‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫هستند‬ ‫کنترل‬ ‫سورس‬ ‫معروف‬ ‫‌های‬
‫م‬‫پلتفر‬ ‫جمله‬ ‫از‬
.‫کنند‬ ‫کار‬ ‫خود‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫روی‬ ‫بر‬ ‫منظم‬
،‫دیگر‬ ‫سوی‬ ‫از‬
CI/CD
‫و‬ ‫‌سازی‬
‫ک‬‫اتوماتی‬ ‫‌ها‬
‫ن‬‫آ‬ ‫هدف‬ ‫که‬ ‫ابزارهاست‬ ‫و‬ ‫‌ها‬
‫ش‬‫رو‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ ،‫مداوم‬ ‫تحویل‬ / ‫مداوم‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ‫یا‬
،‫تست‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خود‬ ‫کدهای‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ،‫‌ها‬
‫ش‬‫رو‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫بهبود‬
‫مانند‬ ‫ابزارهایی‬ .‫دهند‬ ‫استقرار‬ ‫و‬ ‫ادغام‬
Jenkins، GitLab CI ، CircleCI
‫و‬
Travis CI
‫هستند‬ ‫حوزه‬ ‫این‬ ‫در‬ ‫محبوب‬ ‫ابزارهای‬ ‫جمله‬ ‫از‬
.‫کنند‬ ‫عرضه‬ ‫بازار‬ ‫به‬ ‫را‬ ‫خود‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫بیشتری‬ ‫دقت‬ ‫و‬ ‫سرعت‬ ‫با‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫به‬ ‫که‬
‫و‬ ‫کنترل‬ ‫سورس‬ ‫مختلف‬ ‫‌های‬
‫م‬‫پلتفر‬ ‫مقایسه‬ ‫و‬ ‫بررسی‬ ‫به‬ ‫مستند‬ ‫این‬
CI/CD
‫معایب‬ ‫و‬ ‫مزایا‬ ،‫‌ها‬
‫ی‬‫ویژگ‬ ‫معرفی‬ ‫به‬ ‫اینجا‬ ‫در‬ ‫ما‬ .‫‌پردازد‬
‫ی‬‫م‬
‫خواهیم‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫بهبود‬ ‫در‬ ‫‌ها‬
‫ن‬‫آ‬ ‫نقش‬ ‫و‬ ‫پرداخت‬ ‫خواهیم‬ ‫زمینه‬ ‫این‬ ‫در‬ ‫مطرح‬ ‫‌های‬
‫م‬‫پلتفر‬
.‫داد‬
‫محصوالت‬ ‫تولید‬ ‫چرخه‬ ‫و‬ ‫نسخه‬ ‫کنترل‬ ‫مناسب‬ ‫سکوی‬ ‫ایجاد‬ ‫برای‬ ‌
‫ل‬‫‌ح‬
‫ه‬‫را‬ ‫بهترین‬ ‫انتخاب‬ ،‫مستند‬ ‫این‬ ‫از‬ ‫هدف‬
.‫باشد‬ ‫می‬ ‫ایران‬ ‫پردازی‬ ‫داده‬ ‫شرکت‬ ‫کاربردی‬ ‫های‬ ‫سامانه‬ ‫معاونت‬ ‫افزاری‬ ‫نرم‬
:‫است‬ ‫شده‬ ‫ارائه‬ ‫پیشنهادی‬ ‫حل‬ ‫راه‬ ‫آنها‬ ‫امکانات‬ ‫و‬ ‫ویژگیهای‬ ‫مقایسه‬ ‫از‬ ‫پس‬ ‫و‬ ‫شده‬ ‫انجام‬ ‫زیر‬ ‫های‬ ‫فرم‬ ‫پلت‬ ‫بررسی‬ ‫مستند‬ ‫این‬ ‫در‬
Gitlab , Azure Devops , Jenkins , TeamCity , CircleCI ,Travis CI , Bamboo
1
-
‫های‬ ‫قابلیت‬ ‫بررسی‬
GitLab
‫شکل‬
1
‫ابزار‬ ‫شمای‬ :
GitLab
GitLab
‫پلتفرم‬ ‫یک‬
Git
‫و‬
DevOps
‫اجرا‬ ‫و‬ ‫آزمایش‬ ‫را‬ ‫آنها‬ ،‫کرده‬ ‫نظارت‬ ‫کدها‬ ‫بر‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬
.‫کنند‬
‫امروزه‬
GitLab
‫‌های‬
‫ی‬‫ویژگ‬ ‫از‬ ‫بسیاری‬
DevOps
‫ارائه‬ ‫نیز‬ ‫را‬ ‫برنامه‬ ‫استقرار‬ ‫ابزارهای‬ ‫حتی‬ ‫و‬ ‫امنیت‬ ،‫مداوم‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ‫مانند‬
.‫‌دهد‬
‫ی‬‫م‬
GitLab
‫برای‬ ‫باز‬ ‫متن‬ ‫جایگزین‬ ‫یک‬ ‫عنوان‬ ‫به‬
GitHub
‫های‬ ‫برنامه‬ ‫حاضر‬ ‫حال‬ ‫در‬ .‫کرد‬ ‫کار‬ ‫به‬ ‫شروع‬
SaaS
‫بر‬ ‫مبتنی‬ ‫پولی‬ ‫و‬ ‫رایگان‬
‫صرفا‬ ‫و‬ ‫دهد‬ ‫می‬ ‫قرار‬ ‫اختیارتان‬ ‫در‬ ،‫تیم‬ ‫اعضای‬ ‫کنترل‬ ‫و‬ ‫نظارت‬ ‫جهت‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫ضروری‬ ‫ابزارهای‬ ‫همچنین‬ .‫کند‬ ‫می‬ ‫ارائه‬ ‫نیز‬ ‫را‬ ‫ابر‬
.‫نیست‬ ‫افزارتان‬ ‫نرم‬ ‫کدهای‬ ‫برای‬ ‫نسخه‬ ‫کنترل‬ ‫سیستم‬ ‫یک‬
‫شکل‬
2
‫کلی‬ ‫قابلیتهای‬ :
GitLab
‫انتشار‬ ‫و‬ ‫تست‬ ،‫مانیتورینگ‬ ‫زمینه‬ ‫در‬ ‫‌ها‬
‫ه‬‫‌دهند‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫دواپس‬ ‫و‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫و‬ ‫گیت‬ ‫پایه‬ ‫بر‬ ‫ابری‬ ‫پلتفرم‬ ‫یک‬ ‫‌لب‬
‫ت‬‫گی‬
‫و‬ ‫دواپس‬ ‫بزرگ‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫در‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫است‬ ‫ریپوزیتوری‬ ‫و‬ ‫تعاملی‬ ‫باز‬-‫متن‬ ‫ابزار‬ ‫یک‬ ‫همچنین‬ ‫ابزار‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫برنامه‬
DevSecOps
.‫کند‬ ‫کمک‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬
‫امنیتی‬ ‫های‬ ‫پروتکل‬ ،)‫پالگین‬ ‫نصب‬ ‫به‬ ‫نیاز‬ ‫(بدون‬ ‫داخلی‬ ‫امکانات‬ ‫داشتن‬ ‫با‬ ‫‌لب‬
‫ت‬‫گی‬
DevSecOps
‫دواپس‬ ‫فرآیندهای‬ ‫تمامی‬ ‫در‬ ‫را‬
‫برای‬ ‫مناسب‬ ‫دواپس‬ ‫ابزارهای‬ ‫از‬ ‫یکی‬ ،‫خاطر‬ ‫همین‬ ‫به‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرایند‬ ‫در‬ ‫امنیت‬ ‫حفظ‬ ‫به‬ ‫و‬ ‫نموده‬ ‫پشتیبانی‬
‫فرایند‬ ‫‌سازی‬
‫ه‬‫پیاد‬
DevSecOps
.‫است‬
(‫شخصی‬ ‫هاست‬ ‫روی‬ ‫نصب‬ ‫قابلیت‬ ‫همچنین‬ ‫‌لب‬
‫ت‬‫گی‬
on-premises
‫و‬ ‫آنالین‬ ‫کد‬ ‫ذخیره‬ ‫مانند‬ ‫امکاناتی‬ ‫بر‬ ‫عالوه‬ ‫که‬ . ‫میباشد‬ ‫دارا‬ ‫را‬ )
‫امکانات‬ ،‫اشکاالت‬ ‫ردیابی‬
CI/CD
‫از‬ ‫استفاده‬ .‫‌دهد‬
‫ی‬‫م‬ ‫ارائه‬ ‫کاربر‬ ‫به‬ ‫هم‬ ‫امنیتی‬ ‫امکانات‬ ‫و‬ ‫دواپس‬ ‫فرایندهای‬ ‫مدیریت‬ ،
GitLab
‫صورت‬ ‫به‬
.‫کنید‬ ‫تهیه‬ ‫را‬ ‫آن‬ ‫اشتراکی‬ ‫نسخه‬ ‫باید‬ ،‫امکانات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬ ‫از‬ ‫برخی‬ ‫و‬ ‫‌ها‬
‫م‬‫تی‬ ‫برای‬ ‫اما‬ ،‫است‬ ‫رایگان‬ ‫فردی‬
‫عنوان‬ ‫به‬ ‫که‬ ‫تجاری‬ ‫نسخه‬ :‫دارد‬ ‫نسخه‬ ‫دو‬ ‫‌لب‬
‫ت‬‫گی‬ ‫حاضر‬ ‫حال‬ ‫در‬
SaaS (Software as a service)
‫و‬ ‫رایگان‬ ‫نسخه‬ ‫و‬ ‫شد‬ ‫عرضه‬
‫که‬ ‫باز‬-‌
‫ن‬‫مت‬
GitLab CE
.‫دارد‬ ‫نام‬
CE
‫مخفف‬
Community edition
‫نسخه‬ ‫البته‬ .‫است‬
ee
‫یا‬
enterprise edition
‫میتوان‬ ‫راهم‬
. ‫کرد‬ ‫نصب‬
‫شکل‬
3
‫نسخ‬ ‫مقایسه‬ :
GitLab
‫نسخه‬ ‫در‬ ‫واقع‬ ‫در‬
EE
.‫دارد‬ ‫وجود‬ ‫نسخه‬ ‫این‬ ‫نصب‬ ‫امکان‬ ‫اما‬ . ‫داریم‬ ‫را‬ ‫فنی‬ ‫منابع‬ ‫و‬ ‫ها‬ ‫پشتیبانی‬ ‫به‬ ‫دسترسی‬
‫پلتفرم‬ ‫اولین‬
GitLab DevOps
‫باز‬ ‫منبع‬ ‫پروژه‬ ‫دو‬ ‫از‬ ‫ترکیبی‬ ‫اینها‬ .‫بود‬ ‫تأیید‬ ‫و‬ ‫ایجاد‬ ‫مراحل‬ ‫شامل‬ ‫فقط‬ ‫و‬ ‫بود‬ ‫‌تر‬
‫ه‬‫ساد‬ ‫بسیار‬
GitLab Source Code Management
‫و‬
GitLab Continuous Integration
‫مرحله‬ ‫دو‬ ‫این‬ ‫ترکیب‬ ‫تنها‬ .‫دهند‬ ‫می‬ ‫نشان‬ ‫را‬
‫کنسول‬ ،‫مختلف‬ ‫های‬ ‫الگین‬ ‫با‬ ‫جداگانه‬ ‫ابزار‬ ‫چندین‬ ‫با‬ ‫تعامل‬ ‫به‬ ‫نیاز‬ ‫مراحل‬ ‫این‬ ‫زیرا‬ ،‫کرد‬ ‫ایجاد‬ ‫توسعه‬ ‫های‬ ‫تیم‬ ‫برای‬ ‫توجهی‬ ‫قابل‬ ‫ارزش‬
.‫داشت‬ ‫غیره‬ ‫و‬ ‫ادغام‬ ‫نقاط‬ ،‫مدیریتی‬ ‫های‬
‫ابزار‬ ‫دو‬ ‫هر‬ ‫از‬ ‫ها‬ ‫تیم‬ ‫چه‬
GitLab
‫مانند‬ ‫های‬ ‫حل‬ ‫راه‬ ‫از‬ ‫چه‬ ‫و‬ ‫کند‬ ‫استفاده‬
GitHub
( ‫جنکینز‬ ‫و‬ )‫منبع‬ ‫(کد‬ .
CI/CD
.)
‫تیم‬ ‫ادامه‬ ‫در‬
GitLab
‫عمر‬ ‫چرخه‬ ‫مراحل‬ ‫تمام‬ ‫تا‬ ‫است‬ ‫داده‬ ‫ادامه‬ ‫را‬ ‫واحد‬ ‫پلتفرم‬ ‫یک‬ ‫در‬ ‫ابزارها‬ ‫ادغام‬ ‫و‬ ‫ساخت‬ ‫مسیر‬
DevOps
‫را‬
‫تیم‬ ،‫مرحله‬ ‫این‬ ‫در‬ .‫دهد‬ ‫پوشش‬
GitLab
( ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫حیات‬ ‫چرخه‬
Software Development Life Cycle -SDLC
‫را‬ )
‫و‬ ‫مؤثر‬ ‫عملکرد‬ ‫یک‬ ‫به‬ ‫را‬ ‫آن‬ ‫تا‬ ‫است‬ ‫‌ها‬
‫ی‬‫ویژگ‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ ‫شامل‬ ‫مرحله‬ ‫هر‬ .‫‌گیرند‬
‫ی‬‫م‬ ‫نظر‬ ‫در‬ ‫محدوده‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫شناسایی‬
‫‌های‬
‫ن‬‫سازما‬ ‫برای‬ ‫کامل‬
DevSecOps
.‫کند‬ ‫تبدیل‬
‫چرخه‬ ‫بررسی‬ ‫به‬ ‫زیر‬ ‫در‬
devops
: ‫میپردازیم‬ ‫لب‬ ‫گیت‬ ‫در‬
‫شکل‬
4
‫چرخه‬ :
CI/CD
‫در‬
GitLab
Plan
( ‫متدولوژی‬ ‫چندین‬ ‫در‬ ‫افزاری‬ ‫نرم‬ ‫پروژه‬ ‫ریزی‬ ‫برنامه‬ ‫فرآیند‬ ‫از‬ ‫لب‬ ‫گیت‬ :
Waterfall، Scrum، Kanban
)‫غیره‬ ‫و‬
.‫کند‬ ‫می‬ ‫پشتیبانی‬
‫راحتی‬ ‫به‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫تیم‬ .‫دهند‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫وظایف‬ ،‫پروژه‬ ‫عطف‬ ‫نقاط‬ ‫مانند‬ ،‫استاندارد‬ ‫ریزی‬ ‫برنامه‬ ‫مصنوعات‬ ‫آنها‬ ،‫روش‬ ‫هر‬ ‫برای‬
‫در‬ ‫همه‬ ‫که‬ ‫کند‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫پروژه‬ ‫تیم‬ ‫به‬ ‫این‬ .‫کنند‬ ‫پیگیری‬ ‫و‬ ‫تراز‬ ،‫سازماندهی‬ ‫مشترک‬ ‫رابط‬ ‫یک‬ ‫در‬ ‫را‬ ‫پروژه‬ ‫کار‬
‫ردیابی‬ ‫تولید‬ ‫تا‬ ‫شروع‬ ‫از‬ ‫تحویل‬ ‫حیات‬ ‫چرخه‬ ‫طریق‬ ‫از‬ ‫توان‬ ‫می‬ ‫را‬ ‫مصنوعات‬ ‫و‬ ‫پروژه‬ ‫کار‬ ‫اقالم‬ .‫کنند‬ ‫می‬ ‫کار‬ ‫درست‬ ‫کار‬ ‫روی‬ ‫مناسب‬ ‫زمان‬
.‫کرد‬
Create
:
‫مدیریت‬ ‫و‬ ‫مشاهده‬ ،‫بگذارند‬ ‫اشتراک‬ ‫به‬ ،‫بنویسند‬ ‫کد‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫تیم‬ .‫شود‬ ‫می‬ ‫ایجاد‬ ‫کد‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫ای‬ ‫مرحله‬ ‫این‬
‫پیگیری‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫هماهنگی‬ ‫‌سازی‬
‫ه‬‫ساد‬ ‫و‬ ‫تعارضات‬ ‫حل‬ ‫برای‬ ‫مفید‬ ‫ابزارهای‬ ‫با‬ ‫را‬ ‫‌ها‬
‫م‬‫ادغا‬ ‫و‬ ‫‌ها‬
‫ه‬‫شاخ‬ ،‫تعهدات‬ ‫سیستم‬ ‫این‬ .‫کنند‬
.‫کنند‬ ‫همکاری‬ ‫کد‬ ‫بررسی‬ ‫ابزارهای‬ ‫طریق‬ ‫از‬ ‫کد‬ ‫تغییرات‬ ‫مورد‬ ‫در‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫تیم‬ .‫‌کند‬
‫ی‬‫م‬
Verify
:
‫مرحله‬ ‫تمرکز‬
Verify
،‫این‬ ‫از‬ ‫پشتیبانی‬ ‫برای‬ .‫است‬ ‫خودکار‬ ‫گزارش‬ ‫و‬ ‫تست‬ ‫تسهیل‬ ‫با‬ ‫کد‬ ‫کیفیت‬ ‫حفظ‬
GitLab
‫خط‬ ‫یک‬
،‫استاتیک‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ،‫عملکردی‬/‫واحد‬ ‫تست‬ ‫شامل‬ ‫تأییدها‬ ‫این‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫کد‬ ‫تأیید‬ ‫و‬ ‫سازی‬ ‫یکپارچه‬ ،‫ساخت‬ ‫برای‬ ‫اتوماسیون‬ ‫از‬ ‫پایه‬
.‫است‬ ‫کد‬ ‫کیفیت‬ ‫بررسی‬ ‫و‬ ‫پویا‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ،‫امنیتی‬ ‫تست‬
Builds
‫با‬
pipeline
‫به‬ ‫ادغام‬ ‫و‬ ‫آزمایش‬ ‫که‬ ‫طوری‬ ‫به‬ ،‫شوند‬ ‫می‬ ‫جدا‬
.‫شود‬ ‫می‬ ‫انجام‬ ‫موازی‬ ‫صورت‬
Package
:
،‫ادغام‬ ‫تست‬ ‫گذراندن‬ ‫از‬ ‫پس‬
GitLab
‫در‬ ‫را‬ ‫ها‬ ‫وابستگی‬ ‫تمام‬ ‫با‬ ‫کاربردی‬ ‫های‬ ‫برنامه‬ ‫تا‬ ‫سازد‬ ‫می‬ ‫قادر‬ ‫را‬ ‫ها‬ ‫تیم‬
‫منبع‬ ‫کنترل‬ ‫مدیریت‬ ‫با‬ ‫کار‬ ‫برای‬ ‫بسته‬ ‫رجیستری‬ .‫کنند‬ ‫بندی‬ ‫بسته‬ ‫استقرار‬ ‫برای‬ ‫ساخت‬ ‫های‬ ‫آرتیفکت‬
GitLab
‫لوله‬ ‫خطوط‬ ‫و‬
CI/CD
‫از‬
‫تضمین‬ ‫را‬ ‫ثالث‬ ‫شخص‬ ‫های‬ ‫بسته‬ ‫یکپارچگی‬ ‫و‬ ‫کند‬ ‫می‬ ‫نظارت‬ ‫افزار‬ ‫نرم‬ ‫تامین‬ ‫زنجیره‬ ‫بر‬ ‫همچنین‬ ‫مرحله‬ ‫این‬ .‫است‬ ‫شده‬ ‫پیکربندی‬ ‫پیش‬
.‫کند‬ ‫می‬
Secure
:
( ‫استاتیک‬ ‫برنامه‬ ‫امنیت‬ ‫تست‬ ‫پلتفرم‬ ‫این‬ .‫کند‬ ‫می‬ ‫بندی‬ ‫الیه‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫در‬ ‫را‬ ‫امنیت‬ ‫مرحله‬ ‫این‬
SAST
‫تست‬ ،)
( ‫پویا‬ ‫برنامه‬ ‫امنیت‬
DAST
‫برای‬ ‫را‬ ‫زیرساخت‬ ‫و‬ ‫منبع‬ ‫پیکربندی‬ ‫کدهای‬ ‫همگی‬ ‫توابع‬ ‫این‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫وابستگی‬ ‫اسکن‬ ‫و‬ ‫کانتینر‬ ‫اسکن‬ ،)
.‫پردازد‬ ‫می‬ ‫ثالث‬ ‫شخص‬ ‫های‬ ‫بسته‬ ‫برای‬ ‫مجوز‬ ‫رعایت‬ ‫به‬ ‫همچنین‬ ‫مرحله‬ ‫این‬ .‫‌کنند‬
‫ی‬‫م‬ ‫بررسی‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫در‬ ‫سطحی‬ ‫‌های‬
‫ی‬‫‌پذیر‬
‫ب‬‫آسی‬
Release
:
.‫است‬ ‫تولید‬ ‫برای‬ ‫انتشار‬ ‫آماده‬ ،‫شد‬ ‫ایمن‬ ‫و‬ ‫شد‬ ‫تست‬ ،‫شد‬ ‫ساخته‬ ‫کد‬ ‫که‬ ‫زمانی‬
GitLab
‫‌های‬
‫ه‬‫برنام‬ ‫تحویل‬ ‫و‬ ‫انتشار‬ ‫به‬
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫سرور‬ ‫هزاران‬ ‫استقرار‬ ‫سراسر‬ ‫در‬ ‫کاربردی‬
Continuous Delivery (CD)
‫در‬
pipeline
‫محیط‬ ‫از‬ ‫و‬ ‫است‬ ‫شده‬ ‫تعبیه‬
.‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫قناری‬ ‫حتی‬ ‫و‬ ‫تولید‬ ،‫بندی‬ ‫مرحله‬ ‫مانند‬ ‫مختلف‬ ‫های‬
Configure
:
‫یکپارچگی‬ ‫شامل‬ ‫این‬ .‫کنند‬ ‫پیکربندی‬ ‫و‬ ‫مدیریت‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫های‬ ‫محیط‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫ها‬ ‫تیم‬ ‫به‬ ‫لب‬ ‫گیت‬
‫با‬ ‫عمیق‬
Kubernetes
‫محدود‬ ‫برای‬ ‫سیستم‬ ‫به‬ ‫ورود‬ ‫اطالعات‬ ‫و‬ ‫عبور‬ ‫رمز‬ .‫است‬ ‫هکرها‬ ‫برابر‬ ‫در‬ ‫زیرساخت‬ ‫پیکربندی‬ ‫جزئیات‬ ‫از‬ ‫محافظت‬ ‫و‬
. ‫است‬ ‫درست‬ ‫های‬ ‫فرایند‬ ‫و‬ ‫شده‬ ‫تایید‬ ‫کاربران‬ ‫برای‬ ‫دسترسی‬ ‫کردن‬
Monitor
:
.‫است‬ ‫خدمات‬ ‫بر‬ ‫تأثیرگذار‬ ‫حوادث‬ ‫دفعات‬ ‫و‬ ‫شدت‬ ‫کاهش‬ ‫مانیتور‬ ‫مرحله‬ ‫از‬ ‫هدف‬
GitLab
‫بروز‬ ‫صورت‬ ‫در‬ ‫تواند‬ ‫می‬
‫اندازه‬ ‫نمودارهای‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫پلتفرم‬ ‫این‬ .‫کند‬ ‫هماهنگ‬ ‫را‬ ‫پاسخ‬ ‫و‬ ‫کند‬ ‫تسهیل‬ ‫را‬ ‫آنها‬ ‫تریاژ‬ ‫و‬ ‫بررسی‬ ،‫دهد‬ ‫هشدار‬ ‫کاربران‬ ‫به‬ ‫مشکالت‬
‫مانند‬ ‫خارجی‬ ‫نظارت‬ ‫ابزارهای‬ ‫از‬ ‫گیری‬
Grafana
‫و‬
Prometheus
‫و‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ت‬‫سیاس‬ ‫همچنین‬ .‫شود‬ ‫تعبیه‬ ‫حوادث‬ ‫ردیابی‬ ‫در‬
on-call
.‫‌کند‬
‫ی‬‫م‬ ‫مدیریت‬ ‫را‬
Protect
:
‫این‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫برابر‬ ‫در‬ ‫تولیدی‬ ‫افزارهای‬ ‫نرم‬ ‫از‬ ‫محافظت‬ ‫و‬ ‫کشف‬ ‫برای‬ ‫را‬ ‫ابزارهایی‬ ‫لب‬ ‫گیت‬
‫کانتینرهای‬ ‫مانند‬ ،‫ابری‬ ‫بومی‬ ‫‌های‬
‫ط‬‫محی‬ ‫‌تواند‬
‫ی‬‫م‬
Docker
‫هرگونه‬ ‫رفع‬ ‫برای‬ ‫را‬ ‫وصله‬ ‫یک‬ ‫دانلود‬ ‫حتی‬ ‫و‬ ‫کند‬ ‫اسکن‬ ‫‌ها‬
‫ی‬‫‌پذیر‬
‫ب‬‫آسی‬ ‫برای‬ ‫را‬ ،
‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ ‫را‬ ‫‌هایی‬
‫ت‬‫سیاس‬ ‫‌توانند‬
‫ی‬‫م‬ ‫همچنین‬ ‫امنیتی‬ ‫‌های‬
‫م‬‫تی‬ .‫کند‬ ‫مدیریت‬ ‫مشکل‬
GitLab
‫‌های‬
‫ه‬‫خوش‬ ‫روی‬
Kubernetes
‫اعمال‬
.‫باشد‬ ‫جدید‬ ‫افزاری‬ ‫نرم‬ ‫بسته‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫پیکربندی‬ ‫تغییر‬ ‫ایجاد‬ ‫برای‬ ‫تأییدیه‬ ‫به‬ ‫نیاز‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫اینها‬ .‫کنند‬
Manage
:
‫را‬ ‫معیارهایی‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌ها‬
‫م‬‫تی‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫تحویل‬ ‫حیات‬ ‫چرخه‬ ‫عملکرد‬ ‫نحوه‬ ‫لب‬ ‫گیت‬
‫ارزش‬ ‫تعیین‬ ‫در‬ ‫اجرایی‬ ‫مدیران‬ ‫به‬ ‫کمک‬ ‫برای‬ .‫کنند‬ ‫بهینه‬ ‫را‬ ‫خود‬ ‫تحویل‬ ‫کلی‬ ‫سرعت‬ ‫تا‬ ‫کنند‬ ‫تنظیم‬ ‫فرآیند‬ ‫مراحل‬ ‫بر‬ ‫نظارت‬ ‫برای‬
،‫‌افزار‬
‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫ش‬‫تال‬
GitLab
.‫‌کند‬
‫ی‬‫م‬ ‫ارائه‬ ‫ارزش‬ ‫جریان‬ ‫مدیریت‬ ‫برای‬ ‫ابزارهایی‬
‫مراحل‬ ‫این‬ ‫تمام‬ ‫برای‬
SDLC
‫مورد‬ ‫اولین‬ .‫کرد‬ ‫مستقر‬ ‫پیکربندی‬ ‫دو‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬ ‫فرم‬ ‫پلت‬ ،
Self-Managed
‫آن‬ ‫در‬ ‫که‬ ‫است‬
‫از‬ ‫را‬ ‫افزاری‬ ‫نرم‬ ‫بسته‬ ‫مشتری‬
GitLab
‫طبق‬ .‫کند‬ ‫می‬ ‫مستقر‬ ‫خود‬ ‫خصوصی‬ ‫داده‬ ‫مرکز‬ ‫یا‬ ‫ابری‬ ‫محیط‬ ‫در‬ ‫را‬ ‫آن‬ ‫خودش‬ ‫و‬ ‫کند‬ ‫می‬ ‫دانلود‬
‫گفته‬
GitLab
‫محیط‬ ‫بر‬ ‫کامل‬ ‫کنترل‬ ‫امکان‬ ‫مشتریان‬ ‫به‬ ‫امر‬ ‫این‬ .‫هستند‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫عمومی‬ ‫ابر‬ ‫در‬ ‫شده‬ ‫مدیریت‬ ‫خود‬ ‫تاسیسات‬ ‫این‬ ‫اکثر‬ ،
.‫باشد‬ ‫الزامی‬ ‫کنند‬ ‫می‬ ‫مدیریت‬ ‫را‬ ‫حساس‬ ‫های‬ ‫داده‬ ‫که‬ ‫مشتریانی‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫دهد‬ ‫می‬ ‫را‬ ‫خود‬
‫مدل‬ ‫از‬ ‫استفاده‬ ‫استقرار‬ ‫دیگر‬ ‫پیکربندی‬
SaaS
‫آن‬ ‫در‬ ‫که‬ ‫است‬
GitLab
‫می‬ ‫مدیریت‬ ‫و‬ ‫میزبانی‬ ‫آنها‬ ‫برای‬ ‫را‬ ‫مشتری‬ ‫افزاری‬ ‫نرم‬ ‫نمونه‬
.‫کند‬
‫شکل‬
5
‫چرخه‬ ‫فعالیتهای‬ :
CI/CD
‫در‬
GitLab
1-1
-
‫رقابتی‬ ‫انداز‬ ‫چشم‬ ‫و‬ ‫بازار‬ ‫موقعیت‬
‫انداز‬ ‫چشم‬
GitLab
‫روند‬ .‫است‬ ‫کننده‬ ‫قانع‬ ‫کامل‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫ادغام‬ ‫برای‬
DevSecOps
‫و‬ ‫است‬ ‫افزایش‬ ‫حال‬ ‫در‬
.‫کند‬ ‫می‬ ‫نزدیک‬ ‫عملکردی‬ ‫نزدیکی‬ ‫به‬ ‫را‬ ‫متفاوت‬ ‫سنتی‬ ‫های‬ ‫تیم‬ ‫این‬ ‫که‬ ‫اند‬ ‫کرده‬ ‫ابزارسازی‬ ‫مزایای‬ ‫درک‬ ‫به‬ ‫شروع‬ ‫ها‬ ‫شرکت‬
‫رهبری‬
GitLab
‫مدت‬ ‫کوتاه‬ ‫فرصت‬ ‫یک‬ ،‫خود‬ ‫محصول‬ ‫انداز‬ ‫چشم‬ ‫پیگیری‬ ‫در‬
40
‫های‬ ‫برنامه‬ ‫همه‬ ‫اگر‬ .‫بیند‬ ‫می‬ ‫بازار‬ ‫در‬ ‫دالری‬ ‫میلیارد‬
‫یابی‬ ‫موقعیت‬ ‫منظر‬ ‫از‬ .‫بود‬ ‫خواهد‬ ‫بزرگتر‬ ‫بسیار‬ ‫احتماًال‬ ‫پذیر‬ ‫آدرس‬ ‫بازار‬ ‫آن‬ ،‫کنیم‬ ‫لحاظ‬ ‫انطباق‬ ‫و‬ ‫پذیری‬ ‫مشاهده‬ ،‫امنیت‬ ‫در‬ ‫را‬ ‫افزودنی‬
‫در‬ ‫اولیه‬ ‫مراحل‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫که‬ ‫ای‬ ‫نقطه‬ ‫های‬ ‫حل‬ ‫راه‬ ‫تمام‬ ‫جایگزینی‬ ‫بر‬ ‫آنها‬ ،‫رقابتی‬
SDLC
.‫هستند‬ ‫متمرکز‬ ‫دهند‬ ‫می‬ ‫تشکیل‬ ‫را‬
‫رهبری‬
GitLab
‫را‬
DevOps DIY
.‫نامند‬ ‫می‬
1-2
-
‫کلیدی‬ ‫‌های‬
‫ی‬‫ویژگ‬
GitLab
،‫گفتیم‬ ‫که‬ ‫همانطور‬
GitLab
.‫کند‬ ‫کمک‬ ‫‌ها‬
‫ه‬‫‌دهند‬
‫ه‬‫توسع‬ ‫و‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرایند‬ ‫از‬ ‫مختلفی‬ ‫‌های‬
‫ش‬‫بخ‬ ‫در‬
‫کلیدی‬ ‫‌های‬
‫ی‬‫ویژگ‬
GitLab
‫کمک‬ ‫فرایندها‬ ‫کردن‬ ‫طی‬ ‫و‬ ‫مشکالت‬ ‫حل‬ ‫در‬ ‫کاربران‬ ‫به‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫متمایز‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫سایر‬ ‫از‬ ‫را‬ ‫آن‬ ‫که‬
:‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ،‫‌کنند‬
‫ی‬‫م‬

‫کمک‬ ‫به‬ ‫دیجیتال‬ ‫تحول‬ ‫فرایند‬ ‫به‬ ‫بخشیدن‬ ‫سرعت‬
DevSecOps

‫نهایی‬ ‫کاربر‬ ‫به‬ ‫آن‬ ‫تحویل‬ ‫و‬ ‫‌افزار‬
‫م‬‫نر‬ ‫انتشار‬ ‫سرعت‬ ‫افزایش‬

‫تیم‬ ‫اعضای‬ ‫بین‬ ‫هماهنگی‬ ‫افزایش‬

‫باالتر‬ ‫امنیت‬

‫برنامه‬ ‫یک‬
cloud-native
‫است‬

( ‫محلی‬ ‫‌های‬
‫ر‬‫سرو‬ ‫روی‬ ‫آن‬ ‫نصب‬ ‫یا‬ ‫آنالین‬ ‫صورت‬ ‫به‬ ‫استفاده‬ ‫امکان‬
on-premises
)

‫کد‬ ‫سورس‬ ‫مدیریت‬ ‫برای‬ ‫مختلف‬ ‫امکانات‬

‫ابزارهای‬ ‫دارای‬
CI/CD
‫پالگین‬ ‫نصب‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ،‫داخلی‬ ‫امنیتی‬ ‫و‬

( ‫ویکی‬ ‫صفحات‬ ‫کمک‬ ‫با‬ ‫پروژه‬ ‫مستندسازی‬
Wiki
)

‫گیت‬ ‫ریپوهای‬ ‫در‬ ‫موجود‬ ‫‌های‬
‫د‬‫ک‬ ‫سورس‬ ‫کمک‬ ‫با‬ ‫وب‬ ‫استاتیک‬ ‫صفحات‬ ‫ساخت‬ ‫امکان‬

‫و‬ ‫جیرا‬ ‫مانند‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫با‬ ‫ساده‬ ‫و‬ ‫سریع‬ ‫ادغام‬
…
1-3
-
‫مزایای‬
GitLab
‫از‬ ‫برخی‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫دارد‬ ‫را‬ ‫خود‬ ‫مخصوص‬ ‫مزایای‬ ‫لب‬ ‫گیت‬ ،‫محصول‬ ‫تولید‬ ‫چرخه‬ ‫و‬ ‫نسخه‬ ‫کنترل‬ ‫حوزه‬ ‫در‬ ‫دیگری‬ ‫پلتفرم‬ ‫هر‬ ‫همانند‬
.‫‌ایم‬
‫ه‬‫کرد‬ ‫بیان‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬

‫پروژه‬ ‫مراحل‬ ‫تمامی‬ ‫در‬ ‫تیم‬ ‫اعضای‬ ‫سایر‬ ‫با‬ ‫بهینه‬ ‫همکاری‬ ‫قابلیت‬

‫تولید‬ ‫چرخه‬ ‫‌سازی‬
‫ی‬‫خودکار‬
DevOps

‫‌ها‬
‫ه‬‫پروژ‬ ‫و‬ ‫مخازن‬ ‫کامل‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬ ‫قابلیت‬

‫آن‬ ‫کل‬ ‫جای‬ ‫به‬ ‫پروژه‬ ‫از‬ ‫قسمتی‬ ‫گذاشتن‬ ‫اشتراک‬ ‫به‬ ‫قابلیت‬

‫رایگان‬ ‫شکلی‬ ‫به‬ ‫نو‬ ‫و‬ ‫متنوع‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫قابلیت‬

‫و‬ ‫ثالث‬ ‫شخص‬ ‫‌های‬
‫س‬‫سروی‬ ‫ارائه‬
API

‫رایگان‬ ‫شکلی‬ ‫به‬ ‫خصوصی‬ ‫و‬ ‫عمومی‬ ‫مخازن‬ ‫ارائه‬

‫ابزارها‬ ‫سایر‬ ‫با‬ ‫ادغام‬ ‫قابلیت‬

‫فعال‬ ‫جامعه‬ ‫داشتن‬ ‫همراه‬ ‫و‬ ‫پشتیبانی‬ ‫ارائه‬

‫باال‬ ‫امنیت‬
1-4
-
‫معایب‬
GitLab
‫نیز‬ ‫را‬ ‫معایبی‬ ،‫دارد‬ ‫که‬ ‫خصوصی‬ ‫به‬ ‫مزایای‬ ‫کنار‬ ‫در‬ ‫لب‬ ‫گیت‬ ‫اما‬ ‫شدیم‬ ‫آشنا‬ ‫چیست‬ ‫لب‬ ‫گیت‬ ‫مزایای‬ ‫که‬ ‫مسئله‬ ‫این‬ ‫با‬ ‫فوق‬ ‫بخش‬ ‫در‬
.‫‌ایم‬
‫ه‬‫کرد‬ ‫اشاره‬ ‫پلتفرم‬ ‫این‬ ‫معایب‬ ‫از‬ ‫برخی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫شامل‬

.‫باشد‬ ‫‌کننده‬
‫ج‬‫گی‬ ‫زیادی‬ ‫حد‬ ‫تا‬ ‫جدید‬ ‫کاربران‬ ‫و‬ ‫مبتدی‬ ‫افراد‬ ‫برای‬ ‫‌تواند‬
‫ی‬‫م‬ ‫لب‬ ‫گیت‬ ‫کاربری‬ ‫رابط‬

) ‫بیشتر‬ ‫افزاری‬ ‫سخت‬ ‫منابع‬ ‫به‬ ‫(نیاز‬ ‫بزرگ‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ ‫لب‬ ‫گیت‬ ‫سرویس‬ ‫‌اندازی‬
‫ه‬‫را‬ ‫و‬ ‫نصب‬ ‫برای‬ ‫منابع‬ ‫هزینه‬ ‫بودن‬ ‫باال‬

‫دیگر‬ ‫صفحه‬ ‫به‬ ‫‌ای‬
‫ه‬‫صفح‬ ‫از‬ ‫انتقال‬ ‫پروسه‬ ‫در‬ ‫زیاد‬ ‫زمان‬ ‫صرف‬ ‫به‬ ‫نیاز‬
‫را‬ ‫فرایندها‬ ‫تا‬ ‫کرده‬ ‫کمک‬ ‫‌افزار‬
‫م‬‫نر‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫همواره‬ ‫و‬ ‫بوده‬ ‫برخوردار‬ ‫باالیی‬ ‫بسیار‬ ‫اهمیت‬ ‫از‬ ‫لب‬ ‫گیت‬ ،‫‌نویسی‬
‫ه‬‫برنام‬ ‫دنیای‬ ‫در‬
.‫ببرند‬ ‫پیش‬ ‫بهتر‬ ‫‌ای‬
‫ه‬‫شیو‬ ‫به‬ ‫را‬ ‫کاری‬ ‫‌های‬
‫ه‬‫پروس‬ ‫و‬ ‫دهند‬ ‫تسهیل‬
( ‫لب‬ ‫گیت‬ ،‫کردیم‬ ‫بررسی‬ ‫باالتر‬ ‫که‬ ‫مواردی‬ ‫به‬ ‫توجه‬ ‫با‬
gitlab.com
‫‌روند‬
‫ی‬‫م‬ ‫پیش‬ ‫دواپس‬ ‫اصول‬ ‫با‬ ‫که‬ ‫‌هایی‬
‫م‬‫تی‬ ‫و‬ ‫‌ها‬
‫ت‬‫شرک‬ ‫برای‬ )
‫و‬ ‫اصول‬ ‫کنار‬ ‫در‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫مراحل‬ ‫و‬ ‫‌ها‬
‫ش‬‫بخ‬ ‫تمام‬ ‫آن‬ ‫در‬ ‫که‬ ‫کند‬ ‫بازی‬ ‫را‬ ‫کامل‬ ‫پلتفرم‬ ‫یک‬ ‫نقش‬ ‫‌تواند‬
‫ی‬‫م‬ ‫ابزار‬ ‫این‬ .‫است‬ ‫مناسبی‬ ‫گزینه‬
‫فرایند‬ ‫‌خواهید‬
‫ی‬‫م‬ ‫و‬ ‫‌زند‬
‫ی‬‫م‬ ‫‌ها‬
‫ن‬‫آ‬ ‫در‬ ‫را‬ ‫اول‬ ‫حرف‬ ‫امنیت‬ ‫که‬ ‫‌هایی‬
‫ه‬‫پروژ‬ ‫برای‬ .‫‌اند‬
‫ه‬‫شد‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫دواپس‬ ‫فرهنگ‬
DevSecOps
‫را‬
.‫باشد‬ ‫داشته‬ ‫شما‬ ‫هزینه‬ ‫و‬ ‫وقت‬ ‫در‬ ‫‌جویی‬
‫ه‬‫صرف‬ ‫و‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫هماهنگی‬ ‫به‬ ‫شایانی‬ ‫کمک‬ ‫‌تواند‬
‫ی‬‫م‬ ‫‌لب‬
‫ت‬‫گی‬ ‫از‬ ‫استفاده‬ ،‫کنید‬ ‫‌سازی‬
‫ه‬‫پیاد‬
2
-
‫قابلیتهای‬ ‫بررسی‬
Azure DevOPS
Microsoft
‫دواپس‬ ‫آژور‬
‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫دواپس‬ ‫آژور‬ .‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫های‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ‫جامع‬ ‫فرم‬ ‫پلت‬ ‫یک‬
‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫از‬ ‫مرحله‬ ‫هر‬ ‫برای‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫خدماتی‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ ‫و‬ ‫کنند‬ ‫کار‬ ‫هم‬ ‫با‬ ‫یکپارچه‬ ‫طور‬ ‫به‬ ‫تا‬ ‫‌سازد‬
‫ی‬‫م‬ ‫قادر‬ ‫را‬
.‫‌شود‬
‫ی‬‫م‬ ‫ارائه‬ ‫افزار‬ ‫نرم‬
‫اختصار‬ ‫به‬ ‫کاربران‬ ‫توسط‬ ‫اغلب‬ ‫(که‬ ‫دواپس‬ ‫آژور‬
ADO
‫و‬ ‫آزمایش‬ ‫تا‬ ‫گرفته‬ ‫کدنویسی‬ ‫و‬ ‫‌ریزی‬
‫ه‬‫برنام‬ ‫از‬ ‫را‬ ‫فرآیند‬ ‫کل‬ )‫‌شود‬
‫ی‬‫م‬ ‫نامیده‬
.‫‌شوند‬
‫ی‬‫م‬ ‫ارائه‬ ‫کیفیت‬ ‫افت‬ ‫بدون‬ ‫و‬ ‫موقع‬ ‫به‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫تضمین‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫ساده‬ ‫استقرار‬
‫شکل‬
6
‫چرخه‬ :
CI/CD
‫در‬
Azure DevOps
2-1
-
‫کلی‬ ‫نمای‬
Azure DevOps
‫های‬ ‫حل‬ ‫راه‬ ‫و‬ ‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫های‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ‫مایکروسافت‬ ‫توسط‬ ‫شده‬ ‫ارائه‬ ‫خدمات‬ ‫از‬ ‫جامع‬ ‫ای‬ ‫مجموعه‬ ‫دواپس‬ ‫آژور‬
.‫کند‬ ‫می‬ ‫فراهم‬ ‫باال‬ ‫کیفیت‬ ‫با‬ ‫افزار‬ ‫نرم‬ ‫تحویل‬ ‫برای‬ ‫را‬ ‫اتوماسیون‬ ‫که‬ ‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫پذیری‬ ‫انعطاف‬ ‫و‬ ‫دسترس‬ ‫در‬ ،‫اعتماد‬ ‫قابل‬
‫مزایای‬
Azure DevOps
‫مدل‬ ‫با‬ ‫ها‬ ‫هزینه‬ ‫سازی‬ ‫بهینه‬ ‫و‬ ‫موجود‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫توانایی‬ ‫شامل‬ ‫ها‬ ‫پلتفرم‬ ‫سایر‬ ‫به‬ ‫نسبت‬
SaaS
.‫میباشد‬
‫مرحله‬ ‫هر‬ ‫با‬ ‫متناسب‬ ‫خدمات‬ ‫از‬ ‫جامع‬ ‫ای‬ ‫مجموعه‬ ‫تا‬ ‫کرده‬ ‫رشد‬ ،‫است‬ ‫شده‬ ‫متولد‬ ‫استودیو‬ ‫ویژوال‬ ‫تیم‬ ‫سیستم‬ ‫تکامل‬ ‫از‬ ‫که‬ ‫دواپس‬ ‫آژور‬
.‫دهد‬ ‫ارائه‬ ‫را‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫از‬
‫خدمات‬ ‫عنوان‬ ‫به‬ ‫مجموعًا‬ ‫که‬ ‫ها‬ ‫سرویس‬ ‫این‬
Azure DevOps
:‫از‬ ‫عبارتند‬ ‫شوند‬ ‫می‬ ‫شناخته‬

Azure Repos

Azure Pipelines

Azure Artifacts

Azure Boards

Azure Test Plans

‫و‬
…
.‫کنند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرآیند‬ ‫کل‬ ‫مدیریت‬ ‫برای‬ ‫مرکزی‬ ‫مکان‬ ‫یک‬ ‫هم‬ ‫با‬ ‫ها‬ ‫سرویس‬ ‫این‬ ‫همه‬
2-2
-
‫خدمات‬
Azure DevOps
‫شکل‬
7
‫خدمات‬ :
Azure DevOps
Azure Repos
‫شده‬ ‫ایجاد‬ ‫تغییرات‬ ‫مدیریت‬ ‫و‬ ‫ردیابی‬ ‫به‬ ‫سرویس‬ ‫این‬ .‫کند‬ ‫می‬ ‫ارائه‬ ‫نسخه‬ ‫کنترل‬ ‫برای‬ ‫ابزارهایی‬ ‫که‬ ‫است‬ ‫سرویسی‬
‫با‬ .‫کند‬ ‫می‬ ‫کمک‬ ‫زمان‬ ‫طول‬ ‫در‬ ‫کد‬ ‫در‬
Azure Repos
،‫کنند‬ ‫کار‬ ‫آن‬ ‫روی‬ ‫و‬ ‫کرده‬ ‫ذخیره‬ ‫مشترک‬ ‫مخزن‬ ‫یک‬ ‫در‬ ‫را‬ ‫کد‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌ها‬
‫م‬‫تی‬ ،
.‫کنند‬ ‫پشتیبانی‬ ‫پیشرفته‬ ‫فایل‬ ‫مدیریت‬ ‫و‬ ‫مشترک‬ ‫‌های‬
‫ت‬‫درخواس‬ ‫از‬ ‫و‬ ،‫کنند‬ ‫ادغام‬ ‫و‬ ‫ردیابی‬ ‫شعبه‬ ‫چندین‬ ‫از‬ ‫را‬ ‫تغییرات‬
‫دیگر‬ ‫مهم‬ ‫سرویس‬
Azure Pipelines
‫ابزار‬ ‫یک‬ ،‫است‬
CI/CD
‫به‬ ‫را‬ ‫استقرار‬ ‫و‬ ‫آزمایش‬ ،‫ساخت‬ ‫که‬ )‫مستمر‬ ‫استقرار‬/‫پیوسته‬ ‫(ادغام‬
.‫کند‬ ‫می‬ ‫تبدیل‬ ‫خودکار‬ ‫قرایند‬ ‫یک‬
Azure Pipelines
‫محیط‬ ‫چندین‬ ‫در‬ ‫تواند‬ ‫می‬ ،‫است‬ ‫سازگار‬ ‫پلتفرمی‬ ‫یا‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫هر‬ ‫با‬ ‫که‬
‫جمله‬ ‫از‬
Kubernetes
‫مانند‬ ‫ابر‬ ‫دهندگان‬ ‫ارائه‬ ‫سایر‬ ‫و‬ ‫سرور‬ ‫بدون‬ ‫توابع‬ ،
AWS
‫یا‬
GCP
.‫شود‬ ‫مستقر‬
Azure Pipelines
‫همچنین‬
.‫دهد‬ ‫می‬ ‫ارائه‬ ‫شما‬ ‫لوله‬ ‫خطوط‬ ‫بیشتر‬ ‫بهبود‬ ‫برای‬ ‫را‬ ‫هایی‬ ‫افزونه‬
،‫دیگر‬ ‫سوی‬ ‫از‬
Azure Boards
‫در‬ ‫پروژه‬ ‫مدیریت‬ ‫مرکز‬ ‫یک‬
Azure DevOps
‫خود‬ ‫های‬ ‫پروژه‬ ‫دهد‬ ‫می‬ ‫امکان‬ ‫ها‬ ‫تیم‬ ‫به‬ ‫که‬ ‫است‬
،‫کاری‬ ‫های‬ ‫آیتم‬ ‫مانند‬ ‫هایی‬ ‫ویژگی‬ .‫کنند‬ ‫پیگیری‬ ‫و‬ ‫ریزی‬ ‫برنامه‬ ‫را‬
Kanban boards
‫را‬ ‫سفارشی‬ ‫های‬ ‫گزارش‬ ‫و‬ ‫داشبوردها‬ ،‫ها‬ ‫الگ‬ ‫بک‬ ،
.‫دهد‬ ‫می‬ ‫ارائه‬ ‫پروژه‬ ‫پیشرفت‬ ‫بر‬ ‫نظارت‬ ‫برای‬ ‫را‬ ‫بینش‬ ‫و‬ ‫پذیری‬ ‫انعطاف‬ ‫و‬ ‫دهد‬ ‫می‬ ‫ارائه‬
،‫نهایت‬ ‫در‬
Azure Test Plans
‫تسهیل‬ ‫را‬ ‫عملکرد‬ ‫و‬ ‫واحد‬ ‫تست‬ ‫و‬ ‫بازخورد‬ ‫ردیابی‬ ،‫اکتشافی‬ ‫و‬ ‫دستی‬ ‫تست‬ ‫که‬ ‫است‬ ‫سرویسی‬
‫آماده‬ ‫و‬ ‫شده‬ ‫آزمایش‬ ‫کامًال‬ ‫شما‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫حاصل‬ ‫اطمینان‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫مداوم‬ ‫آزمایش‬ ‫از‬ ‫همچنین‬ .‫‌کند‬
‫ی‬‫م‬
.‫هستند‬ ‫استقرار‬
2-3
-
‫از‬ ‫استفاده‬ ‫مزایای‬
Azure DevOps

‫پذیری‬ ‫انعطاف‬ ‫و‬ ‫اطمینان‬ ‫قابلیت‬
‫مانند‬ ‫ثالث‬ ‫شخص‬ ‫ابزارهای‬ ‫انواع‬ ‫با‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫موجود‬ ‫ابزارهای‬ ‫از‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫کاربران‬ ‫به‬ ‫پذیری‬ ‫انعطاف‬
Ansible، Chef،
Puppet
‫و‬
Terraform
.‫شوند‬ ‫ادغام‬

‫اتوماسیون‬
‫کلیدی‬ ‫های‬ ‫مزیت‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫اتوماسیون‬
Azure DevOps
‫تسریع‬ ‫و‬ ‫ساده‬ ‫برنامه‬ ‫عمر‬ ‫چرخه‬ ‫کل‬ ‫در‬ ‫را‬ ‫توسعه‬ ‫فرآیندهای‬ ‫زیرا‬ ،‫است‬
.‫کند‬ ‫می‬

‫کارایی‬ ‫و‬ ‫همکاری‬
Azure DevOps
‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫تضمین‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫تسهیل‬ ‫را‬ ‫مختلف‬ ‫های‬ ‫بخش‬ ‫بین‬ ‫همکاری‬ ‫و‬ ‫ارتباطات‬ ،‫‌دهنده‬
‫ه‬‫توسع‬ ‫خدمات‬ ‫ارائه‬ ‫با‬
‫مانند‬ ‫محبوبی‬ ‫ابزارهای‬ ‫با‬ ‫ادغام‬ .‫کنند‬ ‫کار‬ ‫هم‬ ‫با‬ ‫یکپارچه‬ ‫طور‬ ‫به‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌ها‬
‫م‬‫تی‬
GitHub، Jenkins
‫و‬
Slack
‫بیشتر‬ ‫را‬ ‫کارایی‬ ‫و‬ ‫همکاری‬
.‫کند‬ ‫می‬
‫در‬ ‫را‬ ‫‌هایی‬
‫ن‬‫اعال‬ ‫و‬ ‫هشدارها‬ ‫و‬ ‫کنند‬ ‫نظارت‬ ‫داشبورد‬ ‫کمک‬ ‫با‬ ‫پروژه‬ ‫چندین‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫تا‬ ‫‌سازد‬
‫ی‬‫م‬ ‫قادر‬ ‫را‬ ‫‌ها‬
‫م‬‫تی‬ ‫همچنین‬ ‫داوپس‬ ‫آژور‬
‫اطمینان‬ ‫خود‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫از‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫‌ها‬
‫ن‬‫سازما‬ ‫به‬ ‫کنترل‬ ‫و‬ ‫دید‬ ‫از‬ ‫سطح‬ ‫این‬ .‫کنند‬ ‫دریافت‬ ‫تغییرات‬ ‫دادن‬ ‫رخ‬ ‫صورت‬
.‫‌کنند‬
‫ی‬‫م‬ ‫برآورده‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫کیفی‬ ‫استانداردهای‬ ‫و‬ ‫‌شوند‬
‫ی‬‫م‬ ‫داده‬ ‫تحویل‬ ‫موقع‬ ‫به‬ ‫که‬ ‫کنند‬ ‫حاصل‬
2-4
-
‫ثالث‬ ‫شخص‬ ‫ابزارهای‬ ‫با‬ ‫ادغام‬
‫با‬
Azure DevOps
‫دواپس‬ ‫در‬ ‫محبوب‬ ‫ثالث‬ ‫شخص‬ ‫و‬ ‫باز‬ ‫منبع‬ ‫های‬ ‫سرویس‬ ‫و‬ ‫ابزارها‬ ‫انواع‬ ‫با‬ ‫راحتی‬ ‫به‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫سازمان‬ ،
‫ابزار‬ ‫‌های‬
‫ه‬‫مجموع‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫‌ها‬
‫م‬‫تی‬ ‫به‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ ‫این‬ .‫شوند‬ ‫یکپارچه‬
DevOps
‫سازمان‬ ‫خاص‬ ‫نیازهای‬ ‫کردن‬ ‫برآورده‬ ‫برای‬ ‫را‬ ‫خود‬
.‫کنند‬ ‫تنظیم‬ ‫و‬ ‫داده‬ ‫گسترش‬ ‫خود‬ ‫توسعه‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫و‬
‫با‬ ‫مرتبط‬ ‫یادگیری‬ ‫منحنی‬ ‫بلکه‬ ،‫کند‬ ‫می‬ ‫ساده‬ ‫را‬ ‫فرآیندها‬ ‫تنها‬ ‫نه‬ ،‫هستند‬ ‫آشنا‬ ‫آنها‬ ‫با‬ ‫قبًال‬ ‫ها‬ ‫تیم‬ ‫که‬ ‫ابزارهایی‬ ‫با‬ ‫ادغام‬ ‫با‬ ‫دواپس‬ ‫آژور‬
.‫است‬ ‫پلتفرم‬ ‫این‬ ‫گسترده‬ ‫موفقیت‬ ‫و‬ ‫محبوبیت‬ ‫در‬ ‫اصلی‬ ‫عامل‬ ‫یکپارچه‬ ‫ادغام‬ ‫این‬ .‫دهد‬ ‫می‬ ‫کاهش‬ ‫نیز‬ ‫را‬ ‫جدید‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬
3
-
‫های‬ ‫قابلیت‬ ‫بررسی‬
Jenkins
‫شکل‬
8
‫ابزار‬ :
Jenkins
Jenkins
( ‫پیوسته‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫برای‬ ‫خصوص‬ ‫به‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرآیند‬ ‫در‬ ‫مختلف‬ ‫وظایف‬ ‫اتوماسیون‬ ‫برای‬ ‫‌باز‬
‫ن‬‫مت‬ ‫ابزار‬ ‫یک‬
CI
( ‫پیوسته‬ ‫تحویل‬ ‫و‬ )
CD
‫توسط‬ ‫ابتدا‬ ‫در‬ ‫ابزار‬ ‫این‬ .‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ )
Kohsuke Kawaguchi
‫توسط‬ ‫اکنون‬ ‫و‬ ‫شد‬ ‫داده‬ ‫توسعه‬
.‫‌شود‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫‌ها‬
‫ت‬‫شرک‬ ‫و‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫از‬ ‫گسترده‬ ‫‌ای‬
‫ه‬‫جامع‬
3-1
-
‫‌های‬
‫ی‬‫ویژگ‬
Jenkins
:‫رایگان‬ ‫و‬ ‫‌باز‬
‫ن‬‫مت‬
Jenkins
‫آن‬ ‫منبع‬ ‫کد‬ ‫به‬ ‫همچنین‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫هزینه‬ ‫بدون‬ ‫‌توانید‬
‫ی‬‫م‬ ‫و‬ ‫شده‬ ‫ارائه‬ ‫‌باز‬
‫ن‬‫مت‬ ‫صورت‬ ‫به‬
.‫باشید‬ ‫داشته‬ ‫دسترسی‬
‫‌های‬
‫ی‬‫ویژگ‬ ‫‌ترین‬
‫ه‬‫برجست‬ ‫از‬ ‫یکی‬ :‫‌ها‬
‫ن‬‫پالگی‬
Jenkins
‫از‬ ‫بیش‬ ‫وجود‬ ،
1700
‫گسترش‬ ‫بسیار‬ ‫را‬ ‫آن‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫که‬ ‫است‬ ‫مختلف‬ ‫پالگین‬
‫‌دهند‬
‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫‌ها‬
‫ن‬‫پالگی‬ ‫این‬ .‫‌دهد‬
‫ی‬‫م‬
Jenkins
.‫کنید‬ ‫متصل‬ ‫مختلف‬ ‫‌های‬
‫ی‬‫فناور‬ ‫و‬ ‫ابزارها‬ ‫به‬ ‫را‬
:‫‌ها‬
‫ه‬‫پروژ‬ ‫انواع‬ ‫از‬ ‫پشتیبانی‬
Jenkins
‫مانند‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫مختلف‬ ‫انواع‬ ‫از‬
Java، .NET، PHP، Node.js
‫پشتیبانی‬ ‫دیگر‬ ‫بسیاری‬ ‫و‬
.‫‌کند‬
‫ی‬‫م‬
:‫آسان‬ ‫پیکربندی‬
Jenkins
‫امکان‬ ‫همچنین‬ .‫‌کند‬
‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫وظایف‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ ‫که‬ ‫است‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬ ‫دارای‬
‫‌های‬
‫ل‬‫فای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پیکربندی‬
YAML
‫و‬
Groovy
.‫دارد‬ ‫وجود‬ ‫نیز‬
:‫‌پذیری‬
‫س‬‫مقیا‬
Jenkins
( ‫نودها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌تواند‬
‫ی‬‫م‬ ‫راحتی‬ ‫به‬
" "
agents
‫امکان‬ ‫ویژگی‬ ‫این‬ ‫که‬ ،‫شود‬ ‫اجرا‬ ‫شده‬ ‫توزیع‬ ‫صورت‬ ‫به‬ )
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌پذیری‬
‫س‬‫مقیا‬ ‫و‬ ‫عملکرد‬ ‫بهبود‬ ‫به‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫کاری‬ ‫بار‬ ‫توزیع‬
:‫نسخه‬ ‫کنترل‬ ‫ابزارهای‬ ‫با‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬
Jenkins
‫مانند‬ ‫نسخه‬ ‫کنترل‬ ‫ابزارهای‬ ‫اکثر‬ ‫با‬
Git، SVN، Mercurial
‫به‬ ‫ابزارها‬ ‫دیگر‬ ‫و‬
.‫‌شود‬
‫ی‬‫م‬ ‫یکپارچه‬ ‫خوبی‬
:‫اتوماسیون‬ ‫مختلف‬ ‫ساختارهای‬ ‫از‬ ‫پشتیبانی‬
Jenkins
‫پیچیده‬ ‫فرآیندهای‬ ‫‌تواند‬
‫ی‬‫م‬
CI/CD
‫پیکربندی‬ ‫‌های‬
‫ل‬‫فای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬
Pipeline
.‫است‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫قابل‬ ‫کد‬ ‫صورت‬ ‫به‬ ‫که‬ ‫کند‬ ‫مدیریت‬
:‫‌دهی‬
‫ش‬‫گزار‬ ‫و‬ ‫نظارت‬
Jenkins
‫به‬ ‫که‬ ‫است‬ ‫دقیق‬ ‫‌های‬
‫ش‬‫گزار‬ ‫تولید‬ ‫و‬ ‫فرآیندها‬ ‫بر‬ ‫نظارت‬ ‫برای‬ ‫قدرتمندی‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫دارای‬
.‫کنند‬ ‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫‌تر‬
‫ع‬‫سری‬ ‫را‬ ‫مشکالت‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬
:‫امنیت‬
Jenkins
‫با‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ،‫‌ها‬
‫ش‬‫نق‬ ‫بر‬ ‫مبتنی‬ ‫دسترسی‬ ‫کنترل‬ ‫مانند‬ ‫مختلفی‬ ‫امنیتی‬ ‫امکانات‬ ‫از‬
LDAP
‫‌های‬
‫ل‬‫پروتک‬ ‫دیگر‬ ‫و‬ ،
.‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫امنیتی‬
.‫کند‬ ‫توزیع‬ ‫ماشین‬ ‫چندین‬ ‫در‬ ‫را‬ ‫کار‬ ‫راحتی‬ ‫به‬ ‫تواند‬ ‫می‬ ‫جنکینز‬ :‫شدگی‬ ‫توزیع‬
3-2
-
‫از‬ ‫استفاده‬ ‫نحوه‬
Jenkins
:‫نصب‬
Jenkins
‫نسخه‬ ‫همچنین‬ .‫کرد‬ ‫نصب‬ ‫مک‬ ‫و‬ ‫لینوکس‬ ،‫ویندوز‬ ‫مانند‬ ‫مختلف‬ ‫‌های‬
‫ل‬‫‌عام‬
‫م‬‫سیست‬ ‫روی‬ ‫بر‬ ‫‌توان‬
‫ی‬‫م‬ ‫را‬
Docker
‫آن‬
.‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫سریع‬ ‫‌اندازی‬
‫ه‬‫را‬ ‫امکان‬ ‫که‬ ‫است‬ ‫موجود‬ ‫نیز‬
‫نصب‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫‌های‬
‫ن‬‫پالگی‬ ‫و‬ ‫دهید‬ ‫انجام‬ ‫را‬ ‫اولیه‬ ‫تنظیمات‬ ‫‌توانید‬
‫ی‬‫م‬ ‫وب‬ ‫تحت‬ ‫کاربری‬ ‫رابط‬ ‫طریق‬ ‫از‬ ،‫نصب‬ ‫از‬ ‫پس‬ :‫اولیه‬ ‫‌اندازی‬
‫ه‬‫را‬
.‫کنید‬
.‫کنید‬ ‫تعریف‬ ‫را‬ ‫انتشار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫مختلف‬ ‫مراحل‬ ‫پروژه‬ ‫هر‬ ‫برای‬ ‫و‬ ‫کنید‬ ‫ایجاد‬ ‫مختلف‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫‌توانید‬
‫ی‬‫م‬ :‫پروژه‬ ‫ایجاد‬
‫با‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬
Git
‫‌های‬
‫ن‬‫مخز‬ ‫‌توانید‬
‫ی‬‫م‬ ‫خود‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ :
Git
‫تا‬ ‫کنید‬ ‫تعریف‬ ‫را‬
Jenkins
‫را‬ ‫جدید‬ ‫کدهای‬ ‫خودکار‬ ‫صورت‬ ‫به‬
.‫کند‬ ‫اجرا‬ ‫را‬ ‫شده‬ ‫تعریف‬ ‫فرآیندهای‬ ‫و‬ ‫دریافت‬
‫از‬ ‫استفاده‬
Pipeline
‫قابلیت‬ ‫از‬ ‫استفاده‬ ‫با‬ :
Pipeline
‫مختلف‬ ‫مراحل‬ ‫‌توانید‬
‫ی‬‫م‬
CI/CD
.‫کنید‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫کد‬ ‫صورت‬ ‫به‬ ‫را‬
3-3
-
‫معماری‬
Jenkins
‫دهنده‬ ‫تشکیل‬ ‫اجزای‬ ‫با‬ ‫آشنایی‬ :
Jenkins
.‫کنند‬ ‫خودکار‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫ساخت‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کار‬ ‫هم‬ ‫با‬ ‫که‬ ‫است‬ ‫مختلفی‬ ‫اجزای‬ ‫با‬ ‫پیچیده‬ ‫سیستم‬ ‫یک‬
.‫دارند‬ ‫نقشی‬ ‫چه‬ ‫و‬ ‫چیست‬ ‫جنکینز‬ ‫اصلی‬ ‫اجزای‬ ‫فهمید‬ ‫خواهیم‬ ،‫قسمت‬ ‫این‬ ‫در‬

Jenkins Controller
‫مدیریت‬ ‫جمله‬ ‫از‬ ‫مهمی‬ ‫وظایف‬ ‫قسمت‬ ‫این‬ .‫است‬ ‫سیستم‬ ‫متفکر‬ ‫مغز‬ ‫جنکینز‬ ‫کنترلر‬
Agent
‫لود‬ ،‫دستورات‬ ‫اجرای‬ ،‫آنها‬ ‫ارتباطات‬ ‫و‬ ‫ها‬
.‫دارد‬ ‫برعهده‬ ‫را‬ ‫پروژه‬ ‫جریان‬ ‫کردن‬ ‫هماهنگ‬ ‫و‬ ‫تنظیمات‬ ‫نگهداری‬ ،‫‌ها‬
‫ن‬‫پالگی‬ ‫کردن‬

Jenkins Agent
‫از‬ ‫منظور‬ ‫اینکه‬ ‫به‬ ‫پاسخ‬ ‫در‬
Agent
.‫‌شوند‬
‫ی‬‫م‬ ‫محسوب‬ ‫جنکینز‬ ‫کار‬ ‫نیروی‬ ‫جزء‬ ‫این‬ ‫بگوییم‬ ‫باید‬ ،‫چیست‬ ‫جنکینز‬ ‫در‬
Agent
‫وظیفه‬
.‫‌شود‬
‫ی‬‫م‬ ‫تعیین‬ ‫کنترلر‬ ‫توسط‬ ‫که‬ ‫دارد‬ ‫برعهده‬ ‫را‬ ‫کارهایی‬ ‫اجرای‬
Agent
‫فضای‬ ،‫مجازی‬ ‫‌های‬
‫ن‬‫ماشی‬ ،‫فیزیکی‬ ‫سرورهای‬ ‫روی‬ ‫‌توانید‬
‫ی‬‫م‬ ‫را‬ ‫‌ها‬
‫چندین‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫کنید‬ ‫اجرا‬ ‫کانتینرها‬ ‫حتی‬ ‫یا‬ ‫ابری‬
Agent
‫مجزا‬ ‫ایمن‬ ‫محیط‬ ‫یک‬ ‫و‬ ‫داد‬ ‫بهبود‬ ‫را‬ ‫کارایی‬ ،‫کرد‬ ‫توزیع‬ ‫را‬ ‫کاری‬ ‫بار‬ ‫‌توان‬
‫ی‬‫م‬
.‫کرد‬ ‫ایجاد‬ ‫را‬ ‫کنترلر‬ ‫از‬

Jenkins Node
Node
‫برای‬ ‫کلی‬ ‫اصطالح‬ ‫یک‬
Agent
‫و‬ ‌
‫ه‬‫پروژ‬ ‫بتوان‬ ‫آن‬ ‫روی‬ ‫که‬ ‫ماشینی‬ ‫هر‬ ‫به‬ .‫است‬ ‫کنترلرها‬ ‫و‬ ‫‌ها‬
Pipeline
،‫ساخت‬
Node
‫همه‬ ‫وضعیت‬ ‫خودکار‬ ‫‌طور‬
‫ه‬‫ب‬ ‫جنکینز‬ .‫‌گویند‬
‫ی‬‫م‬
Node
.‫‌کند‬
‫ی‬‫م‬ ‫غیرفعال‬ ‫را‬ ‫‌ها‬
‫ن‬‫آ‬ ‫عملکرد‬ ‫کاهش‬ ‫درصورت‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫نظارت‬ ‫را‬ ‫متصل‬ ‫‌های‬

Jenkins Project
‫‌عنوان‬
‫ه‬‫ب‬ ‫قبال‬ ‫که‬ ‫جنکینز‬ ‫پروژه‬
Job
‫نقش‬ ‫اینکه‬ ‫به‬ ‫پاسخ‬ ‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫تعریف‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫است‬ ‫خودکار‬ ‫فرآیندی‬ ،‫‌شد‬
‫ی‬‫م‬ ‫شناخته‬
‫طور‬ ‫به‬ ‫جنکینز‬ .‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫استقرار‬ ‫و‬ ‫آزمایش‬ ،‫ساخت‬ ‫مانند‬ ‫مختلفی‬ ‫کارهای‬ ‫شامل‬ ‫فرآیند‬ ‫این‬ ‫بگوییم‬ ‫باید‬ ،‫چیست‬ ‫جنکینز‬ ‫در‬ ‫پروژه‬
‫را‬ ‫خودتان‬ ‫سفارشی‬ ‫‌های‬
‫ه‬‫پروژ‬ ،‫‌ها‬
‫ه‬‫افزون‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ ‫‌حال‬
‫ن‬‫باای‬ .‫‌دهد‬
‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫شده‬ ‫تعریف‬ ‫پیش‬ ‫از‬ ‫پروژه‬ ‫تعدادی‬ ‫‌فرض‬
‫ش‬‫پی‬
.‫کنید‬ ‫ایجاد‬

Jenkins Plugins
‫از‬ ‫را‬ ‫‌ها‬
‫ه‬‫افزون‬ ‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ .‫ندارد‬ ‫وجود‬ ‫‌فرض‬
‫ش‬‫پی‬ ‫‌صورت‬
‫ه‬‫ب‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫جدیدی‬ ‌
‫ی‬‫ویژگ‬ ‫جنکینز‬ ‫روی‬ ‫‌ها‬
‫ه‬‫افزون‬ ‫نصب‬
.‫کنید‬ ‫‌روز‬
‫ه‬‫ب‬ ‫و‬ ‫نصب‬ ‫جنکینز‬ ‫داشبورد‬

Jenkins Pipeline
Pipeline
‫‌توانید‬
‫ی‬‫م‬ .‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫ساخت‬ ‫برای‬ ‫سفارشی‬ ‫مدل‬ ‫یک‬ ‫جنکینز‬
Pipeline
‫کد‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ‫و‬ ‫مستقیم‬ ‫‌طور‬
‫ه‬‫ب‬ ‫را‬
« ‫یک‬ ‫یا‬ ‫کنید‬ ‫ایجاد‬ ‫کاربری‬ ‫رابط‬ ‫در‬
Jenkinsfile
.‫‌دهد‬
‫ی‬‫م‬ ‫نشان‬ ‫کد‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آن‬ ‫که‬ ‫نمایید‬ ‫ایجاد‬ »
Jenkinsfile
‫فرمت‬ ‫یک‬ ‫از‬ ‫‌ها‬
‫با‬ ‫سازگار‬ ‫متن‬ ‫بر‬ ‫مبتنی‬
Groovy
‫فرآیندهای‬ ‫تعریف‬ ‫برای‬
Pipeline
‫مهم‬ ‫جزء‬ ‫این‬ ‫به‬ ‫‌تر‬
‫ق‬‫دقی‬ ‫نگاهی‬ ‫دهید‬ ‫اجازه‬ .‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬
:‫بیندازیم‬ ‫جنکینز‬
3-4
-
Jenkins PipeLine
( ‫الین‬ ‫پاپ‬
Pipeline
‫‌های‬
‫ه‬‫افزون‬ ‫از‬ ‫بااستفاده‬ ‫شما‬ ‫نیاز‬ ‫مورد‬ ‫وظایف‬ ‫انجام‬ ‫برای‬ ‫جنکینز‬ ‫سرور‬ ‫که‬ ‫است‬ ‫خودکار‬ ‫دستورات‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ )
‫فرآیند‬ ‫در‬ ‫جنکینز‬
CI/CD
.‫‌کند‬
‫ی‬‫م‬ ‫طی‬
‫سینتکس‬
DSL
‫(مخفف‬
Domain-Specific Language
‫کد‬ ‫‌صورت‬
‫ه‬‫ب‬ ‫الین‬ ‫پاپ‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫برای‬ ‫ابزار‬ ‫‌ای‬
‫ه‬‫مجموع‬ ‫الین‬ ‫پاپ‬ )
.‫است‬ ‫وابسته‬ ‫اتفاق‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫به‬ ‫‌طریقی‬
‫ه‬‫ب‬ ‫جنکینز‬ ‫قسمِت‬ ‫این‬ ‫در‬ ‫وظیفه‬ ‫هر‬ .‫است‬
Pipeline
‫مانند‬ ‫کد‬ ‫تغییر‬ ‫و‬ ‫تست‬ ‫و‬ ‫کامپایل‬ ،‫نظارت‬ ،‫میزبانی‬ ‫برای‬ ‫ابزارها‬ ‫از‬ ‫‌ای‬
‫ه‬‫مجموع‬ ‫شامل‬ ‫که‬ ‫است‬ ‫قدرتمند‬ ‫فناوری‬ ‫یک‬ ‫جنکینز‬
‫است‬ ‫زیر‬ ‫موارد‬
:

( ‫مداوم‬ ‫‌سازی‬
‫ه‬‫یکپارچ‬ ‫سرور‬
Bamboo ،Jenkins ،TeamCity ،CruiseControl
)‫غیره‬ ‫و‬

‫(مثًال‬ ‫منبع‬ ‫کنترل‬ ‫افزار‬ ‫نرم‬
SVN ،CVS ،Mercurial ،GIT ،ClearCase ،Perforce
)‫غیره‬ ‫و‬

( ‫بیلد‬ ‫ابزارهای‬
Make ،Ant ،Ivy ،Maven ،Gradle
)‫غیره‬ ‫و‬

( ‫خودکار‬ ‫تست‬ ‫‌ورک‬
‫م‬‫فری‬
Appium ،Selenium ،UFT ،TestComplete
)‫غیره‬ ‫و‬
‫از‬ ،‫مختلف‬ ‫مراحل‬ ‫در‬ ‫افزونه‬ ‫چندین‬ ،‫کار‬ ‫این‬ ‫برای‬ .‫است‬ ‫کاربر‬ ‫توسط‬ ‫مداوم‬ ‫و‬ ‫متوالی‬ ‫دستورات‬ ‫سری‬ ‫یک‬ ‫کننده‬ ‫اجرا‬ ،‫موثر‬ ‫عضو‬ ‫این‬
‫فرایندی‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ،‫کاربر‬ ‫به‬ ‫تحویل‬ ‫تا‬ ‫نسخه‬ ‫کنترل‬
۳
:‫است‬ ‫‌ای‬
‫ه‬‫مرحل‬

‫خودکار‬ ‫ساخت‬

‫‌ای‬
‫ه‬‫مرحل‬ ‫چند‬ ‫آزمایش‬

‫استقرار‬ ‫‌های‬
‫ه‬‫روی‬
4
-
‫قابلیتهای‬ ‫بررسی‬
Bamboo
‫شکل‬
9
‫ابزار‬ :
Bamboo
Bamboo
‫سرور‬ ‫ابزار‬ ‫یک‬ ،
CI/CD
‫توسط‬ ‫‌یافته‬
‫ه‬‫توسع‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬
Atlassian
،‫ساخت‬ ‫خودکارسازی‬ ‫برای‬ ‫که‬ ‫است‬
‫محصوالت‬ ‫سایر‬ ‫با‬ ‫خاص‬ ‫طور‬ ‫به‬ ‫ابزار‬ ‫این‬ .‫‌رود‬
‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫کد‬ ‫انتشار‬ ‫و‬ ،‫تست‬
Atlassian
‫مثل‬
JIRA
‫و‬
Bitbucket
‫خوبی‬ ‫ادغام‬
‫‌های‬
‫ی‬‫ویژگ‬ ‫و‬ ‫امکانات‬ ‫از‬ ‫برخی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫دارد‬
Bamboo
:‫‌کنیم‬
‫ی‬‫م‬ ‫اشاره‬
4-1
-
‫امکانات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬
Bamboo
:

‫ابزارهای‬ ‫با‬ ‫ادغام‬
Atlassia
:
-
JIRA
.‫کنید‬ ‫روز‬ ‫به‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫وضعیت‬ ‫و‬ ‫کنید‬ ‫پیگیری‬ ‫را‬ ‫خود‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫مشکالت‬ ‫و‬ ‫کارها‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬ :
-
Bitbucket
‫مخازن‬ ‫با‬ ‫ادغام‬ ‫امکان‬ :
Git
‫در‬
Bitbucket
‫از‬ ‫و‬ ‫کنید‬ ‫مدیریت‬ ‫را‬ ‫خود‬ ‫کد‬ ‫راحتی‬ ‫به‬ ‫بتوانید‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬
( ‫درخواست‬ ‫کشیدن‬ ‫‌های‬
‫ت‬‫قابلی‬
pull request
.‫کنید‬ ‫استفاده‬ )

: ‫‌بندی‬
‫ه‬‫نسخ‬ ‫مختلف‬ ‫مخازن‬ ‫از‬ ‫پشتیبانی‬
‫از‬ ‫پشتیبانی‬ -
Git، Mercurial، Subversion
‫و‬ ،
Perforce
.‫منبع‬ ‫کد‬ ‫مدیریت‬ ‫در‬ ‫بیشتر‬ ‫انعطاف‬ ‫برای‬

‫‌پذیر‬
‫ف‬‫انعطا‬ ‫‌های‬
‫ن‬‫پایپالی‬
‫و‬ ،‫تست‬ ،‫ساخت‬ ‫مختلف‬ ‫مراحل‬ ‫کردن‬ ‫اجرا‬ ‫و‬ ،‫مدیریت‬ ،‫ایجاد‬ ‫برای‬ ‫گرافیکی‬ ‫رابط‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پیچیده‬ ‫‌های‬
‫ن‬‫پایپالی‬ ‫تعریف‬ ‫امکان‬ -
.‫انتشار‬

‫موازی‬ ‫‌های‬
‫ش‬‫آزمای‬
.‫کارایی‬ ‫افزایش‬ ‫و‬ ‫تست‬ ‫زمان‬ ‫کاهش‬ ‫برای‬ ‫موازی‬ ‫‌های‬
‫ش‬‫آزمای‬ ‫اجرای‬ ‫امکان‬ -

: ‫تکرار‬ ‫قابل‬ ‫استقرارهای‬ ‫و‬ ‫‌ها‬
‫ت‬‫ساخ‬
.‫هستند‬ ‫خود‬ ‫صحیح‬ ‫حالت‬ ‫در‬ ‫همیشه‬ ‫‌ها‬
‫ط‬‫محی‬ ‫همه‬ ‫اینکه‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ‫تکراری‬ ‫استقرار‬ ‫و‬ ‫ساخت‬ ‫‌های‬
‫ه‬‫برنام‬ ‫تعریف‬ ‫امکان‬ -

‫از‬ ‫پشتیبانی‬
Docker
‫و‬
Kubernetes
:
‫با‬ ‫ادغام‬ ‫امکان‬ -
Docker
‫و‬ ‫کانتینرها‬ ‫مدیریت‬ ‫و‬ ‫ایجاد‬ ‫برای‬
Kubernetes
‫کانتینرها‬ ‫ارکستراسیون‬ ‫مدیریت‬ ‫برای‬
.

: ‫متغیرها‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬
.‫برنامه‬ ‫و‬ ‫پروژه‬ ‫هر‬ ‫برای‬ ‫مختلف‬ ‫‌های‬
‫ی‬‫پیکربند‬ ‫و‬ ‫متغیرها‬ ‫مدیریت‬ ‫امکان‬ -

: ‫دسترسی‬ ‫کنترل‬
.‫بهتر‬ ‫کنترل‬ ‫و‬ ‫امنیت‬ ‫حفظ‬ ‫برای‬ ‫‌ها‬
‫م‬‫تی‬ ‫و‬ ‫کاربران‬ ‫برای‬ ‫مختلف‬ ‫دسترسی‬ ‫سطوح‬ ‫تعریف‬ ‫امکان‬ -

: ‫‌ها‬
‫ل‬‫تحلی‬ ‫و‬ ‫‌ها‬
‫ش‬‫گزار‬
.‫توسعه‬ ‫فرآیند‬ ‫بهبود‬ ‫و‬ ‫مشکالت‬ ‫شناسایی‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫‌ها‬
‫ت‬‫تس‬ ‫و‬ ‫‌ها‬
‫ت‬‫ساخ‬ ‫از‬ ‫مختلف‬ ‫‌های‬
‫ل‬‫تحلی‬ ‫و‬ ‫‌ها‬
‫ش‬‫گزار‬ ‫ارائه‬ -

: ‫‌پذیری‬
‫ط‬‫بس‬
‫‌های‬
‫ت‬‫قابلی‬ ‫گسترش‬ ‫برای‬ ‫‌ها‬
‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬
‫ن‬‫پالگی‬ ‫از‬ ‫پشتیبانی‬ -
Bamboo
.‫خاص‬ ‫نیازهای‬ ‫برای‬ ‫آن‬ ‫‌سازی‬
‫ی‬‫سفارش‬ ‫و‬
4-2
-
‫مزایا‬
Bamboo
:

‫ابزارهای‬ ‫با‬ ‫عالی‬ ‫ادغام‬
Atlassian
‫ابزارهای‬ ‫مجموعه‬ ‫از‬ ‫که‬ ‫‌هایی‬
‫ن‬‫سازما‬ ‫برای‬ ‫ویژه‬ ‫به‬ :
Atlassian
.‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬

.‫‌کند‬
‫ی‬‫م‬ ‫‌تر‬
‫ن‬‫آسا‬ ‫کاربران‬ ‫برای‬ ‫را‬ ‫آن‬ ‫با‬ ‫کار‬ ‫که‬ :‫گرافیکی‬ ‫و‬ ‫ساده‬ ‫کاربری‬ ‫رابط‬

.‫مختلف‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫مدیریت‬ ‫در‬ ‫بیشتر‬ ‫انعطاف‬ ‫برای‬ : ‫توسعه‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬
‫ی‬‫تکنولوژ‬ ‫از‬ ‫وسیعی‬ ‫طیف‬ ‫از‬ ‫پشتیبانی‬
4-3
-
‫معایب‬
Bamboo
:

‫مانند‬ ‫رایگان‬ ‫ابزارهای‬ ‫از‬ ‫برخی‬ ‫برخالف‬ : ‫بودن‬ ‫‌بر‬
‫ه‬‫هزین‬
Jenkins
.‫دارد‬ ‫الیسنس‬ ‫خرید‬ ‫به‬ ‫نیاز‬ ‫بامبو‬ ،

‫به‬ ‫نسبت‬ ‫کمتری‬ ‫‌های‬
‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬
‫ن‬‫پالگی‬ ‫است‬ ‫ممکن‬ ‫نتیجه‬ ‫در‬ :‫دارد‬ ‫مستقل‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫کمتر‬ ‫‌باز‬
‫ن‬‫مت‬ ‫ابزارهای‬ ‫به‬ ‫نسبت‬
‫مثل‬ ‫ابزارهایی‬
Jenkins
.‫باشد‬ ‫داشته‬
5
-
‫‌های‬
‫ی‬‫ویژگ‬
Travis CI
Travis CI
‫سرویس‬ ‫یک‬
CI/CD
‫خودکار‬ ‫طور‬ ‫به‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬
‫با‬ ‫خوبی‬ ‫به‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫باز‬ ‫منبع‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ ‫ابزار‬ ‫این‬ .‫دهند‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫تغییر‬ ‫هر‬ ‫از‬ ‫پس‬ ‫را‬ ‫خود‬ ‫کد‬
GitHub
‫در‬ .‫‌شود‬
‫ی‬‫م‬ ‫ادغام‬
‫امکانات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬ ‫از‬ ‫برخی‬ ‫به‬ ‫ادامه‬
Travis CI
:‫‌پردازیم‬
‫ی‬‫م‬
5-1
-
‫امکانات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬
Travis CI
:

‫با‬ ‫آسان‬ ‫ادغام‬
GitHub
-
Travis CI
‫با‬ ‫بومی‬ ‫صورت‬ ‫به‬
GitHub
‫مخازن‬ ‫به‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫ادغام‬
GitHub
‫هر‬ ‫از‬ ‫پس‬ ‫و‬ ‫شود‬ ‫متصل‬
push
‫یا‬
pull request
.‫کند‬ ‫اجرا‬ ‫را‬ ‫‌ها‬
‫ن‬‫پایپالی‬ ،

‫فایل‬ ‫با‬ ‫ساده‬ ‫پیکربندی‬
YAML
‫‌های‬
‫ی‬‫پیکربند‬ ‫و‬ ‫تنظیمات‬ -
Travis CI
. ‫فایل‬ ‫یک‬ ‫طریق‬ ‫از‬
`
travis.yml
‫این‬ .‫‌گیرد‬
‫ی‬‫م‬ ‫قرار‬ ‫مخزن‬ ‫ریشه‬ ‫در‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ `
.‫کنید‬ ‫تعریف‬ ‫را‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫مراحل‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫فایل‬

‫مختلف‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬
-
Travis CI
‫جمله‬ ‫از‬ ،‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ن‬‫زبا‬ ‫از‬ ‫‌ای‬
‫ه‬‫گسترد‬ ‫طیف‬ ‫از‬
JavaScript, Ruby, Python, PHP,
Go, Rust
.‫دیگر‬ ‫بسیاری‬ ‫و‬ ,

‫مختلف‬ ‫ساخت‬ ‫‌های‬
‫ط‬‫محی‬
-
Travis CI
‫جمله‬ ‫از‬ ‫مختلف‬ ‫ساخت‬ ‫‌های‬
‫ط‬‫محی‬ ‫از‬
Linux, macOS
‫و‬ ,
Windows
‫‌توانید‬
‫ی‬‫م‬ ‫بنابراین‬ ،‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬
.‫کنید‬ ‫تست‬ ‫مختلف‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫خود‬ ‫‌های‬
‫ه‬‫برنام‬

‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬
.‫ساخت‬ ‫زمان‬ ‫کاهش‬ ‫و‬ ‫کارایی‬ ‫افزایش‬ ‫برای‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫اجرای‬ ‫امکان‬ -

‫از‬ ‫پشتیبانی‬
Docker
-
Travis CI
‫از‬
Docker
‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫خود‬ ‫سفارشی‬ ‫‌های‬
‫ط‬‫محی‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬
Docker
‫تعریف‬
.‫کنید‬ ‫مدیریت‬ ‫و‬

‫استقرار‬ ‫و‬ ‫ادغام‬ ‫ابزارهای‬
-
Travis CI
‫مانند‬ ‫مختلف‬ ‫خدمات‬ ‫به‬ ‫خودکار‬ ‫استقرار‬ ‫و‬ ‫ادغام‬ ‫از‬
AWS, Heroku, Firebase
‫پشتیبانی‬ ‫دیگر‬ ‫بسیاری‬ ‫و‬ ,
.‫دهید‬ ‫استقرار‬ ‫‌ها‬
‫ت‬‫تس‬ ‫گذراندن‬ ‫از‬ ‫پس‬ ‫را‬ ‫خود‬ ‫‌های‬
‫ه‬‫برنام‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ .‫‌کند‬
‫ی‬‫م‬

‫‌ها‬
‫ن‬‫اعال‬ ‫و‬ ‫‌دهی‬
‫ش‬‫گزار‬
-
Travis CI
،‫ایمیل‬ ‫به‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫نتایج‬ ‫‌تواند‬
‫ی‬‫م‬
Slack
‫در‬ ‫همیشه‬ ‫شما‬ ‫بنابراین‬ ،‫کند‬ ‫ارسال‬ ‫ارتباطی‬ ‫ابزارهای‬ ‫سایر‬ ‫و‬ ،
.‫بود‬ ‫خواهید‬ ‫خود‬ ‫پروژه‬ ‫وضعیت‬ ‫جریان‬

‫کشینگ‬ ‫از‬ ‫پشتیبانی‬
-
Travis CI
‫کاهش‬ ‫ثابت‬ ‫‌های‬
‫ی‬‫وابستگ‬ ‫از‬ ‫مجدد‬ ‫استفاده‬ ‫و‬ ‫‌سازی‬
‫ه‬‫ذخیر‬ ‫با‬ ‫را‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫کشینگ‬ ‫از‬
.‫دهد‬

‫باز‬ ‫منبع‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ ‫رایگان‬
-
Travis CI
.‫‌کند‬
‫ی‬‫م‬ ‫تبدیل‬ ‫باز‬ ‫منبع‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫برای‬ ‫جذاب‬ ‫‌ای‬
‫ه‬‫گزین‬ ‫به‬ ‫را‬ ‫آن‬ ‫که‬ ‫است‬ ‫رایگان‬ ‫باز‬ ‫منبع‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬
5-2
-
‫مزایا‬
Travis CI

‫فایل‬ ‫از‬ ‫استفاده‬ ‫با‬ : ‫آسان‬ ‫پیکربندی‬
YAML
.‫است‬ ‫انجام‬ ‫قابل‬ ‫راحتی‬ ‫به‬ ‫تنظیمات‬ ‫و‬ ‫پیکربندی‬ ،

‫با‬ ‫قوی‬ ‫ادغام‬
GitHub
‫از‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ :
GitHub
.‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ ‫مستقیم‬ ‫و‬ ‫مشکل‬ ‫بدون‬ ‫ادغام‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬

.‫مختلف‬ ‫‌های‬
‫ط‬‫محی‬ ‫با‬ ‫سازگاری‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫کارایی‬ ‫افزایش‬ ‫برای‬ : ‫مختلف‬ ‫‌های‬
‫ط‬‫محی‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫از‬ ‫پشتیبانی‬
5-3
-
‫معایب‬
Travis CI

‫برای‬ ‫‌هایی‬
‫ت‬‫محدودی‬ ‫است‬ ‫ممکن‬ ‫رایگان‬ ‫نسخه‬ ‫اما‬ ،‫است‬ ‫رایگان‬ ‫باز‬ ‫منبع‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ ‫اگرچه‬ :‫رایگان‬ ‫نسخه‬ ‫‌های‬
‫ت‬‫محدودی‬
.‫باشد‬ ‫داشته‬ ‫خصوصی‬ ‫‌های‬
‫ه‬‫پروژ‬

‫که‬ ‫این‬ ‫دلیل‬ ‫به‬ : ‫ابر‬ ‫به‬ ‫وابستگی‬
Travis CI
‫استفاده‬ ‫برای‬ ‫و‬ ‫دارد‬ ‫اینترنت‬ ‫اتصال‬ ‫به‬ ‫نیاز‬ ،‫است‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ ‫سرویس‬ ‫یک‬
.‫نیست‬ ‫مناسب‬ ‫آفالین‬

‫غیر‬ ‫ابزارهای‬ ‫از‬ ‫محدود‬ ‫پشتیبانی‬
GitHub
‫اگرچه‬ :
Travis CI
‫با‬ ‫خوبی‬ ‫به‬
GitHub
‫پشتیبانی‬ ‫اما‬ ،‫‌شود‬
‫ی‬‫م‬ ‫ادغام‬
. ‫دارد‬ ‫نسخه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫سایر‬ ‫از‬ ‫محدودی‬
6
-
‫قابلیتهای‬ ‫بررسی‬
Circle CI
CircleCI
‫سرویس‬ ‫یک‬
CI/CD
‫فرآیندهای‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫قدرتمند‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬
.‫دهند‬ ‫انجام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خود‬ ‫کد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬
CircleCI
‫و‬ ‫است‬ ‫برخوردار‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫بین‬ ‫در‬ ‫زیادی‬ ‫محبوبیت‬ ‫از‬
‫امکانات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫است‬ ‫شده‬ ‫شناخته‬ ‫باال‬ ‫‌پذیری‬
‫ف‬‫انعطا‬ ‫و‬ ‫گسترده‬ ‫امکانات‬ ‫دلیل‬ ‫به‬
CircleCI
:‫‌پردازیم‬
‫ی‬‫م‬
6-1
-
‫‌های‬
‫ی‬‫ویژگ‬
CircleCI

‫گیت‬ ‫مخازن‬ ‫با‬ ‫ادغام‬
-
CircleCI
‫با‬ ‫کامل‬ ‫طور‬ ‫به‬
GitHub
‫و‬
Bitbucket
،‫مخزن‬ ‫در‬ ‫تغییر‬ ‫هر‬ ‫از‬ ‫پس‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫ادغام‬
.‫کند‬ ‫اجرا‬ ‫را‬ ‫‌ها‬
‫ن‬‫پایپالی‬

‫فایل‬ ‫با‬ ‫پیکربندی‬
YAML
‫‌های‬
‫ی‬‫پیکربند‬ ‫و‬ ‫تنظیمات‬ -
CircleCI
. ‫فایل‬ ‫طریق‬ ‫از‬
`
circleci/config.yml
.‫‌گیرد‬
‫ی‬‫م‬ ‫قرار‬ ‫مخزن‬ ‫ریشه‬ ‫در‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ `
.‫کنید‬ ‫تعریف‬ ‫را‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫مختلف‬ ‫مراحل‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫فایل‬ ‫این‬

‫مختلف‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬
-
CircleCI
‫جمله‬ ‫از‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ن‬‫زبا‬ ‫از‬ ‫‌ای‬
‫ه‬‫گسترد‬ ‫طیف‬ ‫از‬
JavaScript, Ruby, Python, PHP, Java, Go
‫غیره‬ ‫و‬ ,
.‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬

‫مختلف‬ ‫‌های‬
‫ط‬‫محی‬ ‫از‬ ‫پشتیبانی‬
-
CircleCI
‫جمله‬ ‫از‬ ‫متنوع‬ ‫ساخت‬ ‫‌های‬
‫ط‬‫محی‬ ‫از‬
Linux, macOS
‫و‬ ,
Windows
‫از‬ ‫همچنین‬ .‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬
Docker
.‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫سفارشی‬ ‫ساخت‬ ‫‌های‬
‫ط‬‫محی‬ ‫ایجاد‬ ‫برای‬

‫همزمان‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬
-
CircleCI
‫توجهی‬ ‫قابل‬ ‫طور‬ ‫به‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫کانکارنت‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫اجرای‬ ‫امکان‬
.‫دهد‬ ‫کاهش‬

‫‌ها‬
‫ی‬‫وابستگ‬ ‫از‬ ‫استفاده‬ ‫باز‬ ‫و‬ ‫کشینگ‬
-
CircleCI
.‫دهد‬ ‫کاهش‬ ‫را‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫استفاده‬ ‫قبلی‬ ‫ساخت‬ ‫نتایج‬ ‫و‬ ‫‌ها‬
‫ی‬‫وابستگ‬ ‫ذخیره‬ ‫برای‬ ‫کشینگ‬ ‫از‬

‫مداوم‬ ‫استقرار‬ ‫و‬ ‫ادغام‬
-
CircleCI
‫مانند‬ ‫استقرار‬ ‫مختلف‬ ‫‌های‬
‫س‬‫سروی‬ ‫و‬ ‫ابزارها‬ ‫از‬
AWS, Google Cloud, Heroku, Docker
‫و‬ ,
Kubernetes
.‫کند‬ ‫مستقر‬ ‫‌ها‬
‫ت‬‫تس‬ ‫گذراندن‬ ‫از‬ ‫پس‬ ‫را‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬

‫از‬ ‫پشتیبانی‬
Workflows
-
CircleCI
( ‫کاری‬ ‫‌های‬
‫ن‬‫جریا‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫امکان‬
workflows
‫مختلفی‬ ‫مراحل‬ ‫شامل‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫پیچیده‬ )
.‫باشد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫از‬

‫‌دهی‬
‫ش‬‫گزار‬ ‫و‬ ‫داشبورد‬
-
CircleCI
‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫‌ها‬
‫ت‬‫تس‬ ‫و‬ ‫‌ها‬
‫ت‬‫ساخ‬ ‫وضعیت‬ ‫از‬ ‫دقیق‬ ‫‌دهی‬
‫ش‬‫گزار‬ ‫و‬ ‫جامع‬ ‫داشبوردی‬
.‫کنند‬ ‫رفع‬ ‫و‬ ‫شناسایی‬ ‫سریعتر‬ ‫را‬ ‫مشکالت‬ ‫‌کند‬
‫ی‬‫م‬

‫دسترسی‬ ‫کنترل‬ ‫و‬ ‫امنیت‬
-
CircleCI
‫مانند‬ ‫امنیتی‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫از‬
SSO، 2FA
.‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫نقش‬ ‫اساس‬ ‫بر‬ ‫دسترسی‬ ‫کنترل‬ ‫و‬ ،

‫از‬ ‫پشتیبانی‬
API
‫و‬
CLI
-
CircleCI
‫از‬
API
‫و‬
CLI
‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ،‫‌کند‬
‫ی‬‫م‬ ‫استفاده‬ ‫سرویس‬ ‫با‬ ‫تعامل‬ ‫و‬ ‫اتوماسیون‬ ‫برای‬
.‫کنند‬ ‫سفارشی‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫خود‬ ‫فرآیندهای‬
6-2
-
‫مزایا‬
CircleCI

‫با‬ ‫ساده‬ ‫پیکربندی‬
YAML
‫فایل‬ ‫از‬ ‫استفاده‬ :
YAML
.‫است‬ ‫آسان‬ ‫آن‬ ‫مدیریت‬ ‫و‬ ‫فهم‬ ‫که‬ ‫پیکربندی‬ ‫برای‬

‫از‬ ‫قوی‬ ‫پشتیبانی‬
Docker
‫با‬ ‫سفارشی‬ ‫ساخت‬ ‫‌های‬
‫ط‬‫محی‬ ‫مدیریت‬ ‫و‬ ‫ایجاد‬ :
Docker
.

‫با‬ ‫عالی‬ ‫ادغام‬
GitHub
‫و‬
Bitbucket
‫انجام‬ ‫مشکل‬ ‫بدون‬ ‫ادغام‬ ،‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫مخازن‬ ‫این‬ ‫از‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫ویژه‬ ‫به‬ :
.‫‌شود‬
‫ی‬‫م‬

.‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫کاهش‬ ‫برای‬ : ‫کانکارنت‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬
6-3
-
:‫معایب‬

‫از‬ ‫استفاده‬ ‫به‬ ‫مربوط‬ ‫‌های‬
‫ه‬‫هزین‬ ،‫خصوصی‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫برای‬ :‫بودن‬ ‫‌بر‬
‫ه‬‫هزین‬
CircleCI
.‫باشد‬ ‫باال‬ ‫‌تواند‬
‫ی‬‫م‬

‫پیچیده‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫یا‬ ‫بزرگ‬ ‫‌های‬
‫م‬‫تی‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫دارد‬ ‫‌هایی‬
‫ت‬‫محدودی‬ ‫رایگان‬ ‫نسخه‬ :‫رایگان‬ ‫نسخه‬ ‫‌های‬
‫ت‬‫محدودی‬
.‫نباشد‬ ‫مناسب‬

‫اینکه‬ ‫دلیل‬ ‫به‬ :‫ابر‬ ‫به‬ ‫وابستگی‬
CircleCI
‫آفالین‬ ‫استفاده‬ ‫برای‬ ‫و‬ ‫دارد‬ ‫اینترنت‬ ‫اتصال‬ ‫به‬ ‫نیاز‬ ،‫است‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ ‫سرویس‬ ‫یک‬
.‫نیست‬ ‫مناسب‬
7
-
‫قابلیتهای‬ ‫بررسی‬
TeamCity
TeamCity
‫برای‬ ‫‌پذیر‬
‫ف‬‫انعطا‬ ‫و‬ ‫قدرتمند‬ ‫ابزار‬ ‫یک‬
CI/CD
،‫مختلف‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬
‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬ ‫و‬ ‫گسترده‬ ‫امکانات‬ ‫ارائه‬ ‫با‬ ‫که‬ ‫است‬
‫و‬ ‫بزرگ‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫برای‬ ‫ویژه‬ ‫به‬ ‫ابزار‬ ‫این‬ .‫کنند‬ ‫بهینه‬ ‫را‬ ‫خود‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬
.‫است‬ ‫مناسب‬ ‫پیچیده‬ ‫‌های‬
‫ه‬‫پروژ‬
TeamCity
‫سرور‬ ‫یک‬
CI/CD
‫شرکت‬ ‫توسط‬ ‫که‬ ‫است‬ ‫‌پذیر‬
‫ف‬‫انعطا‬ ‫و‬ ‫قدرتمند‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬
JetBrains
‫یافته‬ ‫توسعه‬
‫و‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫برای‬ ‫‌ای‬
‫ه‬‫گسترد‬ ‫امکانات‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫کد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫فرآیندهای‬ ‫خودکارسازی‬ ‫برای‬ ‫ابزار‬ ‫این‬ .‫است‬
‫امکانات‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬
TeamCity
:‫‌پردازیم‬
‫ی‬‫م‬
7-1
-
‫‌های‬
‫ی‬‫ویژگ‬
TeamCity

‫مختلف‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬
‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬
-
TeamCity
‫مانند‬ ‫مختلفی‬ ‫‌نویسی‬
‫ه‬‫برنام‬ ‫‌های‬
‫ن‬‫زبا‬ ‫از‬
Java, .NET, Ruby, Python, PHP, JavaScript
‫پشتیبانی‬ ‫غیره‬ ‫و‬
‫مانند‬ ‫متعددی‬ ‫ساخت‬ ‫ابزارهای‬ ‫از‬ ‫همچنین‬ .‫‌کند‬
‫ی‬‫م‬
Maven, Gradle, Ant, MSBuild
‫و‬ ,
NAnt
.‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬

( ‫نسخه‬ ‫کنترل‬ ‫‌های‬
‫م‬‫سیست‬ ‫با‬ ‫ادغام‬
VCS
)
-
TeamCity
‫جمله‬ ‫از‬ ‫مختلف‬ ‫نسخه‬ ‫کنترل‬ ‫‌های‬
‫م‬‫سیست‬ ‫با‬
Git, Subversion, Mercurial, Perforce
‫و‬ ,
TFS
‫ادغام‬
.‫کند‬ ‫پردازش‬ ‫و‬ ‫شناسایی‬ ‫را‬ ‫کد‬ ‫مخزن‬ ‫در‬ ‫تغییرات‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬

‫ساده‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬
-
TeamCity
‫برای‬ ‫را‬ ‫ابزار‬ ‫این‬ ‫با‬ ‫کار‬ ‫کاربری‬ ‫رابط‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫استفاده‬ ‫‌ها‬
‫ه‬‫پروژ‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ ‫برای‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬ ‫از‬
.‫‌کند‬
‫ی‬‫م‬ ‫‌تر‬
‫ن‬‫آسا‬ ‫کاربران‬

‫از‬ ‫پشتیبانی‬
Docker
-
TeamCity
‫از‬
Docker
‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫امکان‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫سفارشی‬ ‫ساخت‬ ‫‌های‬
‫ط‬‫محی‬ ‫مدیریت‬ ‫و‬ ‫ایجاد‬ ‫برای‬
.‫کنند‬ ‫اجرا‬ ‫تکرار‬ ‫قابل‬ ‫و‬ ‫ایزوله‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫خود‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬

‫‌شده‬
‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬
-
TeamCity
‫قابل‬ ‫طور‬ ‫به‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫‌شده‬
‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫اجرای‬ ‫امکان‬
.‫دهد‬ ‫کاهش‬ ‫توجهی‬

‫‌ها‬
‫ی‬‫وابستگ‬ ‫از‬ ‫استفاده‬ ‫باز‬ ‫و‬ ‫کشینگ‬ ‫از‬ ‫پشتیبانی‬
-
TeamCity
‫طور‬ ‫به‬ ‫‌تواند‬
‫ی‬‫م‬ ‫ویژگی‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫استفاده‬ ‫ساخت‬ ‫زمان‬ ‫کاهش‬ ‫برای‬ ‫‌ها‬
‫ی‬‫وابستگ‬ ‫از‬ ‫استفاده‬ ‫باز‬ ‫و‬ ‫کشینگ‬ ‫از‬
.‫کند‬ ‫استفاده‬ ‫بعدی‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫در‬ ‫آنها‬ ‫از‬ ‫و‬ ‫ذخیره‬ ‫را‬ ‫ثابت‬ ‫‌های‬
‫ی‬‫وابستگ‬ ‫خودکار‬

‫دسترسی‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬
-
TeamCity
‫دسترسی‬ ‫سطوح‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬ ‫مدیران‬ ‫به‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫نقش‬ ‫اساس‬ ‫بر‬ ‫دسترسی‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬ ‫از‬
.‫کنند‬ ‫تعریف‬ ‫کاربران‬ ‫برای‬ ‫مختلفی‬

‫‌ها‬
‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬
‫ن‬‫پالگی‬ ‫از‬ ‫پشتیبانی‬
-
TeamCity
‫این‬ ‫‌های‬
‫ت‬‫قابلی‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫‌ها‬
‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬
‫ن‬‫پالگی‬ ‫از‬ ‫گسترده‬ ‫اکوسیستم‬ ‫یک‬ ‫دارای‬
.‫کنند‬ ‫‌سازی‬
‫ی‬‫سفارش‬ ‫و‬ ‫دهند‬ ‫گسترش‬ ‫را‬ ‫ابزار‬

‫از‬ ‫پشتیبانی‬
Workflows
‫پیچیده‬ ‫‌های‬
‫ن‬‫پایپالی‬ ‫و‬
-
TeamCity
( ‫کاری‬ ‫‌های‬
‫ن‬‫جریا‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫از‬
workflows
‫شامل‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫پیچیده‬ ‫‌های‬
‫ن‬‫پایپالی‬ ‫و‬ )
.‫باشد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫از‬ ‫مختلفی‬ ‫مراحل‬

‫‌ها‬
‫ن‬‫اعال‬ ‫و‬ ‫‌دهی‬
‫ش‬‫گزار‬
-
TeamCity
‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫نتایج‬ ‫‌تواند‬
‫ی‬‫م‬ ‫ابزار‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫‌ها‬
‫ت‬‫تس‬ ‫و‬ ‫‌ها‬
‫ت‬‫ساخ‬ ‫وضعیت‬ ‫از‬ ‫دقیق‬ ‫‌های‬
‫ن‬‫اعال‬ ‫و‬ ‫‌ها‬
‫ش‬‫گزار‬
،‫ایمیل‬ ‫به‬
Slack
.‫کند‬ ‫ارسال‬ ‫ارتباطی‬ ‫ابزارهای‬ ‫سایر‬ ‫و‬

‫از‬ ‫پشتیبانی‬
API
‫و‬
CLI
-
TeamCity
‫از‬
API
‫و‬
CLI
‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫ویژگی‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫استفاده‬ ‫سرویس‬ ‫با‬ ‫تعامل‬ ‫و‬ ‫اتوماسیون‬ ‫برای‬
.‫کنند‬ ‫سفارشی‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫خود‬ ‫فرآیندهای‬ ‫تا‬
7-2
-
‫مزایای‬
TeamCity

:‫مختلف‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬
‫ن‬‫زبا‬ ‫از‬ ‫گسترده‬ ‫پشتیبانی‬
TeamCity
.‫است‬ ‫سازگار‬ ‫توسعه‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬
‫ن‬‫زبا‬ ‫از‬ ‫بسیاری‬ ‫با‬

.‫‌کند‬
‫ی‬‫م‬ ‫‌تر‬
‫ن‬‫آسا‬ ‫کاربران‬ ‫برای‬ ‫را‬ ‫ابزار‬ ‫این‬ ‫با‬ ‫کار‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬ ‫از‬ ‫استفاده‬ :‫آسان‬ ‫و‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬

.‫دهد‬ ‫کاهش‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬
‫ی‬‫م‬ ‫ویژگی‬ ‫این‬ :‫‌شده‬
‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫از‬ ‫پشتیبانی‬

:‫مختلف‬ ‫نسخه‬ ‫کنترل‬ ‫‌های‬
‫م‬‫سیست‬ ‫با‬ ‫ادغام‬
TeamCity
.‫‌شود‬
‫ی‬‫م‬ ‫ادغام‬ ‫مختلف‬ ‫نسخه‬ ‫کنترل‬ ‫‌های‬
‫م‬‫سیست‬ ‫با‬ ‫خوبی‬ ‫به‬
7-3
-
‫معایب‬
TeamCity

:‫بودن‬ ‫‌بر‬
‫ه‬‫هزین‬
TeamCity
.‫باشد‬ ‫‌بر‬
‫ه‬‫هزین‬ ‫مستقل‬ ‫‌های‬
‫ه‬‫پروژ‬ ‫و‬ ‫کوچک‬ ‫‌های‬
‫م‬‫تی‬ ‫برای‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫دارد‬ ‫الیسنس‬ ‫خرید‬ ‫به‬ ‫نیاز‬

.‫باشد‬ ‫پیچیده‬ ‫جدید‬ ‫کاربران‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫پیکربندی‬ ‫و‬ ‫اولیه‬ ‫تنظیم‬ :‫‌اندازی‬
‫ه‬‫را‬ ‫برای‬ ‫اولیه‬ ‫پیچیدگی‬

‫بیشتری‬ ‫‌افزاری‬
‫ت‬‫سخ‬ ‫منابع‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫‌شده‬
‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬
‫ت‬‫ساخ‬ ‫اجرای‬ ‫برای‬ :‫باال‬ ‫‌افزاری‬
‫ت‬‫سخ‬ ‫منابع‬ ‫به‬ ‫نیاز‬
.‫باشد‬ ‫داشته‬
8
-
‫مقایسه‬
Platform
‫ها‬
‫مختلف‬ ‫پلتفرمهای‬ ‫قابلیتهای‬ ‫بررسی‬ ‫قبل‬ ‫های‬ ‫بخش‬ ‫در‬
Source Control
‫و‬
CI/CD
‫مقایسه‬ ‫بخش‬ ‫این‬ ‫در‬ ‫گردید‬ ‫انجام‬ ،‫مطرح‬
:‫گردد‬ ‫می‬ ‫ارائه‬ ‫ذیل‬ ‫شرح‬ ‫به‬ ‫آنها‬ ‫امکانات‬ ‫و‬ ‫ویژگیها‬ ‫کلی‬
GitLab
‫کامل‬ ‫فرم‬ ‫پلت‬ ‫یک‬ :
DevOps
،‫نسخه‬ ‫کنترل‬ ‫شامل‬
CI/CD
‫خود‬ ‫های‬ ‫گزینه‬ ‫با‬ .‫باشد‬ ‫می‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫های‬ ‫ویژگی‬ ‫و‬
‫میزبانی‬ ‫یا‬ ‫میزبانی‬
GitLab
.‫است‬ ‫پذیر‬ ‫انعطاف‬
Azure DevOps
‫برای‬ ‫جامع‬ ‫ای‬ ‫مجموعه‬ :
DevOps
‫که‬
CI/CD
.‫دهد‬ ‫می‬ ‫پوشش‬ ‫را‬ ‫دیگر‬ ‫موارد‬ ‫و‬ ‫بسته‬ ‫مدیریت‬ ،‫نسخه‬ ‫کنترل‬ ،
‫با‬ ‫کامًال‬
Microsoft Azure
.‫شود‬ ‫می‬ ‫ادغام‬
Jenkins
:
‫نگهداری‬ ‫و‬ ‫اندازی‬ ‫راه‬ ‫به‬ ‫نیاز‬ ‫اما‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫گسترده‬ ‫طور‬ ‫به‬ .‫گسترده‬ ‫پالگین‬ ‫اکوسیستم‬ ‫با‬ ‫تنظیم‬ ‫قابل‬ ‫بسیار‬
.‫میباشد‬ ‫بیشتری‬
TeamCity
‫قوی‬ ‫های‬ ‫قابلیت‬ ‫دلیل‬ ‫به‬ :
CI/CD
.‫است‬ ‫شده‬ ‫شناخته‬ ‫سازمانی‬ ‫های‬ ‫محیط‬ ‫در‬ ‫ویژه‬ ‫به‬ ،‫استفاده‬ ‫سهولت‬ ‫و‬
CircleCI
‫از‬ ‫قوی‬ ‫پشتیبانی‬ ‫با‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ :
Docker
‫و‬
Kubernetes
.‫است‬ ‫شده‬ ‫طراحی‬ ‫کارآمد‬ ‫و‬ ‫سریع‬ ‫ساخت‬ ‫برای‬ .
Travis CI
‫تجربه‬ ،‫باز‬ ‫منبع‬ ‫جامعه‬ ‫در‬ ‫محبوب‬ :
CI/CD
.‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫موازی‬ ‫های‬ ‫ساخت‬ ‫از‬ ‫پشتیبانی‬ ‫با‬ ‫یکپارچه‬
Bamboo
‫مانند‬ ‫اطلسی‬ ‫ابزارهای‬ ‫سایر‬ ‫با‬ ‫خوبی‬ ‫به‬ ‫که‬ ‫اطلسیان‬ ‫محصولی‬ :
JIRA
‫و‬
Bitbucket
‫تجربه‬ ‫یک‬ ‫این‬ .‫شود‬ ‫می‬ ‫ادغام‬
‫جامع‬
CI/CD
.‫دهد‬ ‫می‬ ‫ارائه‬ ‫یکپارچه‬ ‫سازی‬ ‫یکپارچه‬ ‫بر‬ ‫تمرکز‬ ‫با‬
‫قابلیتهای‬ ‫مقایسه‬ ‫بعد‬ ‫صفحه‬ ‫جدول‬ ‫در‬
7
‫پلتفرم‬
CI/CD
:‫است‬ ‫آمده‬ ‫مستند‬ ‫این‬ ‫در‬ ‫شده‬ ‫معرفی‬
‫پلتفرمهای‬ ‫مقایسه‬
Source Control
‫و‬
CI/CD
Feature/Tool GitLab Azure DevOps Jenkins TeamCity CircleCI Travis CI Bamboo
Type Web-based Git
repository
manager with
CI/CD
DevOps
platform with
CI/CD, version
control, and
more
Open-
source
automatio
n server
CI/CD server CI/CD
service
CI/CD
service
CI/CD
server
Language
Support
Multi-language
support
Multi-language
support
Multi-
language
support
Multi-
language
support
Multi-
language
support
Multi-
language
support
Multi-
languag
e
support
Hosting Self-hosted or
GitLab-hosted
Microsoft Azure
(cloud) or on-
premises
Self-
hosted
Self-hosted Cloud-
based
Cloud-
based
Self-
hosted
VCS
Integration
Git Git, TFVC,
Subversion,
Mercurial
Git,
Subversio
n,
Mercurial,
CVS
Git,
Subversion,
Mercurial,
CVS
Git,
Bitbucket
Git,
Bitbucket,
GitHub
Git,
Mercuri
al,
Subversi
on,
Perforce
Pipeline
Configuration
YAML
configuration
files
YAML for
Pipelines (in
Azure Repos or
GitHub)
Jenkinsfile
(Groovy
syntax)
Kotlin,
Groovy,
YAML
YAML
configura
tion files
YAML
configurat
ion files
GUI-
based
and
YAML
Container
Support
Docker,
Kubernetes
Docker,
Kubernetes
Docker,
Kubernete
s
Docker,
Kubernetes
Docker,
Kubernet
es
Docker Docker,
Kuberne
tes
Scalability Highly scalable
with runners
Highly scalable Highly
scalable
with
nodes
Scalable Highly
scalable
Highly
scalable
Scalable
User Interface Modern, web-
based
Modern, web-
based
Web-
based
(older UI)
Modern,
web-based
Modern,
web-
based
Modern,
web-based
Web-
based
Plugins/
Extensions
Rich
ecosystem of
extensions
Extensions
available
Extensive
plugin
ecosystem
Rich
ecosystem of
plugins
Limited
to
specific
integratio
ns
Limited to
specific
integration
s
Extensiv
e plugin
ecosyste
m
Security SSO, 2FA,
Role-based
permissions
SSO, 2FA, Role-
based access,
Compliance
Role-
based
permissio
ns, 2FA
(via
plugins)
Role-based
access
control
SSO,
Role-
based
access
control
Role-
based
access
control
Role-
based
access
control
License Open-source Proprietary Open- Proprietary Proprieta Proprietar Propriet
Feature/Tool GitLab Azure DevOps Jenkins TeamCity CircleCI Travis CI Bamboo
(Community
Edition), Paid
(Premium)
(Paid) source (Paid) ry (Paid) y (Free for
open-
source
projects)
ary
(Paid)
Build Speed Fast,
depending on
runners and
caching
Fast, depending
on configuration
Variable,
depends
on
configurat
ion
Fast, with
appropriate
configuration
Fast,
optimize
d for
parallel
builds
Fast,
optimized
for
parallel
builds
Fast,
with
appropri
ate
configur
ation
Documentation Comprehensiv
e, extensive
online
documentation
Comprehensive,
extensive online
documentation
Extensive
communit
y and
official
document
ation
Extensive
official
documentatio
n
Compreh
ensive
online
document
ation
Comprehe
nsive
online
document
ation
Extensiv
e
official
docume
ntation
Support Community,
Paid support
available
Paid support,
community
forums
Communit
y, Paid
support
via third
parties
Paid support Commun
ity, Paid
support
Communit
y, Paid
support
Paid
support
‫بندی‬ ‫جمع‬
DevOps
‫تعامل‬ ‫ایجاد‬ ‫و‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫آن‬ ‫اصلی‬ ‫هدف‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مهندسی‬ ‫رویکردهای‬ ‫و‬ ‫‌ها‬
‫ه‬‫فلسف‬ ،‫ابزار‬ ،‫فرآیندها‬ ‫از‬ ‫مجموعه‬ ‫یک‬
( ‫ـعه‬
‫ـ‬‫توس‬ ‫‌های‬
‫م‬‫تی‬ ‫بین‬
Development
( ‫عملیات‬ ‫و‬ )
Operations
‫ـدف‬
‫ـ‬‫ه‬ ‫‌ترین‬
‫ی‬‫ـل‬
‫ـ‬‫اص‬ .‫ـت‬
‫ـ‬‫اس‬ ‫سازمان‬ ‫ـک‬
‫ـ‬‫ی‬ ‫در‬ )
DevOps
‫افزایش‬
.‫است‬ ‫مشتریان‬ ‫به‬ ‫بهتر‬ ‫و‬ ‫سریعتر‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫عملیات‬ ‫بهتر‬ ‫مدیریت‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫ی‬‫توانمند‬
‫اصلی‬ ‫اصول‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬
DevOps
:‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬
‫افزایش‬ ‫و‬ ‫خطاها‬ ‫ـاهش‬
‫ـ‬‫ک‬ ‫ـور‬
‫ـ‬‫منظ‬ ‫ـه‬
‫ـ‬‫ب‬ ‫عملیات‬ ‫و‬ ‫ـعه‬
‫ـ‬‫توس‬ ‫در‬ ‫ـف‬
‫ـ‬‫مختل‬ ‫وظایف‬ ‫و‬ ‫فرآیندها‬ ‫اجرای‬ ‫برای‬ ‫اتوماتیک‬ ‫‌های‬
‫ر‬‫ابزا‬ ‫از‬ ‫استفاده‬ :‫اتوماسیون‬
.‫تحویل‬ ‫سرعت‬
‫ـتراک‬
‫ـ‬‫اش‬ ‫بـه‬ ‫را‬ ‫تجربیات‬ ‫و‬ ‫اطالعات‬ ‫و‬ ‫‌کننـد‬
‫ی‬‫م‬ ‫همکـاری‬ ‫یکـدیگر‬ ‫با‬ ‫مـداوم‬ ‫صـورت‬ ‫به‬ ‫عملیات‬ ‫مدیران‬ ‫و‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ :‫همکاری‬ ‫و‬ ‫تعامل‬
.‫‌گذارند‬
‫ی‬‫م‬
.‫باال‬ ‫کیفیت‬ ‫و‬ ‫باال‬ ‫سرعت‬ ‫با‬ ‫مداوم‬ ‫ارائه‬ ‫و‬ ‫توسعه‬ ‫محیط‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫تالش‬ :‫انطباق‬ ‫ایجاد‬
.‫فرآیندها‬ ‫مستمر‬ ‫بهبود‬ ‫و‬ ‫عملکرد‬ ‫‌گیری‬
‫ه‬‫انداز‬ ‫برای‬ ‫‌ها‬
‫ک‬‫متری‬ ‫و‬ ‫معیارها‬ ‫از‬ ‫استفاده‬ :‫مداوم‬ ‫بهبود‬ ‫و‬ ‫‌گیری‬
‫ه‬‫انداز‬
.‫کد‬ ‫تغییرات‬ ‫ردیابی‬ ‫و‬ ‫نگهداری‬ ‫برای‬ ‫مشابه‬ ‫ابزارهای‬ ‫و‬ ‫منبع‬ ‫کدهای‬ ‫مدیریت‬ ‫از‬ ‫استفاده‬ :‫منبع‬ ‫کدهای‬ ‫مدیریت‬
DevOps
،‫‌ها‬
‫ه‬‫هزین‬ ‫افزایش‬ ‫مانند‬ ‫مشکالتی‬ ‫به‬ ‫و‬ ‫کنند‬ ‫عرضه‬ ‫بازار‬ ‫به‬ ‫کیفیت‬ ‫با‬ ‫و‬ ‫سریعتر‬ ‫را‬ ‫خود‬ ‫‌افزارهای‬
‫م‬‫نر‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫ن‬‫سازما‬ ‫به‬
.‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫بازار‬ ‫و‬ ‫مشتریان‬ ‫نیازهای‬ ‫مقابل‬ ‫در‬ ‫تغییر‬ ‫و‬ ‫مداومت‬ ‫امکان‬ ‫همچنین‬ ‫رویکرد‬ ‫این‬ .‫دهند‬ ‫کاهش‬ ‫‌ها‬
‫ل‬‫تداخ‬ ‫و‬ ‫خطاها‬
DevOps
‫و‬
Microsoft Azure
.‫هستند‬ ‫نزدیکی‬ ‫ارتباط‬ ‫دارای‬
Microsoft Azure
‫مایکروسافت‬ ‫شرکت‬ ‫از‬ ‫ـری‬
‫ـ‬‫اب‬ ‫پلتفرم‬ ‫ـک‬
‫ـ‬‫ی‬
‫برنام‬ ‫اجرای‬ ‫امکان‬ ‫که‬ ‫است‬
.‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫ابری‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫مختلف‬ ‫خدمات‬ ‫و‬ ‫‌ها‬
‫ه‬
DevOps
‫رویکرد‬ ‫و‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫فرآینــد‬ ‫یک‬ ‫عنوان‬ ‫به‬ ،
‫خدمات‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌تواند‬
‫ی‬‫م‬ ،‫‌افزار‬
‫م‬‫نر‬ ‫مهندسی‬
Azure
.‫کند‬ ‫تسهیل‬ ‫و‬ ‫یابد‬ ‫بهبود‬
‫مایکروسافت‬
Azure
‫‌سازی‬
‫ه‬‫پیاد‬ ‫بــرای‬ ‫را‬ ‫متعــددی‬ ‫‌های‬
‫س‬‫سروی‬ ‫و‬ ‫ابزارها‬
DevOps
‫قرار‬ ‫عملیات‬ ‫‌های‬
‫م‬‫تی‬ ‫و‬ ‫‌دهندگان‬
‫ه‬‫توســع‬ ‫اختیار‬ ‫در‬
:‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫خدمات‬ ‫و‬ ‫ابزارها‬ ‫این‬ ‫از‬ ‫برخی‬ .‫است‬ ‫داده‬
Azure DevOps: Azure DevOps
( ‫ـع‬
‫ـ‬‫منب‬ ‫کدهای‬ ‫مدیریت‬ ‫مانند‬ ،‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرآیندهای‬ ‫مدیریت‬ ‫برای‬ ‫کامل‬ ‫پلتفرم‬ ‫یک‬
Source Code Management
( ‫وظــایف‬ ‫مــدیریت‬ ،)
Work Item Tracking
،)
/ (
CI CD Continuous
/ )
Integration Continuous Deployment
.‫است‬ ‫‌ها‬
‫ت‬‫تس‬ ‫مدیریت‬ ‫و‬
( )
Azure Kubernetes Service AKS : AKS
‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫که‬ ‫‌دهد‬
‫ی‬‫م‬ ‫اجازه‬
Kubernetes
‫در‬
Azure
‫مستقر‬
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬
‫س‬‫میکروسروی‬ ‫بر‬ ‫مبتنی‬ ‫‌های‬
‫ه‬‫برنام‬ ‫مدیریت‬ ‫و‬ ‫توسعه‬ ‫به‬ ‫این‬ .‫کنید‬ ‫مدیریت‬ ‫و‬ ‫کنید‬
Azure Monitor
‫و‬
Application Insights
‫در‬ ‫خود‬ ‫‌های‬
‫ه‬‫برنام‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫و‬ ‫مانیتورینگ‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫‌ها‬
‫س‬‫سروی‬ ‫این‬ :
Azure
.‫‌دهند‬
‫ی‬‫م‬ ‫را‬
Azure Resource Manager Templates
‫و‬ ‫‌ها‬
‫ت‬‫زیرساخ‬ ‫مدیریت‬ ‫منظور‬ ‫به‬ ‫زیرساختی‬ ‫‌های‬
‫ح‬‫طر‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫ابزار‬ ‫این‬ :
.‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫اجرایی‬ ‫‌های‬
‫ط‬‫محی‬
Azure DevTest Labs
‫در‬ ‫تست‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫ط‬‫محی‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫سرویس‬ ‫این‬ :
Azure
‫ـدیریت‬
‫ـ‬‫م‬ ‫و‬ ‫ایجاد‬ ‫سرعت‬ ‫ـه‬
‫ـ‬‫ب‬ ‫را‬
.‫کنید‬
‫که‬ ‫است‬ ‫مشخص‬ ‫‌جا‬
‫ن‬‫ای‬ ‫از‬
Azure
‫‌سازی‬
‫ه‬‫پیاد‬ ‫برای‬ ‫را‬ ‫متعددی‬ ‫خدمات‬ ‫و‬ ‫ابزارها‬
DevOps
‫‌تر‬
‫ه‬‫ساد‬ ‫باعث‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫ابری‬ ‫محیط‬ ‫در‬
.‫‌شود‬
‫ی‬‫م‬ ‫‌افزار‬
‫م‬‫نر‬ ‫عرضه‬ ‫و‬ ‫توسعه‬ ‫فرآیند‬ ‫شدن‬
Docker
‫مفاهیم‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫نیز‬
DevOps
‫از‬ ‫استفاده‬ ‫و‬
Microsoft Azure
.‫‌کنـد‬
‫ی‬‫م‬ ‫ایفـا‬
Docker
‫مـدیریت‬ ‫پلتفرم‬ ‫یـک‬
‫کانتینرها‬ .‫ـد‬
‫ـ‬‫‌کن‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫ـانتینری‬
‫ـ‬‫ک‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫خدمات‬ ‫و‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫اجرای‬ ‫امکان‬ ‫عملیات‬ ‫‌های‬
‫م‬‫تی‬ ‫و‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫کانتینر‬
.‫‌شوند‬
‫ی‬‫م‬ ‫برنامه‬ ‫یک‬ ‫اجرای‬ ‫برای‬ ‫الزم‬ ‫‌های‬
‫ی‬‫وابستگ‬ ‫تمام‬ ‫و‬ ‫تنظیمات‬ ،‫‌ها‬
‫ه‬‫کتابخان‬ ،‫منبع‬ ‫کدهای‬ ‫شامل‬ ‫که‬ ‫هستند‬ ‫مستقلی‬ ‫‌های‬
‫ط‬‫محی‬
‫با‬ ‫ارتباط‬ ‫در‬
DevOps
‫و‬
Azure، Docker
:‫است‬ ‫زیر‬ ‫‌های‬
‫ت‬‫اهمی‬ ‫دارای‬
‫محیط‬ ‫از‬ ‫استقالل‬
‫از‬ ‫استفاده‬ ‫با‬ :
Docker
،‫ـت‬
‫ـ‬‫تس‬ ،‫ـعه‬
‫ـ‬‫(توس‬ ‫محیطی‬ ‫هر‬ ‫در‬ ‫ـه‬
‫ـ‬‫ک‬ ‫بسازید‬ ‫کانتینرها‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خدمات‬ ‫و‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫‌توانید‬
‫ی‬‫م‬ ،
.‫شوند‬ ‫ارائه‬ ‫‌ها‬
‫ط‬‫محی‬ ‫اختالف‬ ‫از‬ ‫نگرانی‬ ‫بدون‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫که‬ ‫‌کند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫اجرا‬ ‫یکسان‬ ‫صورت‬ ‫به‬ )‫تولید‬
( ‫مداوم‬ ‫ادغام‬
CI
‫زیرساختی‬ ‫‌های‬
‫ف‬‫توصی‬ ‫و‬ )
‫از‬ ‫استفاده‬ ‫با‬ :
Docker
‫فرآیند‬ ‫در‬
/
CI CD
‫ـل‬
‫ـ‬‫قاب‬ ‫ـدهای‬
‫ـ‬‫واح‬ ‫ـوان‬
‫ـ‬‫عن‬ ‫ـه‬
‫ـ‬‫ب‬ ‫را‬ ‫کانتینرها‬ ‫‌توانید‬
‫ی‬‫م‬ ،
‫ـد‬
‫ـ‬‫مانن‬ ‫زیرساختی‬ ‫‌های‬
‫ف‬‫ـی‬
‫ـ‬‫توص‬ ‫از‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫تست‬ ‫و‬ ‫اجرا‬
Dockerfile
‫و‬ ‫ـیف‬
‫ـ‬‫توص‬ ‫را‬ ‫ـرایی‬
‫ـ‬‫اج‬ ‫‌های‬
‫ط‬‫محی‬ ‫و‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫ـا‬
‫ـ‬‫ت‬ ‫ـد‬
‫ـ‬‫ببری‬ ‫ـره‬
‫ـ‬‫به‬
.‫کنید‬ ‫مدیریت‬
‫منابع‬ ‫بهتر‬ ‫توزیع‬ ‫و‬ ‫مدیریت‬
:
Docker
‫(مانند‬ ‫سیستمی‬ ‫منابع‬ ‫تا‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬
CPU
‫‌ها‬
‫ه‬‫برنام‬ ‫و‬ ‫ـد‬
‫ـ‬‫کنی‬ ‫ـدیریت‬
‫ـ‬‫م‬ ‫بهتر‬ ‫را‬ )‫حافظه‬ ‫و‬
‫مانند‬ ‫ابری‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫مهمی‬ ‫منابع‬ ‫‌وری‬
‫ه‬‫بهر‬ ‫در‬ ‫بهبود‬ ‫این‬ .‫کنید‬ ‫اجرا‬ ‫یکدیگر‬ ‫از‬ ‫مستقل‬ ‫صورت‬ ‫به‬ ‫را‬
Microsoft Azure
.‫دارد‬
‫ابری‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫استفاده‬
:
Microsoft Azure
‫از‬ ‫ـیز‬
‫ـ‬‫ن‬
Docker
‫و‬
Kubernetes
‫در‬ ‫‌ها‬
‫ن‬‫آ‬ ‫ـدیریت‬
‫ـ‬‫م‬ ‫و‬ ‫کانتینرها‬ ‫ـرای‬
‫ـ‬‫اج‬ ‫ـرای‬
‫ـ‬‫ب‬
.‫‌کند‬
‫ی‬‫م‬ ‫استفاده‬ ‫ابری‬ ‫‌های‬
‫ط‬‫محی‬
( )
Azure Kubernetes Service AKS
‫در‬ ‫کانتینرها‬ ‫مدیریت‬ ‫سرویس‬ ‫یک‬ ‫عنوان‬ ‫به‬
Azure
‫از‬ ،
Docker
.‫‌برد‬
‫ی‬‫م‬ ‫بهره‬
،‫کلی‬ ‫طــور‬ ‫بــه‬
Docker
‫‌های‬
‫ط‬‫محی‬ ‫مــدیریت‬ ‫و‬ ‫ایجاد‬ ‫در‬ ‫اساســی‬ ‫ابزارهای‬ ‫از‬ ‫یکی‬
DevOps
‫ماننــد‬ ‫ابــری‬ ‫‌های‬
‫م‬‫پلتفر‬ ‫با‬ ‫ارتباط‬ ‫در‬ ‫و‬
Microsoft Azure
‫فرآیند‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫مدیریت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫توسعه‬ ‫اصلی‬ ‫واحدهای‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫کانتینرها‬ ‫ابزار‬ ‫این‬ .‫است‬
/
CI CD
‫و‬
.‫‌کند‬
‫ی‬‫م‬ ‫‌تر‬
‫ه‬‫ساد‬ ‫را‬ ‫مداوم‬ ‫ادغام‬
،‫تنظیمات‬ ،‫‌ها‬
‫ه‬‫کتابخان‬ ،‫ـع‬
‫ـ‬‫منب‬ ‫ـدهای‬
‫ـ‬‫ک‬ ‫تمامی‬ ‫ـه‬
‫ـ‬‫ک‬ ‫ـت‬
‫ـ‬‫اس‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫ـدمات‬
‫ـ‬‫خ‬ ‫و‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫ـرای‬
‫ـ‬‫اج‬ ‫ـرای‬
‫ـ‬‫ب‬ ‫ـه‬
‫ـ‬‫جداگان‬ ‫و‬ ‫ـه‬
‫ـ‬‫ایزول‬ ‫محیط‬ ‫یک‬ ‫کانتینر‬
‫بــه‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫که‬ ‫‌کنند‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کانتینرها‬ .‫‌شود‬
‫ی‬‫م‬ ‫شامل‬ ‫را‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫برنامه‬ ‫یک‬ ‫اجرای‬ ‫برای‬ ‫که‬ ‫چیزی‬ ‫همه‬ ‫و‬ ،‫‌ها‬
‫ی‬‫وابستگ‬
.‫کنند‬ ‫عمل‬ ‫یکسان‬ ‫شکل‬ ‫یک‬ ‫به‬ ،‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫کانتینرها‬ ‫از‬ ‫که‬ ‫محیطی‬ ‫هر‬ ‫در‬ ‫و‬ ‫شوند‬ ‫اجرا‬ ‫معتبر‬ ‫و‬ ‫مستقل‬ ‫صورت‬
‫از‬ ‫و‬ ‫ایجاد‬ ‫سرعت‬ ‫بـه‬ ‫و‬ ‫خودکـار‬ ‫صـورت‬ ‫بـه‬ ‫کانتینرها‬ ،‫‌کننـد‬
‫ی‬‫م‬ ‫ایجاد‬ ‫را‬ ‫مجازی‬ ‫و‬ ‫کامـل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫که‬ ‫مجازی‬ ‫‌های‬
‫ن‬‫ماشی‬ ‫برخالف‬
:‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫کانتینری‬ ‫اصول‬ ‫و‬ ‫‌ها‬
‫ت‬‫مزی‬ ‫این‬ .‫‌کنند‬
‫ی‬‫م‬ ‫استفاده‬ ‫مشترکی‬ ‫میزبان‬ ‫‌عامل‬
‫م‬‫سیست‬
‫حملیت‬ ‫قابل‬
‫ـل‬
‫ـ‬‫نق‬ ‫و‬ ‫ـل‬
‫ـ‬‫حم‬ ‫و‬ ‫ـتفاده‬
‫ـ‬‫اس‬ ‫ـل‬
‫ـ‬‫قاب‬ ،)‫ـدوز‬
‫ـ‬‫وین‬ ‫و‬ ‫ـوکس‬
‫ـ‬‫لین‬ ‫ـوًال‬
‫ـ‬‫(معم‬ ‫‌کنند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫‌ها‬
‫ن‬‫آ‬ ‫از‬ ‫که‬ ‫‌هایی‬
‫ط‬‫محی‬ ‫همه‬ ‫برای‬ ‫کانتینرها‬ :
.‫هستند‬
‫‌سازی‬
‫ه‬‫ایزول‬ ‫اصل‬
‫‌ناپـذیر‬
‫ب‬‫اجتنا‬ ‫منـابع‬ ‫ـداخل‬
‫ـ‬‫ت‬ ‫و‬ ‫‌ها‬
‫ل‬‫ـداخ‬
‫ـ‬‫ت‬ ‫کـه‬ ‫است‬ ‫این‬ ‫معنای‬ ‫به‬ ‫این‬ .‫‌کند‬
‫ی‬‫م‬ ‫عمل‬ ‫جداگانه‬ ‫کانتینرها‬ ‫دیگر‬ ‫از‬ ‫کانتینر‬ ‫هر‬ :
.‫دارند‬ ‫کمتری‬
‫سرعت‬
.‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫زیرساختی‬ ‫‌های‬
‫ف‬‫توصی‬ ‫و‬ ‫سریع‬ ‫توسعه‬ ‫برای‬ ‫اجرا‬ ‫سرعت‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫اجرا‬ ‫و‬ ‫ایجاد‬ ‫سرعت‬ ‫به‬ ‫کانتینرها‬ :
( ‫مداوم‬ ‫ادغام‬
CI
( ‫مداوم‬ ‫تحویل‬ ‫و‬ )
CD
)
‫فرآیندهای‬ ‫در‬ ‫استاندارد‬ ‫واحدهای‬ ‫عنوان‬ ‫به‬ ‫کانتینرها‬ :
/
CI CD
‫این‬ .‫ـد‬
‫ـ‬‫‌گیرن‬
‫ی‬‫م‬ ‫قرار‬ ‫ـتفاده‬
‫ـ‬‫اس‬ ‫مورد‬
.‫‌دهید‬
‫ی‬‫م‬ ‫تحویل‬ ‫و‬ ‫تست‬ ‫سرعت‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫که‬ ‫است‬ ‫این‬ ‫معنای‬ ‫به‬
‫مقیاس‬ ‫ایجاد‬ ‫و‬ ‫مدیریت‬
( ‫افقی‬ ‫مقیاس‬ ‫ایجاد‬ ‫و‬ ‫آسان‬ ‫مدیریت‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫کانتینرها‬ :
Scaling
.‫‌دهند‬
‫ی‬‫م‬ ‫را‬ ‫‌ها‬
‫ه‬‫برنام‬ )
‫مانند‬ ‫معروف‬ ‫‌های‬
‫ه‬‫برنام‬
Docker
‫و‬
Kubernetes
‫و‬ ‫‌دهندگان‬
‫ه‬‫ـع‬
‫ـ‬‫توس‬ ‫ـه‬
‫ـ‬‫ب‬ ‫و‬ ‫‌برند‬
‫ی‬‫م‬ ‫بهره‬ ‫مفاهیم‬ ‫این‬ ‫از‬ ‫کانتینری‬ ‫‌های‬
‫م‬‫پلتفر‬ ‫عنوان‬ ‫به‬
.‫کنند‬ ‫اجرا‬ ‫و‬ ‫مدیریت‬ ‫کانتینرها‬ ‫شکل‬ ‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫برنام‬ ‫تا‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کمک‬ ‫عملیات‬ ‫‌های‬
‫م‬‫تی‬
CI
‫عبارت‬ ‫مخفف‬
"
Continuous Integration
‫در‬ ‫اصطالح‬ ‫این‬ .‫‌باشد‬
‫ی‬‫م‬ "
DevOps
‫‌رود‬
‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرآیندهای‬ ‫و‬
‫انجام‬ ‫ـار‬
‫ـ‬‫خودک‬ ‫ـورت‬
‫ـ‬‫ص‬ ‫ـه‬
‫ـ‬‫ب‬ ‫و‬ ‫مکرر‬ ‫ـورت‬
‫ـ‬‫ص‬ ‫ـه‬
‫ـ‬‫ب‬ ‫توسعه‬ ‫تیم‬ ‫اعضای‬ ‫توسط‬ ‫منبع‬ ‫کدهای‬ ‫تجمیع‬ ‫و‬ ‫تغییرات‬ ‫آن‬ ‫در‬ ‫که‬ ‫دارد‬ ‫اشاره‬ ‫فرآیندی‬ ‫به‬ ‫و‬
.‫‌شود‬
‫ی‬‫م‬
‫اصلی‬ ‫هدف‬
CI
‫این‬ .‫شوند‬ ‫تست‬ ‫و‬ ‫تجمیع‬ )‫روز‬ ‫در‬ ‫بار‬ ‫چند‬ ‫(معموًال‬ ‫مکرر‬ ‫صورت‬ ‫به‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫توسط‬ ‫منبع‬ ‫کد‬ ‫در‬ ‫تغییرات‬ ‫که‬ ‫است‬ ‫این‬
( ‫‌افزار‬
‫م‬‫نر‬ ‫ـل‬
‫ـ‬‫تحوی‬ ‫ـد‬
‫ـ‬‫فرآین‬ ‫تسریع‬ ‫و‬ ،‫‌افزار‬
‫م‬‫نر‬ ‫کیفیت‬ ‫افزایش‬ ،‫کد‬ ‫در‬ ‫اشکاالت‬ ‫و‬ ‫مشکالت‬ ‫زودهنگام‬ ‫کشف‬ ‫به‬ ‫اقدام‬
CD
.‫ـد‬
‫ـ‬‫‌کن‬
‫ی‬‫م‬ ‫ـک‬
‫ـ‬‫کم‬ )
CI
‫ـایج‬
‫ـ‬‫نت‬ ‫از‬ ‫‌هایی‬
‫ش‬‫گزار‬ ‫و‬ ‫ـد‬
‫ـ‬‫‌کنن‬
‫ی‬‫م‬ ‫اجرا‬ ‫تستی‬ ‫محیط‬ ‫یک‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫انجام‬ ‫اتوماتیک‬ ‫‌های‬
‫م‬‫سیست‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫معموًال‬
.‫‌دهند‬
‫ی‬‫م‬ ‫ارائه‬ ‫تیم‬ ‫به‬
CI
‫اصول‬ ‫از‬ ‫یکی‬
DevOps
‫مشــکالت‬ ‫و‬ ‫‌ها‬
‫ل‬‫تــداخ‬ ‫از‬ ‫و‬ ‫دهند‬ ‫ارائه‬ ‫را‬ ‫تغییرات‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫تا‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫و‬ ‫است‬
‫‌های‬
‫ط‬‫محی‬ ‫و‬ ‫ابری‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫همچنین‬ ‫و‬ ‫بزرگ‬ ‫‌های‬
‫س‬‫مقیا‬ ‫در‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫اساسی‬ ‫فرآیند‬ ‫این‬ .‫کنند‬ ‫جلوگیری‬ ‫توسعه‬ ‫فرآیند‬ ‫در‬
.‫است‬ ‫مجازی‬
CD
‫عبارت‬ ‫مخفف‬
"
Continuous Delivery
‫یا‬
" "
Continuous Deployment
‫نوعی‬ ‫به‬ ‫مفهوم‬ ‫دو‬ ‫این‬ ‫اگرچه‬ ،‫‌باشد‬
‫ی‬‫م‬ "
:‫هستند‬ ‫متفاوت‬
( )
Continuous Delivery CD : Continuous Delivery
‫ـتقرار‬
‫ـ‬‫اس‬ ‫و‬ ‫تست‬ ‫‌های‬
‫ط‬‫محی‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مداوم‬ ‫تحویل‬ ‫معنای‬ ‫به‬
‫فرآیند‬ ‫از‬ ‫پس‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تغییرات‬ ،‫مدل‬ ‫این‬ ‫در‬ .‫‌باشد‬
‫ی‬‫م‬
( )
Continuous Integration CI
‫محیـط‬ ‫در‬ ‫اتوماتیـک‬ ‫‌های‬
‫ت‬‫تسـ‬ ‫انجام‬ ‫و‬
‫مکرر‬ ‫ـورت‬
‫ـ‬‫ص‬ ‫ـه‬
‫ـ‬‫ب‬ ‫ـه‬
‫ـ‬‫ک‬ ‫ـد‬
‫ـ‬‫‌ده‬
‫ی‬‫م‬ ‫اجازه‬ ‫‌دهندگان‬
‫ه‬‫ـع‬
‫ـ‬‫توس‬ ‫ـه‬
‫ـ‬‫ب‬ ‫این‬ .‫ـد‬
‫ـ‬‫‌گیرن‬
‫ی‬‫نم‬ ‫قرار‬ ‫تولید‬ ‫محیط‬ ‫یا‬ ‫مشتریان‬ ‫دسترس‬ ‫در‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ،‫تست‬
.‫‌گیرند‬
‫ی‬‫م‬ ‫دستی‬ ‫صورت‬ ‫به‬ ‫تولید‬ ‫محیط‬ ‫به‬ ‫انتقال‬ ‫مورد‬ ‫در‬ ‫تصمیمی‬ ‫اما‬ ،‫دهند‬ ‫ارائه‬ ‫تست‬ ‫‌های‬
‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫جدید‬ ‫تغییرات‬
( )
Continuous Deployment CD : Continuous Deployment
‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تغییرات‬ ‫خودکار‬ ‫و‬ ‫مداوم‬ ‫تحویل‬ ‫معنای‬ ‫به‬
‫از‬ ‫پس‬ ‫تغییرات‬ ،‫مدل‬ ‫این‬ ‫در‬ .‫‌باشد‬
‫ی‬‫م‬ ‫تولید‬ ‫محیط‬
CI
‫تولیـد‬ ‫محیـط‬ ‫بـه‬ ‫انسانی‬ ‫مداخلـه‬ ‫بـه‬ ‫نیاز‬ ‫بدون‬ ‫و‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌ها‬
‫ت‬‫تس‬ ‫انجام‬ ‫و‬
.‫کنند‬ ‫منتقل‬ ‫مشتریان‬ ‫به‬ ‫بالفاصله‬ ‫را‬ ‫تغییرات‬ ‫‌دهد‬
‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬
‫ه‬‫توسع‬ ‫به‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫منتقل‬
‫اصلی‬ ‫هدف‬
CD
‫از‬ ‫بخش‬ ‫(مهمترین‬
DevOps
‫با‬ .‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تحویل‬ ‫به‬ ‫اعتماد‬ ‫و‬ ‫سرعت‬ ‫افزایش‬ )
CI
‫و‬
CD
‫سرعت‬ ‫ـه‬
‫ـ‬‫ب‬ ‫ـد‬
‫ـ‬‫ک‬ ‫ـیرات‬
‫ـ‬‫تغی‬ ،
‫و‬ ‫تست‬ ،‫تجمیع‬
DevOps
‫مـوفقیت‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫پروژه‬ ‫مدیر‬ ‫اما‬ ،‫دارد‬ ‫تاکید‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرآیند‬ ‫یک‬ ‫و‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مهندسی‬ ‫رویکرد‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫معموًال‬
DevOps
‫اجرای‬ ‫در‬ ‫‌تواند‬
‫ی‬‫م‬ ‫پروژه‬ ‫مدیر‬ ‫یک‬ ‫چگونه‬ ‫که‬ ‫‌دهم‬
‫ی‬‫م‬ ‫توضیح‬ ‫اینجا‬ ‫در‬ .‫‌کند‬
‫ی‬‫م‬ ‫ایفا‬
DevOps
:‫کند‬ ‫بازی‬ ‫نقش‬ ‫‌آمیز‬
‫ت‬‫موفقی‬
‫استراتژی‬ ‫تعیین‬
DevOps
‫راهبرد‬ ‫و‬ ‫استراتژی‬ ‫تعیین‬ ‫مسئول‬ ‫پروژه‬ ‫مدیر‬ :
DevOps
‫ـه‬
‫ـ‬‫چگون‬ ‫ـه‬
‫ـ‬‫ک‬ ‫کند‬ ‫مشخص‬ ‫باید‬ ‫او‬ .‫است‬ ‫پروژه‬ ‫برای‬
DevOps
.‫شود‬ ‫انجام‬ ‫باید‬ ‫‌ها‬
‫م‬‫تی‬ ‫و‬ ‫فرآیندها‬ ‫در‬ ‫تغییراتی‬ ‫چگونه‬ ‫و‬ ‫شد‬ ‫خواهد‬ ‫اجرا‬ ‫‌اش‬
‫ه‬‫پروژ‬ ‫و‬ ‫سازمان‬ ‫در‬
‫منابع‬ ‫و‬ ‫‌ها‬
‫م‬‫تی‬ ‫مدیریت‬
‫با‬ ‫مرتبط‬ ‫‌های‬
‫م‬‫تی‬ ‫تعیین‬ ‫و‬ ‫منابع‬ ‫تخصیص‬ ‫مسئول‬ ‫پروژه‬ ‫مدیر‬ :
DevOps
‫تیم‬ ‫اعضای‬ ‫که‬ ‫کند‬ ‫تضمین‬ ‫باید‬ ‫او‬ .‫است‬
‫استراتژی‬ ‫بر‬ ‫منطبق‬ ‫عملیات‬ ‫و‬ ‫توسعه‬
DevOps
.‫باشند‬ ‫داشته‬ ‫را‬ ‫مداوم‬ ‫تعامل‬ ‫و‬ ‫همکاری‬ ‫توانایی‬ ‫و‬ ‫باشند‬
‫مشکالت‬ ‫و‬ ‫مخاطرات‬ ‫مدیریت‬
‫او‬ .‫ـد‬
‫ـ‬‫کن‬ ‫ـدیریت‬
‫ـ‬‫م‬ ‫را‬ ‫ـیر‬
‫ـ‬‫تغی‬ ‫مدیریت‬ ‫و‬ ‫کیفیت‬ ،‫امنیت‬ ،‫تولید‬ ‫و‬ ‫توسعه‬ ‫مشکالت‬ ‫مانند‬ ‫مسائلی‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ :
.‫دهد‬ ‫انجام‬ ‫را‬ ‫مشکالت‬ ‫حل‬ ‫و‬ ‫ریسک‬ ‫مدیریت‬ ‫با‬ ‫مرتبط‬ ‫اقدامات‬ ‫نزدیک‬ ‫از‬ ‫باید‬
‫هماهنگی‬ ‫و‬ ‫ارتباطات‬
‫به‬ ‫تغییرات‬ ‫و‬ ‫اطالعات‬ ‫که‬ ‫کند‬ ‫تضمین‬ ‫باید‬ ‫او‬ .‫است‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫بین‬ ‫مداوم‬ ‫ارتباطات‬ ‫مسئول‬ ‫پروژه‬ ‫مدیر‬ :
.‫‌شود‬
‫ی‬‫م‬ ‫حفظ‬ ‫تیم‬ ‫دو‬ ‫این‬ ‫بین‬ ‫هماهنگی‬ ‫و‬ ‫‌شوند‬
‫ی‬‫م‬ ‫منتقل‬ ‫درستی‬
‫ارزیابی‬ ‫و‬ ‫‌گیری‬
‫ه‬‫انداز‬
‫عملکرد‬ ‫‌گیری‬
‫ه‬‫ـداز‬
‫ـ‬‫ان‬ ‫برای‬ ‫‌ها‬
‫ک‬‫متری‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ :
DevOps
‫ـد‬
‫ـ‬‫بای‬ ‫او‬ .‫ـد‬
‫ـ‬‫کن‬ ‫ـتفاده‬
‫ـ‬‫اس‬ ‫ـتمر‬
‫ـ‬‫مس‬ ‫ـود‬
‫ـ‬‫بهب‬ ‫و‬
.‫کند‬ ‫اتخاذ‬ ‫مناسبی‬ ‫تصمیمات‬ ‫و‬ ‫کند‬ ‫ارزیابی‬ ‫را‬ ‫ضعف‬ ‫نقاط‬ ‫و‬ ‫‌ها‬
‫ت‬‫پیشرف‬
‫آموزش‬ ‫و‬ ‫تحقیق‬
‫با‬ ‫مرتبط‬ ‫تحقیقات‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ :
DevOps
‫ـوزش‬
‫ـ‬‫آم‬ ‫ـود‬
‫ـ‬‫خ‬ ‫‌های‬
‫ت‬‫مهار‬ ‫‌روزرسانی‬
‫ه‬‫ب‬ ‫برای‬ ‫را‬ ‫تیم‬ ‫اعضای‬ ‫و‬ ‫کند‬ ‫دنبال‬ ‫را‬
.‫دهد‬
‫مداوم‬ ‫تحویل‬ ‫فرآیند‬ ‫از‬ ‫حمایت‬
( ‫مداوم‬ ‫تحویل‬ ‫فرآیند‬ ‫که‬ ‫شود‬ ‫مطمئن‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ :
CD
‫ـه‬
‫ـ‬‫ب‬ ‫ـیرات‬
‫ـ‬‫تغی‬ ‫و‬ ‫دارد‬ ‫ـه‬
‫ـ‬‫ادام‬ ‫ـداوم‬
‫ـ‬‫م‬ ‫ـورت‬
‫ـ‬‫ص‬ ‫ـه‬
‫ـ‬‫ب‬ )
.‫‌گیرند‬
‫ی‬‫م‬ ‫نظر‬ ‫تحت‬ ‫تولید‬ ‫محیط‬
‫ـوفقیت‬
‫ـ‬‫م‬ ‫در‬ ‫کلیدی‬ ‫نقش‬ ‫ایفای‬ ‫پروژه‬ ‫مدیر‬ ،‫‌ها‬
‫ت‬‫مسئولی‬ ‫و‬ ‫وظایف‬ ‫این‬ ‫با‬
DevOps
‫ـدیریت‬
‫ـ‬‫م‬ ‫ـمت‬
‫ـ‬‫س‬ ‫ـه‬
‫ـ‬‫ب‬ ‫را‬ ‫ـدها‬
‫ـ‬‫فرآین‬ ‫و‬ ‫‌ها‬
‫م‬‫تی‬ ‫ـد‬
‫ـ‬‫بای‬ ‫و‬ ‫دارد‬
.‫کند‬ ‫هدایت‬ ‫‌افزار‬
‫م‬‫نر‬ ‫بهبود‬ ‫و‬ ‫مداوم‬ ‫تغییرات‬
"
Domain Model
‫در‬ "
Rational Rose
( ‫ـه‬
‫ـ‬‫دامن‬ ‫یا‬ ‫سیستم‬ ‫یک‬ ‫اجزای‬ ‫از‬ ‫مفهومی‬ ‫مدل‬ ‫یک‬
Domain
‫ـدل‬
‫ـ‬‫م‬ ‫این‬ .‫ـد‬
‫ـ‬‫‌باش‬
‫ی‬‫م‬ )
.‫ـد‬
‫ـ‬‫‌کن‬
‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫نظر‬ ‫مورد‬ ‫دامنه‬ ‫در‬ ‫‌ها‬
‫ن‬‫آ‬ ‫میان‬ ‫ارتباطات‬ ‫و‬ ‫اصلی‬ ‫مفاهیم‬ ‫نمایش‬
Rational Rose
‫ـعه‬
‫ـ‬‫توس‬ ‫و‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫ـک‬
‫ـ‬‫ی‬
.‫‌گیرد‬
‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫سیستم‬ ‫یک‬ ‫از‬ ‫مختلفی‬ ‫‌های‬
‫ل‬‫مد‬ ‫ایجاد‬ ‫برای‬ ‫آن‬ ‫از‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬
‫در‬ ‫دامنه‬ ‫مدل‬ ‫یک‬ ‫در‬
Rational Rose
‫ـورد‬
‫ـ‬‫م‬ ‫در‬ ‫ـیحاتی‬
‫ـ‬‫توض‬ ‫ـه‬
‫ـ‬‫ادام‬ ‫در‬ .‫ـوند‬
‫ـ‬‫‌ش‬
‫ی‬‫م‬ ‫ـیف‬
‫ـ‬‫توص‬ ‫ارتباطات‬ ‫و‬ ‫نمادها‬ ‫وسیله‬ ‫به‬ ‫اصلی‬ ‫مفاهیم‬ ،
‫یک‬ ‫در‬ ‫‌توان‬
‫ی‬‫م‬ ‫که‬ ‫مفاهیمی‬ ‫و‬ ‫نمادها‬
Domain Model
‫در‬
Rational Rose
:‫است‬ ‫شده‬ ‫آورده‬ ،‫کرد‬ ‫استفاده‬
( ‫‌ها‬
‫س‬‫کال‬
Classes
)
( ‫‌ها‬
‫ی‬‫ویژگ‬ ‫شــامل‬ ‫کالس‬ ‫هر‬ .‫هســتند‬ ‫دامنــه‬ ‫در‬ ‫اصــلی‬ ‫مفــاهیم‬ ‫نمایانگر‬ ‫‌ها‬
‫س‬‫کال‬ :
Attributes
( ‫عملکردها‬ ‫و‬ )
Methods
.‫شوند‬ ‫داده‬ ‫نمایش‬ ‫‌ها‬
‫س‬‫کال‬ ‫صورت‬ ‫به‬ ‫‌توانند‬
‫ی‬‫م‬ ‫‌ها‬
‫م‬‫مفهو‬ .‫‌شود‬
‫ی‬‫م‬ )
( ‫ارتباطات‬
Relationships
)
( ‫‌بـری‬
‫ث‬‫ار‬ ‫شـامل‬ ‫‌تواننـد‬
‫ی‬‫م‬ ‫ارتباطـات‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫داده‬ ‫نمایش‬ ‫‌ها‬
‫س‬‫کال‬ ‫میان‬ ‫ارتباطات‬ ،‫دامنه‬ ‫مدل‬ ‫در‬ :
Inheritance
( ‫اشتراک‬ ،)
Association
( ‫‌ای‬
‫ه‬‫کران‬ ‫تک‬ ،)
Aggregation
( ‫‌ای‬
‫ه‬‫کران‬ ‫و‬ )
Composition
.‫باشند‬ )
( ‫‌ها‬
‫ی‬‫ویژگ‬
Attributes
)
‫کالس‬ ‫ـک‬
‫ـ‬‫ی‬ ‫ـرای‬
‫ـ‬‫ب‬ ‫ـه‬
‫ـ‬‫دامن‬ ‫ـدل‬
‫ـ‬‫م‬ ‫ـک‬
‫ـ‬‫ی‬ ‫در‬ ‫مثًال‬ .‫ـتند‬
‫ـ‬‫هس‬ ‫کالس‬ ‫ـک‬
‫ـ‬‫ی‬ ‫از‬ ‫مهمی‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫‌دهنده‬
‫ن‬‫ـا‬
‫ـ‬‫نش‬ ‫‌ها‬
‫ی‬‫ویژگ‬ :
.‫باشند‬ ‫داشته‬ ‫وجود‬ ‫است‬ ‫ممکن‬ ‫سرعت‬ ‫و‬ ‫مدل‬ ، ‫رنگ‬ ‫مانند‬ ‫‌هایی‬
‫ی‬‫ویژگ‬ ، ‫خودرو‬
" " " " " " " "
( ‫روابط‬
Associations
)
‫چگونگی‬ ‫مانند‬ ‫اضافی‬ ‫‌های‬
‫ی‬‫ویژگ‬ ‫دارای‬ ‫‌توانند‬
‫ی‬‫م‬ .‫هستند‬ ‫کالس‬ ‫چند‬ ‫یا‬ ‫دو‬ ‫میان‬ ‫ارتباط‬ ‫نمایانگر‬ ‫ارتباطات‬ ‫این‬ :
.‫باشند‬ ‫ارتباط‬ ‫نوع‬ ‫و‬ ‫تعداد‬ ،‫ارتباط‬
( ‫ـتراک‬
‫ـ‬‫اش‬
Aggregation
( ‫‌ای‬
‫ه‬‫کران‬ ‫و‬ )
Composition
)
.‫هســتند‬ ‫‌ها‬
‫س‬‫کال‬ ‫بین‬ ‫مراتبی‬ ‫سلســله‬ ‫ـات‬
‫ـ‬‫ارتباط‬ ‫نمایانگر‬ ‫ـات‬
‫ارتباطـ‬ ‫این‬ :
Aggregation
.‫است‬ ‫شده‬ ‫‌بندی‬
‫ی‬‫‌بند‬
‫ه‬‫درج‬ ‫کالسی‬ ‫با‬ ‫کالسی‬-‫به‬-‫کالسی‬ ‫ارتباط‬ ‫یک‬ ‫‌دهنده‬
‫ن‬‫نشا‬
" "
Composition
‫ارتباط‬ ‫یک‬ ‫نیز‬
.‫است‬ ‫کرده‬ ‫تعریف‬ ‫کالسی‬ ‫با‬ ‫کالسی‬-‫به‬-‫کالسی‬ ‫‌دهنده‬
‫ن‬‫نشا‬ ‫که‬ ‫است‬ ‫مراتبی‬ ‫سلسله‬
" "
‫در‬
Rational Rose
،‫مشابه‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫ابزارهای‬ ‫و‬
Domain Model
‫ـک‬
‫ـ‬‫کم‬ ‫دامنه‬ ‫یک‬ ‫ساختارهای‬ ‫و‬ ‫مفاهیم‬ ‫تر‬ ‫دقیق‬ ‫توضیح‬ ‫به‬
.‫دهند‬ ‫توسعه‬ ‫را‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫بتوانند‬ ‫موثرتر‬ ‫طور‬ ‫به‬ ‫تا‬ ‫‌آورد‬
‫ی‬‫م‬ ‫فراهم‬ ‫‌ای‬
‫ه‬‫استفاد‬ ‫قابل‬ ‫اطالعات‬ ‫‌افزار‬
‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫توسعه‬ ‫‌های‬
‫م‬‫تی‬ ‫برای‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬
‫با‬ ‫طراحی‬ ‫نحوه‬ ،‫ادامه‬ ‫در‬
Rational Rose
‫عنوان‬ ‫به‬ ‫(همچنین‬
IBM Rational Rose
‫یا‬
IBM Rational Rose XDE
.‫‌کنم‬
‫ی‬‫م‬ ‫توصیف‬ ‫را‬ )‫‌شود‬
‫ی‬‫م‬ ‫شناخته‬
Rational Rose
‫‌های‬
‫ل‬‫ـد‬
‫ـ‬‫م‬ ‫طراحی‬ ‫ـرای‬
‫ـ‬‫ب‬ ‫‌تواند‬
‫ی‬‫م‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫و‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫ابزار‬ ‫یک‬
UML
.‫رود‬ ‫کار‬ ‫به‬ ‫‌ها‬
‫ن‬‫آ‬ ‫ارتباطات‬ ‫و‬ ‫‌افزار‬
‫م‬‫نر‬ ‫اجزاء‬ ‫نمایش‬ ‫و‬
UML
‫مورد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫رفتار‬ ‫و‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫که‬ ‫است‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫زبان‬ ‫یک‬
.‫‌گیرد‬
‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬
‫با‬ ‫طراحی‬ ‫برای‬
Rational Rose
:‫کنید‬ ‫دنبال‬ ‫را‬ ‫زیر‬ ‫مراحل‬ ،
‫نصب‬
Rational Rose
‫باید‬ ‫ابتدا‬ :
Rational Rose
‫انجام‬ ‫را‬ ‫ـد‬
‫ـ‬‫جدی‬ ‫ـروژه‬
‫ـ‬‫پ‬ ‫ـک‬
‫ـ‬‫ی‬ ‫ایجاد‬ ‫و‬ ‫برنامه‬ ‫اجرای‬ ،‫نصب‬ ‫از‬ ‫بعد‬ .‫کنید‬ ‫نصب‬ ‫را‬
.‫دهید‬
‫‌ها‬
‫س‬‫کال‬ ‫کردن‬ ‫اضافه‬
‫ـوی‬
‫ـ‬‫من‬ ‫از‬ ‫ـد‬
‫ـ‬‫‌توان‬
‫ی‬‫م‬ ‫ـدام‬
‫ـ‬‫اق‬ ‫این‬ .‫ـد‬
‫ـ‬‫کنی‬ ‫ـافه‬
‫ـ‬‫اض‬ ‫را‬ ‫ـزا‬
‫ـ‬‫اج‬ ‫و‬ ‫‌ها‬
‫س‬‫کال‬ ‫باید‬ ،‫خود‬ ‫جدید‬ ‫پروژه‬ ‫در‬ :
"
-
Model" > "Add
Class
.‫کنید‬ ‫وارد‬ ‫را‬ ‫کالس‬ ‫نام‬ ‫سپس‬ .‫شود‬ ‫انجام‬ "
‫عملکردها‬ ‫و‬ ‫‌ها‬
‫ی‬‫ویژگ‬ ‫کردن‬ ‫ـافه‬
‫ـ‬‫اض‬
( ‫‌ها‬
‫ی‬‫ویژگ‬ ‫ـد‬
‫ـ‬‫بای‬ ،‫کالس‬ ‫کردن‬ ‫ـافه‬
‫ـ‬‫اض‬ ‫از‬ ‫ـد‬
‫ـ‬‫بع‬ :
Attributes
( ‫عملکردها‬ ‫و‬ )
Operations
‫را‬ ‫کالس‬ )
‫منوی‬ ‫از‬ ‫‌توانند‬
‫ی‬‫م‬ ‫اطالعات‬ ‫این‬ .‫کنید‬ ‫تعریف‬
"
-
Class" > "Add Attribute
‫و‬
" "
-
Class" > "Add Operation
‫وارد‬ "
.‫شوند‬
‫ارتباطات‬ ‫کردن‬ ‫اضافه‬
‫ـوی‬
‫ـ‬‫من‬ ‫از‬ ‫ـد‬
‫ـ‬‫‌توانن‬
‫ی‬‫م‬ ‫ارتباطات‬ ‫این‬ .‫کنید‬ ‫تعریف‬ ‫را‬ ‫‌ها‬
‫س‬‫کال‬ ‫میان‬ ‫ارتباطات‬ ‫‌توانید‬
‫ی‬‫م‬ ‫حاال‬ :
"
-
Model" > "Add
Association
.‫هستند‬ ‫مرتبط‬ ‫یکدیگر‬ ‫با‬ ‫چگونه‬ ‫‌ها‬
‫س‬‫کال‬ ‫که‬ ‫کنید‬ ‫مشخص‬ ‫سپس‬ .‫شوند‬ ‫ایجاد‬ "
‫از‬ ‫استفاده‬
Diagrams: Rational Rose
‫نمودارهای‬ ‫انواع‬
UML
‫مانند‬ ‫مختلفی‬ ‫نمودارهای‬ ‫از‬ ‫‌توانید‬
‫ی‬‫م‬ ‫شما‬ .‫‌کند‬
‫ی‬‫م‬ ‫پشتیبانی‬ ‫را‬
Class Diagrams، Sequence Diagrams، Use Case Diagrams
‫صورت‬ ‫به‬ ‫را‬ ‫مدل‬ ‫اجزای‬ ‫تا‬ ‫کنید‬ ‫استفاده‬ ... ‫و‬
.‫دهید‬ ‫نمایش‬ ‫گرافیکی‬
‫مدل‬ ‫توصیف‬ ‫و‬ ‫ذخیره‬
‫نـیز‬ ‫را‬ ‫مـدل‬ ‫بـه‬ ‫مربـوط‬ ‫‌های‬
‫ف‬‫ـی‬
‫ـ‬‫توص‬ ‫و‬ ‫مستندات‬ ‫‌توانید‬
‫ی‬‫م‬ ‫همچنین‬ .‫کنید‬ ‫ذخیره‬ ‫را‬ ‫خود‬ ‫مدل‬ ،‫مدل‬ ‫طراحی‬ ‫از‬ ‫بعد‬ :
.‫کنید‬ ‫ایجاد‬
‫کد‬ ‫تولید‬
‫از‬ ‫استفاده‬ ‫با‬ ‫‌توانید‬
‫ی‬‫م‬ ،‫نهایی‬ ‫مرحله‬ ‫در‬ :
Rational Rose
‫توسـعه‬ ‫بـرای‬ ‫خـود‬ ‫‌های‬
‫ل‬‫مد‬ ‫از‬ ‫یا‬ ‫کنید‬ ‫تولید‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫منبع‬ ‫کد‬ ،
.‫کنید‬ ‫استفاده‬ ‫‌افزار‬
‫م‬‫نر‬
‫نمودارهای‬
( )
UML Unified Modeling Language
‫‌سازی‬
‫ل‬‫مد‬ ‫و‬ ‫ـیف‬
‫ـ‬‫توص‬ ‫ـرای‬
‫ـ‬‫ب‬ ‫ـتاندارد‬
‫ـ‬‫اس‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫زبان‬ ‫ـک‬
‫ـ‬‫ی‬ ‫ـوان‬
‫ـ‬‫عن‬ ‫به‬
.‫‌شوند‬
‫ی‬‫م‬ ‫استفاده‬ ‫‌افزارها‬
‫م‬‫نر‬ ‫و‬ ‫‌ها‬
‫م‬‫سیست‬
UML
‫ـواع‬
‫ـ‬‫ان‬ ،‫ـه‬
‫ـ‬‫ادام‬ ‫در‬ .‫ـد‬
‫ـ‬‫‌ده‬
‫ی‬‫م‬ ‫ارائه‬ ‫سیستم‬ ‫مختلف‬ ‫اجزاء‬ ‫نمایش‬ ‫برای‬ ‫نمودارها‬ ‫از‬ ‫مختلفی‬ ‫انواع‬
‫نمودارهای‬ ‫مهم‬
UML
:‫‌کنم‬
‫ی‬‫م‬ ‫معرفی‬ ‫را‬
( ‫کالس‬ ‫نمودار‬
Class Diagram
)
‫ـودار‬
‫ـ‬‫نم‬ ‫این‬ .‫‌پردازد‬
‫ی‬‫م‬ ‫‌ها‬
‫ن‬‫آ‬ ‫بین‬ ‫ارتباطات‬ ‫و‬ ‫عملکردها‬ ،‫‌ها‬
‫ی‬‫ویژگ‬ ،‫‌ها‬
‫س‬‫کال‬ ‫نمایش‬ ‫به‬ ‫کالس‬ ‫نمودار‬ :
.‫‌گیرد‬
‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫آن‬ ‫اجزاء‬ ‫و‬ ‫سیستم‬ ‫اصلی‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫معموًال‬
( ‫کاربری‬ ‫مورد‬ ‫نمودار‬
Use Case Diagram
)
‫انجام‬ ‫ـتم‬
‫ـ‬‫سیس‬ ‫یا‬ ‫ـاربران‬
‫ـ‬‫ک‬ ‫ـط‬
‫ـ‬‫توس‬ ‫ـه‬
‫ـ‬‫ک‬ ‫‌هایی‬
‫ت‬‫عملیا‬ ‫و‬ ‫‌ها‬
‫ش‬‫نق‬ ‫ـیف‬
‫ـ‬‫توص‬ ‫به‬ ‫نمودار‬ ‫این‬ :
.‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫کاربران‬ ‫با‬ ‫آن‬ ‫تعامل‬ ‫و‬ ‫سیستم‬ ‫عملکردی‬ ‫واحدهای‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬ ‫این‬ ‫از‬ .‫‌پردازد‬
‫ی‬‫م‬ ‫‌شوند‬
‫ی‬‫م‬
( ‫توالی‬ ‫نمودار‬
Sequence Diagram
)
.‫‌دهد‬
‫ی‬‫م‬ ‫نمایش‬ ‫زمان‬ ‫طول‬ ‫در‬ ‫را‬ ‫‌ها‬
‫ت‬‫عملیا‬ ‫انجام‬ ‫ترتیب‬ ‫و‬ ‫اشیاء‬ ‫میان‬ ‫ارتباطات‬ ‫توالی‬ ‫نمودار‬ :
.‫‌آید‬
‫ی‬‫م‬ ‫استفاده‬ ‫مورد‬ ‫اشیاء‬ ‫بین‬ ‫خاص‬ ‫کاربردی‬ ‫موقعیت‬ ‫یک‬ ‫انجام‬ ‫چگونگی‬ ‫توصیف‬ ‫به‬ ‫نمودار‬ ‫این‬
( ‫معماری‬ ‫نمــودار‬
Architecture Diagram
)
‫و‬ ‫سیســتم‬ ‫اجــزاء‬ ‫میان‬ ‫ارتباط‬ ‫و‬ ‫سیســتم‬ ‫کلی‬ ‫ساختار‬ ‫نمایش‬ ‫بــرای‬ ‫نمــودار‬ ‫این‬ :
‫‌های‬
‫م‬‫ـت‬
‫ـ‬‫سیس‬ ‫ـیف‬
‫ـ‬‫توص‬ ‫و‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫ـرای‬
‫ـ‬‫ب‬ ‫که‬ ‫‌باشند‬
‫ی‬‫م‬ ‫کمکی‬ ‫نمودارهای‬ ‫جمله‬ ‫از‬ ‫معماری‬ ‫نمودارهای‬ .‫‌رود‬
‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫مختلف‬ ‫‌های‬
‫ی‬‫‌بند‬
‫ه‬‫طبق‬
.‫‌روند‬
‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫پیچیده‬ ‫و‬ ‫بزرگ‬
( ‫وضعیت‬ ‫نمودار‬
State Diagram
)
‫آنها‬ ‫ـه‬
‫ـ‬‫ک‬ ‫ـعیتی‬
‫ـ‬‫وض‬ ‫ـیرات‬
‫ـ‬‫تغی‬ ‫و‬ ‫کالس‬ ‫یا‬ ‫ـیء‬
‫ـ‬‫ش‬ ‫ـک‬
‫ـ‬‫ی‬ ‫ـف‬
‫ـ‬‫مختل‬ ‫‌های‬
‫ت‬‫ـعی‬
‫ـ‬‫وض‬ ‫توصیف‬ ‫به‬ ‫نمودار‬ ‫این‬ :
.‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫اشیاء‬ ‫حیاتی‬ ‫‌های‬
‫ه‬‫چرخ‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬ ‫این‬ ‫از‬ .‫‌پردازد‬
‫ی‬‫م‬ ‫کنند‬ ‫تجربه‬ ‫‌توانند‬
‫ی‬‫م‬
( ‫تعامل‬ ‫نمودار‬
Interaction Diagrams
)
( ‫ـوالی‬
‫ـ‬‫ت‬ ‫ـودار‬
‫ـ‬‫نم‬ :‫است‬ ‫مهم‬ ‫نمودار‬ ‫دو‬ ‫شامل‬ ‫دسته‬ ‫این‬ :
Sequence Diagram
‫و‬ )
( ‫همکاری‬ ‫نمودار‬
Collaboration Diagram
‫خـاص‬ ‫کـاربردی‬ ‫مـوقعیت‬ ‫یک‬ ‫در‬ ‫اشیاء‬ ‫بین‬ ‫تعامل‬ ‫توصیف‬ ‫به‬ ‫نمودارها‬ ‫این‬ .‫‌شود‬
‫ی‬‫م‬ )
.‫‌پردازند‬
‫ی‬‫م‬
( ‫اجزاء‬ ‫نمودار‬
Component Diagram
)
‫این‬ .‫‌پردازد‬
‫ی‬‫م‬ ‫آنها‬ ‫بین‬ ‫ارتباطات‬ ‫و‬ )‫کد‬ ‫سطح‬ ‫در‬ ‫(معموًال‬ ‫‌ها‬
‫ه‬‫مولف‬ ‫نمایش‬ ‫به‬ ‫اجزاء‬ ‫نمودار‬ :
.‫‌رود‬
‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫سیستم‬ ‫توزیع‬ ‫و‬ ‫سیستم‬ ‫فیزیکی‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬
( ‫انتقال‬ ‫نمودار‬
Deployment Diagram
)
‫این‬ ‫از‬ .‫ـردازد‬
‫ـ‬‫‌پ‬
‫ی‬‫م‬ ‫مختلف‬ ‫‌افزارهای‬
‫ت‬‫سخ‬ ‫روی‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توزیع‬ ‫نحوه‬ ‫نمایش‬ ‫به‬ ‫نمودار‬ ‫این‬ :
.‫‌شود‬
‫ی‬‫م‬ ‫استفاده‬ ‫آنها‬ ‫بین‬ ‫ارتباطات‬ ‫و‬ ‫‌افزاری‬
‫ت‬‫سخ‬ ‫و‬ ‫‌افزاری‬
‫م‬‫نر‬ ‫اجزاء‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬
( ‫زمان‬ ‫نمودار‬
Timing Diagram
)
.‫‌پردازد‬
‫ی‬‫م‬ ‫زمان‬ ‫طول‬ ‫در‬ ‫اشیاء‬ ‫میان‬ ‫ارتباطات‬ ‫و‬ ‫‌ها‬
‫ت‬‫عملیا‬ ‫اجرای‬ ‫زمانبندی‬ ‫نمایش‬ ‫به‬ ‫نمودار‬ ‫این‬ :
( ‫اشیاء‬ ‫نمودار‬
Object Diagram
)
.‫‌پردازد‬
‫ی‬‫م‬ ‫خاص‬ ‫زمان‬ ‫یک‬ ‫در‬ ‫آنها‬ ‫‌های‬
‫ت‬‫وضعی‬ ‫و‬ ‫اشیاء‬ ‫از‬ ‫خاص‬ ‫‌های‬
‫ه‬‫نمون‬ ‫نمایش‬ ‫به‬ ‫نمودار‬ ‫این‬ :
‫همچنین‬
UML
‫‌های‬
‫ر‬‫نمودا‬ ،‫ـامپوننت‬
‫ـ‬‫ک‬ ‫‌های‬
‫ر‬‫نمودا‬ ‫ـد‬
‫ـ‬‫مانن‬ ‫ـواردی‬
‫ـ‬‫م‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫و‬ ‫خاص‬ ‫موارد‬ ‫برای‬ ‫که‬ ‫‌باشد‬
‫ی‬‫م‬ ‫نیز‬ ‫دیگری‬ ‫نمودارهای‬ ‫دارای‬
‫می‬ ‫استفاده‬ ... ‫و‬ ‫انتساب‬ ‫و‬ ‫اتحاد‬
MDD
‫معنای‬ ‫به‬
"
-
Model Driven Development
.‫‌باشد‬
‫ی‬‫م‬ ‫مدل‬ ‫بر‬ ‫مبتنی‬ ‫توسعه‬ ‫یا‬
" " "
MDD
‫‌افزار‬
‫م‬‫نر‬ ‫ـعه‬
‫ـ‬‫توس‬ ‫رویکرد‬ ‫یک‬
‫در‬ .‫دارد‬ ‫‌افزار‬
‫م‬‫نر‬ ‫ساختارهای‬ ‫و‬ ‫مفاهیم‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫به‬ ‫توجه‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬
MDD
‫‌سازی‬
‫ل‬‫مد‬ ‫زبان‬ ‫یــک‬ ‫وسیله‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫از‬ ‫مدل‬ ‫یک‬ ‫ابتدا‬ ،
.‫‌شود‬
‫ی‬‫م‬ ‫تولید‬ ‫‌افزار‬
‫م‬‫نر‬ ‫نهایی‬ ‫کد‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫مدل‬ ‫این‬ ‫از‬ ‫سپس‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫تعریف‬
MDD
‫رویکرد‬ ‫این‬ .‫کنـد‬ ‫عمـل‬ ‫‌ها‬
‫م‬‫سیست‬ ‫از‬ ‫باال‬ ‫سطح‬ ‫‌های‬
‫ل‬‫مد‬ ‫اساس‬ ‫بر‬ ‫و‬ ‫کند‬ ‫اتوماتیک‬ ‫امکان‬ ‫حد‬ ‫تا‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ‫توسعه‬ ‫فرآیند‬ ‫دارد‬ ‫تالش‬
.‫‌دهد‬
‫ی‬‫م‬ ‫تشخیص‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫مختلف‬ ‫سطوح‬ ‫در‬ ‫را‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫اشکاالت‬ ‫و‬ ‫‌کند‬
‫ی‬‫م‬ ‫کمک‬ ‫‌افزار‬
‫م‬‫نر‬ ‫کارآمدتر‬ ‫و‬ ‫‌تر‬
‫ع‬‫سری‬ ‫توسعه‬ ‫به‬
‫مراحل‬ ‫مهمترین‬
MDD
:‫از‬ ‫عبارتند‬
‫مفهومی‬ ‫‌سازی‬
‫ل‬‫مد‬
‫اغلب‬ ‫‌ها‬
‫ل‬‫مد‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫تعریف‬ ‫مفهومی‬ ‫و‬ ‫انتزاعی‬ ‫‌های‬
‫ل‬‫مد‬ ‫صورت‬ ‫به‬ ‫‌افزار‬
‫م‬‫نر‬ ‫مهم‬ ‫ارتباطات‬ ‫و‬ ‫مفاهیم‬ ،‫مرحله‬ ‫این‬ ‫در‬ :
‫مانند‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫‌های‬
‫ن‬‫زبا‬ ‫از‬ ‫استفاده‬ ‫با‬
UML
.‫‌شوند‬
‫ی‬‫م‬ ‫ایجاد‬
‫کد‬ ‫به‬ ‫مدل‬ ‫تبدیل‬
‫ابزارهای‬ ‫ـیله‬
‫ـ‬‫وس‬ ‫ـه‬
‫ـ‬‫ب‬ ‫ـوًال‬
‫ـ‬‫معم‬ ‫ـدیل‬
‫ـ‬‫تب‬ ‫این‬ .‫‌شوند‬
‫ی‬‫م‬ ‫تبدیل‬ ‫‌افزار‬
‫م‬‫نر‬ ‫منبع‬ ‫کد‬ ‫به‬ ‫مفهومی‬ ‫‌های‬
‫ل‬‫مد‬ ،‫مرحله‬ ‫این‬ ‫در‬ :
MDD
.‫هستند‬ ‫‌ها‬
‫ل‬‫مد‬ ‫از‬ ‫نهایی‬ ‫کد‬ ‫تولید‬ ‫به‬ ‫قادر‬ ‫که‬ ‫‌شود‬
‫ی‬‫م‬ ‫انجام‬
‫اصالح‬ ‫و‬ ‫اعتبارسنجی‬
‫انجام‬ ‫الزم‬ ‫اصـالحات‬ ‫و‬ ‫شـده‬ ‫ارزیابی‬ ‫کـد‬ ،‫مرحلـه‬ ‫این‬ ‫در‬ .‫باشـد‬ ‫داشته‬ ‫اشکاالتی‬ ‫و‬ ‫خطاها‬ ‫است‬ ‫ممکن‬ ‫شده‬ ‫تولید‬ ‫کد‬ :
.‫‌شود‬
‫ی‬‫م‬
‫انتشار‬ ‫و‬ ‫تست‬
.‫‌یابد‬
‫ی‬‫م‬ ‫انتقال‬ ‫تولید‬ ‫محیط‬ ‫به‬ ،‫صحیح‬ ‫کارکرد‬ ‫از‬ ‫اطمینان‬ ‫از‬ ‫پس‬ ‫و‬ ‫‌شود‬
‫ی‬‫م‬ ‫تست‬ ‫شده‬ ‫تولید‬ ‫‌افزار‬
‫م‬‫نر‬ :
MDD
‫و‬ ‫‌ها‬
‫ی‬‫ـدگ‬
‫ـ‬‫پیچی‬ ‫ـدیریت‬
‫ـ‬‫م‬ ‫و‬ ،‫ـار‬
‫ـ‬‫خودک‬ ‫ـورت‬
‫ـ‬‫ص‬ ‫به‬ ‫کد‬ ‫توسعه‬ ،‫بهتر‬ ‫مستندات‬ ‫ایجاد‬ ،‫‌تر‬
‫ع‬‫سری‬ ‫اصالحات‬ ‫امکان‬ ‫مدل‬ ‫بر‬ ‫مبتنی‬ ‫توسعه‬ ‫به‬
‫مزایای‬ ‫دیگر‬ ‫از‬ .‫‌بخشد‬
‫ی‬‫م‬ ‫بهبود‬ ‫تغییرات‬
MDD
‫‌سازی‬
‫ه‬‫پیاد‬ ،‫حال‬ ‫این‬ ‫با‬ .‫کرد‬ ‫ـاره‬
‫ـ‬‫اش‬ ‫ـد‬
‫ـ‬‫ک‬ ‫ـداری‬
‫ـ‬‫نگه‬ ‫و‬ ‫بازبینی‬ ‫افزایش‬ ‫ـه‬
‫ـ‬‫ب‬ ‫ـوان‬
‫ـ‬‫‌ت‬
‫ی‬‫م‬
MDD
‫هم‬ ‫و‬ ‫کد‬ ‫به‬ ‫مدل‬ ‫تبدیل‬ ‫و‬ ‫‌سازی‬
‫ل‬‫مد‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫نیازمند‬

More Related Content

PDF
oracle mysql/mariadb api -the connect engine
PDF
what is staging in database (oracle and mariadb |mysql)
PDF
PDF
PDF
PDF
تجارت الکترونبکی با opencart
oracle mysql/mariadb api -the connect engine
what is staging in database (oracle and mariadb |mysql)
تجارت الکترونبکی با opencart

Similar to DevOps reference - Devops metadologhy - devops technologhy (20)

PDF
کتاب Samba and Nfs
PDF
how add and remove Mgr in ceph cluster
PDF
how add and delete new mon in ceph cluster
PDF
Package management
PDF
‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬
PDF
Zfs and btrfs
PDF
Systemd and its various uses and capabilities.
PDF
مرجع oracle mysql |mariadb
PDF
PDF
PDF
bcache and cachefs its benefits.
PDF
virsh vmware
PDF
Zabbix monitoring website
PDF
devops and bcp (bussiness continues planning)
PDF
PDF
Partition in oracle mysql |Mariadb
PDF
nbd and it's benefits
PDF
openstack designate
PDF
Supervisor
کتاب Samba and Nfs
how add and remove Mgr in ceph cluster
how add and delete new mon in ceph cluster
Package management
‫سطح دسترسی و کنترل لیست و سهمیه بندی‬ ‫در گنو/لینوکس‬
Zfs and btrfs
Systemd and its various uses and capabilities.
مرجع oracle mysql |mariadb
bcache and cachefs its benefits.
virsh vmware
Zabbix monitoring website
devops and bcp (bussiness continues planning)
Partition in oracle mysql |Mariadb
nbd and it's benefits
openstack designate
Supervisor
Ad

More from Yashar Esmaildokht (15)

PDF
ceph csi vs rook and its benefit and future
PDF
firewalling in linux and netfilter and iptables
PDF
the refrence of Oracle Database - The 0.4 release
PDF
The Refrence Of DevOps -The 0.5 release
PDF
Ceph RADOS Gateway (RGW) - s3 swift -object storage
PDF
maxscale and spider engine for performance and security and clustering
PDF
louad balancing vs api getway vs reverse proxy
PDF
Ceph: A Powerful, Scalable, and Flexible Storage Solution
PDF
how install and config sdn in proxmox virtualization
PDF
service registery and the service discovery
PDF
raid with megacli
PDF
Openstack Rally
PDF
OpenStack and its service
PDF
Load Balancing-as-a-Service (LBaaS) with octavia in openstack
PDF
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...
ceph csi vs rook and its benefit and future
firewalling in linux and netfilter and iptables
the refrence of Oracle Database - The 0.4 release
The Refrence Of DevOps -The 0.5 release
Ceph RADOS Gateway (RGW) - s3 swift -object storage
maxscale and spider engine for performance and security and clustering
louad balancing vs api getway vs reverse proxy
Ceph: A Powerful, Scalable, and Flexible Storage Solution
how install and config sdn in proxmox virtualization
service registery and the service discovery
raid with megacli
Openstack Rally
OpenStack and its service
Load Balancing-as-a-Service (LBaaS) with octavia in openstack
نحوه ایجاد snapshot و ایجاد point در سیستم‌های گنو/لینوکسی برای ایجاد sys...
Ad

DevOps reference - Devops metadologhy - devops technologhy

  • 1. ‫حق‬ ‫بسمه‬ DevOps ‫؟‬ ‫چیست‬ ‫ها‬ ‫مجموعه‬ ‫زیر‬ ‫و‬ ‫ها‬ ‫ساختار‬ ‫چه‬ ‫و‬ ‫دارد‬ ‫و‬ DevOps ‫؟‬ ‫کیست‬ ‫کار‬ ‫(مرجع‬ DevOps ) : ‫نویسنده‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ : ‫نسخه‬ ۰ ۱ ٫
  • 2. : ‫نویسنده‬ ‫درباره‬ ‫رشته‬ ‫آموخته‬ ‫دانش‬ ‫دخت‬ ‫اسمعیل‬ ‫یاشار‬ ‫بنده‬ cyber security . ‫هستم‬ ‫از‬ ‫بیش‬ ۱۵ . ‫دارم‬ ‫فعالیت‬ ‫سابقه‬ ‫سال‬ ‫مولف‬ - ‫مدرس‬ - ‫مشاور‬ : ‫داد‬ ‫شرح‬ ‫زیر‬ ‫های‬ ‫ساختار‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫بنده‬ ‫های‬ ‫فعالیت‬ ‫جمله‬ ‫از‬ / / / / / / Devops Platform Cloud Eng |Gnu Linux System Network Security Storage / Engineer Admin & Oracle Dba | Linux Trainer |Consultant ): ‫جدید‬ ‫دنیاهای‬ ‫کشف‬ ‫و‬ ‫تحقیق‬ ‫و‬ ‫مطالعه‬ ‫به‬ ‫مند‬ ‫عالقه‬ . ‫کنم‬ ‫اشاره‬ ‫استراتژی‬ ‫های‬ ‫بازی‬ ‫و‬ ‫اوتلو‬ ‫و‬ ‫شطرنج‬ ‫بازی‬ ‫به‬ ‫میتوانم‬ ‫من‬ ‫های‬ ‫سرگرمی‬ ‫از‬ ‫واقع‬ ‫در‬ ‫تبریز‬ ‫الگ‬ ‫گذاران‬ ‫بنیان‬ ‫از‬ ‫یکی‬ ‫و‬ ‫لینوکس‬/‫گنو‬ ‫و‬ ‫باز‬ ‫متن‬ ‫دنیای‬ ‫عاشق‬ . ‫هستم‬ ‫عاشق‬ ‫یک‬ ‫من‬ : ‫کنید‬ ‫پیدا‬ ‫و‬ ‫کنید‬ ‫دنبال‬ ‫را‬ ‫من‬ ‫میتوانید‬ ‫چطور‬ ‫خب‬ : 09141100257 Mob Telegram ID : yashar_esm Telegram channel : unixmens Instagram Account Linkedin Account :/ / in yashar_esmaildokht . ‫بشنوم‬ ‫را‬ ‫انتقادتون‬ ‫یا‬ ‫پیشنهاد‬ ‫هرگونه‬ ‫میشم‬ ‫خوشحال‬ ‫همچنین‬ : ‫کنید‬ ‫پیدا‬ ‫را‬ ‫من‬ ‫از‬ ‫ی‬ ‫دیگر‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫چطور‬ ‫توی‬ slideshare . ‫کنید‬ ‫پیدا‬ ‫را‬ ‫کردم‬ ‫منتشر‬ ‫آزاد‬ ‫بصورت‬ ‫که‬ ‫دیگری‬ ‫های‬ ‫کتاب‬ ‫میتونید‬ ‫بگردید‬ ‫من‬ ‫اسم‬ ‫دنبال‬ ‫گوگل‬ ‫یا‬ ‫این‬ ‫از‬ ‫میتوانید‬ ‫هم‬ ‫دونیت‬ ‫جهت‬ ‫لینک‬ ‫کنید‬ ‫استفاده‬
  • 3. : ‫مشاوره‬ . ‫بود‬ ‫خواهم‬ ‫شما‬ ‫دسترس‬ ‫در‬ ‫من‬ . ‫فرمایید‬ ‫حاصل‬ ‫تماس‬ . ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫صفحه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫کانال‬ ‫از‬ ‫میتوانید‬ ‫مشاوره‬ ‫جهت‬
  • 4. : ‫به‬ ‫تقدیم‬ ‫خدا‬ ‫شتافت‬ ‫یاریم‬ ‫به‬ ‫که‬ ‫بود‬ ‫او‬ ‫تنها‬ ‫هایم‬ ‫سختی‬ ‫در‬ ‫که‬ ‫چرا‬ ‫مادرم‬ ‫اویم‬ ‫مدیون‬ ‫که‬ ‫را‬ ‫حبت‬‫َم‬ ‫و‬ ‫انسانیت‬ ‫داد‬ ‫یاد‬ ‫و‬ . ‫کرد‬ ‫تقدیم‬ ‫زندگی‬ ‫به‬ ‫مرا‬ ‫که‬ ‫چرا‬ ‫پدرم‬ ‫اویم‬ ‫مدیون‬ ‫و‬ ‫بود‬ ‫من‬ ‫حامی‬ ‫همیشه‬ ‫روحش‬ ‫که‬ ‫عشقم‬ ‫هست‬ ‫و‬ ‫بود‬ ‫مشوقم‬ ‫که‬ ‫سورس‬ ‫اپن‬ ‫جامعه‬ ‫بشریت‬ ‫را‬ ‫هایش‬ ‫دانسته‬ ‫میکند‬ ‫منتشر‬ ‫و‬ ‫میخواند‬ ‫که‬ ‫او‬ ‫و‬ ): ‫هیچ‬ ‫دیگر‬ ‫و‬ ‫جهانی‬ ‫صلح‬ ‫امید‬ ‫به‬ ‫و‬
  • 5. ‫لینوکس‬ ‫و‬ ‫گنو‬ ‫تاریخچه‬ “ ‫مخفف‬ ‫گنو‬ .‫‌باشد‬ ‫ی‬‫م‬ ‫سازگار‬ ‫یونیکس‬ ‫با‬ ‫‌ای‬ ‫ه‬‫فزایند‬ ‫طــور‬ ‫به‬ ‫کــه‬ ‫بــوده‬ ‫آزاد‬ ‫کامال‬ ‫عامل‬ ‫سیــستم‬ ‫یک‬ ‫گنو‬ ‫عامل‬ ‫سیستم‬ ’ GNU s Not Unix ‫سپتامبر‬ ‫در‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫اولیه‬ ‫اطالعیه‬ ‫استالمن‬ ‫ریچارد‬ .‫است‬ ” ۱۹۸۳ ‫سپتامبر‬ ‫در‬ ‫گنو‬ ‫اعالمیه‬ ‫نام‬ ‫به‬ ‫آن‬ ‫‌تر‬ ‫ل‬‫کام‬ ‫نسخه‬ .‫کرد‬ ‫منتشر‬ ۱۹۸۵ .‫است‬ ‫شده‬ ‫ترجمه‬ ‫زبان‬ ‫چندین‬ ‫به‬ ‫که‬ ‫شد‬ ‫منتشر‬ “ ‫برای‬ ‫بازگشتی‬ ‫مخفف‬ ‫یک‬ ،‫نخست‬ ‫‌کند؛‬ ‫ی‬‫م‬ ‫بــرطــرف‬ ‫را‬ ‫نیــازها‬ ‫از‬ ‫تعدادی‬ ‫که‬ ‫است‬ ‫شده‬ ‫انتخاب‬ ‫علت‬ ‫این‬ ‫به‬ »‫«گنو‬ ‫نام‬ ’ GNU s Not Unix .‫است‬ ‫جالب‬ ‫آن‬ )‫خواندن‬ ‫(یا‬ ‫گفتن‬ ‫آهنگ‬ ،‫سوم‬ ،‫است‬ ‫واقعی‬ ‫کلمه‬ ‫یک‬ ،‫دوم‬ ،‫است‬ ” ‫یا‬ ‫بپردازید‬ ‫مبلغی‬ ‫است‬ ‫ممکن‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬ ‫شما‬ .‫قیمت‬ ‫نه‬ ،‫‌کند‬ ‫ی‬‫م‬ ‫اشاره‬ ‫آزادی‬ ‫به‬ »‫آزاد‬ ‫‌افزار‬ ‫م‬‫«نر‬ ‫در‬ »‫«آزاد‬ ‫کلمه‬ ‫آزادی‬ ،‫نخست‬ .‫داشت‬ ‫خواهید‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫ویــژه‬ ‫آزادی‬ ‫ســه‬ ،‫باشید‬ ‫داشتــه‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫وقتـی‬ ،‫صورت‬ ‫هر‬ ‫در‬ .‫نپردازید‬ ‫داشتن‬ ‫با‬ ،‫دلخواه‬ ‫طور‬ ‫به‬ ‫برنامه‬ ‫در‬ ‫تغییرات‬ ‫اعمال‬ ‫بــرای‬ ‫آزادی‬ ،‫دوم‬ ‫همــکاران؛‬ ‫و‬ ‫دوستان‬ ‫به‬ ‫آن‬ ‫دادن‬ ‫هدیه‬ ‫و‬ ‫برنامه‬ ‫از‬ ‫برداری‬ ‫نسخه‬ ‫برای‬ ‫را‬ ‫گنو‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مجددا‬ ‫(اگر‬ .‫جامعه‬ ‫ساخت‬ ‫به‬ ‫کمک‬ ‫نهایت‬ ‫در‬ ‫و‬ ‫یافته‬ ‫بهبود‬ ‫نسخه‬ ‫توزیع‬ ‫برای‬ ‫آزادی‬ ،‫سوم‬ ‫منبع؛‬ ‫کدهای‬ ‫به‬ ‫کامل‬ ‫دسترسی‬ .)‫کنید‬ ‫هدیه‬ ‫رایگان‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫یا‬ ‫و‬ ‫کنید‬ ‫دریافت‬ ‫را‬ ‫مبلغی‬ ‫نسخه‬ ‫یک‬ ‫انتقال‬ ‫فیزیکی‬ ‫کار‬ ‫بــرای‬ ‫‌تــوانـید‬ ‫ی‬‫م‬ ،‫نمایید‬ ‫توزیع‬ ‫ســال‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫نامیده‬ «‫گنو‬ ‫»پروژه‬ ،‫گنو‬ ‫سیستم‬ ‫توسعه‬ ‫پروژه‬ ۱۹۸۳ ‫در‬ ‫که‬ ‫همکاری‬ ‫روح‬ ‫بازگرداندن‬ ‫برای‬ ‫راهی‬ ‫عنوان‬ ‫به‬ ‫گنــو‬ ‫پــروژه‬ ‫انحصاری‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫صاحبان‬ ‫توسط‬ ‫که‬ ‫موانع‬ ‫بردن‬ ‫بین‬ ‫از‬ ‫با‬ ‫تا‬ ‫شد‬ ‫ایجاد‬ ‫داشـت‬ ‫وجــود‬ ‫کامپیــوتر‬ ‫کاربران‬ ‫جامعه‬ ‫بین‬ ‫در‬ ‫نخست‬ ‫روزهای‬ .‫سازد‬ ‫ممکن‬ ‫را‬ ‫همکاری‬ ‫دیگر‬ ‫بار‬ ‫یک‬ ،‫بودند‬ ‫شده‬ ‫تحمیل‬ ‫سال‬ ‫در‬ ۱۹۷۱ ‫دانشگاه‬ ‫در‬ ‫را‬ ‫خود‬ ‫کار‬ ‫استالمن‬ ‫ریچارد‬ ‫که‬ ‫هنگامی‬ MIT ‫استفاده‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫از‬ ‫منحصرا‬ ‫کــه‬ ‫گــروهی‬ ‫در‬ ،‫کرد‬ ‫آغاز‬ ‫آزاد‬ ‫یکدیگر‬ ‫با‬ ‫همکاری‬ ‫در‬ ‫‌نویسان‬ ‫ه‬‫بــرنام‬ .‫‌کــردند‬ ‫ی‬‫م‬ ‫توزیع‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫اغلب‬ ‫نیز‬ ‫کامپیوتری‬ ‫‌های‬ ‫ت‬‫شرک‬ ‫حتی‬ .‫پرداخت‬ ‫کار‬ ‫به‬ ‫‌کردند‬ ‫ی‬‫م‬ .‫‌دادند‬ ‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫همین‬ ‫نیز‬ ‫اغلب‬ ‫و‬ ‫بودند‬ ‫دهه‬ ‫در‬ ۱۹۸۰ ‫منع‬ ‫را‬ ‫کاربزان‬ ‫توسط‬ ‫همکاری‬ ‫آنها‬ ‫مالکان‬ ‫و‬ ‫داشتند‬ ‫مالک‬ ‫که‬ ‫معنی‬ ‫این‬ ‫بــه‬ ،‫بودند‬ ‫انحصاری‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫تمام‬ ‫تقریبا‬ .‫‌کرد‬ ‫ی‬‫م‬ ‫ایجاب‬ ‫را‬ ‫گنو‬ ‫پروژه‬ ‫ضرورت‬ ‫کار‬ ‫این‬ ‫که‬ ‫‌کردند‬ ‫ی‬‫م‬ ‫‌توانید‬ ‫ی‬‫نم‬ ‫حتی‬ ‫شـما‬ ،‫بــاشـد‬ ‫نـداشـته‬ ‫وجــود‬ ‫آزادی‬ ‫عامل‬ ‫سـیـستم‬ ‫اگــر‬ ‫دارند؛‬ ‫نیــاز‬ ‫عامل‬ ‫سیستم‬ ‫یــک‬ ‫به‬ ‫کامپیوتر‬ ‫کاربران‬ ‫تمام‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫وجود‬ ،‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫در‬ ‫ضرورت‬ ‫اولیــن‬ ‫بنــابــراین‬ .‫کنید‬ ‫شروع‬ ‫را‬ ‫کامپیوتر‬ ‫با‬ ‫کار‬ ‫انحصاری‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫از‬ ‫استفاده‬ ‫بدون‬ .‫است‬ ‫آزاد‬ ‫انتقال‬ ‫قابل‬ ‫و‬ ‫خورده‬ ‫محک‬ ‫قبال‬ ‫آن‬ ‫کلی‬ ‫طــراحی‬ ‫زیرا‬ ‫بساند‬ ‫یونیکس‬ ‫با‬ ‫منطبق‬ ‫عاملی‬ ‫سیستم‬ ‫تا‬ ‫گرفتند‬ ‫تصمیم‬ ‫آزاد‬ ‫افزاری‬ ‫نرم‬ ‫جنبش‬ .‫‌کرد‬ ‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫گنو‬ ‫به‬ ‫یونیکس‬ ‫کاربران‬ ‫حرکت‬ ‫سازگاری‬ ‫این‬ ‫همچنین‬ ‫و‬ ،‫بود‬ ،‫متن‬ ‫‌بندی‬ ‫ب‬‫قال‬ ‫‌های‬ ‫ه‬‫برنام‬ ،‫ویــرایشــگـرها‬ ،‫کامپــایـلرها‬ ‫شــامــل‬ ‫و‬ ‫اســت؛‬ ‫هسته‬ ‫یک‬ ‫از‬ ‫بیشتر‬ ‫خیلی‬ ‫یونیکس‬ ‫شبه‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫ژانویه‬ ‫در‬ .‫است‬ ‫بزرگی‬ ‫بسیار‬ ‫کار‬ ‫کامل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫نوشتن‬ ‫بنابرایـن‬ .‫‌باشد‬ ‫ی‬‫م‬ ‫دیگر‬ ‫چیزهای‬ ‫خیلی‬ ‫و‬ ‫پستی‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ۱۹۸۴ ‫شروع‬ ‫اکتبر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ .‫انجامید‬ ‫طول‬ ‫به‬ ‫سالها‬ ‫کردند‬ ‫کار‬ ‫به‬ ۱۹۸۵ .‫شد‬ ‫تاسیس‬ ‫گنو‬ ‫توسعه‬ ‫به‬ ‫کمک‬ ‫جهت‬ ‫سرمایه‬ ‫جذب‬ ‫برای‬ ‫بیشتر‬
  • 6. ‫سال‬ ‫تا‬ ۱۹۹۰ ‫سال‬ ‫در‬ ،‫یونیکس‬ ‫شبه‬ ‫هسته‬ ‫یک‬ ،‫لینوکس‬ ‫سپس‬ . ‫یافتند‬ ‫دست‬ ‫هسته‬ ‫جــز‬ ‫بــه‬ ،‫عامل‬ ‫سیستم‬ ‫اصلی‬ ‫اجزای‬ ‫تمامی‬ ‫به‬ ۱۹۹۱ ‫ســال‬ ‫در‬ ‫و‬ ‫کرد‬ ‫پیدا‬ ‫توسعه‬ ‫تروالدز‬ ‫لینوس‬ ‫توسط‬ ۱۹۹۲ ‫گنو‬ ‫کامل‬ ‫تقریبا‬ ‫سیستم‬ ‫با‬ ‫لینوکس‬ ‫ترکیب‬ .‫شد‬ ‫آزاد‬ ‫‌افـزار‬ ‫م‬‫نــر‬ ‫یــک‬ ‫‌های‬ ‫م‬‫سیست‬ ‫از‬ ‫نفر‬ ‫میلیون‬ ‫‌ها‬ ‫ه‬‫د‬ ‫‌اکنون‬ ‫م‬‫ه‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫زده‬ ‫تخمــین‬ .‫لینوکس‬/‫گنـو‬ ‫سیستم‬ :‫شد‬ ‫کــامل‬ ‫عامــل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫منجر‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫غـیـره‬ ‫و‬ ‫ردهــت‬ ،‫دبیــان‬ ،‫اسلکور‬ ‫شــامــل‬ ،‫لینوکس‬/‫گنو‬ ‫را‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫از‬ ‫کامل‬ ‫مجموعه‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نظر‬ ‫در‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ .‫است‬ ‫نشده‬ ‫محدود‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫گنو‬ ‫پروژه‬ ،‫حال‬ ‫این‬ ‫با‬ .‫‌شود‬ ‫ی‬‫م‬ ‫نیز‬ ‫کاربردی‬ ‫‌افزارهای‬ ‫م‬‫نـر‬ ‫شــامــل‬ ‫مــوضــوع‬ ‫ایــن‬ .‫باشند‬ ‫داشته‬ ‫‌خواهند‬ ‫ی‬‫م‬ ‫کاربــران‬ ‫از‬ ‫بسیاری‬ ‫که‬ ‫آنچه‬ ‫هر‬ ، ‫کند‬ ‫ایجاد‬ ‫بنیاد‬ ‫جهت‬ ‫همین‬ ‫به‬ ‫کنند‬ ‫تهیه‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫نیز‬ ‫ندارند‬ ‫مهارت‬ ‫کامپیـوتر‬ ‫زمینه‬ ‫در‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫دارد‬ ‫قصد‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ .‫کرد‬ ‫ایجاد‬ ،‫گنو‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫‌کار‬ ‫ه‬‫تاز‬ ‫کاربران‬ ‫به‬ ‫کمک‬ ‫منظور‬ ‫به‬ ‫گرافیکی‬ ‫کار‬ ‫میز‬ ‫یک‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ .‫است‬ ‫دسترس‬ ‫در‬ ‫‌اکنون‬ ‫م‬‫ه‬ ‫آزاد‬ ‫بازی‬ ‫تعدادی‬ .‫کند‬ ‫ایجاد‬ ‫نیز‬ ‫دیگــری‬ ‫تفریح‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬ ‫ی‬‫باز‬ ‫‌خــواهد‬ ‫ی‬‫م‬ ‫همچنین‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بنیاد‬ ‫به‬ ‫را‬ ‫گنو‬ ‫‌افزار‬ ‫م‬‫نر‬ ،‫انحصاری‬ ‫سیستم‬ ‫مانند‬ ‫قوانینی‬ ‫که‬ ‫زمانی‬ ‫جز‬ ‫بـه‬ ،‫نـدارد‬ ‫وجــود‬ ‫محدودیتی‬ ‫هیچ‬ ‫برود؟‬ ‫پیش‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫کجا‬ ‫تا‬ ‫آزاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫دهند‬ ‫انجام‬ ‫‌خواهند‬ ‫ی‬‫م‬ ‫کامپیوتر‬ ‫کاربران‬ ‫که‬ ‫کارهایی‬ ‫تمام‬ ‫انجام‬ ‫برای‬ ‫آزاد‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫کردن‬ ‫فراهم‬ ‫نــهـایی‬ ‫هــدف‬ .‫کننــد‬ ‫منع‬ ‫کامل‬ ‫طور‬ .‫‌باشد‬ ‫ی‬‫م‬ ‫انحصاری‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫کردن‬ ‫مطرود‬ ‫نتیجه‬ ‫در‬ ‫و‬
  • 7. ‫باز‬ ‫متن‬ ‫افزار‬ ‫نرم‬ Open Source Software ‫مقدمه‬ ‫قواعد‬ ‫گذاشته‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫اکوسیستم‬ ‫در‬ ‫‌گذاران‬ ‫ه‬‫سرمای‬ ‫اقتصادی‬ ‫رفتار‬ ‫بر‬ ‫که‬ ‫‌ای‬ ‫ه‬‫مالحظ‬ ‫قابل‬ ‫تأثیر‬ ‫با‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫افزار‬ ‫نرم‬ ‫تولید‬ ‫فشار‬ ‫شرکتها‬ ،‫باشند‬ ‫کد‬ ‫کننده‬ ‫اعمال‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫سعی‬ ‫‌دهنگان‬ ‫ه‬‫توسع‬ ‫تازه‬ ‫محیط‬ ‫این‬ ‫در‬ .‫است‬ ‫داده‬ ‫تغییر‬ ‫را‬ ‫بازی‬ .‫‌کشند‬ ‫ی‬‫م‬ ‫را‬ ‫سرشاری‬ ‫سود‬ ‫انتظار‬ ‫سیستم‬ ‫فروشندگان‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫حس‬ ‫را‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫محصوالت‬
  • 8. ۱ ‫معرفی‬ . ‫فعل‬ ‫در‬ ‫عمده‬ ‫تغییراتی‬ ‫اتفاق‬ ‫این‬ .‫است‬ ‫آورده‬ ‫بار‬ ‫به‬ ‫کاربران‬ ‫برای‬ ‫ارزانتر‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫از‬ ‫بیش‬ ‫چیزی‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫ظهور‬ .‫است‬ ‫کرده‬ ‫ایجاد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫حوزه‬ ‫بازیگران‬ ‫بین‬ ‫اقتصادی‬ ‫انفعال‬ ‫و‬ ‫معنای‬ ‫به‬ ‫اما‬ ‫است‬ - ‫زندگی‬ ‫از‬ ‫سبکی‬ ‫حتی‬ ‫یا‬ - ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫به‬ ‫ویژه‬ ‫نگاهی‬ ‫تجسم‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌ها‬ ‫ی‬‫خیل‬ ‫برای‬ ‫جامعه‬ ‫رشد‬ ‫برای‬ ‫باید‬ ‫شرکتها‬ ‫که‬ ‫است‬ ‫این‬ ‫گابریل‬ ‫ریچارد‬ ‫و‬ ‫گلدمن‬ ‫ران‬ ‫پیشنهاد‬ .‫هست‬ ‫هم‬ ‫تجاری‬ ‫تدبیر‬ ‫نوعی‬ .‫نمایند‬ ‫ایجاد‬ ‫خدماتشان‬ ‫و‬ ‫محصوالت‬ ‫اطراف‬ ‫زنده‬ ‫محیطی‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫از‬ ‫کاربرانشان‬ ‫به‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫کاربر‬ ‫احتیاجات‬ ‫با‬ ‫آن‬ ‫دادن‬ ‫تطبیق‬ ‫برای‬ ‫که‬ ‫را‬ ‫کد‬ ‫متن‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫معمول‬ ‫بطور‬ ‫مبلغی‬ ‫دریافت‬ ‫ازای‬ ‫در‬ ‫را‬ ‫ممکن‬ ‫تغییرات‬ ‫بعالوه‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بازپخش‬ ‫اجازه‬ ‫کاربر‬ ‫به‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروان‬ ‫اغلب‬ .‫دارد‬ ‫همراه‬ ( ‫باشد‬ ‫دسترس‬ ‫در‬ ‫عمومی‬ ‫بصورت‬ ‫کد‬ ‫متن‬ ‫تغییرات‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫بازپخش‬ ‫برای‬ . . www opensource org .) ‫یک‬ ‫اینکه‬ ‫بجای‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫توسعه‬ ‫جامعه‬ ‫که‬ ‫است‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫جمعی‬ ‫‌باز‬ ‫ن‬‫مت‬ .‫دارد‬ ‫وجود‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫نوع‬ ‫دو‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫که‬ ‫‌گیرند‬ ‫ی‬‫م‬ ‫تصمیم‬ ‫داوطلبان‬ ‫از‬ ‫برگزیده‬ ‫گروهی‬ ‫گاهی‬ ‫باشد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مالک‬ ‫حقوقی‬ ‫شخصیت‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ .‫برود‬ ‫سو‬ ‫کدام‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫و‬ ‫شوند‬ ‫پذیرفته‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫شده‬ ‫اعمال‬ ‫همکاریهای‬ ‫آپاچی‬ ‫وب‬ ‫سرور‬ ‫مورد‬ ‫مانند‬ ‫‌گیرند‬ ‫ی‬‫م‬ ‫تصمیم‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫درباره‬ ‫بخصوص‬ ‫شرکت‬ ‫یک‬ ‫نه‬ ‫و‬ ‫کد‬ ‫کنندگان‬ ‫اعمال‬ ،‫شخصی‬ ( . . httpd apache org .) ‫در‬ ‫را‬ ‫تالیف‬ ‫حق‬ ‫شرکت‬ .‫است‬ ‫آن‬ ‫‌دهنده‬ ‫ه‬‫توسع‬ ‫و‬ ‫مالک‬ ،‫سود‬ ‫پی‬ ‫در‬ ‫شخصیتی‬ ‫که‬ ‫است‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫تجاری‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫مانند‬ ‫دهد‬ ‫انجام‬ ‫کاری‬ ‫چه‬ ‫آینده‬ ‫در‬ ‫و‬ ‫بپذیرد‬ ‫اصلی‬ ‫کد‬ ‫متن‬ ‫به‬ ‫ورود‬ ‫برای‬ ‫را‬ ‫کد‬ ‫کدام‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تعیین‬ ‫و‬ ‫دارد‬ ‫اختیار‬ ‫مورد‬ MySQL ‫داده‬ ‫پایگاه‬ ‫و‬ ( . . ) MySQL www mysql com . ‫متمرکز‬ ‫کار‬ ‫نیروی‬ ‫اقتصاد‬ ‫بر‬ ‫اغلب‬ ‫جامعه‬ ‫بوسیله‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫اقتصاد‬ ‫درباره‬ ‫پیشین‬ ‫مطالعات‬ ‫اشاره‬ ‫ریموند‬ ‫اریک‬ .‫‌یابد‬ ‫ی‬‫م‬ ‫تخصیص‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫به‬ ‫‌آوری‬ ‫ب‬‫تعج‬ ‫فراوان‬ ‫داوطلبانه‬ ‫کار‬ ‫میزان‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫کمک‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫همتایانشان‬ ‫بین‬ ‫اعتبار‬ ‫افزایش‬ ‫از‬ ‫ناشی‬ ‫شخصی‬ ‫لذت‬ ‫بخاطر‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ . ‫رسیدند‬ ‫مشابهی‬ ‫نتیجه‬ ‫به‬ ‫نیز‬ ‫خود‬ ‫تجربی‬ ‫مطالعه‬ ‫در‬ ‫همکارانش‬ ‫و‬ ‫هارووی‬ ‫ارنان‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫‌انداز‬ ‫م‬‫چش‬ ‫بهبود‬ ‫و‬ ‫فنی‬ ‫تواناییهای‬ ‫کردن‬ ‫مستند‬ ‫برای‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫استدالل‬ ‫تیروله‬ ‫جین‬ ،‫لرنرو‬ ‫جاشوا‬ ‫لذت‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫گزارش‬ ‫گلف‬ ‫رابرت‬ ‫الخانیو‬ ‫کریم‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫آتی‬ ‫کارفرمایان‬ ‫برای‬ ‫شغلی‬ ‫نشان‬ ‫مطالعه‬ ‫این‬ ‫گرچه‬ ‫است‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫کمک‬ ‫برای‬ ‫مهمی‬ ‫ذاتی‬ ‫محرک‬ ‫کار‬ ‫از‬ ‫بردن‬ .‫‌اند‬ ‫م‬‫مه‬ ‫هم‬ ‫مالی‬ ‫‌های‬ ‫ه‬‫انگیز‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬
  • 9. ‫را‬ ‫اشخاصی‬ ‫شرکتها‬ ‫چرا‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫نم‬ ‫شرح‬ ‫را‬ ‫این‬ ‫اما‬ ‫است‬ ‫داوطلبانه‬ ‫کار‬ ‫برای‬ ‫توضیحات‬ ‫از‬ ‫‌ای‬ ‫ه‬‫پار‬ ‫اینها‬ ‫که‬ ‫حالی‬ ‫در‬ ‫همکارانش‬ ‫و‬ ‫هان‬ ‫هورن‬ ‫ایل‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫به‬ ‫شرکت‬ ‫کاری‬ ‫زمان‬ ‫در‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫استخدام‬ ‫در‬ ‫آنها‬ ‫رتبه‬ ‫با‬ ‫مستقیمی‬ ‫رابطه‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫آپاچی‬ ‫افزار‬ ‫نرم‬ ‫بنیاد‬ ‫پروژه‬ ‫به‬ ‫که‬ ‫کسانی‬ ‫حقوق‬ ‫که‬ ‫دریافتند‬ ‫معیاری‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫بنیاد‬ ‫در‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫رتبه‬ ‫کارفرمایان‬ ‫که‬ ‫گرفتند‬ ‫نتیجه‬ ‫محققین‬ ‫پس‬ .‫دارد‬ ‫آپاچی‬ ‫تشکیالت‬ .‫‌گیرند‬ ‫ی‬‫م‬ ‫بکار‬ ‫مولد‬ ‫‌های‬ ‫ی‬‫توانای‬ ‫سنجش‬ ‫برای‬
  • 11. ‫حوزه‬ DevOps ( ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫بین‬ ‫همکاری‬ ‫و‬ ‫هماهنگی‬ ‫بهبود‬ ‫به‬ ‫که‬ ‫است‬ ‫اطالعات‬ ‫فناوری‬ ‫صنعت‬ ‫در‬ ‫پرطرفدار‬ ‫‌های‬ ‫ه‬‫رشت‬ ‫از‬ ‫یکی‬ Development ( ‫عملیات‬ ‫و‬ ) Operations .‫‌پردازد‬ ‫ی‬‫م‬ ) DevOps ‫‌های‬ ‫ی‬‫توانمند‬ ‫و‬ ‫فرایندها‬ ،‫ابزارها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تالش‬ .‫کند‬ ‫افزوده‬ ‫‌ها‬ ‫س‬‫سروی‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫کیفیت‬ ‫و‬ ‫عملکرد‬ ‫به‬ ‫و‬ ‫بخشد‬ ‫بهبود‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫ارائه‬ ‫و‬ ‫توسعه‬ ‫سیکل‬ ،‫مناسب‬ ‫حوزه‬ ‫در‬ DevOps ‫زمینه‬ ‫در‬ ‫رایج‬ ‫‌های‬ ‫ل‬‫شغ‬ ‫از‬ ‫برخی‬ .‫هستند‬ ‫نیاز‬ ‫مورد‬ ‫گوناگون‬ ‫‌های‬ ‫ش‬‫دان‬ ‫و‬ ‫‌ها‬ ‫ت‬‫مهار‬ ‫با‬ ‫متعددی‬ ‫متخصصان‬ ، DevOps :‫شامل‬ • ‫متخصص‬ ( ) DevOps DevOps Engineer ‫فرایندهای‬ ‫و‬ ‫ابزارها‬ ‫مدیریت‬ ‫و‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫مسئول‬ ‫فرد‬ ‫این‬ : DevOps ‫‌های‬ ‫ی‬‫استراتژ‬ ‫موفق‬ ‫اجرای‬ ‫توانایی‬ ‫باید‬ ‫‌ها‬ ‫ن‬‫آ‬ .‫است‬ ‫سازمان‬ ‫محیط‬ ‫در‬ DevOps .‫باشند‬ ‫داشته‬ ‫را‬ • DevOps Evangelist .‫دواپس‬ ‫سازی‬ ‫پیاده‬ ‫مسئول‬ ‫و‬ )‫(رهبر‬ ‫اصلی‬ ‫افسر‬ : • ( ‫عملیات‬ ‫و‬ ‫اطالعات‬ ‫مدیر‬ IT Operations Manager ) ‫‌های‬ ‫م‬‫تی‬ ‫عملیاتی‬ ‫رهبر‬ ‫‌عنوان‬ ‫ه‬‫ب‬ ‫شخص‬ ‫این‬ : IT ‫و‬ DevOps .‫دارد‬ ‫برعهده‬ ‫را‬ ‫سازمان‬ ‫عملیاتی‬ ‫‌های‬ ‫ت‬‫فعالی‬ ‫مدیریت‬ ‫و‬ ‫اجرا‬ ‫مسئولیت‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫عمل‬
  • 12. • ( ‫عملیات‬ ‫اتوماسیون‬ ‫مدیر‬ Automation Manager ) ‫اتوماسیونی‬ ‫‌های‬ ‫ل‬‫‌ح‬ ‫ه‬‫را‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫و‬ ‫توسعه‬ ‫مسئول‬ ‫فرد‬ ‫این‬ : .‫است‬ ‫عملیات‬ ‫کارایی‬ ‫و‬ ‫فرایندها‬ ‫بهبود‬ ‫برای‬ • :‫اتوماسیون‬ ‫کارشناس‬ .‫است‬ ‫ابزارها‬ ‫سازی‬ ‫هماهنگ‬ ‫و‬ ‫اتوماسیون‬ ‫به‬ ‫دستیابی‬ ‫مسئول‬ ‫که‬ ‫فردی‬ • ( ‫فرایندها‬ ‫اتوماسیون‬ ‫متخصص‬ Process Automation Specialist :) ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫و‬ ‫توسعه‬ ‫مسئول‬ ‫فرد‬ ‫این‬ .‫است‬ ‫سازمان‬ ‫در‬ ‫کارایی‬ ‫و‬ ‫فرایندها‬ ‫بهبود‬ ‫برای‬ ‫اتوماسیونی‬ ‫فرایندهای‬ ‫و‬ ‫ابزارها‬ • Release Manager : .‫‌دهد‬ ‫ی‬‫م‬ ‫اطمینان‬ ‫انتشار‬ ‫از‬ ‫پس‬ ‫محصول‬ ‫ثبات‬ ‫از‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫منتشر‬ ‫را‬ ‫جدید‬ ‫امکانات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ • ‫امنیت‬ ‫متخصص‬ ( ) DevOps DevSecOps Engineer ‫فرایندهای‬ ‫و‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫امنیت‬ ‫مسئول‬ ‫شخص‬ ‫این‬ : DevOps .‫باشد‬ ‫داشته‬ ‫را‬ ‫امنیتی‬ ‫‌های‬ ‫ه‬‫روی‬ ‫و‬ ‫امنیتی‬ ‫استانداردهای‬ ‫اجرای‬ ‫توانایی‬ ‫باید‬ ‫و‬ ‫است‬ • ( ‫نظارت‬ ‫و‬ ‫مانیتورینگ‬ ‫متخصص‬ Monitoring and Observability Specialist ) ‫مسئول‬ ‫شخص‬ ‫این‬ : .‫است‬ ‫خدمات‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫و‬ ‫مانیتورینگ‬ ‫‌های‬ ‫م‬‫سیست‬ ‫مدیریت‬ ‫و‬ ‫تنظیم‬ ‫مدیران‬ ‫و‬ ،‫شبکه‬ ‫مهندسان‬ ،‫امنیت‬ ‫و‬ ‫اطالعات‬ ‫متخصصان‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ،‫ابر‬ ‫متخصصان‬ ‫مانند‬ ‫دیگری‬ ‫‌های‬ ‫ه‬‫زیرمجموع‬ ،‫همچنین‬ ‫حوزه‬ ‫در‬ ‫مهمی‬ ‫‌های‬ ‫ش‬‫نق‬ ‫نیز‬ ‫پروژه‬ DevOps ‫تیم‬ ‫با‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫ایفا‬ DevOps ‫بهبود‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫عرضه‬ ‫و‬ ‫توسعه‬ ‫فرآیند‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫همکاری‬ .‫یابد‬
  • 13. ‫بر‬ ‫شرحی‬ DevOps Evangelist : DevOps Evangelist ‫حوزه‬ ‫در‬ ‫که‬ ‫است‬ ‫نقش‬ ‫یک‬ DevOps ‫اجرای‬ ‫اجرایی‬ ‫روند‬ ‫و‬ ‫فرهنگ‬ ‫بر‬ ‫بسیاری‬ ‫تأثیر‬ ‫دارای‬ ‫و‬ ‫شده‬ ‫تعریف‬ DevOps ‫فرهنگ‬ ‫برای‬ ‫مشوق‬ ‫یک‬ ‫و‬ ‫راهنما‬ ‫یک‬ ،‫معلم‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫شخص‬ ‫این‬ . ‫دارد‬ ‫‌ها‬ ‫ن‬‫سازما‬ ‫در‬ DevOps ‫عمل‬ ‫سازمان‬ ‫یک‬ ‫در‬ ‫یک‬ ‫اصلی‬ ‫وظیفه‬ .‫‌کند‬ ‫ی‬‫م‬ DevOps Evangelist ‫‌های‬ ‫ه‬‫اید‬ ‫ترویج‬ ،‫دانش‬ ‫ارتقاء‬ ،‫آگاهی‬ ‫ایجاد‬ ‫شامل‬ DevOps ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫تشویق‬ ‫و‬ ‫رویکردهای‬ ‫بهتر‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫به‬ ‫سازمان‬ ‫اعضای‬ DevOps .‫است‬ ‫یک‬ ‫‌های‬ ‫ت‬‫مسئولی‬ ‫و‬ ‫وظایف‬ DevOps Evangelist :‫باشد‬ ‫موارد‬ ‫این‬ ‫شامل‬ ‫است‬ ‫ممکن‬ 1 ‫مزایای‬ ‫و‬ ‫اصول‬ ،‫‌ها‬ ‫م‬‫مفهو‬ ‫مورد‬ ‫در‬ ‫‌ها‬ ‫ی‬‫سخنران‬ ‫و‬ ‫‌ها‬ ‫ه‬‫کارگا‬ ،‫آموزشی‬ ‫‌های‬ ‫ه‬‫دور‬ ‫ارائه‬ :‫‌رسانی‬ ‫ی‬‫آگاه‬ ‫و‬ ‫آموزش‬ . DevOps .‫سازمان‬ ‫اعضای‬ ‫به‬ 2 ‫‌های‬ ‫ه‬‫واژ‬ ‫بهتر‬ ‫اجرای‬ ‫برای‬ ‫سازمان‬ ‫اعضای‬ ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫از‬ ‫پشتیبانی‬ ‫و‬ ‫تشویق‬ :‫پشتیبانی‬ ‫و‬ ‫تشویق‬ . DevOps ‫تجربیات‬ ‫گذاری‬ ‫اشتراک‬ ‫به‬ ‫و‬ .‫موفق‬ 3 ‫بهبود‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫بین‬ ‫ارتباطات‬ ‫که‬ ‫کاری‬ ‫محیط‬ ‫یک‬ ‫سوی‬ ‫به‬ ‫سازمان‬ ‫در‬ ‫فرهنگی‬ ‫تغییر‬ ‫ایجاد‬ ‫به‬ ‫کمک‬ :‫فرهنگی‬ ‫تغییرات‬ ‫اجرای‬ . .‫یابد‬ 4 .‫مختلف‬ ‫‌های‬ ‫م‬‫تی‬ ‫بین‬ ‫نزدیک‬ ‫ارتباط‬ ‫و‬ ‫اتوماسیون‬ ،‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫فرهنگ‬ ‫ایجاد‬ ‫برای‬ ‫همکاری‬ ‫به‬ ‫اعضا‬ ‫تشویق‬ :‫همکاری‬ ‫به‬ ‫ترغیب‬ . 5 ‫حوزه‬ ‫در‬ ‫دانش‬ ‫انتقال‬ ‫و‬ ‫نظر‬ ‫تبادل‬ ‫برای‬ ‫ویدیوها‬ ‫و‬ ‫‌ها‬ ‫ی‬‫گردهمای‬ ،‫‌ها‬ ‫س‬‫کنفران‬ ،‫جلسات‬ ‫برگزاری‬ :‫رویدادها‬ ‫مدیریت‬ . DevOps . ‫یک‬ ‫داشتن‬ ‫با‬ DevOps Evangelist ‫بین‬ ‫همکاری‬ ‫و‬ ‫هماهنگی‬ ‫افزایش‬ ،‫کاری‬ ‫فرهنگ‬ ‫بهبود‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ن‬‫سازما‬ ،‫متعهد‬ ‫و‬ ‫ماهر‬ ‫اجرایی‬ ‫سطح‬ ‫ارتقای‬ ‫و‬ ‫وری‬ ‫بهره‬ ‫افزایش‬ ،‫مختلف‬ ‫‌های‬ ‫م‬‫تی‬ DevOps .‫کنند‬ ‫تامین‬ ‫را‬ ‫خود‬
  • 17. . ‫ها‬ ‫متادولوژی‬ ‫انواع‬ ‫روی‬ ‫و‬ . ‫کرد‬ ‫صحبت‬ ‫باید‬ ‫متادولوژی‬ ‫روی‬ ‫چیز‬ ‫هر‬ ‫از‬ ‫قبل‬ . ‫است‬ ‫آبشاری‬ ‫متادولوژی‬ ‫ها‬ ‫متادولوژی‬ ‫از‬ ‫یکی‬ ‫ترتیبی‬ ‫و‬ ‫خطی‬ ‫رویکرد‬ ‫یک‬ ‫متدولوژی‬ ‫این‬ .‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫‌های‬ ‫ی‬‫متدولوژ‬ ‫‌ترین‬ ‫ه‬‫‌شد‬ ‫ه‬‫شناخت‬ ‫و‬ ‫‌ترین‬ ‫ی‬‫قدیم‬ ‫از‬ ‫یکی‬ ‫آبشاری‬ ‫متدولوژی‬ ‫رویکرد‬ ‫این‬ .‫بروید‬ ‫بعدی‬ ‫مرحله‬ ‫به‬ ‫اینکه‬ ‫از‬ ‫قبل‬ ‫گردد‬ ‫تأیید‬ ‫و‬ ‫شود‬ ‫تکمیل‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫باید‬ ‫مرحله‬ ‫هر‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫ارائه‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ :‫از‬ ‫عبارتند‬ ‫معموًال‬ ‫اصلی‬ ‫مراحل‬ .‫‌اند‬ ‫ه‬‫شد‬ ‫تعریف‬ ‫واضح‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫یک‬ ‫هر‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫تقسیم‬ ‫مرحله‬ ‫هفت‬ ‫تا‬ ‫پنج‬ ‫به‬ ( ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫تحلیل‬ Requirements Analysis ) ‫بدون‬ ‫و‬ ‫دقیق‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫نیازها‬ ‫تمامی‬ ‫که‬ ‫است‬ ‫این‬ ‫هدف‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫مستندسازی‬ ‫و‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫و‬ ‫مشتری‬ ‫نیازهای‬ ،‫مرحله‬ ‫این‬ ‫در‬ - .‫نشود‬ ‫ایجاد‬ ‫مشکل‬ ‫توسعه‬ ‫بعدی‬ ‫مراحل‬ ‫در‬ ‫تا‬ ‫شوند‬ ‫مشخص‬ ‫ابهام‬ ( ‫سیستم‬ ‫طراحی‬ System Design ) ‫طراحی‬ ‫و‬ ،‫داده‬ ‫پایگاه‬ ‫طراحی‬ ،‫سیستم‬ ‫معماری‬ ‫طراحی‬ ‫شامل‬ ‫این‬ .‫‌گیرد‬ ‫ی‬‫م‬ ‫صورت‬ ‫سیستم‬ ‫طراحی‬ ،‫شده‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫نیازهای‬ ‫اساس‬ ‫بر‬ - .‫است‬ ‫کاربری‬ ‫‌های‬ ‫ط‬‫راب‬ ( ‫‌سازی‬ ‫ه‬‫پیاد‬ Implementation ) .‫‌شود‬ ‫ی‬‫م‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫‌ها‬ ‫ی‬‫طراح‬ ‫اساس‬ ‫بر‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫نویسی‬ ‫کد‬ ،‫مرحله‬ ‫این‬ ‫در‬ -
  • 18. ( ‫تست‬ Testing ) .‫ندارد‬ ‫وجود‬ ‫باگی‬ ‫هیچ‬ ‫و‬ ‫‌اند‬ ‫ه‬‫شد‬ ‫برآورده‬ ‫‌درستی‬ ‫ه‬‫ب‬ ‫نیازها‬ ‫تمامی‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫‌شود‬ ‫ی‬‫م‬ ‫تست‬ ‫‌افزار‬ ‫م‬‫نر‬ ،‫‌سازی‬ ‫ه‬‫پیاد‬ ‫از‬ ‫پس‬ - .‫‌باشند‬ ‫ی‬‫م‬ ‫پذیرش‬ ‫تست‬ ‫و‬ ‫سیستم‬ ‫تست‬ ،‫یکپارچگی‬ ‫تست‬ ،‫واحد‬ ‫تست‬ ‫شامل‬ ‫‌ها‬ ‫ت‬‫تس‬ ( ‫نگهداری‬ ‫و‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ Integration and Maintenance ) ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫زمان‬ ‫طول‬ ‫در‬ .‫‌گیرد‬ ‫ی‬‫م‬ ‫قرار‬ ‫عملیاتی‬ ‫محیط‬ ‫در‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫داده‬ ‫تحویل‬ ‫مشتری‬ ‫به‬ ‫تست‬ ‫از‬ ‫پس‬ ‫نهایی‬ ‫‌افزار‬ ‫م‬‫نر‬ - .‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫که‬ ‫باشد‬ ‫بهبودها‬ ‫و‬ ‫اصالحات‬ :‫مزایا‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫اشتباه‬ ‫احتمال‬ ‫کاهش‬ ‫به‬ ‫که‬ ‫است‬ ‫مشخص‬ ‫‌های‬ ‫ی‬‫خروج‬ ‫دارای‬ ‫مرحله‬ ‫هر‬ :‫واضح‬ ‫و‬ ‫مشخص‬ ‫ساختار‬ - .‫است‬ ‫فراهم‬ ‫مرحله‬ ‫هر‬ ‫در‬ ‫پروژه‬ ‫مدیریت‬ ‫و‬ ‫کنترل‬ ‫امکان‬ :‫پروژه‬ ‫کنترل‬ - .‫است‬ ‫مفید‬ ‫آینده‬ ‫بهبودهای‬ ‫و‬ ‫نگهداری‬ ‫برای‬ ‫که‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫مستند‬ ‫‌خوبی‬ ‫ه‬‫ب‬ ‫مراحل‬ ‫تمامی‬ : ‫کامل‬ ‫مستندسازی‬ - :‫معایب‬ .‫است‬ ‫پرهزینه‬ ‫و‬ ‫دشوار‬ ‫پایانی‬ ‫مراحل‬ ‫در‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫در‬ ‫تغییرات‬ : ‫کم‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ - . ‫دارد‬ ‫وجود‬ ‫تعغییرات‬ ‫اعمال‬ ‫برای‬ ‫زیادی‬ ‫سختی‬ ‫و‬ .‫باشد‬ ‫نیاز‬ ‫پروژه‬ ‫تکمیل‬ ‫برای‬ ‫زیادی‬ ‫زمان‬ ،‫خطی‬ ‫رویکرد‬ ‫دلیل‬ ‫به‬ : ‫بودن‬ ‫‌بر‬ ‫ن‬‫زما‬ - ‫اعمال‬ ‫قابل‬ ‫‌سختی‬ ‫ه‬‫ب‬ ‫آبشاری‬ ‫متدولوژی‬ ‫در‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫تغییر‬ ‫توسعه‬ ‫طول‬ ‫در‬ ‫مشتری‬ ‫واقعی‬ ‫نیازهای‬ ‫گاهی‬ : ‫واقعی‬ ‫نیازهای‬ ‫با‬ ‫تطابق‬ ‫عدم‬ - .‫است‬ ‫در‬ ‫کمتری‬ ‫تغییرات‬ ‫و‬ ‫شده‬ ‫تعریف‬ ‫‌خوبی‬ ‫ه‬‫ب‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫مشخصات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫که‬ ‫است‬ ‫مناسب‬ ‫‌هایی‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫آبشاری‬ ‫متدولوژی‬ ،‫کلی‬ ‫‌طور‬ ‫ه‬‫ب‬ ( ‫چابک‬ ‫‌های‬ ‫ی‬‫متدولوژ‬ ،‫‌تر‬ ‫ه‬‫پیچید‬ ‫‌های‬ ‫ط‬‫محی‬ ‫و‬ ‫پویا‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ ،‫مقابل‬ ‫در‬ .‫دارند‬ ‫زمان‬ ‫طول‬ Agile .‫باشند‬ ‫‌تر‬ ‫ب‬‫)مناس‬
  • 21. ‫متدولوژی‬ Agile ‫به‬ ‫سریع‬ ‫پاسخ‬ ‫و‬ ،‫همکاری‬ ،‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫بر‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫افزایشی‬ ‫و‬ ‫تکرارشونده‬ ‫رویکرد‬ ‫یک‬ ،‫چابک‬ ‫یا‬ ‫و‬ ‫اصول‬ .‫است‬ ‫شده‬ ‫ایجاد‬ ‫آبشاری‬ ‫متدولوژی‬ ‫مانند‬ ‫سنتی‬ ‫‌های‬ ‫ی‬‫متدولوژ‬ ‫‌های‬ ‫ت‬‫محدودی‬ ‫به‬ ‫واکنش‬ ‫در‬ ‫متدولوژی‬ ‫این‬ .‫دارد‬ ‫تأکید‬ ‫تغییرات‬ ‫متدولوژی‬ ‫‌های‬ ‫ش‬‫ارز‬ Agile ‫مانیفست‬ ‫در‬ Agile ‫سال‬ ‫در‬ ‫که‬ 2001 .‫‌اند‬ ‫ه‬‫شد‬ ‫بیان‬ ،‫شد‬ ‫منتشر‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫از‬ ‫گروهی‬ ‫توسط‬ ‫مانیفست‬ ‫اصول‬ Agile : 1 ‫ابزارها‬ ‫و‬ ‫فرآیندها‬ ‫از‬ ‫بیشتر‬ ‫تعامالت‬ ‫و‬ ‫افراد‬ ‫به‬ ‫توجه‬ . 2 ‫جامع‬ ‫مستندات‬ ‫از‬ ‫بیشتر‬ ‫کارآمد‬ ‫‌افزار‬ ‫م‬‫نر‬ . 3 ‫قرارداد‬ ‫در‬ ‫مذاکره‬ ‫از‬ ‫بیشتر‬ ‫مشتری‬ ‫با‬ ‫همکاری‬ . 4 ‫برنامه‬ ‫یک‬ ‫از‬ ‫پیروی‬ ‫از‬ ‫بیشتر‬ ‫تغییرات‬ ‫به‬ ‫پاسخ‬ . ‫توسعه‬ ‫چرخه‬ Agile : ‫توسعه‬ ‫چرخه‬ Agile ( ‫تکرارها‬ ‫به‬ Iterations ( ‫‌ها‬ ‫ت‬‫اسپرین‬ ‫یا‬ ) Sprints ‫بین‬ ‫معموًال‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫تقسیم‬ ) 1 ‫تا‬ 4 .‫‌کشند‬ ‫ی‬‫م‬ ‫طول‬ ‫هفته‬ :‫است‬ ‫زیر‬ ‫مراحل‬ ‫شامل‬ ‫تکرار‬ ‫هر‬ 1 ( ‫‌ریزی‬ ‫ه‬‫برنام‬ . Planning :) ‫انتخاب‬ ‫شامل‬ ‫جلسه‬ ‫این‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫برگزار‬ ‫‌ای‬ ‫ه‬‫جلس‬ ‫تکرار‬ ‫‌های‬ ‫ت‬‫اولوی‬ ‫و‬ ‫اهداف‬ ‫تعیین‬ ‫برای‬ ‫مشتری‬ ‫و‬ ‫توسعه‬ ‫تیم‬ ،‫تکرار‬ ‫هر‬ ‫ابتدای‬ ‫در‬ - ‫از‬ ‫وظایف‬ Backlog .‫‌شود‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫انجام‬ ‫زمان‬ ‫تخمین‬ ‫و‬ 2 ( ‫توسعه‬ ‫و‬ ‫طراحی‬ . Design and Development :) .‫است‬ ‫مشتری‬ ‫برای‬ ‫ارزشمند‬ ‫و‬ ‫ارائه‬ ‫قابل‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫ایجاد‬ ‫بر‬ ‫تمرکز‬ .‫‌کند‬ ‫ی‬‫م‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫و‬ ‫طراحی‬ ‫را‬ ‫شده‬ ‫انتخاب‬ ‫وظایف‬ ‫توسعه‬ ‫تیم‬ - 3 ( ‫تست‬ . Testing :) .‫است‬ ‫باگ‬ ‫بدون‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫و‬ ‫‌اند‬ ‫ه‬‫شد‬ ‫برآورده‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫تست‬ ‫تکرار‬ ‫همان‬ ‫در‬ ‫یافته‬ ‫توسعه‬ ‫وظایف‬ - 4 ( ‫بازبینی‬ . Review :) .‫‌شود‬ ‫ی‬‫م‬ ‫برگزار‬ ‫بازخورد‬ ‫دریافت‬ ‫و‬ ‫مشتری‬ ‫به‬ ‫نتایج‬ ‫نمایش‬ ‫برای‬ ‫‌ای‬ ‫ه‬‫جلس‬ ،‫تکرار‬ ‫هر‬ ‫پایان‬ ‫در‬ - 5 ( ‫بازنگری‬ . Retrospective :) ‫را‬ ‫بهبود‬ ‫راهکارهای‬ ‫و‬ ‫کند‬ ‫بحث‬ ‫بهبود‬ ‫قابل‬ ‫نقاط‬ ‫و‬ ،‫‌ها‬ ‫ت‬‫موفقی‬ ،‫فرآیندها‬ ‫درباره‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫برگزار‬ ‫‌ای‬ ‫ه‬‫جلس‬ ‫تکرار‬ ‫هر‬ ‫پایان‬ ‫در‬ ‫توسعه‬ ‫تیم‬ - .‫کند‬ ‫پیدا‬ ‫بعدی‬ ‫تکرارهای‬ ‫برای‬ ‫مزایای‬ Agile : .‫تکرار‬ ‫هر‬ ‫در‬ ‫‌ها‬ ‫ت‬‫اولوی‬ ‫و‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫تغییر‬ ‫امکان‬ :‫باال‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ - .‫مداوم‬ ‫و‬ ‫تدریجی‬ ‫‌صورت‬ ‫ه‬‫ب‬ ‫کاربردی‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫ارائه‬ :‫ارزش‬ ‫ارائه‬ ‫در‬ ‫تسریع‬ - .‫مشتری‬ ‫واقعی‬ ‫نیازهای‬ ‫تحقق‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫مستمر‬ ‫بازخورد‬ ‫دریافت‬ :‫مشتری‬ ‫با‬ ‫نزدیک‬ ‫همکاری‬ - .‫تکرار‬ ‫هر‬ ‫در‬ ‫فرآیندها‬ ‫بهبود‬ ‫و‬ ‫بررسی‬ ‫امکان‬ :‫مستمر‬ ‫بهبود‬ - ‫‌های‬ ‫ب‬‫چارچو‬ Agile :
  • 22. ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫برای‬ ‫مختلف‬ ‫چارچوب‬ ‫چندین‬ Agile ‫از‬ ‫برخی‬ .‫‌اند‬ ‫ه‬‫شد‬ ‫طراحی‬ ‫‌ها‬ ‫م‬‫تی‬ ‫و‬ ‫مختلف‬ ‫نیازهای‬ ‫اساس‬ ‫بر‬ ‫کدام‬ ‫هر‬ ‫که‬ ‫دارد‬ ‫وجود‬ :‫از‬ ‫عبارتند‬ ‫‌ها‬ ‫ب‬‫چارچو‬ ‫مشهورترین‬ ( ‫اسکرام‬ - Scrum :) ( ‫محصول‬ ‫مالک‬ ‫مانند‬ ‫مشخصی‬ ‫‌های‬ ‫ش‬‫نق‬ ‫و‬ ‫مدت‬ ‫کوتاه‬ ‫‌های‬ ‫ت‬‫اسپرین‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پروژه‬ ‫مدیریت‬ ‫بر‬ ‫تمرکز‬ - Product Owner ،) ( ‫مستر‬ ‫اسکرام‬ Scrum Master .‫توسعه‬ ‫تیم‬ ‫و‬ ،) ( ‫کانبان‬ - Kanban :) .‫‌ها‬ ‫ت‬‫کار‬ ‫و‬ ‫بصری‬ ‫بردهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫فرآیندها‬ ‫‌سازی‬ ‫ه‬‫بهین‬ ‫و‬ ‫کار‬ ‫مداوم‬ ‫جریان‬ ‫بر‬ ‫تمرکز‬ - ( ‫پروگرمینگ‬ ‫اکستریم‬ - XP :) ( ‫‌محور‬ ‫ت‬‫تس‬ ‫توسعه‬ ،‫زوجی‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫مانند‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ه‬‫شیو‬ ‫بهترین‬ ‫بر‬ ‫تمرکز‬ - TDD .‫مداوم‬ ‫بازخورد‬ ‫و‬ ،) ‫معایب‬ Agile : ‫موفقیت‬ :‫مشتری‬ ‫فعال‬ ‫مشارکت‬ ‫به‬ ‫نیاز‬ - Agile .‫است‬ ‫وابسته‬ ‫مشتری‬ ‫مستمر‬ ‫بازخورد‬ ‫و‬ ‫همکاری‬ ‫به‬ .‫شوند‬ ‫مواجه‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫و‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫در‬ ‫مشکالتی‬ ‫با‬ ‫مداوم‬ ‫تغییرات‬ ‫دلیل‬ ‫به‬ ‫‌ها‬ ‫م‬‫تی‬ ‫است‬ ‫ممکن‬ :‫مداوم‬ ‫تغییر‬ - .‫کند‬ ‫ایجاد‬ ‫مشکالتی‬ ‫موارد‬ ‫برخی‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫مستندات‬ ‫بر‬ ‫کمتر‬ ‫تأکید‬ :‫کمتر‬ ‫مستندسازی‬ - ‫متدولوژی‬ Agile ‫‌طور‬ ‫ه‬‫ب‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫که‬ ‫‌هایی‬ ‫م‬‫تی‬ ‫و‬ ،‫دارند‬ ‫تغییرات‬ ‫به‬ ‫سریع‬ ‫پاسخ‬ ‫و‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫است‬ ‫مناسب‬ ‫‌هایی‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫بسیار‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫تغییر‬ ‫سرعت‬ ‫به‬ ‫‌ها‬ ‫ت‬‫اولوی‬ ‫و‬ ‫نیازها‬ ‫که‬ ‫پویا‬ ‫و‬ ‫پیچیده‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫خصوص‬ ‫به‬ ‫رویکرد‬ ‫این‬ .‫کنند‬ ‫همکاری‬ ‫مشتریان‬ ‫با‬ ‫مؤثر‬ .‫است‬ ‫مفید‬
  • 24. ‫متدولوژی‬ DevOps ‫‌های‬ ‫م‬‫تی‬ ‫بین‬ ‫ارتباط‬ ‫و‬ ‫همکاری‬ ‫افزایش‬ ‫آن‬ ‫هدف‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌برداری‬ ‫ه‬‫بهر‬ ‫و‬ ‫توسعه‬ ‫برای‬ ‫جامع‬ ‫رویکرد‬ ‫یک‬ ( ‫توسعه‬ Development ( ‫عملیات‬ ‫و‬ ) Operations .‫است‬ ) DevOps ‫اتوماسیون‬ ‫با‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تالش‬ ‫‌های‬ ‫ه‬‫شیو‬ ،‫سازمانی‬ ‫فرهنگ‬ ‫به‬ ‫متدولوژی‬ ‫این‬ .‫یابد‬ ‫دست‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫پایدارتر‬ ‫و‬ ‫‌تر‬ ‫ت‬‫کیفی‬ ‫با‬ ،‫‌تر‬ ‫ع‬‫سری‬ ‫تحویل‬ ‫به‬ ‫تا‬ ‫بخشد‬ ‫بهبود‬ ‫مداوم‬ ‫نظارت‬ ‫و‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫داده‬ ‫توضیح‬ ‫تفصیل‬ ‫به‬ ‫زیر‬ ‫در‬ ‫که‬ ‫است‬ ‫متکی‬ ‫خاصی‬ ‫ابزارهای‬ ‫و‬ ‫کاری‬ ‫کلیدی‬ ‫اصول‬ DevOps : 1 ( ‫همکاری‬ ‫فرهنگ‬ . Collaboration Culture :) - DevOps ‫افزایش‬ ‫و‬ ‫سیلویی‬ ‫دیوارهای‬ ‫کاهش‬ ‫به‬ ‫همکاری‬ ‫فرهنگ‬ ‫این‬ .‫دارد‬ ‫تأکید‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫بین‬ ‫همکاری‬ ‫فرهنگ‬ ‫بر‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫م‬‫تی‬ ‫بین‬ ‫ارتباطات‬ 2 ( ‫اتوماسیون‬ . Automation :) ‫اساسی‬ ‫اصول‬ ‫از‬ ‫یکی‬ - DevOps ‫اتوماسیون‬ ‫ابزارهای‬ .‫است‬ ‫مانیتورینگ‬ ‫و‬ ‫استقرار‬ ،‫ساخت‬ ،‫تست‬ ‫مانند‬ ‫تکراری‬ ‫فرآیندهای‬ ‫اتوماسیون‬ ‫مانند‬ Jenkins، Ansible، Puppet ‫و‬ Chef .‫‌شوند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫منظور‬ ‫این‬ ‫برای‬ 3 ( ‫مداوم‬ ‫استقرار‬ ‫و‬ ‫ادغام‬ . / CI CD :) - ( ) Continuous Integration CI ‫و‬ ( ) Continuous Delivery CD ‫‌دهند‬ ‫ی‬‫م‬ ‫اجازه‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫که‬ ‫هستند‬ ‫فرآیندهایی‬ ‫تحویل‬ ‫سرعت‬ ‫به‬ ‫و‬ ‫باال‬ ‫کیفیت‬ ‫با‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫فرآیندها‬ ‫این‬ .‫دهند‬ ‫استقرار‬ ‫و‬ ‫تست‬ ‫خودکار‬ ‫و‬ ‫مداوم‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫را‬ ‫جدید‬ ‫کدهای‬ .‫شود‬ 4 ( ‫الگینگ‬ ‫و‬ ‫نظارت‬ . Monitoring and Logging :) - DevOps .‫شوند‬ ‫حل‬ ‫و‬ ‫شناسایی‬ ‫‌سرعت‬ ‫ه‬‫ب‬ ‫مشکالت‬ ‫تا‬ ‫دارد‬ ‫تأکید‬ ‫‌ها‬ ‫گ‬‫ال‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫مستمر‬ ‫نظارت‬ ‫بر‬ ‫مانند‬ ‫ابزارهایی‬ Prometheus، Grafana، ( , , ) ELK Stack Elasticsearch Logstash Kibana ‫منظور‬ ‫این‬ ‫برای‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫استفاده‬ 5 ( ‫مستمر‬ ‫بهبود‬ ‫و‬ ‫بازخورد‬ . Continuous Feedback and Improvement :) - DevOps ‫نظارتی‬ ‫‌های‬ ‫م‬‫سیست‬ ‫و‬ ‫کاربران‬ ،‫مشتریان‬ ‫از‬ ‫بازخورد‬ .‫‌کند‬ ‫ی‬‫م‬ ‫ایجاد‬ ‫مستمر‬ ‫بهبود‬ ‫و‬ ‫بازخورد‬ ‫از‬ ‫‌پایان‬ ‫ی‬‫ب‬ ‫چرخه‬ ‫یک‬ .‫شوند‬ ‫اعمال‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫و‬ ‫فرآیندها‬ ‫در‬ ‫الزم‬ ‫بهبودهای‬ ‫تا‬ ‫‌شود‬ ‫ی‬‫م‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫اصلی‬ ‫مراحل‬ DevOps : 1 ( ‫‌ریزی‬ ‫ه‬‫برنام‬ . Planning :) .‫‌کنند‬ ‫ی‬‫م‬ ‫تدوین‬ ‫را‬ ‫توسعه‬ ‫‌های‬ ‫ه‬‫برنام‬ ‫و‬ ‫‌آوری‬ ‫ع‬‫جم‬ ‫را‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫‌ها‬ ‫م‬‫تی‬ ،‫مرحله‬ ‫این‬ ‫در‬ - 2 ( ‫کدنویسی‬ . Coding :) ‫(مانند‬ ‫نسخه‬ ‫کنترل‬ ‫مخازن‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫و‬ ‫‌نویسند‬ ‫ی‬‫م‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫کدهای‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ - Git .‫‌کنند‬ ‫ی‬‫م‬ ‫اعمال‬ )
  • 25. 3 ( ‫ساخت‬ . Building :) .‫است‬ ‫اجرایی‬ ‫‌های‬ ‫ه‬‫بست‬ ‫ساختن‬ ‫و‬ ‫لینک‬ ،‫کامپایل‬ ‫شامل‬ ‫مرحله‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫تبدیل‬ ‫استقرار‬ ‫قابل‬ ‫‌های‬ ‫ه‬‫بست‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫کدهای‬ - 4 ( ‫تست‬ . Testing :) .‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫کارایی‬ ‫و‬ ‫کیفیت‬ ‫از‬ ‫تا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫تست‬ ‫خودکار‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫شده‬ ‫ساخته‬ ‫کدهای‬ - 5 ( ‫استقرار‬ . Deployment :) ( ‫تولیدی‬ ‫‌های‬ ‫ط‬‫محی‬ ‫به‬ ‫شده‬ ‫تست‬ ‫کدهای‬ - Production ( ‫‌تولیدی‬ ‫ش‬‫پی‬ ‫‌های‬ ‫ط‬‫محی‬ ‫یا‬ ) Staging .‫‌یابند‬ ‫ی‬‫م‬ ‫استقرار‬ ) 6 ( ‫عملیات‬ . Operations :) .‫‌گیرد‬ ‫ی‬‫م‬ ‫انجام‬ ‫آن‬ ‫عملکرد‬ ‫بر‬ ‫مستمر‬ ‫نظارت‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫اجرا‬ ‫تولیدی‬ ‫محیط‬ ‫در‬ ‫‌افزار‬ ‫م‬‫نر‬ - 7 ( ‫نظارت‬ . Monitoring :) .‫شود‬ ‫تضمین‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫امنیت‬ ‫و‬ ‫اطمینان‬ ‫قابلیت‬ ،‫عملکرد‬ ‫تا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫نظارت‬ ‫مداوم‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫‌ها‬ ‫م‬‫سیست‬ - ‫مزایای‬ DevOps : .‫اصالحات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫تحویل‬ ‫زمان‬ ‫کاهش‬ :‫‌تر‬ ‫ع‬‫سری‬ ‫تحویل‬ - .‫مشکالت‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫حل‬ ‫و‬ ‫شناسایی‬ :‫کیفیت‬ ‫افزایش‬ - .‫تولید‬ ‫محیط‬ ‫در‬ ‫مشکالت‬ ‫بروز‬ ‫احتمال‬ ‫کاهش‬ :‫بیشتر‬ ‫پایداری‬ - .‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫بین‬ ‫همکاری‬ ‫و‬ ‫ارتباط‬ ‫بهبود‬ :‫بهتر‬ ‫همکاری‬ - ‫ابزارهای‬ DevOps : :‫نسخه‬ ‫کنترل‬ ‫و‬ ‫‌گذاری‬ ‫ه‬‫نسخ‬ - , Git SVN ( ‫مداوم‬ ‫استقرار‬ ‫و‬ ‫مداوم‬ ‫ادغام‬ - / CI CD :) , , Jenkins Travis CI CircleCI :‫زیرساخت‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ - , , Ansible Puppet Chef :‫الگینگ‬ ‫و‬ ‫مانیتورینگ‬ - , , , Prometheus Grafana ELK Stack Splunk :‫کانتینرها‬ ‫مدیریت‬ - , Docker Kubernetes ‫‌های‬ ‫ش‬‫چال‬ DevOps : .‫باشد‬ ‫‌بر‬ ‫ن‬‫زما‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫سازمان‬ ‫در‬ ‫فرهنگی‬ ‫تغییرات‬ ‫به‬ ‫نیاز‬ :‫سازمانی‬ ‫فرهنگ‬ ‫تغییر‬ - ‫متنوع‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫تخصص‬ ‫و‬ ‫دانش‬ ‫به‬ ‫نیاز‬ :‫ابزارها‬ ‫پیچیدگی‬ - DevOps . .‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫بین‬ ‫مستمر‬ ‫همکاری‬ ‫و‬ ‫هماهنگی‬ ‫به‬ ‫نیاز‬ :‫‌ها‬ ‫م‬‫تی‬ ‫بین‬ ‫هماهنگی‬ - ‫متدولوژی‬ DevOps ‫اتوماسیون‬ ،‫همکاری‬ ‫افزایش‬ ‫با‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌برداری‬ ‫ه‬‫بهر‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫بهبود‬ ‫برای‬ ‫مؤثر‬ ‫و‬ ‫جامع‬ ‫راهکار‬ ‫یک‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌تر‬ ‫ت‬‫کیفی‬ ‫با‬ ‫و‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫تحویل‬ ‫به‬ ،‫مداوم‬ ‫نظارت‬ ‫و‬
  • 26. ( ) systems development life cycle SDLC
  • 27. ( ‫‌ها‬ ‫م‬‫سیست‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ Systems Development Life Cycle ‫یا‬ SDLC ‫فرآیند‬ ‫که‬ ‫است‬ ‫ساختاریافته‬ ‫چارچوب‬ ‫یک‬ ) .‫‌دهد‬ ‫ی‬‫م‬ ‫پوشش‬ ‫پایان‬ ‫تا‬ ‫آغاز‬ ‫از‬ ‫را‬ ‫اطالعاتی‬ ‫‌های‬ ‫م‬‫سیست‬ ‫توسعه‬ SDLC ‫‌صورت‬ ‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫به‬ ‫هدف‬ ‫و‬ ‫‌اند‬ ‫ه‬‫شد‬ ‫تعریف‬ ‫دقیق‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫یک‬ ‫هر‬ ‫که‬ ‫است‬ ‫مرحله‬ ‫چندین‬ ‫شامل‬ ‫چارچوب‬ ‫این‬ .‫کنند‬ ‫مدیریت‬ ‫و‬ ‫اجرا‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫سیستماتیک‬ .‫است‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫موفقیت‬ ‫تضمین‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫اصلی‬ ‫مراحل‬ SDLC : 1 ( ‫‌ریزی‬ ‫ه‬‫برنام‬ . Planning :) .‫پروژه‬ ‫دامنه‬ ‫تعیین‬ ‫و‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫‌آوری‬ ‫ع‬‫جم‬ ،‫پروژه‬ ‫اهداف‬ ‫تعریف‬ :‫‌ها‬ ‫ی‬‫نیازمند‬ ‫و‬ ‫اهداف‬ - .‫اجرا‬ ‫قابلیت‬ ‫تعیین‬ ‫برای‬ ‫پروژه‬ ‫عملیاتی‬ ‫و‬ ‫اقتصادی‬ ،‫فنی‬ ‫ارزیابی‬ :‫‌سنجی‬ ‫ن‬‫امکا‬ ‫مطالعه‬ - 2 ( ‫سیستم‬ ‫تحلیل‬ . System Analysis :) .‫‌نفعان‬ ‫ی‬‫ذ‬ ‫و‬ ‫کاربران‬ ‫‌های‬ ‫ی‬‫نیازمند‬ ‫مستندسازی‬ ‫و‬ ‫گردآوری‬ :‫‌ها‬ ‫ی‬‫نیازمند‬ ‫‌آوری‬ ‫ع‬‫جم‬ - .‫یابد‬ ‫توسعه‬ ‫باید‬ ‫که‬ ‫آنچه‬ ‫از‬ ‫بیشتر‬ ‫جزئیات‬ ‫و‬ ‫دقیق‬ ‫درک‬ ‫برای‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫تحلیل‬ :‫‌ها‬ ‫ی‬‫نیازمند‬ ‫تحلیل‬ - 3 ( ‫سیستم‬ ‫طراحی‬ . System Design :) .‫‌افزار‬ ‫م‬‫نر‬ ‫معماری‬ ‫تعیین‬ ‫و‬ ‫‌ها‬ ‫ی‬‫فناور‬ ‫انتخاب‬ ،‫سیستم‬ ‫کلی‬ ‫ساختار‬ ‫تعیین‬ :‫سیستم‬ ‫معماری‬ ‫طراحی‬ - .‫‌افزاری‬ ‫م‬‫نر‬ ‫اجزای‬ ‫و‬ ‫کاربری‬ ‫‌های‬ ‫ط‬‫راب‬ ،‫داده‬ ‫پایگاه‬ ‫شامل‬ ‫سیستم‬ ‫از‬ ‫قسمت‬ ‫هر‬ ‫برای‬ ‫دقیق‬ ‫‌های‬ ‫ی‬‫طراح‬ ‫ایجاد‬ :‫تفصیلی‬ ‫طراحی‬ - 4 ( ‫‌سازی‬ ‫ه‬‫پیاد‬ . Implementation :) .‫تفصیلی‬ ‫‌های‬ ‫ی‬‫طراح‬ ‫اساس‬ ‫بر‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫کدهای‬ ‫توسعه‬ :‫کدنویسی‬ - .‫سیستم‬ ‫مختلف‬ ‫اجزای‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ‫و‬ ‫ترکیب‬ :‫‌سازی‬ ‫ه‬‫یکپارچ‬ - 5 ( ‫تست‬ . Testing :) ( ‫واحد‬ ‫تست‬ - Unit Testing .‫جداگانه‬ ‫‌صورت‬ ‫ه‬‫ب‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫واحد‬ ‫هر‬ ‫عملکرد‬ ‫بررسی‬ :) ( ‫یکپارچگی‬ ‫تست‬ - Integration Testing .‫سیستم‬ ‫مختلف‬ ‫اجزای‬ ‫یکپارچه‬ ‫عملکرد‬ ‫بررسی‬ :) ( ‫سیستم‬ ‫تست‬ - System Testing .‫‌ها‬ ‫ی‬‫نیازمند‬ ‫شدن‬ ‫برآورده‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ‫سیستم‬ ‫کلی‬ ‫ارزیابی‬ :) ( ‫پذیرش‬ ‫تست‬ - Acceptance Testing .‫نهایی‬ ‫کاربران‬ ‫توسط‬ ‫سیستم‬ ‫نهایی‬ ‫تأیید‬ :) 6 ( ‫استقرار‬ . Deployment :) .‫استفاده‬ ‫برای‬ ‫‌سازی‬ ‫ه‬‫آماد‬ ‫و‬ ‫عملیاتی‬ ‫محیط‬ ‫در‬ ‫سیستم‬ ‫استقرار‬ :‫‌اندازی‬ ‫ه‬‫را‬ ‫و‬ ‫نصب‬ - .‫سیستم‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫نهایی‬ ‫کاربران‬ ‫آموزش‬ :‫کاربران‬ ‫آموزش‬ - 7 ( ‫پشتیبانی‬ ‫و‬ ‫نگهداری‬ . Maintenance and Support :) .‫‌افزار‬ ‫م‬‫نر‬ ‫اشکاالت‬ ‫اصالح‬ ‫و‬ ‫شناسایی‬ :‫اشکاالت‬ ‫رفع‬ - .‫کاربران‬ ‫بازخورد‬ ‫اساس‬ ‫بر‬ ‫نیاز‬ ‫مورد‬ ‫بهبودهای‬ ‫و‬ ‫منظم‬ ‫‌های‬ ‫ی‬‫‌روزرسان‬ ‫ه‬‫ب‬ ‫انجام‬ :‫بهبودها‬ ‫و‬ ‫‌ها‬ ‫ی‬‫‌روزرسان‬ ‫ه‬‫ب‬ -
  • 28. ‫مزایای‬ SDLC : .‫‌افزاری‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫اجرای‬ ‫و‬ ‫مدیریت‬ ‫برای‬ ‫ساختاریافته‬ ‫چارچوب‬ ‫یک‬ ‫ارائه‬ :‫منظم‬ ‫ساختار‬ - .‫‌افزار‬ ‫م‬‫نر‬ ‫کیفیت‬ ‫تضمین‬ ‫برای‬ ‫متعدد‬ ‫‌های‬ ‫ی‬‫بازبین‬ ‫و‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫انجام‬ ‫از‬ ‫اطمینان‬ :‫کیفیت‬ ‫کنترل‬ - .‫پروژه‬ ‫از‬ ‫مرحله‬ ‫هر‬ ‫در‬ ‫جامع‬ ‫و‬ ‫دقیق‬ ‫مستندات‬ ‫ایجاد‬ :‫جامع‬ ‫مستندسازی‬ - .‫توسعه‬ ‫فرآیند‬ ‫طول‬ ‫در‬ ‫‌ها‬ ‫ک‬‫ریس‬ ‫مدیریت‬ ‫و‬ ‫شناسایی‬ :‫ریسک‬ ‫مدیریت‬ - ‫معایب‬ SDLC : .‫باشد‬ ‫پرهزینه‬ ‫و‬ ‫دشوار‬ ‫پایانی‬ ‫مراحل‬ ‫در‬ ‫‌ها‬ ‫ی‬‫نیازمند‬ ‫تغییر‬ ‫است‬ ‫ممکن‬ :‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫عدم‬ - .‫باشد‬ ‫داشته‬ ‫نیاز‬ ‫زیادی‬ ‫زمان‬ ‫است‬ ‫ممکن‬ ‫مستندسازی‬ ‫و‬ ‫دقیق‬ ‫فرآیندهای‬ :‫بودن‬ ‫‌بر‬ ‫ن‬‫زما‬ - .‫بیافتد‬ ‫تعویق‬ ‫به‬ ‫پایانی‬ ‫مراحل‬ ‫تا‬ ‫است‬ ‫ممکن‬ ‫کاربران‬ ‫بازخورد‬ ‫دریافت‬ :‫بازخورد‬ ‫در‬ ‫تأخیر‬ - ‫‌های‬ ‫ل‬‫مد‬ ‫انواع‬ SDLC : 1 ( ‫آبشاری‬ ‫مدل‬ . Waterfall Model :) .‫شود‬ ‫تکمیل‬ ‫بعدی‬ ‫مرحله‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫کامل‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫باید‬ ‫مرحله‬ ‫هر‬ ‫که‬ ‫ترتیبی‬ ‫و‬ ‫خطی‬ ‫رویکرد‬ - 2 ( ‫چابک‬ ‫مدل‬ . Agile Model :) .‫دارد‬ ‫تأکید‬ ‫مداوم‬ ‫تحویل‬ ‫و‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ ،‫همکاری‬ ‫بر‬ ‫که‬ ‫افزایشی‬ ‫و‬ ‫تکرارشونده‬ ‫رویکرد‬ - 3 ( ‫مارپیچی‬ ‫مدل‬ . Spiral Model :) .‫است‬ ‫ارزیابی‬ ‫و‬ ‫توسعه‬ ،‫ریسک‬ ‫تحلیل‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ :‫اصلی‬ ‫فاز‬ ‫چهار‬ ‫شامل‬ ‫که‬ ‫ریسک‬ ‫ارزیابی‬ ‫و‬ ‫تکرارشونده‬ ‫توسعه‬ ‫از‬ ‫ترکیبی‬ - 4 ‫مدل‬ . ( - ) V V Model : .‫دارد‬ ‫مرحله‬ ‫هر‬ ‫در‬ ‫تأیید‬ ‫و‬ ‫تست‬ ‫بر‬ ‫بیشتری‬ ‫تأکید‬ ‫که‬ ‫آبشاری‬ ‫مدل‬ ‫گسترش‬ - :‫‌بندی‬ ‫ع‬‫جم‬ SDLC ‫‌صورت‬ ‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫اجرای‬ ‫و‬ ‫مدیریت‬ ‫برای‬ ‫جامع‬ ‫چارچوب‬ ‫یک‬ ،‫معایب‬ ‫و‬ ‫‌ها‬ ‫ش‬‫چال‬ ‫وجود‬ ‫با‬ .‫ببرند‬ ‫پیش‬ ‫‌یافته‬ ‫ن‬‫سازما‬ ‫و‬ ‫سیستماتیک‬ SDLC ‫‌افزارهای‬ ‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫‌ها‬ ‫ش‬‫رو‬ ‫پرکاربردترین‬ ‫از‬ ‫یکی‬ ‫همچنان‬ .‫است‬ ‫‌آمیز‬ ‫ت‬‫موفقی‬ ‫و‬ ‫کیفیت‬ ‫با‬
  • 30. ( ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ Life Cycle Management ‫سیستم‬ ‫یک‬ ‫حیات‬ ‫مراحل‬ ‫تمامی‬ ‫مدیریت‬ ‫فرآیند‬ ‫به‬ ‫اطالعات‬ ‫فناوری‬ ‫حوزه‬ ‫در‬ ) ‫کار‬ ‫(از‬ ‫بازنشستگی‬ ‫و‬ ‫نگهداری‬ ،‫‌برداری‬ ‫ه‬‫بهر‬ ،‫توسعه‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫شامل‬ ‫مراحل‬ ‫این‬ .‫دارد‬ ‫اشاره‬ ‫پایان‬ ‫تا‬ ‫آغاز‬ ‫از‬ ‫‌افزاری‬ ‫ت‬‫سخ‬ ‫یا‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫اطمینان‬ ‫قابلیت‬ ‫و‬ ‫کارایی‬ ‫افزایش‬ ‫و‬ ‫‌ها‬ ‫ه‬‫هزین‬ ‫کاهش‬ ،‫منابع‬ ‫از‬ ‫استفاده‬ ‫‌سازی‬ ‫ه‬‫بهین‬ ،‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫از‬ ‫هدف‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫سیستم‬ )‫انداختن‬ .‫است‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫مفهوم‬ :‫است‬ ‫زیر‬ ‫مراحل‬ ‫شامل‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ 1 .‫پروژه‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫و‬ ‫‌سنجی‬ ‫ن‬‫امکا‬ ‫ارزیابی‬ ،‫سیستم‬ ‫طراحی‬ ،‫‌ها‬ ‫ی‬‫نیازمند‬ ‫تعریف‬ ‫شامل‬ :‫طراحی‬ ‫و‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ . 2 .‫سیستم‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫‌سازی‬ ‫ه‬‫یکپارچ‬ ،‫کدنویسی‬ ‫شامل‬ :‫‌سازی‬ ‫ه‬‫پیاد‬ ‫و‬ ‫توسعه‬ . 3 .‫مشکالت‬ ‫حل‬ ‫و‬ ‫‌ها‬ ‫ی‬‫‌روزرسان‬ ‫ه‬‫ب‬ ،‫تغییرات‬ ‫مدیریت‬ ،‫مانیتورینگ‬ ‫شامل‬ :‫نگهداری‬ ‫و‬ ‫‌برداری‬ ‫ه‬‫بهر‬ . 4 .‫منابع‬ ‫بازیابی‬ ‫و‬ ‫جدید‬ ‫‌های‬ ‫م‬‫سیست‬ ‫به‬ ‫‌ها‬ ‫ه‬‫داد‬ ‫انتقال‬ ،‫سیستم‬ ‫انداختن‬ ‫کار‬ ‫از‬ ‫شامل‬ :‫بازنشستگی‬ . ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫یعنی‬ ‫ابزارها‬ ‫این‬ ‫از‬ ‫مورد‬ ‫دو‬ ‫اینجا‬ ‫در‬ .‫دارند‬ ‫وجود‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫مختلفی‬ ‫ابزارهای‬ Foreman ‫و‬ Red Hat Satellite :‫‌دهیم‬ ‫ی‬‫م‬ ‫توضیح‬ ‫را‬ Foreman Foreman .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫مجازی‬ ‫و‬ ‫فیزیکی‬ ‫‌های‬ ‫ت‬‫زیرساخ‬ ‫مدیریت‬ ‫امکان‬ ‫که‬ ‫است‬ ‫سرورها‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫برای‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫ابزار‬ ‫یک‬ .‫دارد‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫مدیریت‬ ‫فرآیندهای‬ ‫خودکارسازی‬ ‫برای‬ ‫متنوعی‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫ابزار‬ ‫این‬ ‫اصلی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ Foreman : ‫از‬ ‫استفاده‬ :‫خودکار‬ ‫پیکربندی‬ - Puppet .‫سرورها‬ ‫خودکار‬ ‫پیکربندی‬ ‫برای‬ ‫مانند‬ ‫مختلف‬ ‫‌های‬ ‫م‬‫پلتفر‬ ‫در‬ ‫مجازی‬ ‫‌های‬ ‫ن‬‫ماشی‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬ ‫امکان‬ :‫مجازی‬ ‫‌های‬ ‫ن‬‫ماشی‬ ‫مدیریت‬ - VMware، Libvirt ‫و‬ OpenStack . .‫‌ها‬ ‫گ‬‫ال‬ ‫مدیریت‬ ‫و‬ ‫سرورها‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫ارائه‬ :‫مانیتورینگ‬ ‫و‬ ‫نظارت‬ - ‫جمله‬ ‫از‬ ‫مختلف‬ ‫‌های‬ ‫ل‬‫عام‬ ‫سیستم‬ ‫با‬ ‫سرورهایی‬ ‫مدیریت‬ ‫امکان‬ :‫عامل‬ ‫سیستم‬ ‫چندین‬ ‫از‬ ‫پشتیبانی‬ - Linux ‫و‬ Windows . ‫مانند‬ ‫ابزارهایی‬ ‫با‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ‫قابلیت‬ :‫دیگر‬ ‫ابزارهای‬ ‫با‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ - Ansible، Chef ‫و‬ Salt . Red Hat Satellite Red Hat Satellite ‫به‬ ‫ابزار‬ ‫این‬ .‫است‬ ‫شده‬ ‫طراحی‬ ‫پیچیده‬ ‫و‬ ‫بزرگ‬ ‫‌های‬ ‫ط‬‫محی‬ ‫مدیریت‬ ‫برای‬ ‫که‬ ‫است‬ ‫سیستم‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬ .‫کنند‬ ‫‌روزرسانی‬ ‫ه‬‫ب‬ ‫و‬ ‫مدیریت‬ ‫متمرکز‬ ‫‌صورت‬ ‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫سرورهای‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫ن‬‫سازما‬
  • 31. ‫اصلی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ Red Hat Satellite : ‫از‬ ‫استفاده‬ ‫با‬ ‫سرورها‬ ‫تنظیمات‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ ‫امکان‬ :‫پیکربندی‬ ‫مدیریت‬ - Puppet ‫و‬ Ansible . .‫سیستم‬ ‫‌های‬ ‫ی‬‫‌روزرسان‬ ‫ه‬‫ب‬ ‫و‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫بست‬ ‫مرکزی‬ ‫مدیریت‬ :‫‌ها‬ ‫ی‬‫‌روزرسان‬ ‫ه‬‫ب‬ ‫و‬ ‫‌ها‬ ‫ه‬‫بست‬ ‫مدیریت‬ - .‫جدید‬ ‫‌های‬ ‫ه‬‫نسخ‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ایجاد‬ ‫جمله‬ ‫از‬ ‫محتوا‬ ‫‌های‬ ‫ه‬‫بست‬ ‫و‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫امکان‬ :‫محتوا‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ - .‫هشدارها‬ ‫مدیریت‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫ابزارهای‬ ‫ارائه‬ :‫مانیتورینگ‬ ‫و‬ ‫نظارت‬ - .‫سازمانی‬ ‫استانداردهای‬ ‫با‬ ‫تطابق‬ ‫و‬ ‫امنیتی‬ ‫‌های‬ ‫ت‬‫سیاس‬ ‫اجرای‬ ‫امکان‬ :‫تطابق‬ ‫و‬ ‫امنیت‬ - ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫سایر‬ ‫بر‬ ‫عالوه‬ Foreman ‫و‬ Red Hat Satellite :‫دارند‬ ‫وجود‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫برای‬ ‫نیز‬ ‫دیگری‬ ‫ابزارهای‬ ، - Ansible Tower ‫پایه‬ ‫بر‬ ‫که‬ ‫خودکارسازی‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬ : Ansible ‫مدیریتی‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫و‬ ‫شده‬ ‫ساخته‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫ارائه‬ ‫‌تری‬ ‫ه‬‫پیشرفت‬ - Puppet Enterprise ‫پایه‬ ‫بر‬ ‫که‬ ‫خودکارسازی‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬ ‫پلتفرم‬ ‫یک‬ : Puppet ‫مدیریتی‬ ‫امکانات‬ ‫و‬ ‫شده‬ ‫ساخته‬ .‫دارد‬ ‫‌ای‬ ‫ه‬‫پیشرفت‬ - Chef Automate ‫را‬ ‫خود‬ ‫‌برداری‬ ‫ه‬‫بهر‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫که‬ ‫خودکارسازی‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬ : .‫کنند‬ ‫خودکار‬ ‫افزایش‬ ‫و‬ ‫منابع‬ ‫از‬ ‫استفاده‬ ‫‌سازی‬ ‫ه‬‫بهین‬ ‫به‬ ‫که‬ ‫است‬ ‫اطالعات‬ ‫فناوری‬ ‫مدیریت‬ ‫از‬ ‫حیاتی‬ ‫جنبه‬ ‫یک‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫عمر‬ ‫چرخه‬ ‫مدیریت‬ ‫مانند‬ ‫ابزارهایی‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫کارایی‬ Foreman ‫و‬ Red Hat Satellite ‫مدیریت‬ ‫و‬ ‫خودکارسازی‬ ‫در‬ ‫مهمی‬ ‫نقش‬ .‫کنند‬ ‫مدیریت‬ ‫مؤثرتر‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫را‬ ‫خود‬ ‫‌های‬ ‫م‬‫سیست‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫ن‬‫سازما‬ ‫به‬ ‫و‬ ‫دارند‬ ‫عمر‬ ‫چرخه‬ ‫مختلف‬ ‫فرآیندهای‬
  • 32. ‫در‬ ‫استقرار‬ DevOps ‫؟‬ ‫هست‬ ‫معیاری‬ ‫چه‬ ‫اساس‬ ‫بر‬ ‫استقرار‬ ‫یک‬ ‫مبنای‬ ‫بر‬ ‫را‬ ‫خود‬ ‫کد‬ ‫قادرند‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ،‫میکروسرویس‬ ‫رویکرد‬ ‫از‬ ‫‌گیری‬ ‫ه‬‫بهر‬ ‫و‬ ‫محور‬ ‫سرویس‬ ‫معماری‬ ‫اعمال‬ ‫با‬ ،‫حاضر‬ ‫حال‬ ‫در‬ .‫نمایند‬ ‫مستقر‬ ‫و‬ ‫اعمال‬ ‫همزمان‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫کدها‬ ‫مختلف‬ ‫‌های‬ ‫ش‬‫بخ‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫به‬ ‫اقدام‬ ‫این‬ .‫کنند‬ ‫ایجاد‬ ‫ماژوالر‬ ‫طراحی‬ :‫از‬ ‫عبارتند‬ ‫‌تر‬ ‫ه‬‫کوتا‬ ‫استقرار‬ ‫‌های‬ ‫ه‬‫چرخ‬ ‫از‬ ‫تجاری‬ ‫‌های‬ ‫د‬‫سو‬ .‫بازار‬ ‫به‬ ‫محصول‬ ‫عرضه‬ ‫زمان‬ ‫کاهش‬ - .‫محصول‬ ‫جدید‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫به‬ ‫مشتریان‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫دسترسی‬ - .‫‌شود‬ ‫ی‬‫م‬ ‫کد‬ ‫مشکالت‬ ‫سریع‬ ‫رفع‬ ‫و‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫پرسرعت‬ ‫و‬ ‫مکرر‬ ‫‌ی‬ ‫ه‬‫توسع‬ ‫موجب‬ ‫که‬ ،‫توسعه‬ ‫تیم‬ ‫به‬ ‫مشتریان‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫بازخورد‬ - ‫‌های‬ ‫م‬‫تی‬ ‫برای‬ ‫را‬ ‫جدیدی‬ ‫‌های‬ ‫ش‬‫چال‬ ‫نیز‬ ‫تغییرات‬ ‫این‬ ،‫اما‬ DevOps ‫در‬ ‫کاستی‬ ‫به‬ ‫منجر‬ ‫است‬ ‫ممکن‬ ‫اما‬ ،‫مکرر‬ ‫استقرار‬ .‫است‬ ‫کرده‬ ‫ایجاد‬ ‫و‬ ‫محصول‬ ‫ریسک‬ ‫که‬ ‫شود‬ ‫تدوین‬ ‫کد‬ ‫استقرار‬ ‫برای‬ ‫مناسبی‬ ‫‌های‬ ‫ی‬‫استراتژ‬ ‫که‬ ‫است‬ ‫ضروری‬ ،‫رو‬ ‫این‬ ‫از‬ .‫شود‬ ‫مشتری‬ ‫تجربه‬ ‫و‬ ‫اطمینان‬ ‫قابلیت‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫که‬ ‫ابزارهایی‬ ‫و‬ ‫برتر‬ ‫تجارب‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫استقرار‬ ‫‌های‬ ‫ی‬‫استراتژ‬ ‫از‬ ‫تعدادی‬ ‫بررسی‬ ‫به‬ ‫جا‬ ‫این‬ ‫در‬ .‫برساند‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫مشتری‬ ‫تجربه‬ .‫پرداخت‬ ‫خواهیم‬ ،‫کنند‬ ‫عمل‬ ‫بیشتر‬ ‫امنیت‬ ‫و‬ ‫سرعت‬ ‫با‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬
  • 35. . ‫سبز‬ ‫دیگری‬ ‫و‬ ‫آبی‬ ‫نام‬ ‫به‬ ‫یکی‬ - ‫است‬ ‫یکسان‬ ‫تولید‬ ‫محیط‬ ‫دو‬ ‫داشتن‬ ‫شامل‬ ‫که‬ ‫است‬ ‫انتشار‬ ‫مدیریت‬ ‫استراتژی‬ ‫یک‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ " " " " .‫هستند‬ ‫مشابهی‬ ‫تنظیمات‬ ‫و‬ ‫‌ها‬ ‫ت‬‫زیرساخ‬ ،‫منابع‬ ‫حاوی‬ ‫که‬ ،‫باشند‬ ‫یکدیگر‬ ‫دقیق‬ ‫‌سازی‬ ‫ه‬‫شبی‬ ‫که‬ ‫‌اند‬ ‫ه‬‫شد‬ ‫طراحی‬ ‫‌ای‬ ‫ه‬‫گون‬ ‫به‬ ‫‌ها‬ ‫ط‬‫محی‬ ‫این‬ ‫برای‬ ‫شما‬ ‫به‬ ‫دادن‬ ‫اجازه‬ ‫با‬ ‫جدید‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫نسخ‬ ‫معرفی‬ ‫خطر‬ ‫کاهش‬ ‫و‬ ‫خرابی‬ ‫زمان‬ ‫رساندن‬ ‫حداقل‬ ‫به‬ ،‫آبی‬-‫سبز‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫اصلی‬ ‫هدف‬ .‫است‬ ‫‌ها‬ ‫ط‬‫محی‬ ‫این‬ ‫بین‬ ‫‌جایی‬ ‫ه‬‫جاب‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ ‫این‬ .‫دهید‬ ‫می‬ ‫انجام‬ )‫سبز‬ ‫(مثًال‬ ‫فعال‬ ‫غیر‬ ‫محیط‬ ‫در‬ ‫را‬ ‫کار‬ ‫این‬ ،‫کنید‬ ‫می‬ ‫اجرا‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫از‬ ‫جدیدی‬ ‫نسخه‬ ‫که‬ ‫هنگامی‬ ‫بر‬ ‫تأثیرگذاری‬ ‫بدون‬ ‫را‬ ‫الزم‬ ‫تنظیمات‬ ‫و‬ ‫کنید‬ ‫حاصل‬ ‫اطمینان‬ ‫آن‬ ‫بودن‬ ‫پایدار‬ ‫از‬ ،‫کنید‬ ‫آزمایش‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫آن‬ ‫و‬ ‫دهید‬ ‫تغییر‬ ‫سبز‬ ‫محیط‬ ‫به‬ ‫را‬ ‫کاربران‬ ‫توانید‬ ‫می‬ ،‫است‬ ‫اعتماد‬ ‫قابل‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫شدید‬ ‫مطمئن‬ ‫که‬ ‫هنگامی‬ .‫دهید‬ ‫انجام‬ ‫خود‬ ‫کاربران‬ ‫استقرار‬ ‫دریافت‬ ‫آماده‬ ‫و‬ ‫شود‬ ‫می‬ ‫تبدیل‬ ‫کار‬ ‫به‬ ‫آماده‬ ‫حالت‬ ‫به‬ ‫اکنون‬ ‫بود‬ ‫فعال‬ ‫قبًال‬ ‫که‬ ‫آبی‬ ‫محیط‬ .‫کنید‬ ‫تبدیل‬ ‫جدید‬ ‫فعال‬ ‫تولید‬ ‫محیط‬ ‫به‬ ‫را‬ .‫است‬ ‫بعدی‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫یکسان‬ ‫داده‬ ‫پایگاه‬ ‫و‬ ‫پایداری‬ ‫الیه‬ ‫یک‬ ‫از‬ ‫سیستم‬ ‫دو‬ ‫هر‬ ‫سبز‬ ‫آبی‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫یک‬ ‫در‬ ‫واقع‬ ‫در‬ – ‫های‬ ‫داده‬ ‫سازی‬ ‫همگام‬ ‫حفظ‬ ‫داده‬ ‫پایگاه‬ ‫یک‬ ‫و‬ ‫است‬ ‫ضروری‬ ‫اپلیکیشن‬ Mirror ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ .‫باشد‬ ‫کننده‬ ‫کمک‬ ‫‌تواند‬ ‫ی‬‫م‬ )‌ ‫ی‬‫ا‬ ‫(آینه‬ ‫برای‬ ‫آبی‬ ‫بوسیله‬ ‫را‬ ‫اصلی‬ ‫داده‬ ‫پایگاه‬ Write ‫خواندن‬ ‫برای‬ ‫سبز‬ ‫وسیله‬ ‫به‬ ‫را‬ ‫ثانویه‬ ‫داده‬ ‫پایگاه‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫داده‬ ‫پایگاه‬ ‫در‬ ‫ها‬ ‫عملیات‬ ‫داده‬ ‫های‬ ‫پایگاه‬ ،‫باشد‬ ‫داشته‬ ‫نیاز‬ ‫نوشتن‬ ‫به‬ ‫تست‬ ‫عملیات‬ ‫حین‬ ‫نیز‬ ‫سبز‬ ‫اگر‬ .‫کنید‬ ‫استفاده‬ ‫سبز‬ ‫به‬ ‫آبی‬ ‫از‬ ‫جابجایی‬ ‫حین‬ ‫ها‬ ‫عملیات‬ .‫یابند‬ ‫تکثیر‬ ‫طرفه‬ ‫دو‬ ‫بصورت‬ ‫‌توانند‬ ‫ی‬‫م‬
  • 36. ‫است‬ ‫ممکن‬ .‫بازگردانید‬ ‫فعالیت‬ ‫چرخه‬ ‫به‬ ‫مجددا‬ ‫یا‬ ‫و‬ ‫نموده‬ ‫غیرفعال‬ ‫را‬ ‫آبی‬ ‫قدیمی‬ ‫نمونه‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ ،‫‌شود‬ ‫ی‬‫م‬ ‫فعال‬ ‫سبز‬ ‫وقتی‬ ‫ورژن‬ ‫یک‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫را‬ ‫جدیدتر‬ ‫مسیریابی‬ ‫بر‬ ‫سبز‬ -‫آبی‬ ‫استقرارهای‬ .‫نمایید‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫بعدی‬ ‫انتشار‬ ‫در‬ ‫جدید‬ ‫سبز‬ ‫عنوان‬ ‫به‬ ‫و‬ ‫نمایید‬ ‫مستقر‬ ‫نمونه‬ ‫ترافیک‬ ‫رسانی‬ ‫بروز‬ ‫با‬ ‫‌توان‬ ‫ی‬‫م‬ ‫را‬ ‫اینکار‬ .‫هستند‬ ‫متکی‬ DNS CNAME ( ‫میزبان‬ ‫برای‬ ‫ها‬ host ‫مقادیر‬ ‫اینحال‬ ‫با‬ .‫رساند‬ ‫انجام‬ ‫به‬ ‫ها‬ ) ‫طوالنی‬ TTL ‫تا‬ ‫دهید‬ ‫تغییر‬ ‫را‬ ‫بار‬ ‫کننده‬ ‫متعادل‬ ‫تنظیمات‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ ،‫جایگزین‬ ‫بعنوان‬ .‫سازد‬ ‫مواجه‬ ‫تاخیر‬ ‫با‬ ‫را‬ ‫تغییرات‬ ‫این‬ ‫‌تواند‬ ‫ی‬‫م‬ .‫شوند‬ ‫اعمال‬ ‫سرعت‬ ‫به‬ ‫تغییرات‬ ‫چیست؟‬ ‫قناری‬ ‫استقرار‬ ‫استقرار‬ Canary ‫در‬ ‫استقرار‬ ‫از‬ ‫قبل‬ ‫را‬ ‫جدید‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫نسخ‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫که‬ ‫است‬ ‫انتشار‬ ‫مدیریت‬ ‫‌های‬ ‫ی‬‫استراتژ‬ ‫از‬ ‫دیگر‬ ‫یکی‬ »‫‌سنگ‬ ‫ل‬‫زغا‬ ‫معدن‬ ‫در‬ ‫«قناری‬ ‫قیاس‬ ‫نام‬ ‫به‬ ‫که‬ ‫روش‬ ‫این‬ .‫کنید‬ ‫عرضه‬ ‫کاربران‬ ‫از‬ ‫‌ای‬ ‫ه‬‫‌شد‬ ‫ل‬‫کنتر‬ ‫و‬ ‫کوچک‬ ‫گروه‬ ‫برای‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬ ‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫کاربران‬ ‫همه‬ ‫بر‬ ‫تأثیرگذاری‬ ‫از‬ ‫قبل‬ ‫را‬ ‫جدید‬ ‫نسخه‬ ‫احتمالی‬ ‫مشکل‬ ‫هرگونه‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫شما‬ ‫به‬ ،‫است‬ ‫شده‬ ‫نامگذاری‬ .‫‌رساند‬ ‫ی‬‫م‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫برق‬ ‫قطع‬ ‫یا‬ ‫گسترده‬ ‫مشکل‬ ‫یک‬ ‫خطر‬ ‫بنابراین‬ ،‫کنید‬ ‫به‬ ‫آبی‬ ‫از‬ ‫جابجایی‬ ‫جای‬ ‫به‬ .‫است‬ ‫همراه‬ ‫بیشتری‬ ‫پذیری‬ ‫ریسک‬ ‫با‬ ‫اینکه‬ ‫جز‬ ‫است‬ ‫سبز‬ -‫آبی‬ ‫مشابه‬ ‫قناری‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫از‬ ‫کوچکی‬ ‫بخش‬ ‫در‬ ‫را‬ ‫جدید‬ ‫کد‬ ‫یک‬ ،‫قناری‬ ‫روش‬ ‫به‬ ‫استقرار‬ ‫با‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫استفاده‬ ‫شده‬ ‫بندی‬ ‫مرحله‬ ‫رویکرد‬ ‫یک‬ ‫از‬ ‫شما‬ ،‫گام‬ ‫یک‬ ‫در‬ ‫سبز‬ ‫های‬ ‫زیرساخت‬ Production ‫به‬ ‫کاربران‬ ‫از‬ ‫کمی‬ ‫عده‬ ‫تنها‬ ،‫یافت‬ ‫دست‬ ‫انتشار‬ ‫جهت‬ ‫تایید‬ ‫به‬ ‫اپلیکیشن‬ ‫اینکه‬ ‫از‬ ‫پس‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫مستقر‬ .‫‌رساند‬ ‫ی‬‫م‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫خرابی‬ ‫هرگونه‬ ‫اینکار‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫هدایت‬ ‫آن‬ ‫سمت‬ ‫دهنده‬ ‫نشان‬ ‫زیر‬ ‫تصویر‬ .‫یابد‬ ‫گسترش‬ ‫زیرساخت‬ ‫باقیمانده‬ ‫بر‬ ‫تدریج‬ ‫به‬ ‫تواند‬ ‫می‬ ‫جدید‬ ‫ورژن‬ ،‫نیافته‬ ‫بروز‬ ‫خطایی‬ ‫هیچ‬ ‫که‬ ‫شود‬ ‫گزارش‬ ‫اگر‬ .‫است‬ ‫قناری‬ ‫استقرار‬ ‫اجرای‬ ‫نحوه‬
  • 37. ‫نظر‬ ‫زیر‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫عملکرد‬ ‫و‬ ‫بازخورد‬ ،‫‌کنید‬ ‫ی‬‫م‬ ‫عرضه‬ ‫کاربران‬ ‫از‬ ‫درصدی‬ ‫برای‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫جدید‬ ‫نسخه‬ ‫تدریج‬ ‫به‬ ‫شما‬ ،‫قناری‬ ‫استقرار‬ ‫در‬ ‫دریافت‬ ‫مثبت‬ ‫بازخورد‬ ‫و‬ ‫باشد‬ ‫داشته‬ ‫خوبی‬ ‫عملکرد‬ ‫جدید‬ ‫نسخه‬ ‫اگر‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫تکرار‬ ‫بیاید‬ ‫پیش‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫را‬ ‫مشکلی‬ ‫هر‬ ‫و‬ ‫‌گیرید‬ ‫ی‬‫م‬ ‫برطرف‬ ‫را‬ ‫مشکالت‬ ،‫کنید‬ ‫متوقف‬ ‫را‬ ‫عرضه‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫شدید‬ ‫مواجه‬ ‫مشکلی‬ ‫با‬ ‫اگر‬ ،‫دیگر‬ ‫طرف‬ ‫از‬ .‫دهید‬ ‫ادامه‬ ‫را‬ ‫کامل‬ ‫نسخه‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫کند‬ ‫و‬ ‫شناسایی‬ ‫اوایل‬ ‫در‬ ‫بالقوه‬ ‫مشکل‬ ‫گونه‬ ‫هر‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫افزایشی‬ ‫رویکرد‬ ‫این‬ .‫دهید‬ ‫ادامه‬ ‫را‬ ‫روند‬ ‫سپس‬ ‫و‬ ‫کنید‬ .‫دهد‬ ‫می‬ ‫کاهش‬ ‫را‬ ‫بار‬ ‫فاجعه‬ ‫شکست‬ ‫یک‬ ‫خطر‬ ‫و‬ ‫شود‬ ‫می‬ ‫فصل‬ ‫و‬ ‫حل‬ ‫استقرار‬ ‫اسم‬ ‫به‬ ‫فوق‬ ‫استراتژی‬ ‫گذاری‬ ‫نام‬ ‫دلیل‬ ‫قناری‬ ‫با‬ ‫‌کردند‬ ‫ی‬‫م‬ ‫کار‬ ‫سنگ‬ ‫زغال‬ ‫معدن‬ ‫در‬ ‫که‬ ‫افرادی‬ ‫گذشته‬ ‫در‬ ‫که‬ ‫است‬ ‫دلیل‬ ‫این‬ ‫به‬ ، ‫بر‬ ‫را‬ ‫جدید‬ ‫تغییرات‬ ‫ابتدا‬ ‫استراتژی‬ ‫این‬ ‫در‬ ‫دلیل‬ ‫همین‬ ‫به‬ .‫‌فهمیدند‬ ‫ی‬‫م‬ ‫معدن‬ ‫در‬ ‫را‬ ‫سمی‬ ‫گازهای‬ ‫انتشار‬ ،‫ها‬ ‫قناری‬ ‫سروصدای‬ ‫از‬ ‫استفاده‬ .‫دهند‬ ‫نشان‬ ‫ما‬ ‫به‬ ‫را‬ ‫آمده‬ ‫پیش‬ ‫مشکالت‬ ‫‌توانند‬ ‫ی‬‫م‬ ‌ ،‫‌ها‬ ‫ی‬‫قنار‬ ‫سروصدای‬ ‫همانند‬ ‫کاربران‬ ‫این‬ ‫و‬ ‫‌کنیم‬ ‫ی‬‫م‬ ‫تست‬ ‫کاربران‬ ‫از‬ ‫اندکی‬ ‫تعداد‬ ‫روی‬ ‫برای‬ ‫راهی‬ ‫تدبیر‬ ‫قناری‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫اصلی‬ ‫چالش‬ ‫به‬ ‫کاربران‬ ‫برخی‬ ‫هدایت‬ ‫برخی‬ ‫آن‬ ‫بر‬ ‫عالوه‬ .‫است‬ ‫جدید‬ ‫اپلیکیشن‬ ‫درحالیکه‬ ‫باشند‬ ‫داشته‬ ‫نیاز‬ ‫تست‬ ‫برای‬ ‫کاربران‬ ‫از‬ ‫یکسانی‬ ‫گروه‬ ‫به‬ ‫همیشه‬ ‫است‬ ‫ممکن‬ ‫ها‬ ‫برنامه‬ ‫از‬ ‫متفاوتی‬ ‫گروه‬ ‫به‬ ‫زمان‬ ‫هر‬ ‫در‬ ‫دیگر‬ ‫برخی‬ .‫دارند‬ ‫احتیاج‬ ‫کاربران‬ .‫کنید‬ ‫هدایت‬ ‫قناری‬ ‫استقرار‬ ‫در‬ ‫را‬ ‫کاربر‬ ‫ترافیک‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫زیر‬ ‫‌های‬ ‫ک‬‫تکنی‬ ‫از‬ ‫یکی‬ ‫انتخاب‬ ‫با‬
  • 38. • ‫خارجی‬ ‫کاربران‬ ‫سپس‬ ‫و‬ ‫شوند‬ ‫قناری‬ ‫استقرار‬ ‫وارد‬ ‫داخلی‬ ‫کاربران‬ ‫ابتدا‬ • ‫محدوده‬ ‫مبنای‬ ‫بر‬ ‫ترافیک‬ ‫مسیریابی‬ IP ‫کاربران‬ • ‫خاص‬ ‫جغرافیایی‬ ‫نواحی‬ ‫در‬ ‫اپلیکیشن‬ ‫انتشار‬ • ‫برنامه‬ ‫که‬ ‫هنگامی‬ ‫منطق‬ ‫این‬ .‫خاص‬ ‫های‬ ‫گروه‬ ‫یا‬ ‫کاربران‬ ‫برای‬ ‫جدید‬ ‫های‬ ‫ویژگی‬ ‫کردن‬ ‫فعال‬ ‫منظور‬ ‫به‬ ‫منطق‬ ‫یک‬ ‫کارگیری‬ ‫به‬ .‫‌گردد‬ ‫ی‬‫م‬ ‫حذف‬ ‫‌شود‬ ‫ی‬‫م‬ ‫فعال‬ ‫نیز‬ ‫کاربران‬ ‫باقیمانده‬ ‫برای‬ ‫کنند؟‬ ‫می‬ ‫کار‬ ‫چگونه‬ ‫قناری‬ ‫استقرار‬ ‫و‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬ .‫بیاندازیم‬ ‫عمل‬ ‫در‬ ‫استراتژی‬ ‫هر‬ ‫عملکرد‬ ‫نحوه‬ ‫به‬ ‫‌تر‬ ‫ق‬‫دقی‬ ‫نگاهی‬ ‫بیایید‬ ،‫قناری‬ ‫و‬ ‫سبز‬-‫آبی‬ ‫استقرار‬ ‫بین‬ ‫‌های‬ ‫ت‬‫تفاو‬ ‫بهتر‬ ‫درک‬ ‫برای‬ ‫سبز‬-‫آبی‬ ‫استقرار‬ ‫مشابه‬ ‫‌های‬ ‫ی‬‫پیکربند‬ ‫و‬ ‫منابع‬ ،‫‌ها‬ ‫ت‬‫زیرساخ‬ ‫با‬ - ‫بود‬ ‫خواهد‬ ‫سبز‬ ‫محیط‬ ‫این‬ - ‫کنید‬ ‫‌اندازی‬ ‫ه‬‫را‬ ‫را‬ ‫‌سازی‬ ‫ه‬‫صحن‬ ‫محیط‬ ‫یک‬ :‫‌سازی‬ ‫ه‬‫آماد‬ .‫تولید‬ ‫محیط‬ .‫کنید‬ ‫مستقر‬ )‫سبز‬ ،‫مثال‬ ‫عنوان‬ ‫(به‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫جدید‬ ‫نسخه‬ :‫استقرار‬ ‫اعتماد‬ ‫قابل‬ ‫و‬ ‫پایدار‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ‫را‬ ‫الزم‬ ‫تنظیمات‬ ‫هرگونه‬ ‫و‬ ‫کنید‬ ‫آزمایش‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫جدید‬ ‫نسخه‬ :‫تست‬ .‫دهید‬ ‫انجام‬ ‫آن‬ ‫بودن‬ ‫جدید‬ ‫فعال‬ ‫تولید‬ ‫محیط‬ ‫به‬ ‫را‬ ‫آن‬ ‫و‬ ‫دهید‬ ‫تغییر‬ )‫(سبز‬ ‫غیرفعال‬ ‫محیط‬ ‫به‬ ‫را‬ ‫کاربران‬ ،‫شدید‬ ‫مطمئن‬ ‫جدید‬ ‫نسخه‬ ‫از‬ ‫که‬ ‫هنگامی‬ :‫سوئیچ‬ .‫کنید‬ ‫تبدیل‬ Standby ‫از‬ .‫باشد‬ ‫بعدی‬ ‫استقرار‬ ‫دریافت‬ ‫آماده‬ ‫و‬ ‫کند‬ ‫عمل‬ ‫کار‬ ‫به‬ ‫آماده‬ ‫عنوان‬ ‫به‬ ‫تواند‬ ‫می‬ ‫اکنون‬ )‫(آبی‬ ‫بود‬ ‫فعال‬ ‫قبًال‬ ‫که‬ ‫محیطی‬ : .‫شد‬ ‫مستقر‬ ‫ًا‬‫د‬‫مجد‬ ،‫شد‬ ‫آماده‬ ‫آزمایش‬ ‫برای‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫زمانی‬ ‫و‬ ‫برد‬ ‫بین‬ ‫از‬ ‫را‬ ‫آن‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫‌ها‬ ‫ه‬‫هزین‬ ‫در‬ ‫‌جویی‬ ‫ه‬‫صرف‬ ‫برای‬ ،‫دیگر‬ ‫طرف‬ ‫قناری‬ ‫استقرار‬ ‫به‬ ‫خاص‬ ‫معیارهای‬ ‫اساس‬ ‫بر‬ ‫را‬ ‫ترافیک‬ ‫از‬ ‫بخشی‬ ‫هدایت‬ ‫امکان‬ ‫که‬ ‫کنید‬ ‫تنظیم‬ ‫را‬ ‫ترافیک‬ ‫مجدد‬ ‫مسیریابی‬ ‫مکانیسم‬ ‫یک‬ :‫سازی‬ ‫آماده‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫افزار‬ ‫نرم‬ ‫از‬ ‫دیگری‬ ‫نسخه‬ .‫کنید‬ ‫وصل‬ ‫نسخه‬ ‫آن‬ ‫به‬ ‫تولید‬ ‫محیط‬ ‫در‬ ‫را‬ ‫خود‬ ‫کاربران‬ ‫پایگاه‬ ‫از‬ ‫کمی‬ ‫درصد‬ ‫و‬ ‫کنید‬ ‫مستقر‬ ‫را‬ ‫جدید‬ ‫نسخه‬ :‫استقرار‬ .‫کنید‬ ‫تکرار‬ ‫‌آید‬ ‫ی‬‫م‬ ‫پیش‬ ‫که‬ ‫مشکلی‬ ‫هر‬ ‫مورد‬ ‫در‬ ‫و‬ ‫کنید‬ ‫نظارت‬ ‫جدید‬ ‫نسخه‬ ‫برای‬ ‫را‬ ‫عملکرد‬ ‫معیارهای‬ ‫و‬ ‫کاربر‬ ‫بازخورد‬ :‫مانیتورینگ‬ ‫در‬ .‫کنید‬ ‫منتشر‬ ‫خود‬ ‫کاربران‬ ‫بقیه‬ ‫برای‬ ‫را‬ ‫آن‬ ‫تدریج‬ ‫به‬ ،‫کرد‬ ‫دریافت‬ ‫مثبت‬ ‫بازخورد‬ ‫و‬ ‫داشت‬ ‫خوبی‬ ‫عملکرد‬ ‫جدید‬ ‫نسخه‬ ‫اگر‬ :‫انتشار‬ .‫دهید‬ ‫ادامه‬ ‫را‬ ‫روند‬ ‫سپس‬ ‫و‬ ‫کنید‬ ‫برطرف‬ ‫را‬ ‫مشکالت‬ ،‫کنید‬ ‫متوقف‬ ‫موقتًا‬ ‫را‬ ‫انتشار‬ ،‫مشکل‬ ‫بروز‬ ‫صورت‬
  • 39. :‫قناری‬ ‫استقرار‬ ‫مقابل‬ ‫در‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬ ‫را‬ ‫آنها‬ ‫پیامدهای‬ ‫و‬ ‫ها‬ ‫استراتژی‬ ‫این‬ ‫بین‬ ‫کلیدی‬ ‫های‬ ‫تفاوت‬ ‫بیایید‬ ،‫داریم‬ ‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫عملکرد‬ ‫نحوه‬ ‫از‬ ‫روشنی‬ ‫درک‬ ‫که‬ ‫اکنون‬ .‫کنیم‬ ‫بررسی‬ ‫را‬ ‫ها‬ ‫پروژه‬ ‫برای‬ 1 ‫استقرار‬ ‫سهولت‬ ‫و‬ ‫سرعت‬ . ‫دو‬ ‫شما‬ ‫که‬ ‫آنجایی‬ ‫از‬ .‫کنید‬ ‫اجرا‬ ‫را‬ ‫جدید‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫نسخ‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫که‬ ‫است‬ ‫سهولت‬ ‫و‬ ‫سرعت‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫اصلی‬ ‫‌های‬ ‫ت‬‫مزی‬ ‫از‬ ‫یکی‬ ‫تضمین‬ ‫را‬ ‫یکپارچه‬ ‫کاربری‬ ‫تجربه‬ ‫و‬ ‫برسانید‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫خرابی‬ ‫زمان‬ ‫و‬ ‫شوید‬ ‫‌جا‬ ‫ه‬‫جاب‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫بین‬ ‫فورًا‬ ‫تقریبًا‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫دارید‬ ‫یکسان‬ ‫محیط‬ ‫زیرا‬ ،‫کند‬ ‫نمی‬ ‫صدق‬ ‫ها‬ ‫قناری‬ ‫برای‬ ‫مورد‬ ‫این‬ .‫است‬ ‫آسان‬ ‫سبز‬/‫آبی‬ ‫استقرار‬ ‫از‬ ‫پشتیبانی‬ ،‫ها‬ ‫برنامه‬ ‫اکثر‬ ‫در‬ ‫که‬ ‫است‬ ‫این‬ ‫دیگر‬ ‫مزیت‬ .‫کنید‬ .‫کند‬ ‫اجرا‬ ‫همزمان‬ ‫طور‬ ‫به‬ ‫را‬ ‫مختلف‬ ‫نسخه‬ ‫دو‬ ‫که‬ ‫شود‬ ‫طراحی‬ ‫ای‬ ‫گونه‬ ‫به‬ ‫باید‬ ‫برنامه‬ ،‫قناری‬ ‫استقرار‬ ‫از‬ ‫پشتیبانی‬ ‫برای‬ ‫کاربر‬ ‫بازخورد‬ ‫باید‬ ،‫خود‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬ ‫به‬ ‫جدید‬ ‫نسخه‬ ‫عرضه‬ ‫از‬ ‫قبل‬ .‫دارد‬ ‫افزایشی‬ ‫و‬ ‫تدریجی‬ ‫رویکرد‬ ‫به‬ ‫نیاز‬ ‫قناری‬ ‫استقرار‬ ،‫دیگر‬ ‫سوی‬ ‫از‬ ‫امکان‬ ‫اما‬ ،‫باشد‬ ‫گیرتر‬ ‫وقت‬ ‫فرآیند‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫این‬ .‫دهید‬ ‫انجام‬ ‫را‬ ‫تنظیمات‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫و‬ ،‫کنید‬ ‫بررسی‬ ‫دقت‬ ‫به‬ ‫را‬ ‫عملکرد‬ ‫معیارهای‬ ‫و‬ ‫که‬ ‫دارند‬ ‫نیاز‬ ‫ترافیک‬ ‫مسیر‬ ‫تغییر‬ ‫مکانیزم‬ ‫به‬ ‫زیرا‬ ‫هستند‬ ‫تر‬ ‫پیچیده‬ ‫ها‬ ‫قناری‬ ،‫این‬ ‫بر‬ ‫عالوه‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫ریسک‬ ‫کاهش‬ ‫و‬ ‫بیشتر‬ ‫کنترل‬ ‫بار‬ ‫کننده‬ ‫متعادل‬ ‫یا‬ ‫ساده‬ ‫شبکه‬ ‫سوئیچ‬ ‫یک‬ ‫به‬ ‫فقط‬ ‫سبز‬/‫آبی‬ ‫استقرار‬ ،‫مقابل‬ ‫در‬ .‫کند‬ ‫منتقل‬ ‫قناری‬ ‫به‬ ‫را‬ ‫ترافیک‬ ‫از‬ ‫بخشی‬ ‫تدریج‬ ‫به‬ ‫تواند‬ ‫می‬ .‫دارد‬ ‫نیاز‬ 2 ‫ریسک‬ ‫مدیریت‬ . ‫به‬ ‫را‬ ‫کار‬ ‫این‬ ‫آنها‬ ‫اما‬ ،‫اند‬ ‫شده‬ ‫طراحی‬ ‫جدید‬ ‫افزار‬ ‫نرم‬ ‫های‬ ‫نسخه‬ ‫معرفی‬ ‫خطر‬ ‫رساندن‬ ‫حداقل‬ ‫به‬ ‫برای‬ ‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫دو‬ ‫هر‬ . ‫داد‬ ‫انجام‬ ‫میشود‬ ‫مختلف‬ ‫های‬ ‫روش‬ ‫کند‬ ‫می‬ ‫تضمین‬ ‫این‬ .‫دارد‬ ‫تمرکز‬ ‫جدید‬ ‫نسخه‬ ‫به‬ ‫کاربران‬ ‫تغییر‬ ‫از‬ ‫قبل‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫کامل‬ ‫اعتبارسنجی‬ ‫و‬ ‫آزمایش‬ ‫بر‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫سوی‬ ‫از‬ .‫دهد‬ ‫می‬ ‫کاهش‬ ‫را‬ ‫گسترده‬ ‫قطعی‬ ‫یا‬ ‫مشکل‬ ‫بروز‬ ‫احتمال‬ ‫و‬ ‫شود‬ ‫می‬ ‫حل‬ ‫و‬ ‫شناسایی‬ ‫جدید‬ ‫نسخه‬ ‫شدن‬ ‫فعال‬ ‫از‬ ‫قبل‬ ‫مشکلی‬ ‫هر‬ ‫که‬ ‫معیارهای‬ ‫و‬ ‫بازخورد‬ ‫بر‬ ‫و‬ ‫کند‬ ‫می‬ ‫عرضه‬ ‫کاربران‬ ‫برای‬ ‫را‬ ‫جدید‬ ‫نسخه‬ ‫تدریج‬ ‫به‬ ،‫است‬ ‫متکی‬ ‫تری‬ ‫تکراری‬ ‫رویکرد‬ ‫بر‬ ‫قناری‬ ‫استقرار‬ ،‫دیگر‬ ‫کل‬ ‫بر‬ ‫اینکه‬ ‫از‬ ‫قبل‬ ،‫کنید‬ ‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫زودتر‬ ‫را‬ ‫احتمالی‬ ‫مشکالت‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ ‫این‬ .‫کند‬ ‫می‬ ‫نظارت‬ ‫آنها‬ ‫عملکرد‬ .‫بگذارد‬ ‫تأثیر‬ ‫شما‬ ‫کاربر‬ ‫پایگاه‬ 3 ‫نیاز‬ ‫مورد‬ ‫منابع‬ .
  • 40. ‫برای‬ ‫تواند‬ ‫می‬ ‫این‬ .‫کنید‬ ‫حفظ‬ ‫را‬ ‫یکسان‬ ‫تولید‬ ‫محیط‬ ‫دو‬ ‫باید‬ ‫شما‬ ‫زیرا‬ ،‫دارد‬ ‫نیاز‬ ‫قناری‬ ‫استقرار‬ ‫به‬ ‫نسبت‬ ‫بیشتری‬ ‫منابع‬ ‫به‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫پایان‬ ‫از‬ ‫پس‬ ‫را‬ ‫سبز‬ ‫محیط‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫مدرن‬ ‫منابع‬ ‫تامین‬ ‫با‬ ،‫حال‬ ‫این‬ ‫با‬ .‫باشد‬ ‫گران‬ ‫محدود‬ ‫بودجه‬ ‫با‬ ‫هایی‬ ‫پروژه‬ ‫یا‬ ‫کوچکتر‬ ‫های‬ ‫سازمان‬ .‫بازگرداند‬ ‫را‬ ‫آن‬ ،‫است‬ ‫استقرار‬ ‫آماده‬ ‫جدید‬ ‫نسخه‬ ‫که‬ ‫زمانی‬ ‫تنها‬ ‫و‬ ‫برد‬ ‫بین‬ ‫از‬ ‫استقرار‬ ‫استقرار‬ Canary ‫‌های‬ ‫ه‬‫نسخ‬ ‫و‬ ‫کنید‬ ‫‌اندازی‬ ‫ه‬‫را‬ ‫آزمایش‬ ‫برای‬ ‫را‬ ‫‌بندی‬ ‫ه‬‫مرحل‬ ‫محیط‬ ‫یک‬ ‫باید‬ ‫فقط‬ ‫شما‬ ‫زیرا‬ ،‫است‬ ‫کارآمدتر‬ ‫منابع‬ ‫نظر‬ ‫از‬ ‫دسترسی‬ ‫قابل‬ ‫محدود‬ ‫منابع‬ ‫با‬ ‫هایی‬ ‫پروژه‬ ‫برای‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫این‬ .‫کنید‬ ‫مستقر‬ ‫خود‬ ‫کاربران‬ ‫پایگاه‬ ‫از‬ ‫کمی‬ ‫درصد‬ ‫در‬ ‫ابتدا‬ ‫در‬ ‫را‬ ‫جدید‬ .‫باشد‬ ‫تر‬ 4 ‫عقب‬ ‫به‬ ‫بازگشت‬ ‫قابلیت‬ . ‫استراتژی‬ ‫دو‬ ‫بین‬ ‫روند‬ ‫اما‬ ،‫دهند‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫بازگشت‬ ‫قابلیت‬ ‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫دو‬ ‫هر‬ ،‫جدید‬ ‫نسخه‬ ‫در‬ ‫مشکل‬ ‫بروز‬ ‫صورت‬ ‫در‬ .‫است‬ ‫متفاوت‬ ‫با‬ Deployment ‫توان‬ ‫می‬ ‫را‬ ‫این‬ .‫برگردانید‬ ‫غیرفعال‬ ‫محیط‬ ‫به‬ ‫را‬ ‫کاربران‬ ‫و‬ ‫بازگردید‬ ‫قبلی‬ ‫نسخه‬ ‫به‬ ‫سرعت‬ ‫به‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫آبی‬-‫سبز‬ .‫کرد‬ ‫تضمین‬ ‫را‬ ‫یکپارچه‬ ‫کاربری‬ ‫تجربه‬ ‫و‬ ‫رساند‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫خرابی‬ ‫زمان‬ ‫و‬ ‫داد‬ ‫انجام‬ ‫بالفاصله‬ ‫تقریبًا‬ ‫استقرار‬ Canary ‫سپس‬ ‫و‬ ‫کنید‬ ‫برطرف‬ ‫را‬ ‫مشکالت‬ ،‫کنید‬ ‫متوقف‬ ‫را‬ ‫عرضه‬ ،‫مشکالت‬ ‫شناسایی‬ ‫صورت‬ ‫در‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ .‫برگردید‬ ‫قبلی‬ ‫نسخه‬ ‫به‬ ،‫اصلی‬ ‫نسخه‬ ‫به‬ ‫دیده‬ ‫آسیب‬ ‫کاربران‬ ‫هدایت‬ ‫با‬ ‫توانید‬ ‫می‬ ،‫لزوم‬ ‫صورت‬ ‫در‬ .‫دهید‬ ‫ادامه‬ ‫را‬ ‫روند‬ 5 ‫کاربر‬ ‫تأثیر‬ . .‫گرفت‬ ‫نظر‬ ‫در‬ ‫قناری‬ ‫و‬ ‫سبز‬-‫آبی‬ ‫استقرار‬ ‫بین‬ ‫انتخاب‬ ‫هنگام‬ ‫باید‬ ‫که‬ ‫است‬ ‫دیگری‬ ‫مهم‬ ‫عامل‬ ‫کاربران‬ ‫روی‬ ‫تأثیر‬ .‫دهد‬ ‫می‬ ‫کاهش‬ ‫را‬ ‫کاربر‬ ‫تأثیر‬ ،‫آن‬ ‫به‬ ‫کاربران‬ ‫تغییر‬ ‫از‬ ‫قبل‬ ‫غیرفعال‬ ‫محیط‬ ‫در‬ ‫جدید‬ ‫نسخه‬ ‫کامل‬ ‫آزمایش‬ ‫با‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ،‫طرف‬ ‫یک‬ ‫از‬ ‫استقرار‬ ‫در‬ ‫مشکل‬ ‫بروز‬ ‫صورت‬ ‫در‬ ‫اما‬ .‫نگیرند‬ ‫قرار‬ ‫اختاللی‬ ‫یا‬ ‫مشکل‬ ‫گونه‬ ‫هیچ‬ ‫معرض‬ ‫در‬ ‫استقرار‬ ‫فرآیند‬ ‫طول‬ ‫در‬ ‫که‬ ‫کند‬ ‫می‬ ‫تضمین‬ ‫این‬ .‫است‬ ‫هیچ‬ ‫یا‬ ‫همه‬ ‫رویکرد‬ ‫یک‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ .‫گرفت‬ ‫خواهد‬ ‫قرار‬ ‫آنها‬ ‫معرض‬ ‫در‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬ ،‫جدید‬ ‫استقرار‬ Canary ‫در‬ ‫تکرار‬ ‫حین‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬ ،‫دهد‬ ‫می‬ ‫قرار‬ ‫جدید‬ ‫نسخه‬ ‫معرض‬ ‫در‬ ‫ابتدا‬ ‫در‬ ‫را‬ ‫کاربران‬ ‫از‬ ‫کمی‬ ‫درصد‬ ‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫زودتر‬ ‫را‬ ‫مشکالت‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫شما‬ ‫به‬ ‫استراتژی‬ ‫این‬ ،‫حال‬ ‫این‬ ‫با‬ .‫شوند‬ ‫مواجه‬ ‫اختالالتی‬ ‫یا‬ ‫مشکالت‬ ‫با‬ ‫انتشار‬ .‫دهند‬ ‫قرار‬ ‫تاثیر‬ ‫تحت‬ ‫را‬ ‫کاربر‬ ‫پایگاه‬ ‫کل‬ ‫اینکه‬ ‫از‬ ‫قبل‬ ،‫کنید‬
  • 41. ‫استقرار‬ ‫بین‬ ‫انتخاب‬ ‫آبی‬ - ‫سبز‬ ‫و‬ ‫قناری‬ .‫دارد‬ ‫بستگی‬ ‫شما‬ ‫ریسک‬ ‫تحمل‬ ‫و‬ ‫منابع‬ ،‫خاص‬ ‫نیازهای‬ ‫به‬ ‫نهایت‬ ‫در‬ ‫قناری‬ ‫و‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬ ‫بین‬ ‫انتخاب‬ ‫کامل‬ ‫آزمایش‬ ‫در‬ ‫خود‬ ‫توانایی‬ ‫به‬ ‫و‬ ،‫دارید‬ ‫یکسان‬ ‫تولید‬ ‫محیط‬ ‫دو‬ ‫حفظ‬ ‫برای‬ ‫کافی‬ ‫منابع‬ ، ‫میباشد‬ ‫اولویت‬ ‫در‬ ‫را‬ ‫استقرار‬ ‫سهولت‬ ‫و‬ ‫سرعت‬ ‫اگر‬ .‫باشد‬ ‫شما‬ ‫برای‬ ‫انتخاب‬ ‫بهترین‬ ‫است‬ ‫ممکن‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ،‫دارید‬ ‫اطمینان‬ ‫جدید‬ ‫های‬ ‫نسخه‬ ‫تأیید‬ ‫و‬ ‫ممکن‬ ‫قناری‬ ‫استقرار‬ ،‫‌دهید‬ ‫ی‬‫م‬ ‫ترجیح‬ ‫ریسک‬ ‫مدیریت‬ ‫برای‬ ‫را‬ ‫‌تری‬ ‫ه‬‫‌شد‬ ‫ل‬‫کنتر‬ ‫و‬ ‫تکراری‬ ‫رویکرد‬ ‫یا‬ ‫دارید‬ ‫محدودی‬ ‫منابع‬ ‫اگر‬ ،‫دیگر‬ ‫سوی‬ ‫از‬ .‫باشد‬ ‫‌تر‬ ‫ب‬‫مناس‬ ‫است‬ ‫تفاوت‬ ‫درک‬ ‫با‬ .‫دارد‬ ‫بستگی‬ ‫فرد‬ ‫به‬ ‫منحصر‬ ‫شرایط‬ ‫و‬ ‫نیازها‬ ‫به‬ ‫انتخاب‬ ‫بهترین‬ ‫و‬ ‫دارند‬ ‫را‬ ‫خود‬ ‫ضعف‬ ‫و‬ ‫قوت‬ ‫نقاط‬ ‫استراتژی‬ ‫دو‬ ‫هر‬ ،‫نهایت‬ ‫در‬ ‫موفقیت‬ ‫و‬ ‫کند‬ ‫می‬ ‫برآورده‬ ‫را‬ ‫ما‬ ‫نیازهای‬ ‫وجه‬ ‫بهترین‬ ‫به‬ ‫که‬ ‫بگیریم‬ ‫آگاهانه‬ ‫تصمیمی‬ ‫توانید‬ ‫می‬ ،‫قناری‬ ‫و‬ ‫آبی‬-‫سبز‬ ‫استقرار‬ ‫بین‬ ‫کلیدی‬ ‫های‬ .‫کند‬ ‫می‬ ‫تضمین‬ ‫را‬ ‫افزاری‬ ‫نرم‬ ‫های‬ ‫پروژه‬ ‫در‬ ‫پیشرفته‬ ‫پیشرفته‬ ‫تحویل‬ Kubernetes ‫با‬ Argo Rollouts ‫و‬ Codefresh Codefresh ‫از‬ ‫استفاده‬ ‫با‬ Argo Rollouts ‫در‬ ‫تدریجی‬ ‫استقرار‬ ‫برای‬ ‫خاص‬ ‫طور‬ ‫به‬ ‫که‬ ‫ای‬ ‫پروژه‬ ، Kubernetes ‫شده‬ ‫طراحی‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫قناری‬ ‫و‬ ‫آبی‬ ‫سبز‬ ‫استقرار‬ ‫جمله‬ ‫از‬ ،‫پیشرفته‬ ‫پیشرفته‬ ‫تحویل‬ ‫های‬ ‫روش‬ ،‫است‬ ‫از‬ ‫ویژگی‬ ‫چند‬ ‫بررسی‬ ‫به‬ ‫زیر‬ ‫در‬ Argo Rollouts، Codefresh : ‫پردازیم‬ ‫می‬ ‫مخزن‬ ‫یک‬ ‫در‬ ‫و‬ ‫شده‬ ‫تعریف‬ ‫کد‬ ‫در‬ ‫سبز‬/‫آبی‬ ‫استقرار‬ ‫‌های‬ ‫ه‬‫جنب‬ ‫تمام‬ - ‫اعالمی‬ ‫پیکربندی‬ Git ‫فرآیند‬ ‫از‬ ‫و‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫بررسی‬ GitOps . ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ .‫کاربر‬ ‫توسط‬ ‫شده‬ ‫تعریف‬ ‫های‬ ‫تست‬ ‫بودن‬ ‫آمیز‬ ‫موفقیت‬ ‫از‬ ‫پس‬ ‫آن‬ ‫سرگیری‬ ‫از‬ ‫و‬ ‫استقرار‬ ‫توقف‬ ‫سرگیری‬ ‫از‬ ‫و‬ ‫مکث‬ – ‫خوشه‬ ‫در‬ ‫موجود‬ ‫سرویس‬ ‫های‬ ‫شبکه‬ ‫از‬ ‫که‬ ‫هایی‬ ‫روش‬ ‫از‬ ‫استفاده‬ ‫پیشرفته‬ ‫ترافیک‬ ‫سوئیچینگ‬ – Kubernetes .‫برند‬ ‫می‬ ‫بهره‬
  • 42. ‫انجام‬ ‫از‬ ‫قبل‬ ‫دود‬ ‫آزمایش‬ ‫(یعنی‬ ‫شود‬ ‫استفاده‬ ‫جدید‬ ‫نسخه‬ ‫تأیید‬ ‫برای‬ ‫تواند‬ ‫می‬ ‫که‬ ‫نمایش‬ ‫پیش‬ ‫سرویس‬ ‫یک‬ ‫ایجاد‬ - ‫جدید‬ ‫نسخه‬ ‫تأیید‬ .)‫ترافیک‬ ‫سوئیچ‬ .‫قناری‬ ‫استقرار‬ ‫در‬ ‫منابع‬ ‫رفتن‬ ‫هدر‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫خوشه‬ ‫از‬ ‫بهتر‬ ‫استفاده‬ ‫برای‬ ‫قرابت‬ ‫ضد‬ ‫قوانین‬ ‫اعمال‬ - ‫بهبودیافته‬ ‫استفاده‬ .‫جدید‬ ‫کاربردی‬ ‫های‬ ‫برنامه‬ ‫داشبورد‬ ‫طریق‬ ‫از‬ ‫استقرار‬ ‫مدیریت‬ ‫و‬ ‫وضعیت‬ ‫مشاهده‬ - ‫عرضه‬ ‫آسان‬ ‫مدیریت‬
  • 43. ‫بنگ‬ ‫بیگ‬ ‫استقرار‬ ‫استراتژی‬ ‫روز‬ ‫به‬ ‫و‬ ‫زده‬ ‫کنار‬ ‫حرکت‬ ‫یک‬ ‫در‬ ‫را‬ ‫اپلیکیشن‬ ‫یک‬ ‫از‬ ‫بزرگی‬ ‫های‬ ‫بخش‬ ‫یا‬ ‫کل‬ ‫بنگ‬ ‫بیگ‬ ‫استقرارهای‬ ،‫است‬ ‫مشخص‬ ‫نامش‬ ‫از‬ ‫همانطورکه‬ ‫که‬ ‫‌گردد‬ ‫ی‬‫م‬ ‫بر‬ ‫روزهایی‬ ‫به‬ ‫استراتژی‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫رسانی‬ .‫‌گردید‬ ‫ی‬‫م‬ ‫نصب‬ ‫مشتری‬ ‫توسط‬ ‫و‬ ‫‌شد‬ ‫ی‬‫م‬ ‫منتشر‬ ‫فیزیکی‬ ‫رسانه‬ ‫روی‬ ‫بر‬ ‫افزار‬ ‫نرم‬ ‫به‬ ‫ملزم‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫تولید‬ ‫حوزه‬ ‫کارهای‬ ‫و‬ ‫کسب‬ ،‫بنگ‬ ‫بیگ‬ ‫استقرارهای‬ ‫آبشاری‬ ‫مدل‬ ‫تحت‬ ‫اغلب‬ ‫گسترده‬ ‫های‬ ‫تست‬ ‫و‬ ‫توسعه‬ ‫دادن‬ ‫شکل‬ .‫نمود‬ ‫می‬ ‫محصول‬ ‫انتشار‬ ‫از‬ ‫پیش‬ ‫باعث‬ ‫امر‬ ‫این‬.‫‌شوند‬ ‫ی‬‫م‬ ‫رسانی‬ ‫بروز‬ ‫سرور‬ ‫یا‬ ‫مشتری‬ ‫سمت‬ ‫در‬ ‫خودکار‬ ‫و‬ ‫مرتب‬ ‫طور‬ ‫به‬ ‫که‬ ‫برخوردارند‬ ‫مزیت‬ ‫این‬ ‫از‬ ‫نوین‬ ‫های‬ ‫اپلیکیشن‬ .‫باشد‬ ‫برخودار‬ ‫کمتری‬ ‫چابکی‬ ‫و‬ ‫سرعت‬ ‫از‬ ‫نوین‬ ‫های‬ ‫تیم‬ ‫به‬ ‫نسبت‬ ‫بنگ‬ ‫بیگ‬ ‫رویکرد‬ ‫تا‬ ‫‌شود‬ ‫ی‬‫م‬ ‫بنگ‬ ‫بیگ‬ ‫استقرار‬ ‫های‬ ‫مشخصه‬ ‫ازجمله‬ • .‫اند‬ ‫شده‬ ‫بندی‬ ‫بسته‬ ‫استقرار‬ ‫یک‬ ‫در‬ ‫اصلی‬ ‫قطعات‬ ‫همه‬ • .‫‌گردد‬ ‫ی‬‫م‬ ‫جایگرین‬ ‫جدید‬ ‫افزار‬ ‫نرم‬ ‫با‬ ‫کامل‬ ‫یا‬ ‫گسترده‬ ‫بطور‬ ‫موجود‬ ‫افزار‬ ‫نرم‬ ‫نسخه‬ ‫یک‬ • .‫است‬ ‫توسعه‬ ‫و‬ ‫تست‬ ‫از‬ ‫مدتی‬ ‫طوالنی‬ ‫چرخه‬ ‫حاصل‬ ‫معموال‬ ‫استقرار‬ • .‫باشد‬ ‫عملی‬ ‫غیر‬ ‫یا‬ ‫ممکن‬ ‫غیر‬ ‫میتواند‬ ‫عقب‬ ‫به‬ ‫بازگشت‬ ‫چراکه‬ ‫‌گردد‬ ‫ی‬‫م‬ ‫لحاظ‬ ‫خطا‬ ‫بروز‬ ‫برای‬ ‫حداقلی‬ ‫شانس‬ ‫یک‬ • .‫باشد‬ ‫داشته‬ ‫همراه‬ ‫به‬ ‫را‬ ‫متعددی‬ ‫های‬ ‫تیم‬ ‫تالش‬ ‫تواند‬ ‫می‬ ‫و‬ ‫است‬ ‫طوالنی‬ ‫معموال‬ ‫پروژه‬ ‫تکمیل‬ ‫زمان‬ • .‫شود‬ ‫انجام‬ ‫مشتریان‬ ‫طرف‬ ‫از‬ ‫رسانی‬ ‫بروز‬ ‫به‬ ‫اقدام‬ ‫دارد‬ ‫ضرورت‬ ‫گرفته‬ ‫صورت‬ ‫مشتری‬ ‫سمت‬ ‫در‬ ‫اپلیکیشن‬ ‫نصب‬ ‫چون‬
  • 44. ‫با‬ ‫مرتبط‬ ‫یا‬ ‫عمومی‬ ‫کاربری‬ ‫با‬ ‫های‬ ‫اپلیکیشن‬ ‫در‬ ‫چون‬ ‫نیست‬ ‫نوین‬ ‫های‬ ‫اپلیکیشن‬ ‫مناسب‬ ‫بنگ‬ ‫بیگ‬ ‫روش‬ ‫به‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‌ ‫ی‬‫استراتژ‬ ‫ها‬ ‫ریسک‬ ‫وجود‬ ‫حیاتی‬ ‫کارهای‬ ‫و‬ ‫کسب‬ ‫غالبا‬ ‫عقبگردها‬ ‫و‬ ‫است‬ ‫مالی‬ ‫بزرگ‬ ‫ضرر‬ ‫معنای‬ ‫به‬ ‫ای‬ ‫لحظه‬ ‫توقف‬ ‫که‬ ‫درجایی‬ .‫نیست‬ ‫پذیرش‬ ‫قابل‬ .‫هستند‬ ‫ممکن‬ ‫غیر‬ ‫حتی‬ ‫و‬ ‫بر‬ ‫زمان‬ ،‫پرهزینه‬ ‫غیر‬ ‫های‬ ‫سیستم‬ ‫برای‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫بنگ‬ ‫بیگ‬ ‫رویکرد‬ Production ‫افزاری‬ ‫نرم‬ ‫بسته‬ ‫یک‬ ‫قالب‬ ‫در‬ ‫فروشندگان‬ ‫توسط‬ ‫که‬ ‫‌افزارهایی‬ ‫م‬‫نر‬ ‫یا‬ .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫ندرت‬ ‫به‬ ‫استراتژی‬ ‫این‬ ‫از‬ ‫امروزه‬ .‫باشد‬ ‫مناسب‬ ‫دسکتاپ‬ ‫های‬ ‫برنامه‬ ‫نظیر‬ ‫میشوند‬ ‫ارائه‬
  • 45. ‫چرخشی‬ ‫استقرار‬ ‫استراتژی‬ ‫مربوطه‬ ‫های‬ ‫ریسک‬ ‫از‬ ‫بسیاری‬ ‫چون‬ ‫بهترند‬ ‫بنگ‬ ‫بیگ‬ ‫استقرارهای‬ ‫از‬ ‫ای‬ ‫مرحله‬ ‫یا‬ ‫فازی‬ ،‫چرخشی‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫جمله‬ ‫از‬ ‫آسان‬ ‫بازگشت‬ ‫بدون‬ ‫خرابی‬ ‫با‬ ‫کاربر‬ ‫مواجهه‬ ‫جایگزین‬ ‫تدریج‬ ‫به‬ ‫اپلیکیشن‬ ‫یک‬ ‫جدید‬ ‫ورژن‬ ،‫چرخشی‬ ‫استقرار‬ ‫دریک‬ .‫رسانند‬ ‫می‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫زمانی‬ ‫دوره‬ ‫دریک‬ ‫واقعی‬ ‫استقرار‬ .‫‌گردد‬ ‫ی‬‫م‬ ‫آن‬ ‫قدیمی‬ ‫ورژن‬ ‫قدیمی‬ ‫و‬ ‫جدید‬ ‫های‬ ‫ورژن‬ ‫دوره‬ ‫این‬ ‫طی‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫رخ‬ ‫یا‬ ‫عملکرد‬ ‫بر‬ ‫تاثیر‬ ‫بدون‬ ‫نمودار‬ .‫شود‬ ‫تر‬ ‫ساده‬ ‫قدیمی‬ ‫های‬ ‫مولفه‬ ‫با‬ ‫ناسازگار‬ ‫جدید‬ ‫های‬ ‫مولفه‬ ‫تعویض‬ ‫‌گردد‬ ‫ی‬‫م‬ ‫باعث‬ ‫روند‬ ‫این‬ .‫نمود‬ ‫خواهند‬ ‫همزیستی‬ ‫کاربر‬ ‫تجربه‬ .‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫سبز‬ ‫رنگ‬ ‫به‬ ‫جدید‬ ‫ورژن‬ ‫و‬ ‫آبی‬ ‫رنگ‬ ‫به‬ ‫قدیمی‬ ‫ورژن‬ ‫درخوشه‬ ‫سرور‬ ‫هر‬ ‫روی‬ ‫بر‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫نشان‬ ‫را‬ ‫استقرار‬ ‫الگوی‬ ‫زیر‬ ‫ه‬ ‫اپلیکیشن‬ ‫اگر‬ .‫است‬ ‫چرخشی‬ ‫استقرار‬ ‫یک‬ ‫از‬ ‫ای‬ ‫نمونه‬ ،‫اپلیکیشن‬ ‫یک‬ ‫وار‬ ‫سلسله‬ ‫ارتقاء‬ h ‫‌تواند‬ ‫ی‬‫م‬ ‫ارتقاء‬ ،‫باشند‬ ‫شده‬ ‫مستقر‬ ‫کانتینر‬ ‫روی‬ ‫بر‬ ‫مشکالت‬ ‫اگر‬ .‫‌شود‬ ‫ی‬‫م‬ ‫اندازی‬ ‫راه‬ ‫مجددا‬ ‫ریپازیتوری‬ ‫از‬ ‫تصویر‬ ‫جدیدترین‬ ‫دانلود‬ ‫با‬ ‫کانتینر‬ ‫هر‬ .‫گیرد‬ ‫شکل‬ ‫زمان‬ ‫هر‬ ‫در‬ ‫کانتینر‬ ‫یک‬ ‫قالب‬ ‫در‬ ،‫حالت‬ ‫این‬ ‫در‬ .‫شود‬ ‫اندازی‬ ‫راه‬ ‫کانتینر‬ ‫قالب‬ ‫در‬ ‫مجددا‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫تر‬ ‫قدیمی‬ ‫تصویر‬ ،‫باشد‬ ‫داشته‬ ‫وجود‬ ‫برنامه‬ ‫های‬ ‫ورژن‬ ‫از‬ ‫یکی‬ ‫با‬ ‫سازگاری‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫همزیستی‬ ‫یکدیگر‬ ‫با‬ ‫شود‬ ‫داده‬ ‫ارتقاء‬ ‫برنامه‬ ‫هر‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫ها‬ ‫برنامه‬ ‫سلسله‬ ‫از‬ ‫قدیم‬ ‫و‬ ‫جدید‬ ‫های‬ ‫ورژن‬
  • 46. ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫‌های‬ ‫ش‬‫رو‬ ‫بهترین‬ ‫های‬ ‫ریسک‬ ‫تا‬ ‫کنند‬ ‫دنبال‬ ‫را‬ ‫برتر‬ ‫‌های‬ ‫ش‬‫رو‬ ‫از‬ ‫تعدادی‬ ‫‌توانند‬ ‌ ‫ی‬‫م‬ ‫عملیات‬ ‫و‬ ‫‌دهنده‬ ‫ه‬‫توسع‬ ‫های‬ ‫تیم‬ .‫برسانند‬ ‫حداقل‬ ‫به‬ ‫را‬ ‫استقرار‬ • :‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫لیست‬ ‫چک‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫اینکه‬ ‫از‬ ‫بعد‬ ‫تنها‬ ‫است‬ ‫ممکن‬ ‫لیست‬ ‫درچک‬ ‫آیتم‬ ‫یک‬ ‫مثال‬ ‫برای‬ .‫نماید‬ ‫گیری‬ ‫پشتیبان‬ ‫داده‬ ‫پایگاه‬ ‫کل‬ ‫از‬ ،‫داده‬ ‫تخریب‬ ‫از‬ ‫پیشگیری‬ ‫منظور‬ ‫به‬ ،‫شدند‬ ‫متوقف‬ ‫اپلیکیشن‬ ‫های‬ ‫سرویس‬ • ( ‫مداوم‬ ‫ادغام‬ Continuous Integration :) ‫مکانیزم‬ CI ‫کد‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تضمین‬ merge ‫مخزن‬ ‫یک‬ ‫انشعاب‬ ‫در‬ ‫شده‬ ‫طول‬ ‫در‬ ‫خطایی‬ ‫اگر‬ .‫‌گردد‬ ‫ی‬‫م‬ ‫ادغام‬ ‫اصلی‬ ‫انشعاب‬ ‫با‬ ‫موفق‬ ‫بیلد‬ ‫و‬ ‫واحد‬ ‫های‬ ‫تست‬ ،‫ها‬ ‫وابستگی‬ ‫سری‬ ‫یک‬ ‫بررسی‬ ‫از‬ ‫بعد‬ ‫تنها‬ ‫کد‬ ‫از‬ ‫استفاده‬ ‫بنابراین‬ .‫‌گردد‬ ‫ی‬‫م‬ ‫مطلع‬ ‫نویسی‬ ‫برنامه‬ ‫تیم‬ ‫و‬ ‫‌خورد‬ ‫ی‬‫م‬ ‫شکست‬ ‫فرآیند‬ ‫باشد‬ ‫داشته‬ ‫وجود‬ ‫مسیر‬ CI ‫که‬ ‫معناست‬ ‫این‬ ‫به‬ ‫ابزارهای‬ ‫از‬ ‫هایی‬ ‫نمونه‬ .‫است‬ ‫شده‬ ‫تست‬ ‫استقرار‬ ‫از‬ ‫پیش‬ ‫برنامه‬ ‫در‬ ‫تغییری‬ ‫هر‬ CI : ‫از‬ ‫عبارتند‬ CircleCI ‫و‬ , Jenkins , gitlab azure devops • ( ‫مداوم‬ ‫تحویل‬ Continuous Delivery : ) ‫مکانیزم‬ ‫با‬ CD ‫آماده‬ ‫همواره‬ ‫و‬ ‫شده‬ ‫بندی‬ ‫بسته‬ ،‫قبل‬ ‫مرحله‬ ‫نهایی‬ ‫کد‬ ، .‫است‬ ‫محیط‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫در‬ ‫استقرار‬ / Gitlab CI CD .‫هست‬ ‫ابزارهایی‬ ‫چنین‬ ‫از‬ • ( ‫استاندارد‬ ‫عملیاتی‬ ‫های‬ ‫محیط‬ ‫از‬ ‫استفاده‬ SOE :)‫ها‬ ‫نظیر‬ ‫ابزارهایی‬ ‫از‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫محیط‬ ‫ثبات‬ ‫از‬ ‫اطمینان‬ ‫برای‬ Vagrant ‫و‬ Packer .‫کنید‬ ‫استفاده‬ ‫سرورها‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫ط‬‫محی‬ ‫برای‬ • ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫خودکار‬ :‫ها‬ ‫محیط‬ ‫ساخت‬ ‫یک‬ ‫با‬ ‫را‬ ‫زیرساخت‬ ‫یک‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫راحتی‬ ‫به‬ ،‫ابزارها‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫بسازید‬ ‫نو‬ ‫از‬ ‫و‬ ‫ببرید‬ ‫ازبین‬ ،‫کلیک‬ CloudFormation .‫است‬ ‫ابزارهایی‬ ‫چنین‬ ‫از‬ ‫ای‬ ‫نمونه‬ • :‫بندی‬ ‫پیکر‬ ‫مدیریت‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫نظیر‬ Puppet ،Chef ‫یا‬ Ansible ‫تنظیمات‬ ‫خودکار‬ ‫اعمال‬ ‫برای‬ ‫ها‬ ‫سرور‬ ‫در‬ ‫اجرای‬ ،‫عامل‬ ‫سیستم‬ ( ‫ها‬ ‫وصله‬ patches .‫افزار‬ ‫نرم‬ ‫نصب‬ ‫یا‬ ) • : ‫ارتباطی‬ ‫های‬ ‫کانال‬ ‫از‬ ‫استفاده‬ ‫نظیر‬ Slack ‫و‬ ‫ناموفق‬ ‫های‬ ‫بیلد‬ ‫از‬ ‫خودکار‬ ‫های‬ ‫اعالن‬ ‫برای‬ ‫های‬ ‫شکست‬ ‫یا‬ ‫و‬ ‫اپلیکیشن‬ ‫دیگر‬ ‫های‬ ‫ابزار‬ • ‫برای‬ ‫فرآیندی‬ ‫ایجاد‬ ‫به‬ ‫دهی‬ ‫هشدار‬ :‫خطا‬ ‫بروز‬ ‫پیرامون‬ ‫ها‬ ‫استقرار‬ ‫مسئول‬ ‫تیم‬ ‫محیط‬ ‫در‬ ‫را‬ ‫موارد‬ ‫این‬ ‫آل‬ ‫ایده‬ ‫حالت‬ ‫در‬ ‫های‬ CI ‫خواهید‬ ‫نیاز‬ ‫مسئول‬ ‫تیم‬ ‫به‬ ‫رسانی‬ ‫اطالع‬ ‫برای‬ ‫راهی‬ ‫به‬ ‫شما‬ ‫یابند‬ ‫استقرار‬ ‫تغییرات‬ ‫این‬ ‫اگر‬ ‫اما‬ ‫آورد‬ ‫خواهید‬ ‫بدست‬ .‫داشت‬ • ‫استقرارها‬ ‫برای‬ ‫خودکار‬ ‫های‬ ‫عقب‬ ‫به‬ ‫بازگشت‬ ‫سازی‬ ‫فعال‬ ‫بواسطه‬ ‫که‬ : ،‫سرویس‬ ‫به‬ ‫پذیری‬ ‫دسترس‬ ‫پیرامون‬ ‫مشکالت‬ ‫بروز‬ ‫خود‬ ‫ی‬ ‫نسخه‬ ‫آخرین‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ rollback .‫‌شود‬ ‫ی‬‫م‬
  • 47. ‫استقرار‬ ‫از‬ ‫پس‬ ‫مانیتورینگ‬ ‫است‬ ‫ممکن‬ ‫نمائید‬ ‫اتخاذ‬ ‫را‬ ‫فوق‬ ‫موارد‬ ‫شما‬ ‫اینکه‬ ‫از‬ ‫پس‬ ‫حتی‬ ،‫دلیل‬ ‫همین‬ ‫به‬ .‫شود‬ ‫مواجه‬ ‫شکست‬ ‫با‬ ‫برنامه‬ ‫افزار‬ ‫نرم‬ ‫استقرار‬ ‫استراتژی‬ ‫هنوز‬ ‫ابزار‬ ‫یک‬ .‫است‬ ‫مهم‬ ‫کامل‬ ‫استقرار‬ ‫یک‬ ‫اجرای‬ ‫و‬ ‫ریزی‬ ‫برنامه‬ ‫اندازه‬ ‫همان‬ ‫به‬ ‫پیوندد‬ ‫می‬ ‫وقوع‬ ‫به‬ ‫استقرار‬ ‫از‬ ‫پس‬ ‫بالفاصله‬ ‫که‬ ‫مواردی‬ ‫بر‬ ‫نظارت‬ ( ‫اپلیکیشن‬ ‫کارایی‬ ‫بر‬ ‫نظارت‬ Application Performance Monitoring ‫معیارهای‬ ‫تا‬ ‫کند‬ ‫کمک‬ ‫شما‬ ‫تیم‬ ‫به‬ ‫تواند‬ ‫می‬ ،) ‫مهم‬ ‫کارایی‬ ‫بطور‬ ‫تواند‬ ‫می‬ ‫سیستم‬ ‫معماری‬ ‫یا‬ ‫اپلیکیشن‬ ‫در‬ ‫تغییرات‬ .‫نماید‬ ‫نظارت‬ ‫را‬ ‫استقرار‬ ‫از‬ ‫پس‬ ‫سرور‬ ‫پاسخگویی‬ ‫زمان‬ ‫جمله‬ ‫از‬ .‫بگذارد‬ ‫تاثیر‬ ‫برنامه‬ ‫کارایی‬ ‫بر‬ ‫چشمگیری‬ ‫نظیر‬ ‫خطا‬ ‫بر‬ ‫نظارت‬ ‫حل‬ ‫راه‬ ‫یک‬ Rollbar ‫از‬ ‫پس‬ ‫شده‬ ‫فعال‬ ‫مجدد‬ ‫یا‬ ‫جدید‬ ‫خطاهای‬ ‫از‬ ‫را‬ ‫شما‬ ‫تیم‬ ‫سرعت‬ ‫به‬ ‫کار‬ ‫این‬ .‫است‬ ‫ضروری‬ ‫بسیار‬ ‫استقرار‬ ‫بر‬ ‫نظارت‬ ‫ابزار‬ ‫یک‬ ‫بدون‬ .‫نماید‬ ‫کشف‬ ‫را‬ ‫گردد‬ ‫رسیدگی‬ ‫و‬ ‫توجه‬ ‫آنها‬ ‫به‬ ‫فورا‬ ‫است‬ ‫نیاز‬ ‫که‬ ‫مهمی‬ ‫اشکاالت‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫‌سازد‬ ‫ی‬‫م‬ ‫مطلع‬ ‫آنها‬ ‫دهی‬ ‫گزارش‬ ‫به‬ ‫را‬ ‫زمانی‬ ‫اشکاالت‬ ‫این‬ ‫با‬ ‫مواجهه‬ ‫در‬ ‫کاربران‬ ‫از‬ ‫اندکی‬ ‫عده‬ ‫درحالیکه‬ .‫نشوند‬ ‫کشف‬ ‫هرگز‬ ‫اشکاالت‬ ‫است‬ ‫ممکن‬ ،‫خطا‬ .‫شود‬ ‫زیادی‬ ‫مشکالت‬ ‫بروز‬ ‫به‬ ‫منجر‬ ‫زمان‬ ‫مرور‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ،‫مشتری‬ ‫منفی‬ ‫تجربه‬ .‫‌کنند‬ ‫ی‬‫نم‬ ‫عمل‬ ‫چنین‬ ‫کاربران‬ ‫بیشتر‬ ،‫میدهند‬ ‫اختصاص‬ ( ‫عملیات‬ ‫های‬ ‫تیم‬ ‫میان‬ ‫در‬ ‫استقرار‬ ‫از‬ ‫پس‬ ‫مسائل‬ ‫همه‬ ‫از‬ ‫مشترک‬ ‫دید‬ ‫یک‬ ‫خطا‬ ‫بر‬ ‫نظارت‬ ‫ابزار‬ ‫یک‬ Ops ) ( ‫دهندگان‬ ‫توسعه‬ ‫و‬ Dev ) ‫ها‬ ‫تیم‬ ‫به‬ ‫مشترک‬ ‫درک‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫ایجاد‬ .‫باشند‬ ‫داشته‬ ‫بیشتری‬ ‫همکاری‬ ‫و‬ ‫پاسخگویی‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬
  • 48. ‫پروژه‬ ‫مدیریت‬ ،‫نظارت‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫برای‬ ‫روشی‬ ،‫پروژه‬ ‫مدیریت‬ ،‫بنابراین‬ .‫است‬ ‫پروژه‬ ‫یک‬ ،‫‌کند‬ ‫ی‬‫م‬ ‫تولید‬ ‫را‬ ‫دستاوردی‬ ‫و‬ ‫دارد‬ ‫پایان‬ ‫و‬ ‫آغاز‬ ‫یک‬ ‫که‬ ‫‌چه‬ ‫ن‬‫آ‬ ‫هر‬ .‫است‬ ‫پروژه‬ ‫یک‬ »‫«مدیریت‬ ،‫کلمه‬ ‫یک‬ ‫در‬ ‫و‬ ‫گزارش‬ ،‫کنترل‬ ،‫‌ها‬ ‫ت‬‫فعالی‬ ‫مدیریت‬ ،‫‌بندی‬ ‫ن‬‫زما‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫مانند‬ ‫را‬ ‫مرتبط‬ ‫اصول‬ ‫از‬ ‫زیادی‬ ‫تعداد‬ ‫که‬ ‫است‬ ‫مفهومی‬ ‫چتر‬ ‫یک‬ ،‫پروژه‬ ‫مدیریت‬ ،‫حقیقت‬ ‫در‬ .‫‌گیرد‬ ‫ی‬‫دربرم‬ ...‫و‬ ‫ریسک‬ ‫مدیریت‬ ،‫منابع‬ ‫مدیریت‬ ‫تیم‬ ‫یک‬ ‫و‬ ‫برآورده‬ ‫را‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫انتظارات‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تدوین‬ ‫را‬ ‫‌ای‬ ‫ه‬‫برنام‬ ‫او‬ .‫دارد‬ ‫نام‬ ‫پروژه‬ ‫مدیر‬ ،‫است‬ ‫پروژه‬ ‫یک‬ ‫بر‬ ‫نظارت‬ ‫مسئول‬ ‫که‬ ‫شخصی‬ ( ‫پروژه‬ ‫‌های‬ ‫ی‬‫‌دادن‬ ‫ل‬‫تحوی‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کنترل‬ ‫و‬ ‫نظارت‬ ‫را‬ ‫پروژه‬ ‫اجرای‬ ،‫پروژه‬ ‫مدیر‬ ‫سپس‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫تشکیل‬ ‫را‬ ‫پروژه‬ Deliverable ) .‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫پروژه‬ ‫مدیریت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫یک‬ ‫کمک‬ ‫به‬ ‫اغلب‬ ،‫کار‬ ‫این‬ .‫شود‬ ‫حاصل‬ ،‫انتظار‬ ‫مورد‬ ‫باکیفیت‬ ‫چیست؟‬ ‫پروژه‬ ‫مدیریت‬ .‫دارد‬ ‫وجوهی‬ ‫چه‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫بدانیم‬ ‫باید‬ ،‫چیزی‬ ‫هر‬ ‫بررسی‬ ‫از‬ ‫پیش‬ ‫و‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تالش‬ ‫پروژه‬ ‫مدیر‬ .‫‌کند‬ ‫ی‬‫م‬ ‫مطالعه‬ ‫را‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫اجرای‬ ‫و‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫که‬ ‫است‬ ‫مشی‬ ‫خط‬ ‫یک‬ ‫پروژه‬ ‫مدیریت‬ .‫شوند‬ ‫اجرا‬ ‫مشخص‬ ‫‌زمان‬ ‫ت‬‫مد‬ ‫در‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫تا‬ ‫کند‬ ‫پیدا‬ ‫دست‬ ‌ ‫ه‬‫‌شد‬ ‫ن‬‫تعیی‬ ‫اهداف‬ ‫به‬ ‫منابع‬ ‫تدوین‬ ‫را‬ ‫‌ای‬ ‫ه‬‫برنام‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫‌اند‬ ‫ه‬‫آموخت‬ ‫که‬ ‫‌هایی‬ ‫ش‬‫رو‬ ‫از‬ ‫پروژه‬ ‫مدیران‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫مشخص‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫یا‬ ‫مشتریان‬ ‫را‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫اهداف‬ ‫‌های‬ ‫ت‬‫محدودی‬ ‫به‬ ‫باید‬ ‫‌ها‬ ‫ه‬‫برنام‬ .‫کنند‬ ‫مشخص‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫نیازهای‬ ‫رفع‬ ‫برای‬ ‫را‬ ‫الزم‬ ‫‌های‬ ‫ی‬‫‌دادن‬ ‫ل‬‫توی‬ ‫و‬ ‫مهم‬ ‫اهداف‬ ،‫وظایف‬ ،‫منابع‬ ‫آن‬ ‫در‬ ‫و‬ ‫کنند‬ ( ‫زمان‬ ‫‌ها‬ ‫ت‬‫محدودی‬ ‫این‬ ‫کنند؛‬ ‫توجه‬ ‫نیز‬ ‫‌گانه‬ ‫ه‬‫س‬ Time ( ‫هزینه‬ ،) Cost ( ‫پروژه‬ ‫محدوده‬ ‫و‬ ) Project Scope .‫هستند‬ ) ‫‌افزارهای‬ ‫م‬‫نر‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫پروژه‬ ‫مدیریت‬ ‫‌های‬ ‫ه‬‫برنام‬ ‫از‬ ‫نیازها‬ ‫و‬ ‫‌ها‬ ‫ه‬‫برنام‬ ،‫‌ها‬ ‫ت‬‫محدودی‬ ‫بین‬ ‫تعادل‬ ‫به‬ ‫دستیابی‬ ‫منظور‬ ‌ ‫ه‬‫ب‬ ‫اغلب‬ ‫مدیران‬ ‫‌ی‬ ‫ه‬‫هزین‬ ‫باید‬ ،‫شویم‬ ‫مواجه‬ ‫محدودیت‬ ‫با‬ ‫پروژه‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫در‬ ‫اگر‬ ،‫مثال‬ ‫برای‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫م‬‫تی‬ ‫کردن‬ ‫کارآمد‬ ‫و‬ ‫پروژه‬ ‫پیگیری‬ ‫به‬ ‫آنالین‬ .‫شود‬ ‫صرف‬ ‫بیشتری‬ ‫چیست؟‬ ‫پروژه‬
  • 49. .‫شوید‬ ‫آشنا‬ ‫پروژه‬ ‫مفهوم‬ ‫با‬ ‫است‬ ‫بهتر‬ ،‫دارد‬ ‫وظایفی‬ ‫چه‬ ‫پروژه‬ ‫مدیر‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫دادیم‬ ‫توضیح‬ ‫که‬ ‫حال‬ ،‫‌رسد‬ ‫ی‬‫م‬ ‫پایان‬ ‫به‬ ‫پروژه‬ ‫که‬ ‫زمانی‬ .‫شود‬ ‫کامل‬ ‫مشخصی‬ ‫‌زمان‬ ‫ت‬‫مد‬ ‫در‬ ‫باید‬ ‫و‬ ‫دارد‬ ‫مشخصی‬ ‫هدف‬ ‫که‬ ‫است‬ ‫‌ها‬ ‫ت‬‫فعالی‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ‫پروژه‬ ‫یا‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫تکرار‬ ‫مدام‬ ‫که‬ ‫‌وکار‬ ‫ب‬‫کس‬ ‫عملکردهای‬ ‫‌ی‬ ‫ه‬‫بقی‬ ‫خالف‬ ‫بر‬ ‫زیرا‬ ،‫هستند‬ ‫یکتا‬ ‫‌ها‬ ‫ه‬‫پروژ‬ .‫‌است‬ ‫ه‬‫گرفت‬ ‫شکل‬ ‫خاصی‬ ‫خدمت‬ ‫یا‬ ‫محصول‬ .‫‌رسند‬ ‫ی‬‫م‬ ‫پایان‬ ‫به‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫پیدا‬ ‫ادامه‬ ‫پروژه‬ ‫حیات‬ ‫چرخه‬ ‫مرحله‬ ( ‫پروژه‬ ‫حیات‬ ‫چرخه‬ ‫بتوانید‬ ‫اگر‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫طی‬ ‫را‬ ‫مختلفی‬ ‫مراحل‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫همه‬ ،‫هستند‬ ‫پایان‬ ‫و‬ ‫میانه‬ ،‫آغاز‬ ‫دارای‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫که‬ ‫‌جا‬ ‫ن‬‫آ‬ ‫از‬ Project Life Cycle .‫‌اید‬ ‫ه‬‫فراگرفت‬ ‫خوبی‬ ‫به‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫یعنی‬ ،‫کنید‬ ‫درک‬ ‫را‬ ) ۱ ‫شروع‬ . ‫چگونه‬: ‫و‬ »‫‌دهد؟‬ ‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫چیزی‬ ‫چه‬ ‫دقیقا‬ ‫«پروژه‬ ‫‌کند‬ ‫ی‬‫م‬ ‫بیان‬ ‫که‬ ،‫را‬ ‫پروژه‬ ‫منشور‬ ‫و‬ ‫تدوین‬ ‫را‬ ‫ایده‬ ‫شما‬ .‫است‬ ‫پروژه‬ ‫شروع‬ ،‫مرحله‬ ‫این‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫تهیه‬ ،»‫برسید؟‬ ‫آن‬ ‫به‬ ‫‌خواهید‬ ‫ی‬‫م‬ ‫مانند‬ ‫فرایندهایی‬ ‫و‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫برنامه‬ ،‫پروژه‬ ‫اهداف‬ ‫تعیین‬ ‫برای‬ ‫را‬ ‫مرتبط‬ ‫افراد‬ ‫سایر‬ ‫و‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ،‫تیم‬ ‫که‬ ‫جایی‬ ‫در‬ ،‫پروژه‬ ‫از‬ ‫مرحله‬ ‫این‬ .‫‌رسد‬ ‫ی‬‫م‬ ‫خود‬ ‫اوج‬ ‫به‬ ،‫‌آورید‬ ‫ی‬‫م‬ ‫هم‬ ‫گرد‬ ،‫ارتباطاتی‬ ‫زنجیره‬ ‫و‬ ‫ارتباطات‬ ‫چگونگی‬ ۲ ‫‌ریزی‬ ‫ه‬‫برنام‬ . ‫خروجی‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫ریزی‬ ‫برنامه‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫صرف‬ ‫که‬ ‫زمانی‬ ‫برآورد‬ ‫و‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫‌های‬ ‫ش‬‫بخ‬ ‫به‬ ‫کارها‬ ‫تجزیه‬ ‫با‬ ‫شما‬ ‫که‬ ‫است‬ ‫جایی‬ ،‫بعدی‬ ‫مرحله‬ ( ‫چارت‬ ‫گانت‬ ‫با‬ ‫اغلب‬ ‫که‬ ‫است‬ ‫پروژه‬ ‫برنامه‬ ،‫حاصل‬ Gantt chart ‫نشان‬ ،‫‌ها‬ ‫ن‬‫‌آ‬‫بین‬ ‫وابستگی‬ ‫چگونگی‬ ‫و‬ ‫کارها‬ ‫ترتیب‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫رسم‬ ) .‫است‬ ‫پروژه‬ ‫نتایج‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫راه‬ ‫نقشه‬ ‫یک‬ ‫حکم‬ ‫در‬ ‫امر‬ ‫این‬ .‫‌شود‬ ‫ی‬‫م‬ ‫داده‬ ۳ ‫اجرا‬ . ‫نظر‬ ‫از‬ ‫شوید‬ ‫مطمئن‬ ‫تا‬ ‫‌کنید‬ ‫ی‬‫م‬ ‫نظارت‬ ‫و‬ ‫کنترل‬ ‫را‬ ‫کار‬ ،‫مسیر‬ ‫این‬ ‫طول‬ ‫در‬ .‫کنید‬ ‫اجرا‬ ‫را‬ ‫آن‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫دارید‬ ‫برنامه‬ ‫پروژه‬ ‫برای‬ ‫که‬ ‫اکنون‬ ‫هر‬ ‫ثبت‬ ‫و‬ ‫مشکالت‬ ‫با‬ ‫مقابله‬ ،‫‌ها‬ ‫ک‬‫ریس‬ ‫تعدیل‬ ‫و‬ ‫شناسایی‬ ‫برای‬ ‫همچنین‬ .‫‌روید‬ ‫ی‬‫م‬ ‫پیش‬ ‫برنامه‬ ‫طبق‬ ،‫عملکرد‬ ‫کیفیت‬ ‫و‬ ‫‌بندی‬ ‫ن‬‫زما‬ ،‫بودجه‬ .‫‌افتد‬ ‫ی‬‫م‬ ‫اتفاق‬ ‫مرحله‬ ‫این‬ ‫در‬ ‫پروژه‬ ‫مدیر‬ ‫یک‬ ‫کار‬ ‫اعظم‬ ‫قسمت‬ .‫کرد‬ ‫خواهید‬ ‫تالش‬ ،‫تغییری‬ ۴ ‫کنترل‬ ‫و‬ ‫نظارت‬ . ‫‌شود‬ ‫ی‬‫م‬ ‫نیز‬ ‫پروژه‬ ‫پیشرفت‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫شامل‬ ،‫کنترل‬ ‫و‬ ‫نظارت‬ .‫‌رود‬ ‫ی‬‫م‬ ‫پیش‬ ‫اجرا‬ ‫فاز‬ ‫با‬ ‫‌زمان‬ ‫م‬‫ه‬ ‫که‬ ‫است‬ ‫کنترل‬ ‫و‬ ‫نظارت‬ ،‫مرحله‬ ‫چهارمین‬ ‫کنترل‬ ‫فرایند‬ ‫از‬ ،‫پروژه‬ ‫در‬ ‫کیفیت‬ ‫تضمین‬ ‫از‬ ‫اطمینان‬ ‫برای‬ .‫‌رود‬ ‫ی‬‫م‬ ‫پیش‬ ‫‌شده‬ ‫ن‬‫تعیی‬ ‫زمانبندی‬ ‫و‬ ‫بودجه‬ ‫با‬ ‫مطابق‬ ‫پروژه‬ ‫باشیم‬ ‫مطمئن‬ ‫تا‬ .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫کیفیت‬ ‫هدف‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫شناخته‬ ‫‌گانه‬ ‫ه‬‫س‬ ‫‌های‬ ‫ت‬‫محدودی‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫هستند‬ ‫محدوده‬ ‫و‬ ‫هزینه‬ ،‫زمان‬ ‫به‬ ‫مربوط‬ ‫معموال‬ ،‫پروژه‬ ‫در‬ ‫مهم‬ ‫موضوع‬ ‫سه‬ .‫کنند‬ ‫‌روی‬ ‫ش‬‫پی‬ ‫شده‬ ‫تعیین‬ ‫‌ی‬ ‫ه‬‫محدود‬ ‫از‬ ‫عامل‬ ‫سه‬ ‫این‬ ‫ندهد‬ ‫اجازه‬ ‫که‬ ‫است‬ ‌ ‫ی‬‫دقیق‬ ‫‌های‬ ‫ل‬‫کنتر‬ ‫اعمال‬ ،‫فاز‬ ‫این‬ ‫اصلی‬
  • 50. ۵ ‫پایان‬ . ‫به‬ ‫‌ای‬ ‫ه‬‫‌آموخت‬ ‫س‬‫در‬ ‫هرگونه‬ ‫که‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫و‬ ‫ببرد‬ ‫را‬ ‫استفاده‬ ‫بهترین‬ ،‫آمده‬ ‫‌دست‬ ‫ه‬‫ب‬ ‫‌چه‬ ‫ن‬‫آ‬ ‫از‬ ‫تا‬ ‫یابند‬ ‫پایان‬ ‫‌دقت‬ ‫ه‬‫ب‬ ‫باید‬ ‫پروژه‬ ‫کارهای‬ ‫را‬ ‫نهایی‬ ‫‌های‬ ‫ش‬‫گزار‬ ‫و‬ ‫مدارک‬ ‫و‬ ‫اسناد‬ ‫تمام‬ ،‫کرد‬ ‫خواهید‬ ‫دریافت‬ ‫را‬ ‫پروژه‬ ‫اتمام‬ ‫جهت‬ ‫مشتری‬ ‫پذیرش‬ ،‫مرحله‬ ‫این‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫منتقل‬ ،‫‌ها‬ ‫م‬‫تی‬ .‫‌دهید‬ ‫ی‬‫م‬ ‫تحویل‬ ‫عملیات‬ ‫مدیریت‬ ‫تیم‬ ‫مانند‬ ‫دیگری‬ ‫تیم‬ ‫به‬ ‫را‬ ‫تحویل‬ ‫قابل‬ ‫موارد‬ ‫و‬ ‫‌رسانید‬ ‫ی‬‫م‬ ‫پایان‬ ‫به‬
  • 51. ‫پروژه‬ ‫مدیریت‬ ‫مثلث‬ ‫یا‬ ‫‌گانه‬ ‫ه‬‫س‬ ‫‌های‬ ‫ت‬‫محدودی‬ ( ‫پروژه‬ ‫مدیریت‬ ‫مثلث‬ ‫نام‬ ‫به‬ ‫که‬ ‫‌گانه‬ ‫ه‬‫س‬ ‫‌های‬ ‫ت‬‫محدودی‬ Project Panagement Triangle ‫است‬ ‫مفهومی‬ ،‫‌شوند‬ ‫ی‬‫م‬ ‫شناخته‬ ‫نیز‬ ) ‫است؛‬ ‫پروژه‬ ‫مدیریت‬ ‫بنای‬ ‫سنگ‬ ‫مفهوم‬ ‫این‬ .‫دارد‬ ‫اشاره‬ ‫پروژه‬ ‫‌ی‬ ‫ه‬‫محدود‬ ‫و‬ ‫هزینه‬ ،‫زمان‬ ‫در‬ ‫محدودیت‬ ‫به‬ ‫و‬ ‫است‬ ‫صادق‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫تمام‬ ‫برای‬ ‫که‬ ( ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫در‬ ‫باید‬ ‫مدیران‬ ‫دلیل‬ ‫همین‬ ‫به‬ planning phase ( ‫‌بندی‬ ‫ن‬‫زما‬ ‫به‬ ‫خاصی‬ ‫توجه‬ ) schedule ،‫پروژه‬ ‫اتمام‬ ‫برای‬ ) ‫و‬ ‫بودجه‬ WBS ( ‫کار‬ ‫شکست‬ ‫ساختار‬ ‫یا‬ work breakdown structure ‫‌های‬ ‫ت‬‫محدودی‬ ‫مدیریت‬ ‫‌ی‬ ‫ه‬‫نحو‬ ‫به‬ ‫بیایید‬ .‫‌باشند‬ ‫ه‬‫داشت‬ ) .‫بیندازیم‬ ‫نگاهی‬ ‫‌گانه‬ ‫ه‬‫س‬ ۱ ‫زمان‬ . ( ‫پرت‬ ‫نمودارهای‬ ‫مثل‬ ‫ابزارهایی‬ ‫از‬ ‫منظور‬ ‫این‬ ‫به‬ .‫بزنند‬ ‫تخمین‬ ،‫است‬ ‫الزم‬ ‫پروژه‬ ‫اتمام‬ ‫برای‬ ‫که‬ ‫را‬ ‫زمانی‬ ‫باید‬ ‫پروژه‬ ‫مدیران‬ PERT charts ( ‫بحرانی‬ ‫مسیر‬ ‫یا‬ ) Critical Path Method ‫آن‬ ‫به‬ ‫که‬ ) CPM ‫و‬ ‫پروژه‬ ‫آغاز‬ ‫در‬ ‫باید‬ ‫کار‬ ‫این‬ .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ،‫‌گویند‬ ‫ی‬‫م‬ ‫نیز‬ ‫اجرا‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫به‬ ‫پروژه‬ ‫وقتی‬ .‫شود‬ ‫مشخص‬ ‫‌ها‬ ‫ت‬‫فعالی‬ ‫تمام‬ ‫رساندن‬ ‫انجام‬ ‫به‬ ‫برای‬ ‫الزم‬ ‫زمان‬ ‫و‬ ‫اقدامات‬ ‫تا‬ ‫شود‬ ‫انجام‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫در‬ ( ‫‌بندی‬ ‫ن‬‫زما‬ .‫شود‬ ‫ایجاد‬ ‫تغییر‬ ‫برنامه‬ ‫در‬ ‫لزوم‬ ‫صورت‬ ‫در‬ ‫تا‬ ‫باشد‬ ‫‌نظر‬ ‫ت‬‫تح‬ ‫باید‬ ‫پروژه‬ ‫وضعیت‬ ،‫رسید‬ Schedule Management ‫از‬ ) .‫هستند‬ ‫زمانی‬ ‫‌های‬ ‫ت‬‫محدودی‬ ‫‌وفصل‬ ‫ل‬‫ح‬ ‫مسئول‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫تشکیل‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫مدیریت‬ ‫فرایندهای‬ ‫از‬ ‫دسته‬ ‫آن‬ ( ‫پروژه‬ ‫الین‬ ‫تایم‬ ‫یا‬ ‫زمانی‬ ‫خط‬ :‫مرتبط‬ ‫مطلب‬ Project Timeline ‫چیست؟‬ ) ۲ ‫محدوده‬ . ‫باید‬ ‫کار‬ ‫شکست‬ ‫ساختار‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫در‬ .‫شوند‬ ‫انجام‬ ‫پروژه‬ ‫اتمام‬ ‫برای‬ ‫باید‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫کارهایی‬ ‌ ‫م‬‫تما‬ ‫شامل‬ ‫محدوده‬ ‫اجرای‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫در‬ ‫‌نشده‬ ‫ی‬‫‌ریز‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ت‬‫فعالی‬ ‫دلیل‬ ‫به‬ ‫است‬ ‫ممکن‬ ،‫نشود‬ ‫مشخص‬ ‫پروژه‬ ‫ابتدای‬ ‫در‬ ‫محدوده‬ ‫اگر‬ .‫کرد‬ ‫شناسایی‬ ‫را‬ ‫محدوده‬ ‫پروژه‬ ‫محدوده‬ ‫مدیریت‬ ‫فرایند‬ .‫شود‬ ‫پروژه‬ ‫خوردن‬ ‫شکست‬ ‫باعث‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫‌نامند‬ ‫ی‬‫م‬ ‫محدوده‬ ‫خزش‬ ‫را‬ ‫پدیده‬ ‫این‬ .‫یابد‬ ‫گسترش‬ ‫پروژه‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کنترل‬ ‫را‬ ‫مسئله‬ ‫این‬ ۳ ‫هزینه‬ . ‫که‬ ‫است‬ ‫این‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫نهایی‬ ‫هدف‬ .‫هستند‬ ‫‌ها‬ ‫ه‬‫هزین‬ ‫کنترل‬ ‫و‬ ‫‌بندی‬ ‫ه‬‫بودج‬ ،‫زدن‬ ‫تخمین‬ ‫مسئول‬ ‫پروژه‬ ‫مدیران‬ .‫دارد‬ ‫زیادی‬ ‫‌های‬ ‫ه‬‫هزین‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫هر‬ .‫است‬ ‫هزینه‬ ‫مدیریت‬ ‫به‬ ‫مربوط‬ ‫‌ها‬ ‫ت‬‫مسئولی‬ ‫این‬ ‫تمام‬ .‫کنند‬ ‫اجرا‬ ‫مقبول‬ ‫‌ای‬ ‫ه‬‫بودج‬ ‫با‬ ‫را‬ ‫پروژه‬ ،‫زمان‬ ‫به‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫‌گانه‬ ‫ه‬‫س‬ ‫‌های‬ ‫ت‬‫محدودی‬ .‫باشد‬ ‫نکرده‬ ‫ذکر‬ ‫را‬ ‫‌گانه‬ ‫ه‬‫س‬ ‫‌های‬ ‫ت‬‫محدودی‬ ‫که‬ ‫نیست‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫مدیریت‬ ‫راهنمای‬ ‫هیچ‬ ‫هزینه‬ ‫و‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫پروژه‬ ‫اهداف‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫که‬ ‫است‬ ‫وظایفی‬ ‫شامل‬ ‫محدوده‬ ،‫است‬ ‫شما‬ ‫برنامه‬ ،‫زمان‬ .‫دارد‬ ‫اشاره‬ ‫محدوده‬ ‫و‬ ‫هزینه‬ ‫تاثیر‬ ‫یکدیگر‬ ‫بر‬ ‫همیشه‬ ،‫مثلث‬ ‫این‬ ‫ضلع‬ ‫سه‬ .‫است‬ ‫مهم‬ ‫بسیار‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫هر‬ ‫برای‬ ‫امر‬ ‫این‬ ‫که‬ ‫‌بینید‬ ‫ی‬‫م‬ .‫‌شود‬ ‫ی‬‫م‬ ‫شامل‬ ‫را‬ ‫بودجه‬ ‫و‬ ‫مالی‬ ‫موارد‬ .‫هستید‬ ‫هزینه‬ ‫و‬ ‫محدوده‬ ‫مجدد‬ ‫تنظیم‬ ‫به‬ ‫مجبور‬ ،‫نکنید‬ ‫‌نشینی‬ ‫ب‬‫عق‬ ‫‌موقع‬ ‫ه‬‫ب‬ ‫اگر‬ .‫‌گذارند‬ ‫ی‬‫م‬ ‫وجود‬ ‫زیادی‬ ‫عوامل‬ ‫و‬ ‫نیست‬ ‫پروژه‬ ‫موفقیت‬ ‫متضمن‬ ،‫‌گانه‬ ‫ه‬‫س‬ ‫محدودیت‬ ‫این‬ ‫مدیریت‬ ‫اگرچه‬ .‫است‬ ‫استوار‬ ‫رکن‬ ‫سه‬ ‫این‬ ‫بر‬ ‫پروژه‬ ‫هر‬ ‫موفقیت‬ .‫نیاید‬ ‫وجود‬ ‫به‬ ‫مشکلی‬ ‫تا‬ ‫شوند‬ ‫مدیریت‬ ‫باید‬ ،‫رکن‬ ‫سه‬ ‫این‬ ،‫حال‬ ‫این‬ ‫با‬ ‫دارد‬
  • 52. ‫کیست؟‬ ‫پروژه‬ ‫مدیر‬ .‫سازیم‬ ‫آشنا‬ ‫پروژه‬ ‫مدیر‬ ‫با‬ ‫‌تر‬ ‫ق‬‫دقی‬ ‫صورت‬ ‫به‬ ‫را‬ ‫شما‬ ‫داریم‬ ‫قصد‬ ‫ادامه‬ ‫در‬ ،‫دارد‬ ‫وجوهی‬ ‫چه‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫تعریف‬ ‫‌دانید‬ ‫ی‬‫م‬ ‫که‬ ‫حال‬ ‫‌های‬ ‫ت‬‫شرک‬ ‫در‬ .‫کارهاست‬ ‫سازماندهی‬ ‫و‬ ‫تیم‬ ‫هدایت‬ ‫مسئول‬ ‫و‬ ‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫پروژه‬ ‫اجرای‬ ‫و‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫‌ی‬ ‫ه‬‫وظیف‬ ‫که‬ ‫است‬ ‫کسی‬ ‫پروژه‬ ‫مدیر‬ ( ‫متخصصانی‬ ‫معموال‬ ‫پروژه‬ ‫مدیران‬ ‫‌تر‬ ‫ه‬‫پیچید‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫در‬ ‫و‬ ‫‌تر‬ ‫ه‬‫‌یافت‬ ‫ن‬‫سازما‬ ‫و‬ ‫‌تر‬ ‫ی‬‫رسم‬ PMP ‫سازمان‬ ‫از‬ ‫معتبری‬ ‫‌ی‬ ‫ه‬‫‌نام‬ ‫ی‬‫گواه‬ ‫که‬ ‫هستند‬ ) ( ‫پروژه‬ ‫مدیریت‬ PMI .‫دارند‬ ) ‫فرایندهای‬ ‫تمام‬ ‫مسئول‬ ‫پروژه‬ ‫مدیران‬ .‫نیست‬ ‫‌نامه‬ ‫ی‬‫گواه‬ ‫نیازمند‬ ‫پروژه‬ ‫مدیر‬ ،‫کوچک‬ ‫‌وکارهای‬ ‫ب‬‫کس‬ ‫مثل‬ ،‫رسمی‬ ‫‌تر‬ ‫م‬‫ک‬ ‫‌های‬ ‫ن‬‫سازما‬ ‫در‬ ‫پایان‬ ‫و‬ ‫نظارت‬ ،‫اجرا‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫بر‬ ‫پروژه‬ ‫مدیران‬ ،‫ساده‬ ‫زبان‬ ‫به‬ .‫‌دهند‬ ‫ی‬‫م‬ ‫رخ‬ ‫پروژه‬ ‫حیات‬ ‫‌ی‬ ‫ه‬‫چرخ‬ ‫تمام‬ ‫در‬ ‫که‬ ‫هستند‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫مدیریت‬ .‫دارند‬ ‫مشترکی‬ ‫‌های‬ ‫ت‬‫مسئولی‬ ‫و‬ ‫‌ها‬ ‫ش‬‫نق‬ ‫پروژه‬ ‫مدیران‬ ‫‌تر‬ ‫ش‬‫بی‬ ،‫این‬ ‫وجود‬ ‫با‬ ‫‌کنند؛‬ ‫ی‬‫م‬ ‫نظارت‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫به‬ ‫دادن‬ ‫معمول‬ ‫وظایف‬ ‫از‬ ‫برخی‬ .‫شوید‬ ‫آشنا‬ ‫پروژه‬ ‫مدیر‬ ‫وظایف‬ ‫با‬ ‫است‬ ‫بهتر‬ ،‫است‬ ‫کسی‬ ‫چه‬ ‫پروژه‬ ‫مدیر‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫‌دانید‬ ‫ی‬‫م‬ ‫که‬ ‫حال‬ :‫از‬ ‫‌اند‬ ‫ت‬‫عبار‬ ‫پروژه‬ ‫مدیر‬ • ( ‫محدوده‬ ‫مدیریت‬ Scope Management :) ‫پروژه؛‬ ‫کردن‬ ‫کامل‬ ‫برای‬ ‫الزم‬ ‫کار‬ ‫تعریف‬ • ( ‫‌ها‬ ‫ت‬‫فعالی‬ ‫مدیریت‬ Task Management :) ‫‌ها؛‬ ‫ی‬‫‌دادن‬ ‫ل‬‫تحوی‬ ‫تعیین‬ ‫و‬ ‫‌ها‬ ‫ت‬‫فعالی‬ ‫برای‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ • ( ‫منابع‬ ‫مدیریت‬ Resource Management :) ‫کارآمد؛‬ ‫شکلی‬ ‫به‬ ‫منابع‬ ‫‌ی‬ ‫ه‬‫بقی‬ ‫و‬ ‫مواد‬ ،‫‌ها‬ ‫ه‬‫سرمای‬ ،‫افراد‬ ‫از‬ ‫استفاده‬ • ( ‫تیم‬ ‫مدیریت‬ Team Management :) ‫آن؛‬ ‫رهبری‬ ‫و‬ ‫تیم‬ ‫تشکیل‬ • ( ‫‌بندی‬ ‫ن‬‫زما‬ ‫مدیریت‬ Schedule Management :) ‫زمانی‬ ‫‌ی‬ ‫ه‬‫برنام‬ ‫کردن‬ ‫مشخص‬ ‫منظور‬ ‌ ‫ه‬‫ب‬ ‫‌ها‬ ‫ت‬‫فعالی‬ ‫مدت‬ ‫تحلیل‬ ‫تغییر‬ ‫برنامه‬ ‫در‬ ‫لزوم‬ ‫صورت‬ ‫در‬ ‫تا‬ ‫باشد‬ ‫‌نظر‬ ‫ت‬‫تح‬ ‫باید‬ ‫پروژه‬ ‫وضعیت‬ ،‫رسید‬ ‫اجرا‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫به‬ ‫پروژه‬ ‫وقتی‬ .‫پروژه‬ ‫‌های‬ ‫ت‬‫فعالی‬ ‫برای‬ ‫شود؛‬ ‫ایجاد‬ • ( ‫کیفیت‬ ‫مدیریت‬ Quality Management :) ‫کار‬ ‌ ‫ه‬‫ب‬ ‫و‬ ‫پروژه‬ ‫خدمات‬ ‫و‬ ‫محصوالت‬ ‫برای‬ ‫کیفیت‬ ‫‌های‬ ‫ت‬‫سیاس‬ ‫تعیین‬ ‫پروژه؛‬ ‫مدیریت‬ ‫وظایف‬ ‫از‬ ‫کیفیت‬ ‫کنترل‬ ‫و‬ ‫تضمین‬ ‫فرایندهای‬ ‫بستن‬ • ( ‫‌ها‬ ‫ه‬‫هزین‬ ‫مدیریت‬ Cost Management :) ‫بودجه؛‬ ‫تعیین‬ ‫و‬ ‫‌ها‬ ‫ه‬‫هزین‬ ‫تخمین‬ • ( ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫مدیریت‬ Stakeholder Management :) ‫ارتباط‬ ‫و‬ ‫توقعاتشان‬ ‫و‬ ‫انتظارات‬ ‫به‬ ‫دادن‬ ‌ ‫خ‬‫پاس‬ ‫با‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫اقناع‬ ‫پروژه؛‬ ‫پیشرفت‬ ‫حین‬ ‫در‬ ‫ایشان‬ ‫با‬ ‫گرفتن‬ • ( ‫ریسک‬ ‫مدیریت‬ Risk management :) ‫‌ها؛‬ ‫ن‬‫آ‬ ‫رساندن‬ ‫حداقل‬ ‌ ‫ه‬‫ب‬ ‫و‬ ‫پروژه‬ ‫‌های‬ ‫ک‬‫ریس‬ ‫بر‬ ‫نظارت‬ ‫و‬ ‫شناسایی‬ • ( ‫وضعیت‬ ‫گزارش‬ Status Reporting :) .‫دیگر‬ ‫اسناد‬ ‫و‬ ‫گزارش‬ ‫تنظیم‬ ‫طریق‬ ‫از‬ ‫پروژه‬ ‫پیشرفت‬ ‫و‬ ‫عملکرد‬ ‫پیگیری‬ ‫و‬ ‫نظارت‬ ‫مدیریت‬ ‫‌ی‬ ‫ه‬‫مؤسس‬ ‫نظر‬ ‌ ‫ت‬‫تح‬ ‫پروژه‬ ‫مدیران‬ ‫که‬ ‫بدانید‬ ‫باید‬ ،‫کیست‬ ‫پروژه‬ ‫مدیر‬ ‫و‬ ‫چیست‬ ‫پروژه‬ ‫مدیریت‬ ‫تعریف‬ ‫‌دانید‬ ‫ی‬‫م‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫که‬ ‫حال‬ ( ‫پروژه‬ ‫مدیریت‬ ‫دانش‬ ‫کتاب‬ ‫در‬ ‫را‬ ‫مدیریت‬ ‫استانداردهای‬ ‌ ‫ه‬‫مؤسس‬ ‫این‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫دریافت‬ ‫‌نامه‬ ‫ی‬‫گواه‬ ‫و‬ ‫‌بینند‬ ‫ی‬‫م‬ ‫آموزش‬ ‫پروژه‬ Project ( ) Management Book of Knowledge PMBOK .‫‌است‬ ‫ه‬‫کرد‬ ‫کدگذاری‬ ‫و‬ ‫تعریف‬ )
  • 53. ‫مدرک‬ PMP ‫مانند‬ ‫‌تری‬ ‫ی‬‫تخصص‬ ‫آموزشی‬ ‫‌های‬ ‫ب‬‫انتخا‬ ‌ ‫ه‬‫مؤسس‬ ‫این‬ ‫اما‬ ،‫است‬ ‫پروژه‬ ‫مدیران‬ ‫برای‬ ‫معمول‬ ‫و‬ ‫استاندارد‬ ‫‌های‬ ‫ه‬‫‌نام‬ ‫ی‬‫گواه‬ ‫از‬ ‫یکی‬ ( ‫برنامه‬ ‫مدیریت‬ ‫متخصص‬ ‫تربیت‬ ‫‌های‬ ‫ه‬‫برنام‬ Program Management Professional ( ‫پورتفولیو‬ ‫مدیریت‬ ‫متخصص‬ ‫و‬ ) Portfolio Management Professional .‫‌گذارد‬ ‫ی‬‫م‬ ‫مدیران‬ ‫پای‬ ‫پیش‬ ‫را‬ ) ‫پروژه‬ ‫مدیریت‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫مانند‬ ‫پروژه‬ ‫مدیریت‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫از‬ ،‫‌هایشان‬ ‫ت‬‫مهار‬ ‫و‬ ‫دانش‬ ‫کنار‬ ‫در‬ ،‫‌ها‬ ‫ه‬‫پروژ‬ ‫اتمام‬ ‫جهت‬ ‫در‬ ‫الزم‬ ‫وظایف‬ ‫تمام‬ ‫اجرای‬ ‫برای‬ ‫پروژه‬ ‫مدیران‬ ( ‫پروژه‬ ‫مایکروسافت‬ Microsoft Project .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ) ‫کمک‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫همچنین‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‌ ‫ه‬‫پروژ‬ ‫گزارش‬ ‫و‬ ‫نظارت‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫امر‬ ‫در‬ ‫مدیران‬ ‫به‬ ‫که‬ ‫است‬ ‫بستری‬ ‫پروژه‬ ‫مدیریت‬ ‫افزار‬ ‫نرم‬ ‫به‬ ‫مربوط‬ ‫جزئیات‬ ‫تمام‬ ‫مدیریت‬ ‫جهت‬ ‫را‬ ‫پروژه‬ ‫‌های‬ ‫م‬‫تی‬ ،‫خوب‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫یک‬ .‫کنند‬ ‫همکاری‬ ‫یکدیگر‬ ‫با‬ ‫و‬ ‫کرده‬ ‫مدیریت‬ ‫را‬ ‫خود‬ ‫کار‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ .‫‌سازد‬ ‫ی‬‫م‬ ‫توانمند‬ ،‫موفق‬ ‫پروژه‬ ‫یک‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ .‫دارند‬ ‫قرار‬ ‫دسترس‬ ‫در‬ ،‫ها‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫شما‬ ‫به‬ ‫کمک‬ ‫برای‬ ،‫موبایل‬ ‫هم‬ ‫و‬ ‫آنالین‬ ‫هم‬ ،‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫از‬ ‫‌ای‬ ‫ه‬‫گسترد‬ ‫طیف‬ ‫امروزه‬ .‫‌پردازیم‬ ‫ی‬‫م‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫به‬ ‫ادامه‬ ‫در‬ ‫گانت‬ ‫نمودار‬ ‫شامل‬ ‫که‬ ‫خود‬ ‫اصلی‬ ‫ساختار‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫اما‬ .‫هستند‬ ‫مشارکتی‬ ‫و‬ ‫تعاملی‬ ،‫گانت‬ ‫امروزه‬ ‫نمودارهای‬ .‫دارد‬ ‫دستی‬ ‫نسخه‬ ‫با‬ ‫زیادی‬ ‫فاصله‬ ‫آنالین‬ ‫نسخه‬ ‫پر‬ ‫زمانی‬ ‫جدول‬ ‫و‬ ‫شده‬ ‫لیست‬ ‫چپ‬ ‫سمت‬ ‫در‬ ‫وظایف‬ .‫‌اند‬ ‫ه‬‫کرد‬ ‫حفظ‬ ،‫است‬ ‫راست‬ ‫سمت‬ ‫در‬ ‫زمانی‬ ‫جدول‬ ‫و‬ ‫چپ‬ ‫سمت‬ ‫در‬ ‫گسترده‬ ‫صفحه‬ ‫یک‬ .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫پروژه‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫و‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫برای‬ ‫نوار‬ ‫این‬ ‫از‬ .‫است‬ ‫شده‬ ‫کشیده‬ ‫پایان‬ ‫تاریخ‬ ‫تا‬ ‫شروع‬ ‫تاریخ‬ ‫از‬ ‫وضعیت‬ ‫نوار‬ ‫یک‬ ،‫‌شود‬ ‫ی‬‫م‬ ‫داشبورد‬ ‫و‬ ‫تیم‬ ‫کار‬ ‫حجم‬ ،‫‌ها‬ ‫ت‬‫فعالی‬ ‫وضعیت‬ ،‫بودجه‬ ‫مانند‬ ‫‌ای‬ ‫ه‬‫داد‬ ‫نقاط‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ‫داشبورد‬ ،‫اساسا‬ .‫باشد‬ ‫پیچیده‬ ‫یا‬ ‫آسان‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫داشبورد‬ ‫ساخت‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫ارائه‬ ‫آن‬ ‫پیشرفت‬ ‫و‬ ‫پروژه‬ ‫از‬ ‫باال‬ ‫سطح‬ ‫نمای‬ ‫یک‬ ،‫ابزار‬ ‫این‬ .‫است‬ ‫برنامه‬ ‫کلی‬ ‫وضعیت‬ ‫از‬ ‫بعضی‬ .‫بدانند‬ ‫را‬ ‫زیادی‬ ‫جزئیات‬ ‫‌خواهند‬ ‫ی‬‫نم‬ ‫معموال‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫زیرا‬ ‫است؛‬ ‫پروژه‬ ‫درباره‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫‌داشتن‬ ‫ه‬‫نگ‬ ‫‌روز‬ ‫ه‬‫ب‬ ‫برای‬ ‫‌آلی‬ ‫ه‬‫اید‬ ‫ابزار‬ ‫داشبورد‬ ‫ایجاد‬ ‫داشبورد‬ ‫تا‬ ‫کرده‬ ‫سرهم‬ ‫دیگر‬ ‫برنامه‬ ‫یک‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫کنند‬ ‫جمع‬ ‫دستی‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫را‬ ‫متفاوت‬ ‫گزارشات‬ ‫از‬ ‫‌ای‬ ‫ه‬‫دست‬ ‫باید‬ ‫داشبوردها‬ .‫شود‬
  • 54. ‫‌ها‬ ‫ت‬‫فعالی‬ ‫لیست‬ ‫اهداف‬ ‫‌شدن‬ ‫ه‬‫برآورد‬ ‫از‬ ‫تا‬ ‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫پروژه‬ ‫حین‬ ‫در‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫پیگیری‬ ‫و‬ ‫تخصیص‬ ،‫‌ها‬ ‫ت‬‫فعالی‬ ‫مدیریت‬ ‫برای‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫از‬ ‫بیشتری‬ ‫شفافیت‬ ‫مدیران‬ ‫به‬ ‫و‬ ‫‌ها‬ ‫ت‬‫فعالی‬ ‫بیشتر‬ ‫کنترل‬ ‫امکان‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ،‫خوب‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزار‬ ‫یک‬ .‫شود‬ ‫حاصل‬ ‫اطمینان‬ ‫‌شده‬ ‫ی‬‫‌بند‬ ‫ن‬‫زما‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫فرایندها‬ ‫درباره‬ ‫پروژه‬ ‫تقویم‬ ( ‫مایلستون‬ ‫هر‬ ‫تاریخ‬ ‫ردیابی‬ ‫برای‬ ‫عالی‬ ‫روش‬ ‫یک‬ ‫پروژه‬ ‫تقویم‬ Milestone ‫زمانی‬ ‫جدول‬ ‫و‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫برنامه‬ ‫با‬ ،‫تقویم‬ ‫این‬ .‫است‬ ‫پروژه‬ ‫در‬ ) .‫کند‬ ‫مشخص‬ ‫را‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫منابع‬ ‫دیگر‬ ‫و‬ ‫مرخصی‬ ‫روزهای‬ ،‫تعطیالت‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫و‬ ‫است‬ ‫همسو‬ ‫کانبان‬ ‫تابلو‬ ‫ظرفیت‬ ‫و‬ ‫منابع‬ ‫که‬ ‫زمانی‬ ‫در‬ ‫فقط‬ ‫کار‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬ .‫است‬ ‫ناب‬ ‫‌هنگام‬ ‫ه‬‫ب‬ ‫تولید‬ ‫روش‬ ‫از‬ ‫بخشی‬ ‫که‬ ‫است‬ ‫بصری‬ ‫کار‬ ‫گردش‬ ‫ابزار‬ ‫یک‬ ‫کانبان‬ .‫است‬ ‫آماده‬ ،‫باشد‬ ‫داشته‬ ‫وجود‬ .‫است‬ ‫شده‬ ‫تشکیل‬ ،‫است‬ ‫وظایف‬ ‫‌دهنده‬ ‫ن‬‫نشا‬ ‫که‬ ‫‌ها‬ ‫ن‬‫ستو‬ ‫زیر‬ ‫در‬ ‫‌هایی‬ ‫ت‬‫کار‬ ‫و‬ ‫تولید‬ ‫چرخه‬ ‫‌دهنده‬ ‫ن‬‫نشا‬ ‫که‬ ‫‌هایی‬ ‫ن‬‫ستو‬ ‫با‬ ‫تابلو‬ ‫یک‬ ‫از‬ ‫کانبان‬ ‫کار‬ ‫روی‬ ‫بر‬ ‫‌ها‬ ‫م‬‫تی‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫شفافیت‬ ،‫کانبان‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫منتقل‬ ‫دیگر‬ ‫ستون‬ ‫به‬ ‫ستون‬ ‫یک‬ ‫از‬ ‫‌ها‬ ‫ت‬‫کار‬ ،‫کار‬ ‫تکمیل‬ ‫و‬ ‫اجرا‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫با‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫متمرکز‬ ‫کار‬ ‫حجم‬ ‫کنترل‬ ‫ابزارهای‬ ‫را‬ ‫کار‬ ‫بیشترین‬ ‫برخی‬ ‫که‬ ‫حالی‬ ‫در‬ ،‫شود‬ ‫توزیع‬ ‫ضعیف‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫اغلب‬ ‫کار‬ ‫حجم‬ .‫شود‬ ‫داده‬ ‫تخصیص‬ ‫باید‬ ‫که‬ ‫کاری‬ ‫میزان‬ ‫یعنی‬ ‫کار‬ ‫حجم‬ ( ‫منابع‬ ‫تسطیح‬ ‫باید‬ ،‫اتفاق‬ ‫این‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ .‫‌مانند‬ ‫ی‬‫م‬ ‫بیکار‬ ‫نسبتا‬ ‫دیگر‬ ‫برخی‬ ‫و‬ ‫‌گیرند‬ ‫ی‬‫م‬ Leveling Resource .‫داد‬ ‫انجام‬ ) .‫شود‬ ‫متقبل‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫را‬ ‫کار‬ ‫میزان‬ ‫چه‬ ‫تیم‬ ‫عضو‬ ‫هر‬ ‫بدانید‬ ‫که‬ ‫است‬ ‫مهم‬ ،‫وظایف‬ ‫اجرای‬ ‫و‬ ‫تخصیص‬ ‫هنگام‬ ‫منابع‬ ‫مدیریت‬ ‫‌افزار‬ ‫م‬‫نر‬ ،‫لزوم‬ ‫صورت‬ ‫در‬ ‫که‬ ‫‌طوری‬ ‫ه‬‫ب‬ ،‫منابع‬ ‫مدیریت‬ .‫دارید‬ ‫نیاز‬ ‫پروژه‬ ‫برای‬ ‫شما‬ ‫که‬ ‫است‬ ‫افرادی‬ ‫حتی‬ ‫و‬ ‫لوازم‬ ،‫تجهیزات‬ ،‫ابزار‬ ‫شامل‬ ‫چیزی‬ ‫هر‬ ‫منابع‬ ‫ابزاری‬ ‫به‬ ،‫بنابراین‬ .‫است‬ ‫پروژه‬ ‫یک‬ ‫داخل‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ،‫هستید‬ ‫روبرو‬ ‫خارجی‬ ‫‌کنندگان‬ ‫ن‬‫تامی‬ ‫و‬ ‫فروشندگان‬ ‫با‬ ‫که‬ ‫زمانی‬ ‫‌ویژه‬ ‫ه‬‫ب‬ ،‫باشند‬ ‫دسترس‬ ‫در‬ ‫شما‬ ‫برنامه‬ ‫با‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫تمام‬ ‫سپس‬ ‫و‬ ‫کند‬ ‫ردیابی‬ ‫پروژه‬ ‫در‬ ،‫دارید‬ ‫نیاز‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫به‬ ‫که‬ ‫را‬ ‫زمانی‬ ‫و‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫هزینه‬ ‫میزان‬ ،‫منابع‬ ‫این‬ ‫که‬ ‫دارید‬ ‫نیاز‬ .‫کند‬ ‫هماهنگ‬ ‫کاری‬ ‫ساعت‬ ‫ثبت‬ ‫ورقه‬ ‫کاری‬ ‫‌های‬ ‫ت‬‫ساع‬ ‫بتوانند‬ ‫تا‬ ‫دارند‬ ‫نیاز‬ ‫ابزاری‬ ‫به‬ ‫‌ها‬ ‫ن‬‫آ‬ .‫است‬ ‫پروژه‬ ‫مدیر‬ ‫‌های‬ ‫ت‬‫مسئولی‬ ‫از‬ ‫بخشی‬ ‫پیمانکار‬ ‫یا‬ ‫تیم‬ ‫اعضای‬ ‫کاری‬ ‫ساعات‬ ‫پیگیری‬ ‫دستمزد‬ ،‫‌اند‬ ‫ه‬‫داد‬ ‫انجام‬ ‫که‬ ‫کاری‬ ‫بابت‬ ‫همه‬ ‫و‬ ‫است‬ ‫‌موقع‬ ‫ه‬‫ب‬ ‫افراد‬ ‫پرداختی‬ ‫که‬ ‫شوند‬ ‫مطمئن‬ ‫تا‬ ‫کنند‬ ‫تایید‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫سپس‬ ‫و‬ ‫پیگیری‬ ‫را‬ .‫‌گیرند‬ ‫ی‬‫م‬
  • 55. ‫همکاری‬ ‫ابزارهای‬ ‫در‬ ‫افراد‬ ‫‌که‬ ‫ن‬‫ای‬ ‫به‬ ‫برسد‬ ‫چه‬ ،‫است‬ ‫سخت‬ ‫کافی‬ ‫اندازه‬ ‫به‬ ‫اتاق‬ ‫یک‬ ‫فضای‬ ‫در‬ ‫همکاری‬ .‫است‬ ‫بیشتر‬ ‫وری‬ ‫بهره‬ ‫و‬ ‫کارایی‬ ‫برای‬ ‫صرفا‬ ‫همکاری‬ .‫باشند‬ ‫داشته‬ ‫قرار‬ ‫زمانی‬ ‫مختلف‬ ‫مناطق‬ ‫به‬ ‫پاسخگویی‬ ‫زمان‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫همکاری‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ،‫باشد‬ ‫خارجی‬ ‫مشتری‬ ‫یا‬ ‫دور‬ ‫راه‬ ‫از‬ ‫کارمند‬ ‫زیادی‬ ‫تعداد‬ ‫دارای‬ ‫شما‬ ‫تیم‬ ‫خواه‬ ‫هنگام‬ ‫یا‬ ‫پروژه‬ ‫اتمام‬ ‫از‬ ‫بعد‬ ‫‌های‬ ‫ی‬‫بررس‬ ‫هنگام‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫‌ویژه‬ ‫ه‬‫ب‬ ‫امر‬ ‫این‬ .‫نمایید‬ ‫کمک‬ ‫پروژه‬ ‫حیاتی‬ ‫ارتباطات‬ ‫برقراری‬ ‫به‬ ‫و‬ ‫داده‬ ‫کاهش‬ ‫را‬ ‫ایمیل‬ .‫باشد‬ ‫مفید‬ ،‫بزرگ‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫مکالمات‬ ‫و‬ ‫پروژه‬ ‫مهم‬ ‫‌های‬‫پرونده‬ ‫جستجوی‬ ‫پروژه‬ ‫مدیریت‬ ‫‌های‬ ‫ش‬‫نق‬ ‫به‬ ‫زمانی‬ ‫پروژه‬ ‫یک‬ .‫دارند‬ ‫خاصی‬ ‫‌های‬ ‫ل‬‫شغ‬ ‫افراد‬ ‫این‬ .‫است‬ ‫‌پذیر‬ ‫ن‬‫امکا‬ ‫افراد‬ ‫توسط‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫تکمیل‬ ‫نیستند؛‬ ‫مراحل‬ ‫و‬ ‫ابزار‬ ‫فقط‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫سیالیت‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ‫‌هایی‬ ‫ش‬‫رو‬ ‫که‬ ‫حالی‬ ‫در‬ .‫باشند‬ ‫شده‬ ‫بیان‬ ‫‌خوبی‬ ‫ه‬‫ب‬ ‫افراد‬ ‫‌های‬ ‫ش‬‫نق‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کار‬ ‫شکل‬ ‫بهترین‬ :‫هستند‬ ‫پروژه‬ ‫یک‬ ‫در‬ ‫موجود‬ ‫اصلی‬ ‫‌های‬ ‫ش‬‫نق‬ ‫زیر‬ ‫موارد‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫بیشتری‬ • :‫پروژه‬ ‫حامی‬ ‫این‬ ‫از‬ ‫‌ها‬ ‫ن‬‫آ‬ ‌ ‫م‬‫تی‬ ‫و‬ ‫‌اند‬ ‫ه‬‫کرد‬ ‫مطرح‬ ‫را‬ ‫پروژه‬ ‫ایده‬ ‫که‬ ‫هستند‬ ‫ارشدی‬ ‫مدیر‬ ‫اغلب‬ ‫‌ها‬ ‫ن‬‫آ‬ .‫است‬ ‫نتیجه‬ ‫مسئول‬ ‫شخص‬ ‫این‬ ‫‌ها‬ ‫ن‬‫آ‬ ،‫نهایت‬ ‫در‬ .‫‌کند‬ ‫ی‬‫م‬ ‫حمایت‬ ‫فروش‬ ‫آنالین‬ ‫ابزار‬ ‫معرفی‬ ‫برای‬ ‫‌ای‬ ‌ ‫ه‬‫پروژ‬ ‫از‬ ،‫فروش‬ ‫مدیر‬ ،‫مثال‬ ‫‌عنوان‬ ‫ه‬‫ب‬ .‫‌شود‬ ‫ی‬‫م‬ ‫‌مند‬ ‫ه‬‫بهر‬ ‫مزیت‬ ‫دارند؛‬ ‫وجود‬ ‫نیز‬ ‫پروژه‬ ‫اجرایی‬ ‫حامی‬ ‫مانند‬ ‫پروژه‬ ‫حامیان‬ ‫از‬ ‫مختلفی‬ ‫سطح‬ ،‫سازمان‬ ‫به‬ ‫بسته‬ .‫‌دهند‬ ‫ی‬‫م‬ ‫نشان‬ ‫را‬ ‫پروژه‬ ‫مشتریان‬ • :‫پروژه‬ ‫مدیر‬ ‫و‬ ‫‌تر‬ ‫گ‬‫بزر‬ ‫همچنین‬ ‫و‬ ‫‌یافته‬ ‫ن‬‫ساما‬ ‫و‬ ‫‌تر‬ ‫ی‬‫رسم‬ ‫‌های‬ ‫ر‬‫ساختا‬ ‫در‬ .‫است‬ ‫کار‬ ‫سازماندهی‬ ‫و‬ ‫تیم‬ ‫هدایت‬ ‫مسئول‬ ‫شخص‬ ‫این‬ ‫مدیران‬ .‫ندارند‬ ‫احتیاج‬ ‫گواهینامه‬ ‫به‬ ‫پروژه‬ ‫مدیران‬ ،‫‌تر‬ ‫ی‬‫غیررسم‬ ‫‌های‬ ‫ن‬‫سازما‬ ‫در‬ .‫هستند‬ ‫گواهینامه‬ ‫دارای‬ ‫پروژه‬ ‫مدیران‬ ،‫‌تر‬ ‫ه‬‫پیچید‬ ‫دارند؛‬ ‫را‬ ...‫و‬ ‫هزینه‬ ‫برآورد‬ ،‫منابع‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫شامل‬ ‫پروژه‬ ‫گزارش‬ ‫و‬ ‫نظارت‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫وظیفه‬ ‫پروژه‬ • :‫‌کننده‬ ‫ن‬‫تامی‬ ‫خارجی‬ ‫پیمانکار‬ ‫یک‬ ‫یا‬ ‫توسعه‬ ‫تیم‬ ‫مانند‬ ‫داخلی‬ ‫‌کننده‬ ‫ن‬‫تامی‬ ‫یک‬ ‫است‬ ‫ممکن‬ ‫است‬ ‫کار‬ ‫انجام‬ ‫حال‬ ‫در‬ ‫که‬ ‫شخصی‬ ‫معرفی‬ ‫تیم‬ ‫به‬ ،‫باشند‬ ‫پروژه‬ ‫مدیر‬ ‫یا‬ ‫فنی‬ ‫کارشناس‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫اصلی‬ ‫تماس‬ ‫نقطه‬ ‫توسط‬ ‫پروژه‬ ‫تیم‬ ‫در‬ ‫‌کننده‬ ‫ن‬‫تامی‬ .‫باشد‬ ‫‌شود؛‬ ‫ی‬‫م‬ • :‫تیم‬ ‫عضو‬ ‫دستیابی‬ ‫برای‬ ‫که‬ ‫هستند‬ ‫‌ای‬ ‫ه‬‫حرف‬ ‫افرادی‬ ‫تیم‬ ‫اعضای‬ .‫است‬ ‫شده‬ ‫داده‬ ‫تخصیص‬ ‫پروژه‬ ‫از‬ ‫بخشی‬ ‫انجام‬ ‫برای‬ ‫که‬ ‫شخصی‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫نیاز‬ ‫تا‬ ‫باشند‬ ‫تعامل‬ ‫در‬ ‫کاربران‬ ‫با‬ ‫و‬ ‫کنند‬ ‫تکمیل‬ ‫را‬ ‫تحویل‬ ‫قابل‬ ‫موارد‬ ‫که‬ ‫دارند‬ ‫وظیفه‬ ‫‌ها‬ ‫ن‬‫آ‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫کار‬ ‫پروژه‬ ‫اهداف‬ ‫به‬ ‫هستند؛‬ ‫فرایند‬ ‫مستندسازی‬ ‫به‬ ‫موظف‬ ‫افراد‬ ‫این‬ ‫غالبا‬ .‫کنند‬ ‫درک‬ • :‫‌نفعان‬ ‫ی‬‫ذ‬ ‫عموم‬ ‫یا‬ ‫سازمان‬ ‫یک‬ ‫در‬ ‫داخلی‬ ‫آژانسی‬ ‫یا‬ ‫گروه‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫است‬ ‫ممکن‬ .‫دارند‬ ‫پروژه‬ ‫در‬ ‫سهمی‬ ‫یا‬ ‫منافع‬ ‫که‬ ‫گروهی‬ ‫یا‬ ‫فرد‬ ،‫پروژه‬ ‫حیات‬ ‫چرخه‬ ‫طول‬ ‫در‬ ،‫‌نفعان‬ ‫ی‬‫ذ‬ ‫و‬ ‫پروژه‬ ‫بین‬ ‫ارتباط‬ ‫برقراری‬ ‫برای‬ ‫معموال‬ ‫پروژه‬ ‫مدیر‬ .‫باشند‬ ‫‌المنفعه‬ ‫م‬‫عا‬ ‫پروژه‬ ‫یک‬ ‫در‬ ‫مردم‬ ‫است؛‬ ‫عملکرد‬ ‫و‬ ‫دستاوردها‬ ‫درباره‬ ‫بازخورد‬ ‫دنبال‬ ‫به‬ ،‫‌ها‬ ‫ن‬‫آ‬ ‫انتظارات‬ ‫مدیریت‬ ‫حین‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کار‬ • :‫مشتریان‬ .‫‌شود‬ ‫ی‬‫م‬ ‫داده‬ ‫تحویل‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫به‬ ‫پروژه‬ ‫نهایی‬ ‫و‬ ‫اصلی‬ ‫مولفه‬ ‫یا‬ ‫پروژه‬ ‫که‬ ‫فردی‬ ‫یا‬ ‫گروه‬
  • 56. ‫پروژه‬ ‫مدیریت‬ ‫‌های‬ ‫ی‬‫متدلوژ‬ ‫معمول‬ ‫رویکردهای‬ ‫از‬ ‫برخی‬ ‫زیر‬ ‫در‬ .‫‌اند‬ ‫ه‬‫پرداخت‬ ‫پروژه‬ ‫اجرای‬ ‫به‬ ،‫آزموده‬ ‫‌هایی‬ ‫ش‬‫رو‬ ‫با‬ ‫افراد‬ ‫‌ها‬ ‫ل‬‫سا‬ ‫طی‬ ،‫کاری‬ ‫دوباره‬ ‫از‬ ‫شما‬ ‫نجات‬ ‫برای‬ .‫‌اند‬ ‫ه‬‫شد‬ ‫بیان‬ ‫پروژه‬ ‫مدیریت‬ ( ‫آبشاری‬ Waterfall Project Management ) ،‫‌سازید‬ ‫ی‬‫م‬ ‫‌حل‬ ‫ه‬‫را‬ ،‫‌دهید‬ ‫ی‬‫م‬ ‫قرار‬ ‫یکدیگر‬ ‫کنار‬ ‫را‬ ‫طرح‬ ،‫‌شوید‬ ‫ی‬‫م‬ ‫روبرو‬ ‫الزامات‬ ‫با‬ .‫است‬ ‫کار‬ ‫تحویل‬ ‫برای‬ ‫خطی‬ ‫رویکرد‬ ‫یک‬ ،‫آبشاری‬ ‫مدل‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫منتقل‬ ‫بعدی‬ ‫مرحله‬ ‫به‬ ‫را‬ ‫آن‬ ‫سپس‬ ‫و‬ ‫‌کنید‬ ‫ی‬‫م‬ ‫اجرا‬ ‫و‬ ‫آزمون‬ ‫‌دانید‬ ‫ی‬‫نم‬ ‫واقعا‬ ‫که‬ ‫زمانی‬ .‫است‬ ‫خوب‬ ،‫‌رود‬ ‫ی‬‫م‬ ‫انتظار‬ ‫مسیر‬ ‫طول‬ ‫در‬ ‫کمی‬ ‫تغییرات‬ ‫یا‬ ‫است‬ ‫واضح‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫الزامات‬ ‫که‬ ‫‌هایی‬ ‫ه‬‫پروژ‬ ‫برای‬ ،‫روش‬ ‫این‬ .‫کنید‬ ‫اجتناب‬ ‫روش‬ ‫این‬ ‫از‬ ،‫نیست‬ ‫مشخص‬ ‫الزامات‬ ‫و‬ ‫برسید‬ ‫نهایی‬ ‫نتیجه‬ ‫به‬ ‫چگونه‬ ( ‫چابک‬ Agile Project Management ) ( ‫اجایل‬ ‫یا‬ ‫چابک‬ ‫پروژه‬ ‫مدیریت‬ Agile ‫بسیار‬ ‫نیز‬ ‫بازاریابی‬ ‫مانند‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫دیگر‬ ‫انواع‬ ‫در‬ ‫اما‬ ‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫در‬ ‫اغلب‬ ) ‫‌که‬ ‫ن‬‫ای‬ ‫از‬ ‫قبل‬ ‫ممکن‬ ‫جای‬ ‫تا‬ ‫تیم‬ ‫و‬ ‫شده‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫کار‬ .‫است‬ ‫کوتاه‬ ‫زمانی‬ ‫‌های‬ ‫ه‬‫باز‬ ‫در‬ ‫سریع‬ ‫تکراری‬ ‫کار‬ ‫شامل‬ ‫روش‬ ‫این‬ .‫است‬ ‫شده‬ ‫رایج‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫انجام‬ ‫را‬ ‫آن‬ ،‫شود‬ ‫بعدی‬ ‫الزامات‬ ‫مجموعه‬ ‫وارد‬ ‫در‬ ‫تغییر‬ ‫و‬ ‫‌کنید‬ ‫ی‬‫م‬ ‫کار‬ ‫سنتی‬ ‫فضای‬ ‫در‬ ‫که‬ ‫هنگامی‬ .‫است‬ ‫خوب‬ ،‫دارند‬ ‌ ‫ت‬‫فعالی‬ ‫تکرار‬ ‫و‬ ‫سریع‬ ‫ترکیب‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫‌هایی‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫روش‬ ‫این‬ .‫کنید‬ ‫اجتناب‬ ‫روش‬ ‫این‬ ‫از‬ ،‫است‬ ‫نشده‬ ‫درک‬ ‫حتی‬ ‫یا‬ ‫تکمیل‬ ‫هنوز‬ ‫چابک‬ ‫‌های‬ ‫ش‬‫رو‬ ‫آبشاری؟‬ ‫یا‬ ‫چابک‬ ‫متدولوژی‬ :‫مرتبط‬ ‫مطلب‬ ( ‫اسکرام‬ Scrum Project Management ) ( ‫اسپرینت‬ ‫بر‬ ‫مبتنی‬ ‫و‬ ‫کوتاه‬ ‫روشی‬ ‫اسکرام‬ Sprint ‫از‬ ‫‌تر‬ ‫م‬‫ک‬ ‫‌های‬ ‫م‬‫تی‬ ‫در‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ) ۱۰ ‫‌ای‬ ‫ه‬‫چرخ‬ ‫اغلب‬ ‫روش‬ ‫این‬ ‫است؛‬ ‫ایدئال‬ ‫نفر‬ ( ‫مستر‬ ‫اسکرام‬ ‫را‬ ‫فرایند‬ ‫این‬ .‫است‬ ‫اسکرام‬ ‫‌ی‬ ‫ه‬‫روزان‬ ‫جلسات‬ ‫همان‬ ‫یا‬ ‫روزانه‬ ‫کوتاه‬ ‫جلسات‬ ‫شامل‬ ‫و‬ ‫دارد‬ ‫‌ای‬ ‫ه‬‫دوهفت‬ Scrum master ) ( ‫چابک‬ ‫چارچوب‬ ‫در‬ ‫اسکرام‬ .‫‌کند‬ ‫ی‬‫م‬ ‫هدایت‬ agile framework ( ‫زمانی‬ ‫‌های‬ ‫ت‬‫محدودی‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کار‬ ) time boxes ‫و‬ ‫تعامل‬ ،) ( ‫محصول‬ ‫‌الگ‬ ‫ک‬‫ب‬ ،‫تیمی‬ ‫همکاری‬ Product Backlog .‫دارد‬ ‫بازخورد‬ ‫‌های‬ ‫ه‬‫چرخ‬ ‫و‬ ) ( ‫چابک‬ ‫سازمان‬ :‫مرتبط‬ ‫مطلب‬ Agile ‫چیست؟‬ ) ۷ ‫چابک‬ ‌ ‫ن‬‫سازما‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫گام‬ ( ‫ناب‬ Lean Project Management ) ‫جنبش‬ ‫ظهور‬ ‫زمان‬ ‫از‬ ‫ناب‬ ‫روش‬ the Lean Startup ‫محصول‬ ‫توسعه‬ ‫برای‬ ‫تکراری‬ ‫رویکرد‬ ‫یک‬ ‫از‬ ‫که‬ ‫است‬ ‫داشته‬ ‫متفاوتی‬ ‫معنای‬ .‫است‬ ،‫پروژه‬ ‫دستاوردهای‬ ‫روی‬ ‫بر‬ ‫بازخورد‬ ‫دریافت‬ ‫جهت‬ ‫اغلب‬ ‫و‬ ‫نهایی‬ ‫کاربران‬ ‫سریع‬ ‫ورود‬ ‫شامل‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬
  • 57. .‫است‬ ‫درگیر‬ ‫افراد‬ ‫مؤثر‬ ‫همکاری‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫فرایندها‬ ‫در‬ ‫اتالف‬ ‫‌بردن‬ ‫ن‬‫‌بی‬ ‫ز‬‫ا‬ ‫برای‬ ‫راهی‬ ،‫ناب‬ ‫پروژه‬ ‫مدیریت‬ ،‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫سنتی‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫فقط‬ ‫همزمان‬ ‫که‬ ‫است‬ ‫آن‬ ‫روش‬ ‫این‬ ‫معمول‬ ‫ویژگی‬ ‫یک‬ .‫‌شود‬ ‫ی‬‫م‬ ‫ازکارافتادگی‬ ‫حذف‬ ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫بین‬ ‫جابجایی‬ ‫سهولت‬ ‫باعث‬ ‫امر‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کار‬ ‫پروژه‬ ‫‌های‬ ‫ش‬‫بخ‬ ‫که‬ ‫نیستیم‬ ‫مطمئن‬ ‫که‬ ‫هنگامی‬ .‫است‬ ‫مفید‬ ،‫دارند‬ ‫تمرکز‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫مهمی‬ ‫اقدامات‬ ‫و‬ ‫فرایند‬ ‫بهبود‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ ،‫ناب‬ ‫روش‬ .‫‌کنیم‬ ‫ی‬‫م‬ ‫اجتناب‬ ‫روش‬ ‫این‬ ‫از‬ ،‫باشند‬ ‫سودمند‬ ،‫فرایندها‬ ‫از‬ ‫آسان‬ ‫استفاده‬ ‫و‬ ‫‌سازی‬ ‫ه‬‫ساد‬ ‫در‬ ‫تالش‬ ‫با‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫کاری‬ ( ‫کانبان‬ Kanban ) ‫و‬ ‫کار‬ ‫جریان‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫مدیریت‬ ‫کانبان‬ ‫رد‬‫ُب‬ ‫روی‬ ‫وظایف‬ ‫قراردادن‬ ‫با‬ ‫را‬ ‫کار‬ ‫جریان‬ ‫که‬ ‫است‬ ‫پروژه‬ ‫مدیر‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫بصری‬ ‫روشی‬ ‫کانبان‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫در‬ ‫ناب‬ ‫تولیدی‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫برای‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫بهتر‬ ‫را‬ ‫‌ها‬ ‫ی‬‫ناکارآمد‬ ‫کانبان‬ .‫باشد‬ ‫شفاف‬ ‫‌کنندگان‬ ‫ت‬‫مشارک‬ ‫‌ی‬ ‫ه‬‫هم‬ ‫برای‬ ‫پروژه‬ ‫پیشرفت‬ .‫‌است‬ ‫ه‬‫شد‬ ‫استفاده‬ ‫چابک‬ ‫از‬ ‫چابک‬ ‫‌های‬ ‫م‬‫تی‬ .‫‌است‬ ‫ه‬‫شد‬ ‫ایجاد‬ ‫کانبان‬ ‫‌های‬ ‫ش‬‫رو‬ ‫و‬ ‫ابزارها‬ ‫برای‬ ‫جدیدی‬ ‫کاربردهای‬ ،‫ترلو‬ ‫مانند‬ ‫بصری‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫تابلوهای‬ ‫ظهور‬ ‫با‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫‌ی‬ ‫ه‬‫توسع‬ ‫در‬ ‫‌الگ‬ ‫ک‬‫ب‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫و‬ ‫کاربران‬ ‫‌های‬ ‫ن‬‫داستا‬ ‫کردن‬ ‫‌برد‬ ‫ی‬‫استور‬ ‫برای‬ ‫کانبان‬ ‫تابلوهای‬ ۶ ( ‫سیگما‬ Six Sigma ) ‫بر‬ ‫آماری‬ ‫تحلیل‬ ‫مانند‬ ‫کیفیت‬ ‫مدیریت‬ ‫راهبردهای‬ ‫از‬ ‫روش‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫کیفیت‬ ‫افزایش‬ ‫به‬ ‫پروژه‬ ‫مشکالت‬ ‫شناسایی‬ ‫با‬ ‫سیگما‬ ‫شش‬ ‫نوعی‬ .‫‌گیرد‬ ‫ی‬‫م‬ ‫کار‬ ‫به‬ ،‫دارند‬ ‫باالیی‬ ‫تخصص‬ ‫خود‬ ‫شغل‬ ‫در‬ ‫که‬ ‫را‬ ‫کارمندانی‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫تجربی‬ ‫‌های‬ ‫ه‬‫داد‬ ‫اساس‬ ۶ ‫نام‬ ‫به‬ ‫سیگما‬ ۶ .‫دهد‬ ‫کاهش‬ ‫را‬ ‫هدررفت‬ ‫تا‬ ‫‌است‬ ‫ه‬‫شد‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫ناب‬ ‫روش‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫ناب‬ ‫سیگمای‬ ‫را‬ ‫اهمیت‬ ‫‌ترین‬ ‫ش‬‫بی‬ ،‫داریم‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫به‬ ‫دستیابی‬ ‫انتظار‬ ‫که‬ ‫پایداری‬ ‫نتایج‬ ‫به‬ ‫دستیابی‬ ‫برای‬ ‫مداوم‬ ‫تالش‬ ‫که‬ ‫است‬ ‫این‬ ‫بر‬ ‫اعتقاد‬ ‫روش‬ ‫این‬ ‫در‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫کیفیت‬ ‫تا‬ ‫کنند‬ ‫مشارکت‬ ،‫پایین‬ ‫تا‬ ‫باال‬ ‫از‬ ،‫سازمان‬ ‫تمام‬ ‫است‬ ‫الزم‬ .‫داد‬ ‫ارتقا‬ ‫و‬ ‫کرد‬ ‫تعریف‬ ‫را‬ ‫فرایندها‬ ‫‌توان‬ ‫ی‬‫م‬ .‫دارد‬ ‫موفقیت‬ ‫برای‬ .‫شود‬ ‫حفظ‬ ۷ ( ‫بحرانی‬ ‫مسیر‬ ‫روش‬ . CPM ) ( ‫بحرانی‬ ‫مسیر‬ ‫روش‬ Critical Path Method ‫در‬ ‫را‬ ‫کار‬ ‫شکست‬ ‫ساختار‬ ‫در‬ ‫‌شده‬ ‫ص‬‫مشخ‬ ‫کارهای‬ ‌ ‫م‬‫تما‬ ‫که‬ ‫بسازد‬ ‫مدلی‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تالش‬ ) ‫که‬ ‫‌ای‬ ‫ی‬‫بحران‬ ‫‌های‬ ‫ت‬‫فعالی‬ ،‫اطالعات‬ ‫این‬ ‫به‬ ‫دستیابی‬ ‫با‬ .‫‌هاست‬ ‫ن‬‫آ‬ ‫اجرای‬ ‫زمانی‬ ‫‌ی‬ ‫ه‬‫دور‬ ‫و‬ ‫پروژه‬ ‫وظایف‬ ‫‌ی‬ ‫ه‬‫دنبال‬ ‫شناسایی‬ ‫آن‬ ‫هدف‬ .‫بگیرد‬ ‫بر‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫مشخص‬ ،‫نبیند‬ ‫آسیب‬ ‫پروژه‬ ‫‌ی‬ ‫ه‬‫برنام‬ ‫تا‬ ‫برسند‬ ‫پایان‬ ‫به‬ ‫مشخص‬ ‫زمان‬ ‫در‬ ‫باید‬ ۸ ( ‫پروژه‬ ‫مدیریت‬ ‫بحرانی‬ ‫‌ی‬ ‫ه‬‫زنجیر‬ . CCPM ) ( ‫پروژه‬ ‫مدیریت‬ ‫بحرانی‬ ‫‌ی‬ ‫ه‬‫زنجیر‬ ‫روش‬ ‫در‬ ‫پروژه‬ ‫مدیران‬ Critical Chain Project Management ‫اتمام‬ ‫برای‬ ‫الزم‬ ‫منابع‬ ‫بر‬ ) ‫انعطاف‬ ‫حفظ‬ ‫و‬ ‫منابع‬ ‫تعادل‬ ‫بر‬ ‫تمرکز‬ ‫زیرا‬ ،‫دارد‬ ‫‌تری‬ ‫م‬‫ک‬ ‫فنی‬ ‫پیچیدگی‬ ‫روش‬ ‫این‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫تمرکز‬ )‫دفترها‬ ‫فضای‬ ،‫تجهیزات‬ ،‫‌ها‬ ‫م‬‫(تی‬ ‫پروژه‬ .‫شود‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫یا‬ ‫وظایف‬ ‫ترتیب‬ ‫به‬ ‫زیادی‬ ‫توجه‬ ‫نیست‬ ‫الزم‬ ‫و‬ ‫‌هاست‬ ‫ن‬‫آ‬
  • 58. ،‫‌وساز‬ ‫ت‬‫ساخ‬ ‫مانند‬ ‫مختلفی‬ ‫‌های‬ ‫ه‬‫حیط‬ ‫در‬ ‫‌چنین‬ ‫م‬‫ه‬ ‫و‬ ‫بزرگ‬ ‫‌های‬ ‫ت‬‫شرک‬ ‫در‬ ‫هم‬ ‫و‬ ‫کوچک‬ ‫‌های‬ ‫ت‬‫شرک‬ ‫در‬ ‫هم‬ ‫بحرانی‬ ‫‌ی‬ ‫ه‬‫زنجیر‬ ‫روش‬ ‫از‬ ‫و‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌ی‬ ‫ه‬‫توسع‬ ( ‫توسعه‬ ‫و‬ ‫تحقیق‬ R&D ) .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫‌ها‬ ‫ی‬‫فناور‬ ‫شویم؟‬ ‫پروژه‬ ‫مدیر‬ ‫یک‬ ‫چگونه‬ ‫به‬ ‫نیاز‬ ‫شغل‬ ‫این‬ .‫بدهند‬ ‫انگیزه‬ ‫خود‬ ‫گروه‬ ‫به‬ ،‫تیم‬ ‫پیشرفت‬ ‫گزارش‬ ‫و‬ ‫نظارت‬ ،‫‌ریزی‬ ‫ه‬‫برنام‬ ‫بر‬ ‫عالوه‬ ‫باید‬ ‫‌ها‬ ‫ن‬‫آ‬ .‫هستند‬ ‫رهبر‬ ،‫پروژه‬ ‫مدیران‬ .‫کند‬ ‫برقرار‬ ‫ارتباط‬ ‫پروژه‬ ‫تیم‬ ‫و‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫با‬ ‫روشنی‬ ‫به‬ ‫بتواند‬ ‫و‬ ‫باشد‬ ‫قوی‬ ‫ارتباطی‬ ‫های‬ ‫مهارت‬ ‫دارای‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ .‫دارد‬ ‫زیادی‬ ‫‌های‬ ‫ت‬‫مهار‬ ‫مانند‬ ‫نمایندگی‬ ‫طریق‬ ‫از‬ ‫معمول‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫رسمی‬ ‫پروژه‬ ‫مدیران‬ PMI ‫یا‬ 2 PRINCE ،‫گواهینامه‬ ‫صدور‬ ‫از‬ ‫پس‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫دریافت‬ ‫گواهینامه‬ ( ‫‌ای‬ ‫ه‬‫حرف‬ ‫توسعه‬ ‫واحدهای‬ ‫گردآوری‬ ‫جهت‬ ،‫اضافی‬ ‫‌های‬ ‫ش‬‫آموز‬ ‫با‬ ‫را‬ ‫خود‬ ‫‌های‬ ‫ه‬‫گواهینام‬ ‫باید‬ ‫‌ها‬ ‫ن‬‫آ‬ PDU .‫نمایند‬ ‫حفظ‬ ،) ‫و‬ ‫تجاری‬ ‫‌های‬ ‫ت‬‫مهار‬ ‫تا‬ ‫‌اند‬ ‫ه‬‫یافت‬ ‫گسترش‬ ‫اخیرا‬ ،‫‌اند‬ ‫ه‬‫شد‬ ‫گواهی‬ ‫که‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫مدیران‬ ‫صالحیت‬ ‫استانداردهای‬ ،‫شد‬ ‫ذکر‬ ‫قبال‬ ‫که‬ ‫‌طور‬ ‫ن‬‫هما‬ ‫گواهینامه‬ .‫شوند‬ ‫شامل‬ ‫را‬ ‫بیشتری‬ ‫رهبری‬ PMI ‫استانداردهای‬ ‫و‬ PDU ( ‫پروژه‬ ‫مدیریت‬ ‫دانش‬ ‫پیکره‬ ‫راهنمای‬ ‫کتاب‬ ‫در‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫را‬ PMBOK .‫است‬ ‫دشوار‬ ،‫گواهینامه‬ ‫رسمی‬ ‫آموزش‬ ‫بدون‬ ،‫پروژه‬ ‫مدیریت‬ ‫فنی‬ ‫‌های‬ ‫ه‬‫جنب‬ ‫به‬ ‫دستیابی‬ ‫اما‬ .‫کنید‬ ‫پیدا‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫سایت‬ ‫در‬ ‫یا‬ ) ‫پروژه‬ ‫مدیریت‬ ‫تاریخچه‬ ‫از‬ ‫‌تر‬ ‫ل‬‫قب‬ ‫حتی‬ ‫و‬ ‫جیزه‬ ‫بزرگ‬ ‫اهرام‬ ،‫روم‬ ‫‌های‬ ‫ت‬‫قنا‬ ،‫چین‬ ‫دیوار‬ ‫از‬ ‫قبل‬ ‫بشر‬ ‫واقع‬ ‫در‬ ‫اما‬ ،‫بدانید‬ ‫جدیدی‬ ‫نسبتا‬ ‫رشته‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫شما‬ ‫شاید‬ ‫که‬ ‫ببندید‬ ‫شرط‬ ‫‌توانید‬ ‫ی‬‫م‬ .‫باشند‬ ‫شده‬ ‫ساخته‬ ‫‌روشی‬ ‫ک‬‫ت‬ ‫صورت‬ ‫به‬ ‫اهرام‬ ‫‌که‬‫کرد‬ ‫تصور‬ ‫‌توان‬ ‫ی‬‫نم‬ .‫است‬ ‫داشته‬ ‫برعهده‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ،‫آن‬ .‫است‬ ‫داشته‬ ‫وجود‬ ‫قبال‬ ،‫‌شناسیم‬ ‫ی‬‫م‬ ‫پروژه‬ ‫مدیریت‬ ‫‌عنوان‬ ‫ه‬‫ب‬ ‫امروزه‬ ‫که‬ ‫چیزی‬ ‫هر‬ ‫و‬ ‫بودجه‬ ،‫‌ها‬ ‫م‬‫تی‬ ،‫‌بندی‬ ‫ن‬‫زما‬ ،‫‌ها‬ ‫ه‬‫برنام‬ ‫دهه‬ ‫در‬ ،‫کرده‬ ‫خود‬ ‫معطوف‬ ‫را‬ ‫توجه‬ ‫و‬ ‫هست‬ ‫امروز‬ ‫که‬ ‫صورتی‬ ‫به‬ ‫پروژه‬ ‫مدیریت‬ ‫رشته‬ ۱۹۵۰ ‫صنایع‬ ‫از‬ ‫بسیاری‬ ،‫زمان‬ ‫آن‬ ‫در‬ .‫کرد‬ ‫ظهور‬ ‫محبوب‬ ‫گزینه‬ ‫و‬ ‫‌گرفت‬ ‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ،‫گانت‬ ‫هنری‬ ‫نمودار‬ .‫بودند‬ ‫کرده‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ،‫تولید‬ ‫و‬ ‫مدیریت‬ ‫برای‬ ‫را‬ ‫‌ای‬ ‫ه‬‫‌یافت‬ ‫ر‬‫ساختا‬ ‫فرایندهای‬ .‫بود‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫برای‬ ‫دهه‬ ‫از‬ ۱۹۵۰ ‫استفاده‬ ،‫‌کردند‬ ‫ی‬‫م‬ ‫طراحی‬ ‫خودشان‬ ‫که‬ ‫سفارشی‬ ‫‌های‬ ‫ش‬‫رو‬ ‫از‬ ‫اغلب‬ ‫و‬ ‫‌دادند‬ ‫ی‬‫م‬ ‫انجام‬ ‫پروژه‬ ‫مدیریت‬ ‫‌ها‬ ‫ل‬‫سا‬ ‫مردم‬ ،‫بعد‬ ‫به‬ ( ‫پروژه‬ ‫مدیریت‬ ‫دانش‬ ‫پیکره‬ ‫راهنمای‬ ‫که‬ ‫زمانی‬ ‫موضوع‬ ‫این‬ .‫‌کردند‬ ‫ی‬‫م‬ PMBOK ‫موسسه‬ ‫توسط‬ ) PMI ‫استاندارد‬ ‫‌عنوان‬ ‫ه‬‫ب‬ ANSI ‫در‬ ‫سال‬ ۱۹۹۸ .‫کرد‬ ‫تغییر‬ ،‫شد‬ ‫معرفی‬ ‫استاندارد‬ ‫یک‬ ‫اکنون‬ .‫است‬ ‫شده‬ ‫دیده‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫بزرگی‬ ‫تغییرات‬ ‫نیز‬ ‫گذشته‬ ‫سال‬ ‫چند‬ ‫در‬ ISO ‫که‬ ‫دارد‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ‫سال‬ ‫در‬ ۲۰۱۲ ‫مدیریت‬ ‫برای‬ ‫فنی‬ ‫‌های‬ ‫ت‬‫مهار‬ ‫و‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫یادگیری‬ ‫از‬ ‫دیدگاه‬ ‫تغییر‬ ،‫تغییرات‬ ‫این‬ ‫تمام‬ ‫بین‬ ‫در‬ ‫تغییر‬ ‫بزرگترین‬ ‫اما‬ .‫شد‬ ‫ارائه‬ .‫دارند‬ ‫اهمیت‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫در‬ ‫افراد‬ ‫که‬ ‫بود‬ ‫موضوع‬ ‫این‬ ‫درک‬ ‫به‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫‌های‬ ‫ت‬‫مهار‬ ‫اثبات‬ ‫به‬ ‫ملزم‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫اکنون‬ .‫داشتند‬ ‫فنی‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫اصلی‬ ‫‌های‬ ‫ت‬‫مهار‬ ‫اثبات‬ ‫به‬ ‫نیاز‬ ‫پروژه‬ ‫‌ای‬ ‫ه‬‫حرف‬ ‫مدیران‬ ،‫سنتی‬ ‫‌طور‬ ‫ه‬‫ب‬ .‫هستند‬ ‫هیجانی‬ ‫هوش‬ ‫و‬ ‫‌گری‬ ‫ی‬‫مرب‬ ‫مانند‬ ‫رهبری‬ ‫‌های‬ ‫ت‬‫مهار‬ ‫یا‬ ‫مشتری‬ ‫روابط‬ ‫و‬ ‫استراتژی‬ ‫مانند‬ ،‫‌وکار‬ ‫ب‬‫کس‬ ‫مدیریت‬ ‫در‬ ‫‌تری‬ ‫ه‬‫گسترد‬
  • 59. ‫آغاز‬ ‫یک‬ ‫پایان‬ :‫پروژه‬ ‫مدیریت‬ ‫می‬ ،‫‌شود‬ ‫ی‬‫م‬ ‫پروژه‬ ‫مدیریت‬ ‫وارد‬ ‫جدی‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫که‬ ‫کسی‬ ‫هر‬ .‫نیست‬ ‫‌طور‬ ‫ن‬‫ای‬ ‫واقعا‬ ‫اما‬ ‫است؛‬ ‫کار‬ ‫پایان‬ ‫این‬ ‫که‬ ‫‌رسد‬ ‫ی‬‫م‬ ‫نظر‬ ‫به‬ ‫فقط‬ ‫ما‬ ‫که‬ ‫‌داند‬ .‫پرداختیم‬ ‫آن‬ ‫به‬ ‫سطحی‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫فقط‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫پیرامون‬ ‫‌هایمان‬ ‫ه‬‫دانست‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ .‫‌ایم‬ ‫ه‬‫کرد‬ ‫لمس‬ ‫را‬ ‫یخی‬ ‫کوه‬ ‫این‬ ‫نوک‬ ‫‌چه‬ ‫ن‬‫آ‬ .‫کند‬ ‫ناامید‬ ‫یا‬ ‫جذب‬ ‫را‬ ‫شما‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫موضوع‬ ‫این‬ ،‫عالقه‬ ‫صورت‬ ‫در‬ ‫و‬ ‫دارند‬ ‫وجود‬ ‫پروژه‬ ‫مدیریت‬ ‫در‬ ‫عناصری‬ ‫چه‬ ‫که‬ ‫‌دانید‬ ‫ی‬‫م‬ ‫اکنون‬ ‫اما‬ ‫همیشه‬ .‫دارد‬ ‫وجود‬ ‫یادگیری‬ ‫برای‬ ‫زیادی‬ ‫چیزهای‬ ‫نباشید؛‬ ‫مغرور‬ ‫فقط‬ .‫شد‬ ‫نخواهید‬ ‫خسته‬ ‫هرگز‬ ‫که‬ ‫است‬ ‫این‬ ‫کنیم‬ ‫تضمین‬ ‫‌توانیم‬ ‫ی‬‫م‬ ‫که‬ .‫باشید‬ ‫کنجکاو‬
  • 60. ( ‫مایلستون‬ Milestone ‫چگونه‬ ‫و‬ ‫چیست‬ ) ‫کنیم؟‬ ‫مشخص‬ ‫پروژه‬ ‫در‬ ‫را‬ ‫آن‬ ‫در‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫مشخص‬ ‫موردنظر‬ ‫هدف‬ ‫به‬ ‫رسیدن‬ ‫مسیر‬ ‫در‬ ‫را‬ ‫پروژه‬ ‫پیشرفت‬ ‫اصلی‬ ‫نقاط‬ ،‫پروژه‬ ‫عطف‬ ‫نقط‬ ‫یا‬ ‫پروژه‬ ‫های‬ ‫مایلستون‬ ،‫بنابراین‬ ‫دارد؛‬ ‫بستگی‬ ‫کلی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫زمانی‬ ‫جدول‬ ‫به‬ ‫پروژه‬ ‫استون‬ ‫مایل‬ ‫تخمینی‬ ‫تاریخ‬ .‫دهند‬ ‫رخ‬ ‫تیم‬ ‫گروهی‬ ‫یا‬ ‫فردی‬ ‫‌های‬ ‫ش‬‫تال‬ ‫‌ی‬ ‫ه‬‫نتیج‬ ( ‫مایلستون‬ ‫معنی‬ ‫معنی‬ ‫مطلب‬ ‫این‬ ‫در‬ .‫است‬ ‫ضروری‬ ‫ها‬ ‫مایلستون‬ ‫توسعه‬ ‫در‬ ‫پروژه‬ ‫مدیریت‬ Milestone ‫دادیم‬ ‫توضیح‬ ‫را‬ ‫پروژه‬ ‫کنترل‬ ‫در‬ ) .‫کرد‬ ‫پیگیری‬ ‫و‬ ‫مشخص‬ ‫پروژه‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫باید‬ ‫چطور‬ ‫و‬ ‫چیست‬ ‫مایلستون‬ ‫که‬ ‫پرداختیم‬ ‫این‬ ‫به‬ ‫و‬
  • 61. ( ‫مایلستون‬ ‫معنی‬ Milestone ‫چیست؟‬ ‫پروژه‬ ‫کنترل‬ ‫در‬ ) ‫به‬ ‫نسبت‬ ‫است‬ ‫ممکن‬ ‫ها‬ ‫استون‬ ‫مایل‬ ‫تعیین‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫نشان‬ ‫مربوط‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫در‬ ‫را‬ ‫‌گیر‬ ‫م‬‫چش‬ ‫‌های‬ ‌ ‫ت‬‫پیشرف‬ ‫که‬ ‫است‬ ‫هدفی‬ ‫پروژه‬ ‫مایلستون‬ ،‫کلی‬ ‫حالت‬ ‫در‬ .‫‌باشد‬‫داشته‬ ‫وجه‬ ‫چندین‬ ‫‌که‬ ‫ن‬‫ای‬ ‫یا‬ ‫بوده‬ ‫‌مدت‬ ‫ی‬‫طوالن‬ ‫پروژه‬ ‫که‬ ‫هنگامی‬ ‫‌ویژه‬ ‫ه‬‫ب‬ ،‫باشد‬ ‌ ‫ح‬‫ارج‬ ‫کلی‬ ‫هدف‬ ‫تکمیل‬ ‫برای‬ ‫تالش‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫ایجاد‬ ‫‌تدریج‬ ‫ه‬‫ب‬ ‫پروژه‬ ‫پایان‬ ‫تا‬ ‫که‬ ‫هستند‬ ‫رویدادهایی‬ ‫‌ها‬ ‫ن‬‫مایلستو‬ ‫معنی‬ ‫بهتر‬ ‫درک‬ ‫برای‬ ‫ادامه‬ ‫در‬ Milestone .‫‌کنیم‬ ‫ی‬‫م‬ ‫بررسی‬ ‫را‬ ‫‌وساز‬ ‫ت‬‫ساخ‬ ‫صنعت‬ ‫در‬ ‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫از‬ ‫مثالی‬ ،‫پروژه‬ ‫کنترل‬ ‫در‬ ‫پروژه‬ ‫مایلستون‬ ‫اولین‬ ،‫مثال‬ ‫برای‬ ‫کنند؛‬ ‫دنبال‬ ‫را‬ ‫خاصی‬ ‫مراحل‬ ‫باید‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫نظارت‬ ‫ساختمانی‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫بر‬ ‫پروژه‬ ‫مدیران‬ ‫که‬ ‫هنگامی‬ ‫طی‬ ‫طبقات‬ ‫تکمیل‬ ‫‌تواند‬ ‫ی‬‫م‬ ۱ ‫مدت‬ ‫ظرف‬ ‫ساختمان‬ ‫سقف‬ ‫تکمیل‬ ‫است‬ ‫ممکن‬ ‫بعدی‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ،‫آن‬ ‫از‬ ‫پس‬ ‫باشد؛‬ ‫هفته‬ ۱ ‫پایان‬ ‫در‬ .‫باشد‬ ‫ماه‬ ‫های‬ ‫مایلستون‬ ‫‌ها‬ ‫ل‬‫مثا‬ ‫این‬ ‫‌ی‬ ‫ه‬‫هم‬ ،‫واقع‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫آن‬ ‫کردن‬ ‫وصل‬ ‫و‬ ‫گازرسانی‬ ‫سیستم‬ ‫وبرای‬ ‫دیگری‬ ‫استون‬ ‫مایل‬ ،‫جاری‬ ‫ماه‬ .‫شود‬ ‫تکمیل‬ ‫پروژه‬ ،‫نهایت‬ ‫در‬ ‫تا‬ ‫بیفتند‬ ‫اتفاق‬ ‫خاصی‬ ‫ترتیِب‬ ‫به‬ ‫باید‬ ‫زیرا‬ ،‫هستند‬ ‫پروژه‬ ‫این‬ ‫در‬ ‫اصلی‬ ‫در‬ ‫را‬ ‫ها‬ ‫مایلستون‬ ‫این‬ ‫پروژه‬ ‫مدیران‬ ،‫معمول‬ ‫طور‬ ‌ ‫ه‬‫ب‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫حفظ‬ ‫مشترک‬ ‫اهدافی‬ ‫به‬ ‫رسیدن‬ ‫برای‬ ‫را‬ ‫تیم‬ ‫‌ی‬ ‫ه‬‫انگیز‬ ‫معموال‬ ‫ها‬ ‫استون‬ ‫مایل‬ ‫و‬ ‫کرده‬ ‫ایجاد‬ ‫پروژه‬ ‫ابتدای‬ ‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫‌نظر‬ ‫ل‬‫تباد‬ ‫و‬ ‫بحث‬ ‫پروژه‬ ‫تیم‬ ‫اعضای‬ ‫سایر‬ ‫با‬ ،‫‌ها‬ ‫ن‬‫آ‬ ‫بودن‬ ‫منطقی‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ،‫دیگر‬ ‫عبارت‬ ‌ ‫ه‬‫ب‬ ‫‌دهند؛‬ ‫ی‬‫م‬ ‫انجام‬ ‫روزانه‬ ‫‌صورت‬‫به‬ ‫را‬ ‫پروژه‬ ‫کوچک‬ ‫‌های‬ ‫ت‬‫فعالی‬ ‫تیم‬ ‫اعضای‬ ‫زیرا‬ ،‫هستند‬ ‫متفاوت‬ ‫پروژه‬ ‫‌های‬ ‫ت‬‫فعالی‬ ‫با‬ ‫ها‬ ‫مایلستون‬ ‫اما‬ ،‫باشند‬ ‫دیگران‬ ‫با‬ ‫تلفنی‬ ‫تماس‬ ‫چند‬ ‫برقراری‬ ‫یا‬ ‫ساخت‬ ‫‌ی‬ ‫ه‬‫مراحل‬ ‫طی‬ ‫در‬ ‫تدارکات‬ ‫انجام‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫پروژه‬ ‫‌های‬ ‫ت‬‫فعالی‬ .‫‌شود‬ ‫ی‬‫م‬ ‫منتهی‬ ‫کلی‬ ‫پروژه‬ ‫تکمیل‬ ‫به‬ ‫نهایت‬ ‫در‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫از‬ ‫هریک‬ ‫تکمیل‬ ‫که‬ ‫هستند‬ ‫پروژه‬ ‫در‬ ‫مهمی‬ ‫مراحل‬ ‫در‬ ‫که‬ ‫افرادی‬ ‫و‬ ‫‌کنید‬ ‫ی‬‫م‬ ‫کار‬ ‫آن‬ ‫در‬ ‫که‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫نوع‬ ‫به‬ ‫بسته‬ .‫خوبیست‬ ‫مثال‬ ‫فوق‬ ‫‌وساز‬ ‫ت‬‫ساخ‬ ‫‌ی‬ ‫ه‬‫نمون‬ ،‫پروژه‬ ‫نهایی‬ ‫هدف‬ ‫‌که‬ ‫ن‬‫ای‬ ‫از‬ ‫‌نظر‬ ‫ف‬‫صر‬ .‫شوند‬ ‫شامل‬ ‫را‬ ‫نهایی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫تأیید‬ ‫و‬ ‫نیازها‬ ‫بررسی‬ ،‫پروژه‬ ‫تصویب‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫ها‬ ‫استون‬ ‫مایل‬ ‫از‬ ‫برخی‬ ،‫دارند‬ ‫مشارکت‬ ‫آن‬ .‫‌پردازیم‬ ‫ی‬‫م‬ ‫پروژه‬ ‫در‬ ‫استون‬ ‫مایل‬ ‫‌کردن‬ ‫ص‬‫مشخ‬ ‫چگونگی‬ ‫به‬ ‫مطلب‬ ‫‌ی‬ ‫ه‬‫ادام‬ ‫در‬ ،‫چیست‬ ‫مایلستون‬ ‫دادیم‬ ‫توضیح‬ ‫که‬ ‫اکنون‬ ‫معنی‬ ‫و‬ ‫چیست‬ ‫استون‬ ‫مایل‬ ‫دریافتید‬ ‫که‬ ‫اکنون‬ Milestone ‫آن‬ ‫کردن‬ ‫مشخص‬ ‫‌های‬ ‫ه‬‫را‬ ‫به‬ ‫ادامه‬ ‫در‬ ‌ ،‫دادیم‬ ‫توضیح‬ ‫را‬ ‫پروژه‬ ‫کنترل‬ ‫در‬ ،‫ادامه‬ ‫در‬ .‫کنید‬ ‫پیگیری‬ ‫و‬ ‫تنظیم‬ ‫را‬ ‫پروژه‬ ‫های‬ ‫مایلستون‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫طریق‬ ‫از‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫زیادی‬ ‫‌های‬ ‫ش‬‫رو‬ .‫پرداخت‬ ‫خواهیم‬ .‫بگیرید‬ ‫کار‬ ‫به‬ ‫خود‬ ‫بعدی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫تعیین‬ ‫در‬ ‫سهولت‬ ‫برای‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫که‬ ‫‌کنیم‬ ‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫‌هایی‬ ‫ه‬‫اید‬ ۱ ‫کنید‬ ‫جدا‬ ‫ها‬ ‫مایلستون‬ ‫از‬ ‫را‬ ‫پروژه‬ ‫به‬ ‫مربوط‬ ‫کارهای‬ . ‫‌ترین‬ ‫گ‬‫بزر‬ ‫درمورد‬ ‫گیری‬ ‫تصمیم‬ ‫با‬ ‫را‬ ‫کار‬ ‫این‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫معمول‬ ‫‌طور‬‫به‬ .‫است‬ ‫پروژه‬ ‫در‬ ‫ها‬ ‫مایلستون‬ ‫شناسایی‬ ،‫ضروری‬ ‫مراحل‬ ‫اولین‬ ‫از‬ ‫یکی‬ ‫پیِش‬ ‫‌تحویلی‬ ‫ل‬‫قاب‬ ‫محصول‬ ‫یا‬ ‫هدف‬ ‫آیا‬ ‫که‬ ‫ببینید‬ ‫سپس‬ ‫و‬ ‫بنویسید‬ ‫را‬ ‫شوند‬ ‫انجام‬ ‫باید‬ ‫که‬ ‫کارهایی‬ ‫‌ی‬ ‫ه‬‫هم‬ .‫دهید‬ ‫انجام‬ ‫پروژه‬ ‫دستاوردهای‬ ‫تأثیر‬ ‫موردنظر‬ ‫استون‬ ‫مایل‬ ‫که‬ ‫بگیرید‬ ‫تصمیم‬ ‫باید‬ ،‫آن‬ ‫از‬ ‫پس‬ ‫‌آید؛‬ ‫ی‬‫م‬ ‫شمار‬ ‫به‬ ‫پروژه‬ ‫به‬ ‫مربوط‬ ‫کارهای‬ ‫از‬ ‫یکی‬ ‫مورد‬ ‫این‬ ‫یا‬ ‫دارید‬ ‫رویتان‬ ‫پروژه‬ ‫به‬ ‫مربوط‬ ‫کارهای‬ ‫از‬ ‫یکی‬ ‫موردنظر‬ ‫آیتم‬ ‫احتماال‬ ،‫باشد‬ ‫منفی‬ ‫پاسخ‬ ‫اگر‬ ‫خیر؛‬ ‫یا‬ ‫دارد‬ ‫کلی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫نهایی‬ ‫مهلت‬ ‫به‬ ‫رسیدن‬ ‫در‬ ‫مهمی‬ .‫است‬
  • 62. ‫از‬ ‫یکی‬ ‫موردنظر‬ ‫آیتم‬ ‫شرایطی‬ ‫چنین‬ ‫در‬ ،‫زیاد‬ ‫احتمال‬ ‫به‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫آن‬ ‫پیشرفت‬ ‫به‬ ‫که‬ ‫دارند‬ ‫وجود‬ ‫پروژه‬ ‫در‬ ‫مهمی‬ ‫لحظات‬ ،‫مقابل‬ ‫در‬ .‫است‬ ‫پروژه‬ ‌ ‫ن‬‫استو‬ ‫مایل‬ ‫نیز‬ ‫مورد‬ ‫این‬ ،‫‌باشد‬ ‫ه‬‫داشت‬ ‫نیاز‬ ‫‌نفعان‬ ‫ی‬‫ذ‬ ‫توسط‬ ‫بررسی‬ ‫به‬ ‫که‬ ‫برسد‬ ‫‌ای‬ ‫ه‬‫مرحل‬ ‫به‬ ‫پروژه‬ ‫اگر‬ .‫است‬ ‫پروژه‬ ‫های‬ ‫مایلستون‬ ‫برای‬ ‫تالش‬ ‫در‬ ‫‌چه‬ ‫ن‬‫آ‬ ‫بتوانند‬ ‫تیم‬ ‫اعضای‬ ‫تمام‬ ‫تا‬ ‫شوند‬ ‫نوشته‬ ‫باید‬ ،‫هستند‬ ‫برخوردار‬ ‫پروژه‬ ‫در‬ ‫‌تری‬ ‫ش‬‫بی‬ ‫اهمیت‬ ‫از‬ ‫که‬ ‫وقایعی‬ ،‫کلی‬ ‫طور‬ ‌ ‫ه‬‫ب‬ ‫‌تری‬ ‫ش‬‫بی‬ ‫اهمیت‬ ،‫بقیه‬ ‫به‬ ‫نسبت‬ ،‫پروژه‬ ‫های‬ ‫مایلستون‬ ‫از‬ ‫برخی‬ ،‫این‬ ‫بر‬ ‫عالوه‬ ‫‌کنند؛‬ ‫ی‬‫م‬ ‫ریزی‬ ‫برنامه‬ ‫آن‬ ‫برای‬ ‫و‬ ‫ببینند‬ ‫را‬ ‫هستند‬ ‫انجامش‬ ‫احتیاج‬ ‫پروژه‬ ‫مدیر‬ ‫توجه‬ ‫به‬ ‫‌تر‬ ‫م‬‫مه‬ ‫های‬ ‫مایلستون‬ ،‫حال‬ ‫عین‬ ‫در‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کار‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫روی‬ ‫تیم‬ ‫اعضای‬ ،‫بنابراین‬ ‫دارند؛‬ .‫بگیرد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫به‬ ‫رسیدگی‬ ‫تا‬ ‫دارند‬ ‫مدرک‬ :‫مرتبط‬ ‫مطلب‬ PMP ‫بگیریم؟‬ ‫را‬ ‫مدرک‬ ‫این‬ ‫چگونه‬ ‫و‬ ‫چیست‬ ۲ ‫‌باشید‬ ‫ه‬‫داشت‬ ‫نظارت‬ ‫پروژه‬ ‫پایان‬ ‫مهلت‬ ‫روی‬ . ‫تیم‬ ‫اعضای‬ ‫توجه‬ ‫افزایش‬ ‫‌های‬ ‫ه‬‫را‬ ‫از‬ ‫یکی‬ ،‫دیگر‬ ‫سوی‬ ‫از‬ .‫است‬ ‫مفید‬ ‫پروژه‬ ‫مهم‬ ‫مراحل‬ ‫تمام‬ ‫پایان‬ ‫برای‬ ‫‌شده‬ ‫ن‬‫تعیی‬ ‫‌های‬ ‫ت‬‫مهل‬ ‫بر‬ ‫دائمی‬ ‫نظارت‬ .‫بگیرند‬ ‫نظر‬ ‫در‬ ‫پروژه‬ ‫در‬ ‫مایلستونی‬ ‫عنوان‬ ‌ ‫ه‬‫ب‬ ‫را‬ ‫‌تحویلی‬ ‫ل‬‫قاب‬ ‫محصول‬ ‫هر‬ ‫به‬ ‫دستیابی‬ ‫که‬ ‫است‬ ‫این‬ ‫پروژه‬ ‫‌های‬ ‫ل‬‫‌االج‬ ‫ب‬‫ضر‬ ‫به‬ ‫از‬ ‫شوند؛‬ ‫مطمئن‬ ‫‌ها‬ ‫ل‬‫‌االج‬ ‫ب‬‫ضر‬ ‫‌کردن‬‫رعایت‬ ‫از‬ ‫تا‬ ‫کنند‬ ‫مراجعه‬ ‫کلی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫‌ی‬ ‫ه‬‫برنام‬ ‫به‬ ‫‌ای‬ ‫ه‬‫دور‬ ‫‌صورت‬‫به‬ ‫بتوانند‬ ‫باید‬ ‫تیم‬ ‫اعضای‬ ،‫واقع‬ ‫در‬ ‫برای‬ ،‫‌چنین‬ ‫م‬‫ه‬ ‫‌هاست؛‬ ‫ن‬‫آ‬ ‫به‬ ‫‌تر‬ ‫ش‬‫بی‬ ‫توجه‬ ‫برای‬ ‫خوبی‬ ‫روش‬ ، ‫استون‬ ‫مایل‬ ‫‌عنوان‬‫به‬ ‫پروژه‬ ‫پایان‬ ‫‌های‬ ‫ت‬‫مهل‬ ‫از‬ ‫بصری‬ ‫لیستی‬ ‫‌ی‬ ‫ه‬‫تهی‬ ،‫رو‬ ‫این‬ ‫باشند؛‬ ‫مشخص‬ ‫کلی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫‌های‬ ‫ه‬‫برنام‬ ‫در‬ ‫‌ها‬ ‌ ‫ن‬‫آ‬ ‫محل‬ ‫تا‬ ‫کنید‬ ‫استفاده‬ ‫دیگری‬ ‫َاشکال‬ ‫یا‬ ‫رنگ‬ ‫از‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫ها‬ ‫مایلستون‬ ‫این‬ ‫کردن‬ ‌ ‫ص‬‫مشخ‬ .‫کنید‬ ‫لیست‬ ،‫دهند‬ ‫انجام‬ ‫باید‬ ‫مهم‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫هر‬ ‫تکمیل‬ ‫برای‬ ‫‌ها‬ ‫م‬‫تی‬ ‫از‬ ‫هریک‬ ‫که‬ ‫را‬ ‫کارهایی‬ ‫تمام‬ ،‫این‬ ‫بر‬ ‫عالوه‬ ‫بزنید؛‬ ‫عالمت‬ ‫را‬ ‫‌شده‬ ‫ن‬‫تعیی‬ ‫موارد‬ ،‫‌ها‬ ‫ن‬‫آ‬ ‫اتمام‬ ‫هنگام‬ ‫تا‬ ‫کنید‬ ‫لیست‬ ‫گروهی‬ ‫در‬ ‫را‬ ‫موردنیاز‬ ‫کارهای‬ ‫‌ی‬ ‫ه‬‫هم‬ ‫باید‬ ‫نیز‬ ‫پروژه‬ ‫استون‬ ‫مایل‬ ‫هر‬ ‫برای‬ ‫طی‬ ‫اگر‬ ،‫مثال‬ ‫برای‬ ۲ ‫مختص‬ ‫وظایف‬ ‫از‬ ‫همه‬ ‫که‬ ‫شوید‬ ‫مطمئن‬ ‫تا‬ ‫کنید‬ ‫مطرح‬ ‫تیم‬ ‫اعضای‬ ‫با‬ ‫را‬ ‫آن‬ ،‫دارید‬ ‫رو‬ ‫پیِش‬ ‫مهمی‬ ‌ ‫ن‬‫مایلستو‬ ‫هفته‬ ‫که‬ ‫شوید‬ ‫مطمئن‬ ‫باید‬ ،‫مقرر‬ ‫مهلت‬ ‫به‬ ‫شدن‬ ‫نزدیک‬ ‫با‬ ،‫‌چنین‬ ‫م‬‫ه‬ ‫دارند؛‬ ‫کافی‬ ‫آگاهی‬ ‫مرحله‬ ‫این‬ ‫تکمیل‬ ‫جهت‬ ‫در‬ ‫تیم‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫خودشان‬ .‫‌باشند‬ ‫ه‬‫رسید‬ ‫پایان‬ ‫به‬ ‫‌شده‬ ‫ن‬‫تعیی‬ ‫کارهای‬ ‫‌تر‬ ‫ش‬‫بی‬ ۳ ‫کنید‬ ‫برقرار‬ ‫ارتباط‬ ‫‌ها‬ ‫م‬‫تی‬ ‫‌ی‬ ‫ه‬‫هم‬ ‫با‬ . ‫‌که‬ ‫ن‬‫ای‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ،‫بنابراین‬ ‫هستند؛‬ ‫وابسته‬ ‫داخلی‬ ‫‌های‬ ‫م‬‫تی‬ ‫سایر‬ ‫یا‬ ‫سازمان‬ ‫از‬ ‫خارج‬ ‫‌کاران‬ ‫م‬‫ه‬ ‫به‬ ‫کارشان‬ ‫تکمیل‬ ‫برای‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫‌تر‬ ‫ش‬‫بی‬ ‫تکمیل‬ ‫مجاز‬ ‫‌های‬ ‫ت‬‫مهل‬ ‫از‬ ‫نیز‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫تا‬ ‫کنید‬ ‫برقرار‬ ‫موثر‬ ‫ارتباط‬ ‫دیگر‬ ‫‌های‬ ‫م‬‫تی‬ ‫در‬ ‫حاضر‬ ‫افراد‬ ‫با‬ ‫بتوانید‬ ‫باید‬ ،‫‌رود‬ ‫ی‬‫م‬ ‫پیش‬ ‫‌خوبی‬ ‫ه‬‫ب‬ ‫‌چیز‬ ‫ه‬‫هم‬ ‫‌بندی‬ ‫ن‬‫زما‬ ‫و‬ ‫دارند‬ ‫ارتباط‬ ‫نیز‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫به‬ ‫که‬ ‫هایی‬ ‫مایلستون‬ ،‫دیگر‬ ‫‌های‬ ‫م‬‫تی‬ ‫از‬ ‫خود‬ ‫انتظارات‬ ‫درمورد‬ ‫باید‬ ،‫این‬ ‫بر‬ ‫عالوه‬ ‫کنید؛‬ ‫آگاه‬ ‫خود‬ ‫‌ی‬ ‌ ‫ه‬‫پروژ‬ ‌ ‫ه‬‫ب‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫تالش‬ ‫پروژه‬ ‫هدف‬ ‫به‬ ‫رسیدن‬ ‫مسیر‬ ‫در‬ ‫نیز‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫‌که‬ ‫ن‬‫ای‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ،‫منظور‬ ‫همین‬ ‫به‬ ‫کنید؛‬ ‫عمل‬ ‫صریح‬ ‫کامال‬ ،‫پروژه‬ ‫کلی‬ ‫‌ی‬ ‫ه‬‫نتیج‬ ‫بهترین‬ ‫بتوانند‬ ‫تا‬ ‫کنند‬ ‫کار‬ ‫هم‬ ‫با‬ ‫باید‬ ‫‌ها‬ ‫م‬‫تی‬ ‫اعضای‬ ‫‌ی‬ ‫ه‬‫هم‬ ‫که‬ ‫است‬ ‫این‬ ‫حقیقت‬ .‫‌باشید‬ ‫ه‬‫داشت‬ ‫هماهنگی‬ ‫‌دیگر‬ ‫ک‬‫ی‬ ‫با‬ ‫منظم‬ ‫طور‬ .‫آورند‬ ‫دست‬ ‫به‬ ‫را‬ ‫ممکن‬ .‫چیست‬ ‫استون‬ ‫مایل‬ ‫کردن‬ ‫پیگیری‬ ‫‌های‬ ‫ه‬‫را‬ ‫‌دهیم‬ ‫ی‬‫م‬ ‫پاسخ‬ ‫ادامه‬ ‫در‬ .‫شدید‬ ‫آشنا‬ ‫پروژه‬ ‫در‬ ‫آن‬ ‫ایجاد‬ ‫‌ی‬ ‫ه‬‫نحو‬ ‫و‬ ‫استون‬ ‫مایل‬ ‫با‬ ‫‌جا‬ ‫ن‬‫ای‬ ‫به‬ ‫تا‬
  • 63. ‫و‬ ‫ها‬ ‫مایلستون‬ ‫پیگیری‬ ‫برای‬ ‫یکسان‬ ‫روشی‬ ‫از‬ ‫باید‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫فعالیت‬ ‫یکسانی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫مدیر‬ ‫‌نظر‬ ‫ت‬‫تح‬ ‫تیمی‬ ‫در‬ ‫افراد‬ ‫از‬ ‫گروهی‬ ‫که‬ ‫شرایطی‬ ‫در‬ ‌ ‫ه‬‫ب‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫تیم‬ ‫اعضای‬ ‫صورت‬ ‫این‬ ‫در‬ ‫زیرا‬ ،‫است‬ ‫اهمیت‬ ‫حائز‬ ‫تیم‬ ‫رهبر‬ ‫برای‬ ،‫ویژه‬ ‫طور‬ ‌ ‫ه‬‫ب‬ ،‫موضوع‬ ‫این‬ .‫شود‬ ‫استفاده‬ ‫پروژه‬ ‫پایانی‬ ‫مهلت‬ .‫کنند‬ ‫کار‬ ‫‌دیگر‬ ‫ک‬‫ی‬ ‫با‬ ‫‌یافته‬ ‫ن‬‫سازما‬ ‫طور‬ ،‫کاغذ‬ ‫روی‬ ‫نوشتن‬ ‫به‬ ‫‌توان‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ش‬‫رو‬ ‫این‬ ‌ ‫ه‬‫جمل‬ ‫از‬ ‫باشد؛‬ ‫گزینه‬ ‫بهترین‬ ‫تیمتان‬ ‫برای‬ ‫که‬ ‫کنید‬ ‫انتخاب‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫پیگیری‬ ‫برای‬ ‫را‬ ‫روشی‬ ،‫بنابراین‬ ‫پیگیری‬ ‫‌های‬ ‫ش‬‫رو‬ ‫از‬ ‫‌هایی‬ ‫ه‬‫نمون‬ ،‫ادامه‬ ‫در‬ .‫کرد‬ ‫اشاره‬ ‫آنالین‬ ‫مدیریت‬ ‫سیستم‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫ایمیل‬ ‫طریق‬ ‫از‬ ‫‌دیگر‬ ‫ک‬‫ی‬ ‫با‬ ‫ارتباط‬ ‫برقراری‬ :‫‌ایم‬ ‫ه‬‫آورد‬ ‫را‬ ‫مایلستون‬ ۱ ‫کاغذ‬ ‫روی‬ ‫نوشتن‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬ . ‫حضوری‬ ‫‌صورت‬‫به‬ ‫را‬ ‫تیم‬ ‫جلسات‬ ‫که‬ ‫هنگامی‬ .‫‌باشد‬ ‫ه‬‫داشت‬ ‫‌همراه‬ ‫ه‬‫ب‬ ‫مزیت‬ ‫چندین‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫کاغذ‬ ‫روی‬ ‫برنامه‬ ‫نوشتن‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬ ‫آسان‬ ‫بسیار‬ ‫کاغذ‬ ‫روی‬ ‫کلی‬ ‫‌ی‬ ‫ه‬‫برنام‬ ‫نوشتن‬ ‫با‬ ‫آن‬ ‫پیشرفت‬ ‫‌ی‬ ‫ه‬‫مشاهد‬ ‫و‬ ‫پروژه‬ ‫‌ریزی‬ ‫ح‬‫طر‬ ‫چگونگی‬ ‫روی‬ ‫نظارت‬ ‫امکان‬ ،‫‌کنید‬ ‫ی‬‫م‬ ‫برگزار‬ .‫ببینید‬ ‫بهتر‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫مختلف‬ ‫وجوه‬ ‫تا‬ ‫دهید‬ ‫انجام‬ ‫نیز‬ ‫رنگی‬ ‫کدگذاری‬ ‫با‬ ‫را‬ ‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫‌چنین‬ ‫م‬‫ه‬ ‫‌شود؛‬ ‫ی‬‫م‬ ۲ ‫ایمیل‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬ . ‫در‬ ‫کسی‬ ‫هر‬ ،‫واقع‬ ‫در‬ .‫دارد‬ ‫‌همراه‬ ‫ه‬‫ب‬ ‫مزایایی‬ ‫نیز‬ ‫ابزار‬ ‫این‬ ‫که‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫ترجیح‬ ‫را‬ ‫ایمیل‬ ‫از‬ ‫استفاده‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫پیگیری‬ ‫برای‬ ‫افراد‬ ‫از‬ ‫برخی‬ ‫کارهای‬ ‫و‬ ‫نظرات‬ ‫بررسی‬ ‫به‬ ‫نیاز‬ ‫صورت‬ ‫در‬ .‫کند‬ ‫مطرح‬ ‫را‬ ‫موردنظرش‬ ‫پیشنهادهای‬ ‫یا‬ ‫سؤاالت‬ ‫بالفاصله‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫ایمیلی‬ ‫ارتباطات‬ ‫‌ی‬ ‫ه‬‫زنجیر‬ .‫دارد‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫گذشته‬ ‫ایمیلی‬ ‫ارتباطات‬ ‫‌ی‬ ‫ه‬‫تاریخچ‬ ‫نیز‬ ‫تیم‬ ‫اعضای‬ ‫پیشین‬ ۳ ‫آنالین‬ ‫مدیریت‬ ‫سیستم‬ ‫با‬ ‫مایلستون‬ ‫پیگیری‬ . ‫برای‬ ‫مختلفی‬ ‫پولی‬ ‫و‬ ‫رایگان‬ ‫‌های‬ ‫ه‬‫برنام‬ .‫‌اند‬ ‫ه‬‫کرد‬ ‫پیدا‬ ‫رواج‬ ‫پروژه‬ ‫اصلی‬ ‫های‬ ‫مایلستون‬ ‫پیگیری‬ ‫برای‬ ‫نیز‬ ‫آنالین‬ ‫مدیریت‬ ‫‌های‬ ‫م‬‫سیست‬ ،‫امروزه‬ .‫کنند‬ ‫پیدا‬ ‫دسترسی‬ ‫آن‬ ‫به‬ ‫‌توانند‬ ‫ی‬‫م‬ ،‫کنند‬ ‫‌نام‬ ‫ت‬‫ثب‬ ‫موردنظر‬ ‫سیستم‬ ‫در‬ ‫که‬ ‫کسانی‬ ‫تمامی‬ ‫و‬ ‫‌اند‬ ‫ه‬‫شد‬ ‫ایجاد‬ ‫امر‬ ‫این‬ ‫جداگانه‬ ‫لیستی‬ ‫در‬ ‫را‬ ‫فردی‬ ‫کارهای‬ ‫کردن‬ ‌ ‫ص‬‫مشخ‬ ‫و‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫تقسیم‬ ‫امکان‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫این‬ ،‫کلی‬ ‫طور‬ ‌ ‫ه‬‫ب‬ ‫اختصاص‬ ‫او‬ ‫به‬ ‫مایلستونی‬ ‫که‬ ،‫تیم‬ ‫اعضای‬ ‫از‬ ‫فردی‬ ‫هر‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫آنالین‬ ‫مدیریت‬ ‫‌های‬ ‫م‬‫سیست‬ ،‫‌چنین‬ ‫م‬‫ه‬ ‫‌کنند؛‬ ‫ی‬‫م‬ ‫فراهم‬ .‫کند‬ ‫مشخص‬ ‫را‬ ‫آن‬ ‫‌شدن‬‫تکمیل‬ ‫عالمتی‬ ‫با‬ ‫بتواند‬ ،‫موردنظر‬ ‫‌ی‬ ‫ه‬‫مرحل‬ ‫به‬ ‫دستیابی‬ ‫صورت‬ ‫در‬ ،‫‌است‬ ‫ه‬‫شد‬ ‫داده‬ ‫پیگیری‬ ‫را‬ ‫پروژه‬ ‫مختلف‬ ‫کارهای‬ ‫انجام‬ ‫مسئول‬ ‫اشخاص‬ ‫تا‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫تیم‬ ‫اعضای‬ ‫به‬ ‫آنالین‬ ‫مدیریت‬ ‫‌های‬ ‫م‬‫سیست‬ ،‫این‬ ‫بر‬ ‫عالوه‬ ‫‌های‬ ‫ی‬‫‌تیم‬ ‫م‬‫ه‬ ‫پیشرفت‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫ها‬ ‫مایلستون‬ ‫مشاهده‬ ‫با‬ ‫نیز‬ ‫اعضا‬ ‫‌ی‬ ‫ه‬‫هم‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫نیز‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫ارتباطات‬ ‫بهبود‬ ‫به‬ ‫موضوع‬ ‫این‬ ‫که‬ ‫کنند‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫دنبال‬ ‫را‬ ‫کلی‬ ‫‌ی‬ ‫ه‬‫پروژ‬ ‫اهداف‬ ‫نیز‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫که‬ ‫شوند‬ ‫مطمئن‬ ‫تا‬ ‫ببینند‬ ‫را‬ ‫خود‬
  • 64. ‫‌بندی‬ ‫ع‬‫جم‬ ،‫واقع‬ ‫در‬ .‫است‬ ‫مهم‬ ‫بسیار‬ ،‫هستید‬ ‫بزرگ‬ ‫‌ای‬ ‫ه‬‫پروژ‬ ‫درگیر‬ ‫که‬ ‫هنگامی‬ ،‫پروژه‬ ‫های‬ ‫استون‬ ‫مایل‬ ‫پیگیری‬ ‫و‬ ‫تنظیم‬ ‫برای‬ ‫روشی‬ ‫از‬ ‫استفاده‬ ‫چک‬ ‫‌دیگر‬ ‫ک‬‫ی‬ ‫با‬ ‫منظم‬ ‫طور‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫و‬ ‫کنید‬ ‫بررسی‬ ‫تیم‬ ‫اعضای‬ ‫‌ی‬ ‫ه‬‫هم‬ ‫با‬ ‫را‬ ‫پروژه‬ ‫پایان‬ ‫‌های‬ ‫ت‬‫مهل‬ ‫و‬ ‫اهداف‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫مایلستون‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫برآورده‬ ‫نیز‬ ‫را‬ ‫مشتریانتان‬ ‫انتظارات‬ ‫و‬ ‫‌رسانید‬ ‫ی‬‫م‬ ‫پایان‬ ‫به‬ ‫مقرر‬ ‫مهلت‬ ‫در‬ ‫را‬ ‫پروژه‬ ‫که‬ ‫‌شوید‬ ‫ی‬‫م‬ ‫مطمئن‬ ‫کار‬ ‫این‬ ‫انجام‬ ‫با‬ .‫کنید‬ :‫منبع‬ . indeed com
  • 65. Epic ‫چیست؟‬ ‫اسکرام‬ ‫در‬ ‫زیادی‬ ‫‌آمیز‬ ‫ت‬‫موفقی‬ ‫‌های‬ ‫ن‬‫داستا‬ ،‫نه‬ ‫که‬ ‫چرا‬ ‫و‬ ‫شده‬ ‫محصول‬ ‫توسعه‬ ‫دنیای‬ ‫در‬ ‫پرطرفدار‬ ‫‌ای‬ ‫ه‬‫کلم‬ ‫به‬ ‫تبدیل‬ »‫«اسکرام‬ ‫که‬ ‫است‬ ‫دهه‬ ‫یک‬ ‫اکنون‬ ‫موفقیت‬ ‫داستان‬ ‫از‬ ‫بلکه‬ ،‫‌کنیم‬ ‫ی‬‫نم‬ ‫صحبت‬ ‫هستند‬ ‫اسکرام‬ ‫‌نیازهای‬ ‫ش‬‫پی‬ ‫معنای‬ ‫به‬ ‫که‬ »‫کاربر‬ ‫‌های‬ ‫ن‬‫«داستا‬ ‫درباره‬ ‫البته‬ .‫‌ایم‬ ‫ه‬‫شنید‬ ‫آن‬ ‫به‬ ‫راجع‬ ‫همان‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫به‬ ‫راجع‬ ‫‌خواهیم‬ ‫ی‬‫م‬ ‫اما‬ ‫صورت‬ ‫هر‬ ‫در‬ .‫‌اند‬ ‫ه‬‫گرفت‬ ‫پیش‬ ‫در‬ ‫را‬ ‫اسکرام‬ ‫‌شناسی‬ ‫ش‬‫رو‬ ‫که‬ ‫‌گوییم‬ ‫ی‬‫م‬ ‫که‬ ‫‌هایی‬ ‫ن‬‫سازما‬ ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫درباره‬ :‫بزنیم‬ ‫حرف‬ ‫‌نیازها‬ ‫ش‬‫پی‬ Epic .‫اسکرام‬ ‫در‬ ( »‫«اپیک‬ ‫یا‬ »‫«حماسه‬ Epic ‫کارهای‬ ‫به‬ ‫دست‬ ‫که‬ ‫تاریخی‬ ‫‌ای‬ ‫ه‬‫افسان‬ ‫و‬ ‫بزرگ‬ ‫قهرمانان‬ ‫به‬ ‫راجع‬ ‫طوالنی‬ ‫داستانی‬ ‫عنوان‬ ‫به‬ ‫امروز‬ ‫به‬ ‫تا‬ ‫را‬ ) ‫به‬ ‫راجع‬ ‫است‬ ‫الزم‬ ‫هرآنچه‬ ‫تا‬ ‫دهید‬ ‫ادامه‬ ‫مطالعه‬ ‫به‬ .‫‌رویم‬ ‫ی‬‫م‬ ‫متفاوت‬ ‫کامال‬ ‫مفهومی‬ ‫سراغ‬ ‫به‬ ‫مقاله‬ ‫این‬ ‫در‬ ‫اما‬ ،‫‌شناختیم‬ ‫ی‬‫م‬ ‫‌زدند‬ ‫ی‬‫م‬ ‫شجاعانه‬ Epic .‫بگیرید‬ ‫فرا‬ ‫را‬ ‫بدانید‬ ‫اسکرام‬ ‫در‬
  • 66. Epic ‫چیست؟‬ ‫اسکرام‬ ‫در‬ ،‫بگوییم‬ ‫ممکن‬ ‫شکل‬ ‫‌ترین‬ ‫ه‬‫ساد‬ ‫به‬ ‫بخواهیم‬ ‫اگر‬ Epic ‫یا‬ ‫چابک‬ ‫مدیریت‬ ‫زیرمجموعه‬ ‫خود‬ ‫(که‬ ‫اسکرام‬ ‫در‬ Agile ‫یک‬ ،)‫‌آید‬ ‫ی‬‫م‬ ‫حساب‬ ‫به‬ ( »‫کاربر‬ ‫‌های‬ ‫ن‬‫«داستا‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫است‬ ‫بزرگ‬ ‫وظیفه‬ User Stories ‫های‬ ‫اسپرینت‬ ‫میان‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫اپیک‬ ‫یک‬ .‫شود‬ ‫تقسیم‬ ‫خردتر‬ ) ‫همین‬ ‫به‬ ‫و‬ ‫باشد‬ ‫‌کند‬ ‫ی‬‫م‬ ‫طلب‬ ‫مشتری‬ ‫آنچه‬ ‫از‬ ‫باال‬ ‫سطح‬ ‫توضیحی‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫اپیک‬ .‫شود‬ ‫پخش‬ ‫مختلف‬ ‫چابک‬ ‫‌های‬ ‫م‬‫تی‬ ‫حتی‬ ‫یا‬ ‫و‬ ‫مختلف‬ ‫و‬ ‫ابعاد‬ ،‫خاطر‬ ‫همین‬ ‫به‬ ‫و‬ ‫است‬ ‫باال‬ ‫سطح‬ ‫‌نیاز‬ ‫ش‬‫پی‬ ‫یک‬ ‫اپیک‬ ،‫کردیم‬ ‫اشاره‬ ‫که‬ ‫همانطور‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫ضمیمه‬ ‫آن‬ ‫در‬ ‫نیز‬ ‫مقادیری‬ ،‫ترتیب‬ .‫شود‬ ‫تغییر‬ ‫دچار‬ ‫زمان‬ ‫گذر‬ ‫در‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫آن‬ ‫‌انداز‬ ‫م‬‫چش‬ ‫قابل‬ ‫و‬ ‫خرد‬ ‫‌های‬ ‫ه‬‫تک‬ ‫به‬ ‫را‬ ‫وظایف‬ ‫که‬ ‫‌ست‬ ‫ن‬‫ای‬ ‫کلی‬ ‫ایده‬ .‫است‬ ‫مراتب‬ ‫سلسله‬ ‫ساخت‬ ‫و‬ ‫کارها‬ ‫به‬ ‫‌بخشی‬ ‫ن‬‫ساما‬ ‫برای‬ ‫کارآمد‬ ‫راهی‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫اپیک‬ .‫کنید‬ ‫‌سازی‬ ‫ش‬‫ارز‬ ‫خود‬ ‫مشتریان‬ ‫برای‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫بتوانید‬ ‫و‬ ‫شوند‬ ‫عملی‬ ‫واقعا‬ ‫بزرگ‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫تا‬ ‫کنید‬ ‫تقسیم‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌تر‬ ‫گ‬‫بزر‬ ‫هدفی‬ ‫سمت‬ ‫به‬ ‫حرکت‬ ‫و‬ ‫کارها‬ ‫‌بندی‬ ‫م‬‫تقسی‬ ‫در‬ ‫برای‬ ‫اپیک‬ ‫‌نیاز‬ ‫ش‬‫پی‬ ‫یک‬ ،‫نو‬ ‫سال‬ ‫مهمانی‬ ‫برگزاری‬ ‫‌کنیم‬ ‫ی‬‫م‬ ‫فرض‬ .‫‌زنیم‬ ‫ی‬‫م‬ ‫واقعی‬ ‫دنیای‬ ‫از‬ ‫مثالی‬ ،‫باشیم‬ ‫کرده‬ ‫باز‬ ‫بهتر‬ ‫را‬ ‫موضوع‬ ‫اینکه‬ ‫برای‬ ‫باید‬ .‫جزییات‬ ‫ریزترین‬ ‫تا‬ ‫گرفته‬ ‫اهداف‬ ‫‌ترین‬ ‫گ‬‫بزر‬ ‫از‬ :‫کنید‬ ‫‌مند‬ ‫ن‬‫ساما‬ ‫را‬ ‫خود‬ ‫وظایف‬ ‫باید‬ ،‫مهمی‬ ‫مهمانی‬ ‫چنین‬ ‫برگزاری‬ ‫برای‬ .‫است‬ ‫شما‬ ،‫‌شوید‬ ‫ی‬‫م‬ ‫باخبر‬ ‫خود‬ ‫اپیک‬ ‫از‬ ‫وقتی‬ .‫بچسبید‬ ‫مشخص‬ ‫نقشه‬ ‫یک‬ ‫به‬ ‫و‬ ‫کنید‬ ‫پایش‬ ‫را‬ ‫خود‬ ‫پیشرفت‬ ،‫دهید‬ ‫نشان‬ ‫واکنش‬ ‫تغییرها‬ ‫به‬ ‫بتوانید‬ ‫دکوراسیون‬ ،‫نیاز‬ ‫مورد‬ ‫لوازم‬ ‫خرید‬ ،‫‌ها‬ ‫ی‬‫خوراک‬ ‫به‬ ‫راجع‬ ‫‌گیری‬ ‫م‬‫تصمی‬ ،‫مهمانان‬ ‫فهرست‬ ‫آوردن‬ ‫فراهم‬ ‫مانند‬ ‫خردتر‬ ‫وظایف‬ ‫به‬ ‫را‬ ‫آن‬ ‫‌توانید‬ ‫ی‬‫م‬ .‫کنید‬ ‫تقسیم‬ ‫مشابه‬ ‫موارد‬ ‫و‬ ‫جدید‬ ‫سال‬ ‫خرید‬ ،‫منزل‬ ،‫‌شوند‬ ‫ی‬‫م‬ ‫ساخته‬ ‫‌ها‬ ‫ی‬‫‌بند‬ ‫ن‬‫زما‬ ‫نظرگیری‬ ‫در‬ ‫با‬ ‫هم‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫برخی‬ .‫‌گیرند‬ ‫ی‬‫م‬ ‫شکل‬ ‫مدیریتی‬ ‫‌دهی‬ ‫ش‬‫گزار‬ ‫نیازهای‬ ‫به‬ ‫بسته‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫برخی‬ ‫‌های‬ ‫ه‬‫را‬ ‫‌ترین‬ ‫ج‬‫رای‬ ‫از‬ ‫یکی‬ .‫نکشند‬ ‫طول‬ ‫هفته‬ ‫دو‬ ‫از‬ ‫بیشتر‬ ،‫دیگر‬ ‫عبارت‬ ‫به‬ ‫و‬ ‫باشند‬ ‫طوالنی‬ ‫زیادی‬ ‫یا‬ ‫کوتاه‬ ‫زیادی‬ ‫نباید‬ ‫که‬ ‫‌هایی‬ ‫ی‬‫‌بند‬ ‫ن‬‫زما‬ ( »‫‌سرایی‬ ‫ن‬‫«داستا‬ ،‫فرایند‬ ‫این‬ ‫مدیریت‬ Storytelling ‫چیست؟‬ ‫اصال‬ ‫‌سرایی‬ ‫ن‬‫داستا‬ ‫اما‬ .‫دارد‬ ‫نام‬ ) ‫چیست؟‬ ‫سرایی‬ ‫داستان‬ ‫هم‬ ‫اگر‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌گذارند‬ ‫ی‬‫م‬ ‫اپیک‬ ‫روی‬ ‫که‬ ‫تاثیری‬ ‫و‬ ‫رخدادها‬ ‫جریان‬ ‫تصویرسازی‬ ‫در‬ ‫شما‬ ‫به‬ ‫که‬ ‫است‬ ‫ابزاری‬ ‫اصل‬ ‫در‬ ‫‌سرایی‬ ‫ن‬‫داستا‬ ‫واقع‬ ‫در‬ .‫بسازید‬ ‫را‬ ‫خودتان‬ ‫الگوی‬ ،‫ندارد‬ ‫تطابق‬ ‫رفت‬ ‫خواهیم‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫سراغ‬ ‫به‬ ‫که‬ ‫‌هایی‬ ‫ه‬‫نمون‬ ‫از‬ ‫‌یک‬ ‫چ‬‫هی‬ ‫با‬ ‫شما‬ ‫کاری‬ ‫الگوی‬ ‫که‬ ‫کردید‬ ‫احساس‬ ‫را‬ ‫اهداف‬ ‫به‬ ‫رسیدن‬ ‫نحوه‬ ‫و‬ ‫مسیر‬ ،‫عوض‬ ‫در‬ ‫و‬ ‫ندارد‬ ‫‌ای‬ ‫ه‬‫شد‬ ‫مشخص‬ ‫پیش‬ ‫از‬ ‫مسیر‬ ‫هیچ‬ ‫چابک‬ ‫‌شناسی‬ ‫ش‬‫رو‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫خاطر‬ ‫به‬ ‫را‬ ‫این‬ .‫دارند‬ ‫بستگی‬ ‫خودتان‬ ‫به‬ ‫مسائل‬ ‫باقی‬ ‫و‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫نشان‬ ‫شما‬ ‫به‬ .‫کنیم‬ ‫تبدیل‬ ‫رسیدگی‬ ‫قابل‬ ‫و‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫اجزای‬ ‫به‬ ‫را‬ ‫‌مان‬ ‫گ‬‫بزر‬ ‫اپیک‬ ‫‌کنیم‬ ‫ی‬‫م‬ ‫سعی‬ ‫و‬ ‫‌گردیم‬ ‫ی‬‫بازم‬ ‫زدیم‬ ‫پیشتر‬ ‫که‬ ‫مثالی‬ ‫به‬ ‫دیگر‬ ‫‌بار‬ ‫ک‬‫ی‬ ‫در‬ .‫کند‬ ‫‌شان‬ ‫ی‬‫نهای‬ ،‫اسکرام‬ ‫در‬ ‫اسپرینت‬ ‫برهه‬ ‫در‬ ‫و‬ ‫برداشته‬ ‫را‬ ‫اجزا‬ ‫آن‬ ‫بتواند‬ ‫تیم‬ ‫تا‬ ‫است‬ ‫مهم‬ ‫بسیار‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫اجزای‬ ‫به‬ ‫اپیک‬ ‫کردن‬ ‫تقسیم‬
  • 67. ‫به‬ ‫متصل‬ ‫اجزای‬ ‫به‬ ‫رسیدگی‬ ،‫‌بندی‬ ‫ت‬‫اولوی‬ ،‫ابعاد‬ ‫نظر‬ ‫از‬ ‫فراوان‬ ‫دقت‬ ‫نیازمند‬ ‫که‬ ‫کرد‬ ‫مقایسه‬ ‫هنری‬ ‫اثر‬ ‫یک‬ ‫خلق‬ ‫با‬ ‫را‬ ‫کار‬ ‫این‬ ‫‌توان‬ ‫ی‬‫م‬ ‫واقع‬ .‫‌رویم‬ ‫ی‬‫م‬ ‫کارها‬ ‫تقسیم‬ ‫برای‬ ‫رایج‬ ‫روش‬ ‫چند‬ ‫سراغ‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫است‬ ‫چنینی‬ ‫این‬ ‫موارد‬ ‫و‬ ‫یکدیگر‬ ‫کاری‬ ‫جریان‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬ ‫چطور‬ ،‫کاری‬ ‫جریان‬ ‫نظر‬ ‫از‬ ‫ببینیم‬ ‫بیایید‬ ‫حاال‬ ‫و‬ ‫زدیم‬ ‫حرف‬ ‫نو‬ ‫سال‬ ‫مهمانی‬ ‫برگزاری‬ ‫پروژه‬ ‫به‬ ‫راجع‬ ،‫رفتیم‬ ‫آن‬ ‫سراغ‬ ‫به‬ ‫پیشتر‬ ‫که‬ ‫مثالی‬ ‫در‬ ‫تهیه‬ ‫بیرون‬ ‫از‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫موارد‬ ،‫آن‬ ‫در‬ ‫که‬ ‫باشد‬ ‫کاری‬ ‫جریان‬ ‫یک‬ ‫‌توان‬ ‫ی‬‫م‬ ‫کردن‬ ‫خرید‬ .‫هستیم‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫اجزای‬ ‫به‬ ‫آن‬ ‫کردن‬ ‫تقسیم‬ ‫به‬ ‫قادر‬ ‫جریان‬ ‫یک‬ ‫مشابه‬ ‫صورت‬ ‫به‬ ‫‌توانیم‬ ‫ی‬‫م‬ ‫هم‬ ‫را‬ ‫منزل‬ ‫دکوراسیون‬ ‫به‬ ‫رسیدگی‬ ‫و‬ ‫است‬ ‫مهمانان‬ ‫برای‬ ‫پختن‬ ‫غذا‬ ،‫دیگر‬ ‫کاری‬ ‫جریان‬ ‫یک‬ .‫‌کنید‬ ‫ی‬‫م‬ ‫مهمانی‬ ‫میزبان‬ ‫همان‬ ‫اینجا‬ ‫در‬ ‫(که‬ ‫محصول‬ ‫مدیر‬ ‫گاهی‬ ‫یا‬ ‫محصول‬ ‫مالک‬ ‫است؟‬ ‫ساده‬ ‫چقدر‬ ‫فرایند‬ ‫این‬ ‫‌بینید‬ ‫ی‬‫م‬ .‫آوریم‬ ‫حساب‬ ‫به‬ ‫کاری‬ .‫بود‬ ‫خواهد‬ ‫امور‬ ‫‌بندی‬ ‫ت‬‫اولوی‬ ‫به‬ ‫قادر‬ ‫راحتی‬ ‫به‬ )‫است‬ ‫مثال‬ ‫برای‬ .‫کنید‬ ‫موکول‬ ‫بعدی‬ ‫مراحل‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫بنابراین‬ ‫و‬ ‫نباشند‬ ‫مهم‬ ‫لحظه‬ ‫این‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫کاری‬ ‫جریان‬ ‫‌های‬ ‫م‬‫گا‬ ‫برخی‬ ‫بعدا‬ ‫بتوان‬ ‫را‬ ‫کار‬ ‫همین‬ ‫احتماال‬ ‫اما‬ .‫دارید‬ ‫آن‬ ‫شدن‬ ‫خنک‬ ‫برای‬ ‫زمان‬ ‫اندکی‬ ‫به‬ ‫نیاز‬ ‫زیرا‬ ،‫باشید‬ ‫گذاشته‬ ‫اولویت‬ ‫در‬ ‫را‬ ‫کیک‬ ‫پختن‬ ‫است‬ ‫ممکن‬ .‫داد‬ ‫انجام‬ ‫نیز‬ ‫نقش‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬ ،‫‌گیرند‬ ‫ی‬‫م‬ ‫برعهده‬ ‫پروژه‬ ‫یک‬ ‫در‬ ‫را‬ ‫گوناگونی‬ ‫‌های‬ ‫ش‬‫نق‬ ،‫مختلف‬ ‫افراد‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬ Epic ‫نیز‬ ‫‌ها‬ ‫ش‬‫نق‬ ‫به‬ ‫بسته‬ ‫‌توان‬ ‫ی‬‫م‬ ‫را‬ ‫اسکرام‬ ‫در‬ ‫از‬ ‫صحبت‬ ‫وقتی‬ ‫و‬ ‫باشیم‬ ‫داشته‬ ‫خود‬ ‫مهمانی‬ ‫در‬ ‫را‬ »‫«آشپز‬ ‫حتی‬ ‫و‬ »‫«مهمان‬ ،»‫«میزبان‬ ‫‌های‬ ‫ش‬‫نق‬ ‫‌توانیم‬ ‫ی‬‫م‬ ‫مثال‬ ‫برای‬ .‫کرد‬ ‫‌بندی‬ ‫م‬‫تقسی‬ ‫گوناگون‬ ‫های‬ ‫پرسونا‬ ‫به‬ ‫راجع‬ ،‫نقش‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬ ‫در‬ .‫بود‬ ‫خواهید‬ ‫بیشتر‬ ‫هرچه‬ ‫‌های‬ ‫ش‬‫نق‬ ‫افزودن‬ ‫به‬ ‫قادر‬ ،‫باشد‬ ‫محصول‬ ‫توسعه‬ ‫در‬ ‫‌کننده‬ ‫م‬‫سرگر‬ ‫بازی‬ ‫«چند‬ ‫دنبال‬ ‫به‬ ‫مهمان‬ ‫و‬ ‫باشد‬ »‫‌آمیز‬ ‫ت‬‫موفقی‬ ‫مهمانی‬ ‫یک‬ ‫«برگزاری‬ ‫دنبال‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫میزبان‬ ‫مثال‬ ‫برای‬ .‫‌کنیم‬ ‫ی‬‫م‬ ‫صحبت‬ .»‫مهمانی‬ ‫زمانی‬ ‫برنامه‬ ‫بر‬ ‫مبتنی‬ ‫کار‬ ‫تقسیم‬ ‫در‬ ‫‌توان‬ ‫ی‬‫م‬ ‫آنچه‬ ‫براساس‬ ‫را‬ ‫کارها‬ ‫معموال‬ ‫توسعه‬ ‫تیم‬ .‫کرد‬ ‫‌بندی‬ ‫م‬‫تقسی‬ ،‫شدن‬ ‫نهایی‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫زمان‬ ‫به‬ ‫بسته‬ ‫‌توان‬ ‫ی‬‫م‬ ‫را‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫برخی‬ ‫به‬ ‫بسته‬ ‫سپس‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫‌های‬ ‫ش‬‫بر‬ ‫به‬ ‫تقسیم‬ ،‫برداشته‬ ‫را‬ ‫اپیک‬ ‫تمام‬ ‫تیم‬ ‫اعضای‬ .‫‌کند‬ ‫ی‬‫م‬ ‫تقسیم‬ ‫آورد‬ ‫دست‬ ‫به‬ ‫اسپرینت‬ ‫هر‬ .‫‌دهند‬ ‫ی‬‫م‬ ‫جای‬ ‫مختلف‬ ‫‌های‬ ‫ت‬‫اسپرین‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ،‫وظایف‬ ‫میان‬ ‫‌های‬ ‫ط‬‫ارتبا‬ ‫و‬ ‫اولویت‬ ‫میان‬ ‫ارتباطات‬ ‫و‬ ‫اولویت‬ ،‫ابعاد‬ ‫مانند‬ ‫مختلف‬ ‫فاکتورهای‬ ‫به‬ ‫توجه‬ ‫نیازمند‬ ‫کاربر‬ ‫‌های‬ ‫ن‬‫داستا‬ ‫‌بندی‬ ‫م‬‫تقسی‬ ،‫کردیم‬ ‫اشاره‬ ‫پیشتر‬ ‫که‬ ‫همانطور‬ ‫یک‬ ‫زدن‬ ‫برش‬ ‫مانند‬ ‫چیزی‬ ‫به‬ ‫راجع‬ ‫داریم‬ ‫بنابراین‬ .‫افقی‬ ‫و‬ ‫عمودی‬ :‫داریم‬ ‫کاربر‬ ‫‌های‬ ‫ن‬‫داستا‬ ‫‌بندی‬ ‫م‬‫تقسی‬ ‫برای‬ ‫رویکرد‬ ‫دو‬ ‫بنابراین‬ .‫است‬ ‫امور‬ ‫تمام‬ ‫از‬ ‫مقداری‬ ،‫بزنید‬ ‫برش‬ ‫عمودی‬ ‫را‬ ‫کیک‬ ‫اگر‬ ‫اما‬ .‫‌آورید‬ ‫ی‬‫م‬ ‫دست‬ ‫به‬ ‫واحد‬ ‫الیه‬ ‫یک‬ ،‫بزنید‬ ‫برش‬ ‫افقی‬ ‫را‬ ‫کیک‬ ‫اگر‬ .‫‌کنیم‬ ‫ی‬‫م‬ ‫صحبت‬ ‫کیک‬ .‫داشت‬ ‫خواهید‬ ‫کیک‬ ‫‌های‬ ‫ه‬‫الی‬
  • 68. ‫و‬ ‫وظیفه‬ ،‫داستان‬ ‫میان‬ ‫تفاوت‬ Epic ‫چیست؟‬ ‫اسکرام‬ ‫در‬ ‫که‬ ‫کردیم‬ ‫صحبت‬ ‫این‬ ‫به‬ ‫راجع‬ ‫تاکنون‬ Epic ‫که‬ ‫کنیم‬ ‫صحبت‬ ‫این‬ ‫به‬ ‫راجع‬ ‫بیایید‬ ‫حاال‬ .‫‌شود‬ ‫ی‬‫م‬ ‫‌بندی‬ ‫م‬‫تقسی‬ ‫چطور‬ ‫و‬ ‫چیست‬ ‫اسکرام‬ ‫در‬ ‫که‬ ‫است‬ ‫بزرگ‬ ‫کاری‬ ‫این‬ .‫بوده‬ »‫نو‬ ‫سال‬ ‫مهمانی‬ ‫«برگزاری‬ ‫لحظه‬ ‫این‬ ‫به‬ ‫تا‬ ‫ما‬ ‫اپیک‬ .‫دارد‬ ‫عناصر‬ ‫سایر‬ ‫از‬ ‫‌ای‬ ‫ه‬‫‌کنند‬ ‫ز‬‫متمای‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫چه‬ ( »‫‌ها‬ ‫ن‬‫«داستا‬ ،‫‌بندی‬ ‫م‬‫تقسی‬ ‫این‬ ‫نتایج‬ .‫‌شود‬ ‫ی‬‫م‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫وظایف‬ ‫به‬ ‫تبدیل‬ ،‫گوناگون‬ ‫‌های‬ ‫ش‬‫رو‬ ‫به‬ ‫چطور‬ ‫دیدیم‬ Stories ‫که‬ ‫هستند‬ ) ( »‫«وظایف‬ ‫نام‬ ‫به‬ ‫‌تری‬ ‫ک‬‫کوچ‬ ‫قطعات‬ ‫به‬ ‫خود‬ ‫هم‬ ‫‌ها‬ ‫ن‬‫داستا‬ ‫اما‬ .‫برسند‬ ‫انجام‬ ‫به‬ ‫اسپرینت‬ ‫برهه‬ ‫یک‬ ‫در‬ ‫‌توانند‬ ‫ی‬‫م‬ Tasks .‫‌شوند‬ ‫ی‬‫م‬ ‫تقسیم‬ ) »‫‌یافته‬ ‫ن‬‫«پایا‬ ‫برچسب‬ ‫‌مان‬ ‫ن‬‫داستا‬ ،‫رسیدند‬ ‫پایان‬ ‫به‬ ‫وظایف‬ ‫تمام‬ ‫که‬ ‫هم‬ ‫زمانی‬ .‫‌کند‬ ‫ی‬‫م‬ ‫رسیدگی‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫به‬ ‫و‬ ‫برداشته‬ ‫را‬ ‫وظایف‬ ‫این‬ ‫توسعه‬ ‫تیم‬ :‫است‬ ‫زیر‬ ‫شکل‬ ‫به‬ ‫‌چیز‬ ‫ه‬‫هم‬ ‫بنابراین‬ .‫‌خورد‬ ‫ی‬‫م‬ ‫اپیک‬ )‫‌ها‬ ‫ن‬‫(داستا‬ ‫رسیدگی‬ ‫قابل‬ ‫و‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫قطعات‬ ‫به‬ ‫باید‬ ‫اپیک‬ .‫شود‬ ‫نهایی‬ ‫واحد‬ ‫اسپرینت‬ ‫یک‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ‫از‬ ‫‌تر‬ ‫گ‬‫بزر‬ ‫که‬ ‫‌نیازی‬ ‫ش‬‫پی‬ : .‫شود‬ ‫تقسیم‬ ‫داستان‬ .‫برسد‬ ‫پایان‬ ‫به‬ ‫واحد‬ ‫اسپرینت‬ ‫یک‬ ‫در‬ ‫که‬ ‫شود‬ ‫پیکربندی‬ ‫‌ای‬ ‫ه‬‫‌گون‬ ‫ه‬‫ب‬ ‫باید‬ ‫داستان‬ .‫‌کند‬ ‫ی‬‫م‬ ‫طلب‬ ‫‌وکار‬ ‫ب‬‫کس‬ ‫که‬ ‫‌نیازی‬ ‫ش‬‫پی‬ : ‫وظایف‬ .‫‌دهند‬ ‫ی‬‫م‬ ‫شکل‬ ‫را‬ ‫کامل‬ ‫داستانی‬ ،‫‌گیرند‬ ‫ی‬‫م‬ ‫قرار‬ ‫یکدیگر‬ ‫کنار‬ ‫وقتی‬ ‫که‬ ‫داستان‬ ‫هر‬ ‫ضروری‬ ‫موارد‬ : ‫مصداق‬ ‫هم‬ ‫اینجا‬ ‫در‬ ‫موضوع‬ ‫همین‬ .‫‌آورد‬ ‫ی‬‫نم‬ ‫همراه‬ ‫به‬ ‫هم‬ ‫خاصی‬ ‫نتیجه‬ ،‫نباشد‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫قابل‬ ‫هرآنچه‬ ‫که‬ ‫‌اید‬ ‫ه‬‫شنید‬ ‫را‬ ‫این‬ ‫احتماال‬ ‫نمودارهای‬ ‫سراغ‬ ‫به‬ ‫‌توان‬ ‫ی‬‫م‬ ،‫اپیک‬ ‫هر‬ ‫در‬ ‫دستاوردها‬ ‫میزان‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫برای‬ .‫‌کند‬ ‫ی‬‫م‬ Burndown ‫‌بینی‬ ‫ش‬‫پی‬ ‫در‬ ‫شما‬ ‫به‬ ‫نمودار‬ ‫این‬ .‫رفت‬ ‫‌رو‬ ‫ه‬‫روب‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫با‬ ‫تیم‬ ‫که‬ ‫موانعی‬ ‫و‬ ‫پیشرفت‬ ‫مدیریت‬ ،‫‌داون‬ ‫ن‬‫بر‬ ‫نمودار‬ ‫به‬ ‫همیشگی‬ ‫توجه‬ ‫با‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫هم‬ ‫توسعه‬ ‫تیم‬ ‫روی‬ ‫پیش‬ ‫مسیر‬ .‫‌شوید‬ ‫ی‬‫م‬ ‫مشتریان‬ ‫و‬ ‫تیم‬ ‫میان‬ ‫اعتماد‬ ‫‌گیری‬ ‫ل‬‫شک‬ ‫باعث‬ ‫بلکه‬ ،‫‌آورید‬ ‫ی‬‫م‬ ‫پدید‬ ‫سیستم‬ ‫در‬ ‫را‬ ‫شفافیت‬ ‫‌تنها‬ ‫ه‬‫ن‬ ‫کار‬ ‫این‬ ‫با‬ .‫‌شود‬ ‫ی‬‫م‬ ‫آسان‬ ،‫است‬
  • 69. ‫شناسایی‬ ‫نحوه‬ Epic ‫است؟‬ ‫چگونه‬ ‫اسکرام‬ ‫در‬ ‫مباحثه‬ ‫نیازمند‬ ‫که‬ ‫‌زنیم‬ ‫ی‬‫م‬ ‫حرف‬ ‫چیزی‬ ‫به‬ ‫راجع‬ ‫داریم‬ .‫کرد‬ ‫رسیدگی‬ ‫آن‬ ‫به‬ ‫واحد‬ ‫برهه‬ ‫یک‬ ‫در‬ ‫‌توان‬ ‫ی‬‫نم‬ ‫که‬ ‫است‬ ‫بزرگ‬ ‫نسبتا‬ ‫کار‬ ‫یک‬ ‫اپیک‬ ‫حدودی‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خردتر‬ ‫کارهای‬ ‫ابعاد‬ ،‫اپیک‬ ‫سطح‬ ‫در‬ .‫باشید‬ ‫‌تر‬ ‫ک‬‫کوچ‬ ‫اجزایی‬ ‫به‬ ‫آن‬ ‫تقسیم‬ ‫به‬ ‫قادر‬ ‫تا‬ ‫است‬ ‫طوالنی‬ ‫فکری‬ ‫بارش‬ ‫و‬ ‫با‬ ‫شما‬ ‫تیم‬ ‫که‬ ‫دیگری‬ ‫چیز‬ ‫هر‬ ‫یا‬ ‫امتیاز‬ ،‫‌شرت‬ ‫ی‬‫ت‬ ‫سایزهای‬ ‫مانند‬ ‫گوناگون‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫واحدهای‬ ‫از‬ ‫‌توانیم‬ ‫ی‬‫م‬ ‫کار‬ ‫این‬ ‫برای‬ ‫و‬ ‫‌زنیم‬ ‫ی‬‫م‬ ‫تخمین‬ .‫بگیریم‬ ‫بهره‬ ،‫است‬ ‫راحت‬ ‫آن‬ ‫نمودار‬ ‫در‬ ‫اپیک‬ ‫پیشرفت‬ ‫میزان‬ ‫پایش‬ ‫به‬ ‫قادر‬ ‫سپس‬ ‫توسعه‬ ‫تیم‬ Burndown ‫هم‬ ،‫‌دهد‬ ‫ی‬‫م‬ ‫نمایش‬ ‫را‬ ‫امور‬ ‫در‬ ‫پیشروی‬ ‫مقدار‬ ‫هم‬ ‫که‬ ‫است‬ .‫است‬ ‫مسیر‬ ‫در‬ ‫احتمالی‬ ‫موانع‬ ‫بازتابگر‬ ‫اپیک‬ ‫مزایای‬ .‫‌رساند‬ ‫ی‬‫م‬ ‫یاری‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫دقیقا‬ ‫آنچه‬ ‫و‬ ‫ذینفعان‬ ‫باالی‬ ‫سطح‬ ‫‌نیازهای‬ ‫ش‬‫پی‬ ‫درک‬ ‫در‬ ‫شما‬ ‫به‬ ‫اپیک‬ .‫باشید‬ ‫کار‬ ‫ابعاد‬ ‫تعیین‬ ‫به‬ ‫قادر‬ ،‫مشتری‬ ‫با‬ ‫توافق‬ ‫در‬ ‫‌شود‬ ‫ی‬‫م‬ ‫باعث‬ ‫اپیک‬ .‫نکنید‬ ‫مختلف‬ ‫امور‬ ‫در‬ ‫غرق‬ ‫را‬ ‫آن‬ ،‫حال‬ ‫عین‬ ‫در‬ ‫و‬ ‫شوید‬ ‫مشغول‬ ‫محصول‬ ‫الگ‬ ‫بک‬ ‫در‬ ‫‌تر‬ ‫گ‬‫بزر‬ ‫موارد‬ ‫پایش‬ ‫به‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫شما‬ ‫به‬ ‫اپیک‬ ‫خروجی‬ ‫یک‬ ‫با‬ ‫تنگاتنگ‬ ‫ارتباطی‬ ‫معموال‬ ‫که‬ ‫است‬ ‫اصیل‬ ‫‌ای‬ ‫ه‬‫اید‬ ‫نماینده‬ ‫هم‬ ‫اپیک‬ ‫و‬ ‫‌آید‬ ‫ی‬‫م‬ ‫پدید‬ ‫‌الگ‬ ‫ک‬‫ب‬ ‫در‬ ‫مراتب‬ ‫سلسله‬ ‫نوعی‬ ‫واقع‬ ‫در‬ .‫دارد‬ ‫مشخص‬ ‫‌نظرهای‬ ‫ه‬‫نقط‬ ‫برای‬ ‫فضا‬ ‫‌دارنده‬ ‫ه‬‫نگ‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ک‬‫اپی‬ .‫بود‬ ‫خواهید‬ ‫محصول‬ ‫ارائه‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫‌زمان‬ ‫ت‬‫مد‬ ‫زدن‬ ‫تخمین‬ ‫به‬ ‫قادر‬ ‫دیگر‬ ‫سوی‬ ‫از‬ .‫است‬ ‫افتاده‬ ‫تعویق‬ ‫به‬ ‫کنند‬ ‫پیدا‬ ‫را‬ ‫مطلوب‬ ‫ساختار‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫تکامل‬ ‫که‬ ‫مواردی‬ ‫یا‬ ‫‌اند‬ ‫ه‬‫نگرفت‬ ‫شکل‬ ‫کامال‬ ‫هنوز‬ ‫که‬ ‫باشند‬ ‫جدیدی‬ .‫‌رسانند‬ ‫ی‬‫م‬ ‫یاری‬ ‫محصول‬ ‫الگ‬ ‫بک‬ ‫موثر‬ ‫مدیریت‬ ‫در‬ ‫چابک‬ ‫توسعه‬ ‫تیم‬ ‫به‬ ‫که‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫کاربر‬ ‫داستان‬ ‫چندین‬ ‫به‬ ‫تبدیل‬ ‫سپس‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫اپیک‬ ‫بالقوه‬ ‫و‬ ‫رایج‬ ‫مشکالت‬ ‫‌ها‬ ‫م‬‫تی‬ ‫اوقات‬ ‫از‬ ‫گاهی‬ .‫دارد‬ ‫طرف‬ ‫دو‬ ‫‌ای‬ ‫ه‬‫سک‬ ‫هر‬ ‫اما‬ ،‫‌آورد‬ ‫ی‬‫م‬ ‫همراه‬ ‫به‬ ‫خود‬ ‫با‬ ‫محصول‬ ‫‌الگ‬ ‫ک‬‫ب‬ ‫مدیریت‬ ‫هنگام‬ ‫به‬ ‫زیادی‬ ‫مزایای‬ ‫اپیک‬ ‫اگرچه‬ ‫به‬ ‫توسعه‬ ‫تیم‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫دردسرساز‬ ‫زمانی‬ ‫موضوع‬ ‫این‬ .‫ببینند‬ ‫بزرگ‬ ‫کاربری‬ ‫‌های‬ ‫ن‬‫داستا‬ ‫از‬ ‫فراتر‬ ‫چیزی‬ ‫را‬ ‫اپیک‬ ‫و‬ ‫شده‬ ‫گیج‬ ‫است‬ ‫ممکن‬ ‫اندازه‬ ‫از‬ ‫بیش‬ ‫ابزارهایی‬ ‫است‬ ‫ممکن‬ ‫دیگر‬ ‫سوی‬ ‫از‬ .‫شود‬ ‫قائل‬ ‫تمایز‬ ‫‌ها‬ ‫ن‬‫داستا‬ ‫و‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫میان‬ ‫تا‬ ‫‌پردازد‬ ‫ی‬‫م‬ ‫چندوجهی‬ ‫ابزارهایی‬ ‫ساخت‬ .‫برد‬ ‫پیش‬ ‫الگ‬ ‫بک‬ ‫در‬ ‫موجود‬ ‫موارد‬ ‫از‬ ‫جداگانه‬ ‫را‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫بتوان‬ ‫تا‬ ‫شود‬ ‫دیده‬ ‫تدارک‬ ‫پیچیده‬ ‫اندازه‬ ‫از‬ ‫بیش‬ ‫را‬ ‫‌ها‬ ‫ک‬‫اپی‬ ‫برخی‬ ،‫باشد‬ ‫داشته‬ ‫شوند‬ ‫انجام‬ ‫باید‬ ‫که‬ ‫کارهایی‬ ‫به‬ ‫راجع‬ ‫واضح‬ ‫ذهنیتی‬ ‫اینکه‬ ‫بدون‬ ‫است‬ ‫ممکن‬ ‫ضمنا‬ ‫توسعه‬ ‫تیم‬ ‫دردی‬ ‫هیچ‬ ‫به‬ ‫عمال‬ ،‫نباشند‬ ‫دقیق‬ ‫‌ها‬ ‫ن‬‫تخمی‬ ‫وقتی‬ ‫و‬ ‫‌رود‬ ‫ی‬‫م‬ ‫باالتر‬ ‫تیم‬ ‫اعضای‬ ‫میان‬ ‫ابهام‬ ‫احتمال‬ ‫ترتیب‬ ‫بدین‬ .‫بزند‬ ‫تخمین‬ ‫باال‬ ‫سطح‬ .‫‌کنند‬ ‫ی‬‫نم‬ ‫‌دهی‬ ‫ش‬‫گزار‬ ‫فرایند‬ ‫به‬ ‫کمکی‬ ‫و‬ ‫‌خورند‬ ‫ی‬‫نم‬
  • 71. ‫اهمیت‬ ‫از‬ ،‫استقرار‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫انجام‬ ‫و‬ ‫کد‬ ‫مدیریت‬ ‫جهت‬ ‫مناسب‬ ‫‌های‬ ‫ی‬‫تکنولوژ‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫استفاده‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫دنیای‬ ‫در‬ ( ‫کنترل‬ ‫سورس‬ ‫‌های‬ ‫م‬‫پلتفر‬ .‫است‬ ‫برخوردار‬ ‫‌ای‬ ‫ه‬‫ویژ‬ Source Control ( ‫مداوم‬ ‫استقرار‬ / ‫مداوم‬ ‫پیوستگی‬ ‫و‬ ) CI/CD ‫در‬ ‫حیاتی‬ ‫نقش‬ ) .‫‌کنند‬ ‫ی‬‫م‬ ‫ایفا‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫کارایی‬ ‫افزایش‬ ‫و‬ ‫توسعه‬ ‫زمان‬ ‫کاهش‬ ،‫کد‬ ‫کیفیت‬ ‫بهبود‬ ،‫کنند‬ ‫پیگیری‬ ‫را‬ ‫منبع‬ ‫کد‬ ‫در‬ ‫تغییرات‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫را‬ ‫امکان‬ ‫این‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫به‬ ‫که‬ ‫است‬ ‫فرآیندی‬ ،‫نسخه‬ ‫کنترل‬ ‫یا‬ ‫کنترل‬ ‫سورس‬ ‫مانند‬ ‫ابزارهایی‬ .‫کنند‬ ‫کار‬ ‫تداخل‬ ‫بدون‬ ‫و‬ ‫همزمان‬ ‫صورت‬ ‫به‬ ‫خود‬ ‫همکاران‬ ‫با‬ ‫و‬ ‫کنند‬ ‫مدیریت‬ ‫را‬ ‫کد‬ ‫مختلف‬ ‫‌های‬ ‫ه‬‫نسخ‬ Git،Subversion (SVN) ‫و‬ Mercurial ‫و‬ ‫مؤثر‬ ‫صورت‬ ‫به‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫هستند‬ ‫کنترل‬ ‫سورس‬ ‫معروف‬ ‫‌های‬ ‫م‬‫پلتفر‬ ‫جمله‬ ‫از‬ .‫کنند‬ ‫کار‬ ‫خود‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫روی‬ ‫بر‬ ‫منظم‬ ،‫دیگر‬ ‫سوی‬ ‫از‬ CI/CD ‫و‬ ‫‌سازی‬ ‫ک‬‫اتوماتی‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫هدف‬ ‫که‬ ‫ابزارهاست‬ ‫و‬ ‫‌ها‬ ‫ش‬‫رو‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ،‫مداوم‬ ‫تحویل‬ / ‫مداوم‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ‫یا‬ ،‫تست‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خود‬ ‫کدهای‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ،‫‌ها‬ ‫ش‬‫رو‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫بهبود‬ ‫مانند‬ ‫ابزارهایی‬ .‫دهند‬ ‫استقرار‬ ‫و‬ ‫ادغام‬ Jenkins، GitLab CI ، CircleCI ‫و‬ Travis CI ‫هستند‬ ‫حوزه‬ ‫این‬ ‫در‬ ‫محبوب‬ ‫ابزارهای‬ ‫جمله‬ ‫از‬ .‫کنند‬ ‫عرضه‬ ‫بازار‬ ‫به‬ ‫را‬ ‫خود‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫بیشتری‬ ‫دقت‬ ‫و‬ ‫سرعت‬ ‫با‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫به‬ ‫که‬ ‫و‬ ‫کنترل‬ ‫سورس‬ ‫مختلف‬ ‫‌های‬ ‫م‬‫پلتفر‬ ‫مقایسه‬ ‫و‬ ‫بررسی‬ ‫به‬ ‫مستند‬ ‫این‬ CI/CD ‫معایب‬ ‫و‬ ‫مزایا‬ ،‫‌ها‬ ‫ی‬‫ویژگ‬ ‫معرفی‬ ‫به‬ ‫اینجا‬ ‫در‬ ‫ما‬ .‫‌پردازد‬ ‫ی‬‫م‬ ‫خواهیم‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫فرآیندهای‬ ‫بهبود‬ ‫در‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫نقش‬ ‫و‬ ‫پرداخت‬ ‫خواهیم‬ ‫زمینه‬ ‫این‬ ‫در‬ ‫مطرح‬ ‫‌های‬ ‫م‬‫پلتفر‬ .‫داد‬ ‫محصوالت‬ ‫تولید‬ ‫چرخه‬ ‫و‬ ‫نسخه‬ ‫کنترل‬ ‫مناسب‬ ‫سکوی‬ ‫ایجاد‬ ‫برای‬ ‌ ‫ل‬‫‌ح‬ ‫ه‬‫را‬ ‫بهترین‬ ‫انتخاب‬ ،‫مستند‬ ‫این‬ ‫از‬ ‫هدف‬ .‫باشد‬ ‫می‬ ‫ایران‬ ‫پردازی‬ ‫داده‬ ‫شرکت‬ ‫کاربردی‬ ‫های‬ ‫سامانه‬ ‫معاونت‬ ‫افزاری‬ ‫نرم‬ :‫است‬ ‫شده‬ ‫ارائه‬ ‫پیشنهادی‬ ‫حل‬ ‫راه‬ ‫آنها‬ ‫امکانات‬ ‫و‬ ‫ویژگیهای‬ ‫مقایسه‬ ‫از‬ ‫پس‬ ‫و‬ ‫شده‬ ‫انجام‬ ‫زیر‬ ‫های‬ ‫فرم‬ ‫پلت‬ ‫بررسی‬ ‫مستند‬ ‫این‬ ‫در‬ Gitlab , Azure Devops , Jenkins , TeamCity , CircleCI ,Travis CI , Bamboo
  • 72. 1 - ‫های‬ ‫قابلیت‬ ‫بررسی‬ GitLab ‫شکل‬ 1 ‫ابزار‬ ‫شمای‬ : GitLab GitLab ‫پلتفرم‬ ‫یک‬ Git ‫و‬ DevOps ‫اجرا‬ ‫و‬ ‫آزمایش‬ ‫را‬ ‫آنها‬ ،‫کرده‬ ‫نظارت‬ ‫کدها‬ ‫بر‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ .‫کنند‬ ‫امروزه‬ GitLab ‫‌های‬ ‫ی‬‫ویژگ‬ ‫از‬ ‫بسیاری‬ DevOps ‫ارائه‬ ‫نیز‬ ‫را‬ ‫برنامه‬ ‫استقرار‬ ‫ابزارهای‬ ‫حتی‬ ‫و‬ ‫امنیت‬ ،‫مداوم‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ‫مانند‬ .‫‌دهد‬ ‫ی‬‫م‬ GitLab ‫برای‬ ‫باز‬ ‫متن‬ ‫جایگزین‬ ‫یک‬ ‫عنوان‬ ‫به‬ GitHub ‫های‬ ‫برنامه‬ ‫حاضر‬ ‫حال‬ ‫در‬ .‫کرد‬ ‫کار‬ ‫به‬ ‫شروع‬ SaaS ‫بر‬ ‫مبتنی‬ ‫پولی‬ ‫و‬ ‫رایگان‬ ‫صرفا‬ ‫و‬ ‫دهد‬ ‫می‬ ‫قرار‬ ‫اختیارتان‬ ‫در‬ ،‫تیم‬ ‫اعضای‬ ‫کنترل‬ ‫و‬ ‫نظارت‬ ‫جهت‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫ضروری‬ ‫ابزارهای‬ ‫همچنین‬ .‫کند‬ ‫می‬ ‫ارائه‬ ‫نیز‬ ‫را‬ ‫ابر‬ .‫نیست‬ ‫افزارتان‬ ‫نرم‬ ‫کدهای‬ ‫برای‬ ‫نسخه‬ ‫کنترل‬ ‫سیستم‬ ‫یک‬
  • 73. ‫شکل‬ 2 ‫کلی‬ ‫قابلیتهای‬ : GitLab ‫انتشار‬ ‫و‬ ‫تست‬ ،‫مانیتورینگ‬ ‫زمینه‬ ‫در‬ ‫‌ها‬ ‫ه‬‫‌دهند‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫دواپس‬ ‫و‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫و‬ ‫گیت‬ ‫پایه‬ ‫بر‬ ‫ابری‬ ‫پلتفرم‬ ‫یک‬ ‫‌لب‬ ‫ت‬‫گی‬ ‫و‬ ‫دواپس‬ ‫بزرگ‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫در‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫است‬ ‫ریپوزیتوری‬ ‫و‬ ‫تعاملی‬ ‫باز‬-‫متن‬ ‫ابزار‬ ‫یک‬ ‫همچنین‬ ‫ابزار‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫برنامه‬ DevSecOps .‫کند‬ ‫کمک‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫امنیتی‬ ‫های‬ ‫پروتکل‬ ،)‫پالگین‬ ‫نصب‬ ‫به‬ ‫نیاز‬ ‫(بدون‬ ‫داخلی‬ ‫امکانات‬ ‫داشتن‬ ‫با‬ ‫‌لب‬ ‫ت‬‫گی‬ DevSecOps ‫دواپس‬ ‫فرآیندهای‬ ‫تمامی‬ ‫در‬ ‫را‬ ‫برای‬ ‫مناسب‬ ‫دواپس‬ ‫ابزارهای‬ ‫از‬ ‫یکی‬ ،‫خاطر‬ ‫همین‬ ‫به‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرایند‬ ‫در‬ ‫امنیت‬ ‫حفظ‬ ‫به‬ ‫و‬ ‫نموده‬ ‫پشتیبانی‬ ‫فرایند‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ DevSecOps .‫است‬ (‫شخصی‬ ‫هاست‬ ‫روی‬ ‫نصب‬ ‫قابلیت‬ ‫همچنین‬ ‫‌لب‬ ‫ت‬‫گی‬ on-premises ‫و‬ ‫آنالین‬ ‫کد‬ ‫ذخیره‬ ‫مانند‬ ‫امکاناتی‬ ‫بر‬ ‫عالوه‬ ‫که‬ . ‫میباشد‬ ‫دارا‬ ‫را‬ ) ‫امکانات‬ ،‫اشکاالت‬ ‫ردیابی‬ CI/CD ‫از‬ ‫استفاده‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫ارائه‬ ‫کاربر‬ ‫به‬ ‫هم‬ ‫امنیتی‬ ‫امکانات‬ ‫و‬ ‫دواپس‬ ‫فرایندهای‬ ‫مدیریت‬ ، GitLab ‫صورت‬ ‫به‬ .‫کنید‬ ‫تهیه‬ ‫را‬ ‫آن‬ ‫اشتراکی‬ ‫نسخه‬ ‫باید‬ ،‫امکانات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫از‬ ‫برخی‬ ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫برای‬ ‫اما‬ ،‫است‬ ‫رایگان‬ ‫فردی‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫تجاری‬ ‫نسخه‬ :‫دارد‬ ‫نسخه‬ ‫دو‬ ‫‌لب‬ ‫ت‬‫گی‬ ‫حاضر‬ ‫حال‬ ‫در‬ SaaS (Software as a service) ‫و‬ ‫رایگان‬ ‫نسخه‬ ‫و‬ ‫شد‬ ‫عرضه‬ ‫که‬ ‫باز‬-‌ ‫ن‬‫مت‬ GitLab CE .‫دارد‬ ‫نام‬ CE ‫مخفف‬ Community edition ‫نسخه‬ ‫البته‬ .‫است‬ ee ‫یا‬ enterprise edition ‫میتوان‬ ‫راهم‬ . ‫کرد‬ ‫نصب‬
  • 74. ‫شکل‬ 3 ‫نسخ‬ ‫مقایسه‬ : GitLab ‫نسخه‬ ‫در‬ ‫واقع‬ ‫در‬ EE .‫دارد‬ ‫وجود‬ ‫نسخه‬ ‫این‬ ‫نصب‬ ‫امکان‬ ‫اما‬ . ‫داریم‬ ‫را‬ ‫فنی‬ ‫منابع‬ ‫و‬ ‫ها‬ ‫پشتیبانی‬ ‫به‬ ‫دسترسی‬ ‫پلتفرم‬ ‫اولین‬ GitLab DevOps ‫باز‬ ‫منبع‬ ‫پروژه‬ ‫دو‬ ‫از‬ ‫ترکیبی‬ ‫اینها‬ .‫بود‬ ‫تأیید‬ ‫و‬ ‫ایجاد‬ ‫مراحل‬ ‫شامل‬ ‫فقط‬ ‫و‬ ‫بود‬ ‫‌تر‬ ‫ه‬‫ساد‬ ‫بسیار‬ GitLab Source Code Management ‫و‬ GitLab Continuous Integration ‫مرحله‬ ‫دو‬ ‫این‬ ‫ترکیب‬ ‫تنها‬ .‫دهند‬ ‫می‬ ‫نشان‬ ‫را‬ ‫کنسول‬ ،‫مختلف‬ ‫های‬ ‫الگین‬ ‫با‬ ‫جداگانه‬ ‫ابزار‬ ‫چندین‬ ‫با‬ ‫تعامل‬ ‫به‬ ‫نیاز‬ ‫مراحل‬ ‫این‬ ‫زیرا‬ ،‫کرد‬ ‫ایجاد‬ ‫توسعه‬ ‫های‬ ‫تیم‬ ‫برای‬ ‫توجهی‬ ‫قابل‬ ‫ارزش‬ .‫داشت‬ ‫غیره‬ ‫و‬ ‫ادغام‬ ‫نقاط‬ ،‫مدیریتی‬ ‫های‬ ‫ابزار‬ ‫دو‬ ‫هر‬ ‫از‬ ‫ها‬ ‫تیم‬ ‫چه‬ GitLab ‫مانند‬ ‫های‬ ‫حل‬ ‫راه‬ ‫از‬ ‫چه‬ ‫و‬ ‫کند‬ ‫استفاده‬ GitHub ( ‫جنکینز‬ ‫و‬ )‫منبع‬ ‫(کد‬ . CI/CD .) ‫تیم‬ ‫ادامه‬ ‫در‬ GitLab ‫عمر‬ ‫چرخه‬ ‫مراحل‬ ‫تمام‬ ‫تا‬ ‫است‬ ‫داده‬ ‫ادامه‬ ‫را‬ ‫واحد‬ ‫پلتفرم‬ ‫یک‬ ‫در‬ ‫ابزارها‬ ‫ادغام‬ ‫و‬ ‫ساخت‬ ‫مسیر‬ DevOps ‫را‬ ‫تیم‬ ،‫مرحله‬ ‫این‬ ‫در‬ .‫دهد‬ ‫پوشش‬ GitLab ( ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫حیات‬ ‫چرخه‬ Software Development Life Cycle -SDLC ‫را‬ ) ‫و‬ ‫مؤثر‬ ‫عملکرد‬ ‫یک‬ ‫به‬ ‫را‬ ‫آن‬ ‫تا‬ ‫است‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ‫شامل‬ ‫مرحله‬ ‫هر‬ .‫‌گیرند‬ ‫ی‬‫م‬ ‫نظر‬ ‫در‬ ‫محدوده‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫شناسایی‬ ‫‌های‬ ‫ن‬‫سازما‬ ‫برای‬ ‫کامل‬ DevSecOps .‫کند‬ ‫تبدیل‬ ‫چرخه‬ ‫بررسی‬ ‫به‬ ‫زیر‬ ‫در‬ devops : ‫میپردازیم‬ ‫لب‬ ‫گیت‬ ‫در‬
  • 75. ‫شکل‬ 4 ‫چرخه‬ : CI/CD ‫در‬ GitLab Plan ( ‫متدولوژی‬ ‫چندین‬ ‫در‬ ‫افزاری‬ ‫نرم‬ ‫پروژه‬ ‫ریزی‬ ‫برنامه‬ ‫فرآیند‬ ‫از‬ ‫لب‬ ‫گیت‬ : Waterfall، Scrum، Kanban )‫غیره‬ ‫و‬ .‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫راحتی‬ ‫به‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫تیم‬ .‫دهند‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫وظایف‬ ،‫پروژه‬ ‫عطف‬ ‫نقاط‬ ‫مانند‬ ،‫استاندارد‬ ‫ریزی‬ ‫برنامه‬ ‫مصنوعات‬ ‫آنها‬ ،‫روش‬ ‫هر‬ ‫برای‬ ‫در‬ ‫همه‬ ‫که‬ ‫کند‬ ‫حاصل‬ ‫اطمینان‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫پروژه‬ ‫تیم‬ ‫به‬ ‫این‬ .‫کنند‬ ‫پیگیری‬ ‫و‬ ‫تراز‬ ،‫سازماندهی‬ ‫مشترک‬ ‫رابط‬ ‫یک‬ ‫در‬ ‫را‬ ‫پروژه‬ ‫کار‬ ‫ردیابی‬ ‫تولید‬ ‫تا‬ ‫شروع‬ ‫از‬ ‫تحویل‬ ‫حیات‬ ‫چرخه‬ ‫طریق‬ ‫از‬ ‫توان‬ ‫می‬ ‫را‬ ‫مصنوعات‬ ‫و‬ ‫پروژه‬ ‫کار‬ ‫اقالم‬ .‫کنند‬ ‫می‬ ‫کار‬ ‫درست‬ ‫کار‬ ‫روی‬ ‫مناسب‬ ‫زمان‬ .‫کرد‬ Create : ‫مدیریت‬ ‫و‬ ‫مشاهده‬ ،‫بگذارند‬ ‫اشتراک‬ ‫به‬ ،‫بنویسند‬ ‫کد‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫تیم‬ .‫شود‬ ‫می‬ ‫ایجاد‬ ‫کد‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫ای‬ ‫مرحله‬ ‫این‬ ‫پیگیری‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫هماهنگی‬ ‫‌سازی‬ ‫ه‬‫ساد‬ ‫و‬ ‫تعارضات‬ ‫حل‬ ‫برای‬ ‫مفید‬ ‫ابزارهای‬ ‫با‬ ‫را‬ ‫‌ها‬ ‫م‬‫ادغا‬ ‫و‬ ‫‌ها‬ ‫ه‬‫شاخ‬ ،‫تعهدات‬ ‫سیستم‬ ‫این‬ .‫کنند‬ .‫کنند‬ ‫همکاری‬ ‫کد‬ ‫بررسی‬ ‫ابزارهای‬ ‫طریق‬ ‫از‬ ‫کد‬ ‫تغییرات‬ ‫مورد‬ ‫در‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫تیم‬ .‫‌کند‬ ‫ی‬‫م‬ Verify : ‫مرحله‬ ‫تمرکز‬ Verify ،‫این‬ ‫از‬ ‫پشتیبانی‬ ‫برای‬ .‫است‬ ‫خودکار‬ ‫گزارش‬ ‫و‬ ‫تست‬ ‫تسهیل‬ ‫با‬ ‫کد‬ ‫کیفیت‬ ‫حفظ‬ GitLab ‫خط‬ ‫یک‬ ،‫استاتیک‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ،‫عملکردی‬/‫واحد‬ ‫تست‬ ‫شامل‬ ‫تأییدها‬ ‫این‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫کد‬ ‫تأیید‬ ‫و‬ ‫سازی‬ ‫یکپارچه‬ ،‫ساخت‬ ‫برای‬ ‫اتوماسیون‬ ‫از‬ ‫پایه‬ .‫است‬ ‫کد‬ ‫کیفیت‬ ‫بررسی‬ ‫و‬ ‫پویا‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ،‫امنیتی‬ ‫تست‬ Builds ‫با‬ pipeline ‫به‬ ‫ادغام‬ ‫و‬ ‫آزمایش‬ ‫که‬ ‫طوری‬ ‫به‬ ،‫شوند‬ ‫می‬ ‫جدا‬ .‫شود‬ ‫می‬ ‫انجام‬ ‫موازی‬ ‫صورت‬
  • 76. Package : ،‫ادغام‬ ‫تست‬ ‫گذراندن‬ ‫از‬ ‫پس‬ GitLab ‫در‬ ‫را‬ ‫ها‬ ‫وابستگی‬ ‫تمام‬ ‫با‬ ‫کاربردی‬ ‫های‬ ‫برنامه‬ ‫تا‬ ‫سازد‬ ‫می‬ ‫قادر‬ ‫را‬ ‫ها‬ ‫تیم‬ ‫منبع‬ ‫کنترل‬ ‫مدیریت‬ ‫با‬ ‫کار‬ ‫برای‬ ‫بسته‬ ‫رجیستری‬ .‫کنند‬ ‫بندی‬ ‫بسته‬ ‫استقرار‬ ‫برای‬ ‫ساخت‬ ‫های‬ ‫آرتیفکت‬ GitLab ‫لوله‬ ‫خطوط‬ ‫و‬ CI/CD ‫از‬ ‫تضمین‬ ‫را‬ ‫ثالث‬ ‫شخص‬ ‫های‬ ‫بسته‬ ‫یکپارچگی‬ ‫و‬ ‫کند‬ ‫می‬ ‫نظارت‬ ‫افزار‬ ‫نرم‬ ‫تامین‬ ‫زنجیره‬ ‫بر‬ ‫همچنین‬ ‫مرحله‬ ‫این‬ .‫است‬ ‫شده‬ ‫پیکربندی‬ ‫پیش‬ .‫کند‬ ‫می‬ Secure : ( ‫استاتیک‬ ‫برنامه‬ ‫امنیت‬ ‫تست‬ ‫پلتفرم‬ ‫این‬ .‫کند‬ ‫می‬ ‫بندی‬ ‫الیه‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫در‬ ‫را‬ ‫امنیت‬ ‫مرحله‬ ‫این‬ SAST ‫تست‬ ،) ( ‫پویا‬ ‫برنامه‬ ‫امنیت‬ DAST ‫برای‬ ‫را‬ ‫زیرساخت‬ ‫و‬ ‫منبع‬ ‫پیکربندی‬ ‫کدهای‬ ‫همگی‬ ‫توابع‬ ‫این‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫وابستگی‬ ‫اسکن‬ ‫و‬ ‫کانتینر‬ ‫اسکن‬ ،) .‫پردازد‬ ‫می‬ ‫ثالث‬ ‫شخص‬ ‫های‬ ‫بسته‬ ‫برای‬ ‫مجوز‬ ‫رعایت‬ ‫به‬ ‫همچنین‬ ‫مرحله‬ ‫این‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫بررسی‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫در‬ ‫سطحی‬ ‫‌های‬ ‫ی‬‫‌پذیر‬ ‫ب‬‫آسی‬ Release : .‫است‬ ‫تولید‬ ‫برای‬ ‫انتشار‬ ‫آماده‬ ،‫شد‬ ‫ایمن‬ ‫و‬ ‫شد‬ ‫تست‬ ،‫شد‬ ‫ساخته‬ ‫کد‬ ‫که‬ ‫زمانی‬ GitLab ‫‌های‬ ‫ه‬‫برنام‬ ‫تحویل‬ ‫و‬ ‫انتشار‬ ‫به‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫سرور‬ ‫هزاران‬ ‫استقرار‬ ‫سراسر‬ ‫در‬ ‫کاربردی‬ Continuous Delivery (CD) ‫در‬ pipeline ‫محیط‬ ‫از‬ ‫و‬ ‫است‬ ‫شده‬ ‫تعبیه‬ .‫کند‬ ‫می‬ ‫پشتیبانی‬ ‫قناری‬ ‫حتی‬ ‫و‬ ‫تولید‬ ،‫بندی‬ ‫مرحله‬ ‫مانند‬ ‫مختلف‬ ‫های‬ Configure : ‫یکپارچگی‬ ‫شامل‬ ‫این‬ .‫کنند‬ ‫پیکربندی‬ ‫و‬ ‫مدیریت‬ ‫را‬ ‫خود‬ ‫برنامه‬ ‫های‬ ‫محیط‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ ‫ها‬ ‫تیم‬ ‫به‬ ‫لب‬ ‫گیت‬ ‫با‬ ‫عمیق‬ Kubernetes ‫محدود‬ ‫برای‬ ‫سیستم‬ ‫به‬ ‫ورود‬ ‫اطالعات‬ ‫و‬ ‫عبور‬ ‫رمز‬ .‫است‬ ‫هکرها‬ ‫برابر‬ ‫در‬ ‫زیرساخت‬ ‫پیکربندی‬ ‫جزئیات‬ ‫از‬ ‫محافظت‬ ‫و‬ . ‫است‬ ‫درست‬ ‫های‬ ‫فرایند‬ ‫و‬ ‫شده‬ ‫تایید‬ ‫کاربران‬ ‫برای‬ ‫دسترسی‬ ‫کردن‬ Monitor : .‫است‬ ‫خدمات‬ ‫بر‬ ‫تأثیرگذار‬ ‫حوادث‬ ‫دفعات‬ ‫و‬ ‫شدت‬ ‫کاهش‬ ‫مانیتور‬ ‫مرحله‬ ‫از‬ ‫هدف‬ GitLab ‫بروز‬ ‫صورت‬ ‫در‬ ‫تواند‬ ‫می‬ ‫اندازه‬ ‫نمودارهای‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫پلتفرم‬ ‫این‬ .‫کند‬ ‫هماهنگ‬ ‫را‬ ‫پاسخ‬ ‫و‬ ‫کند‬ ‫تسهیل‬ ‫را‬ ‫آنها‬ ‫تریاژ‬ ‫و‬ ‫بررسی‬ ،‫دهد‬ ‫هشدار‬ ‫کاربران‬ ‫به‬ ‫مشکالت‬ ‫مانند‬ ‫خارجی‬ ‫نظارت‬ ‫ابزارهای‬ ‫از‬ ‫گیری‬ Grafana ‫و‬ Prometheus ‫و‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ت‬‫سیاس‬ ‫همچنین‬ .‫شود‬ ‫تعبیه‬ ‫حوادث‬ ‫ردیابی‬ ‫در‬ on-call .‫‌کند‬ ‫ی‬‫م‬ ‫مدیریت‬ ‫را‬ Protect : ‫این‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫برابر‬ ‫در‬ ‫تولیدی‬ ‫افزارهای‬ ‫نرم‬ ‫از‬ ‫محافظت‬ ‫و‬ ‫کشف‬ ‫برای‬ ‫را‬ ‫ابزارهایی‬ ‫لب‬ ‫گیت‬ ‫کانتینرهای‬ ‫مانند‬ ،‫ابری‬ ‫بومی‬ ‫‌های‬ ‫ط‬‫محی‬ ‫‌تواند‬ ‫ی‬‫م‬ Docker ‫هرگونه‬ ‫رفع‬ ‫برای‬ ‫را‬ ‫وصله‬ ‫یک‬ ‫دانلود‬ ‫حتی‬ ‫و‬ ‫کند‬ ‫اسکن‬ ‫‌ها‬ ‫ی‬‫‌پذیر‬ ‫ب‬‫آسی‬ ‫برای‬ ‫را‬ ، ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫را‬ ‫‌هایی‬ ‫ت‬‫سیاس‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫همچنین‬ ‫امنیتی‬ ‫‌های‬ ‫م‬‫تی‬ .‫کند‬ ‫مدیریت‬ ‫مشکل‬ GitLab ‫‌های‬ ‫ه‬‫خوش‬ ‫روی‬ Kubernetes ‫اعمال‬ .‫باشد‬ ‫جدید‬ ‫افزاری‬ ‫نرم‬ ‫بسته‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫یا‬ ‫پیکربندی‬ ‫تغییر‬ ‫ایجاد‬ ‫برای‬ ‫تأییدیه‬ ‫به‬ ‫نیاز‬ ‫شامل‬ ‫است‬ ‫ممکن‬ ‫اینها‬ .‫کنند‬ Manage : ‫را‬ ‫معیارهایی‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫م‬‫تی‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫کلی‬ ‫طور‬ ‫به‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫تحویل‬ ‫حیات‬ ‫چرخه‬ ‫عملکرد‬ ‫نحوه‬ ‫لب‬ ‫گیت‬ ‫ارزش‬ ‫تعیین‬ ‫در‬ ‫اجرایی‬ ‫مدیران‬ ‫به‬ ‫کمک‬ ‫برای‬ .‫کنند‬ ‫بهینه‬ ‫را‬ ‫خود‬ ‫تحویل‬ ‫کلی‬ ‫سرعت‬ ‫تا‬ ‫کنند‬ ‫تنظیم‬ ‫فرآیند‬ ‫مراحل‬ ‫بر‬ ‫نظارت‬ ‫برای‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫ش‬‫تال‬ GitLab .‫‌کند‬ ‫ی‬‫م‬ ‫ارائه‬ ‫ارزش‬ ‫جریان‬ ‫مدیریت‬ ‫برای‬ ‫ابزارهایی‬ ‫مراحل‬ ‫این‬ ‫تمام‬ ‫برای‬ SDLC ‫مورد‬ ‫اولین‬ .‫کرد‬ ‫مستقر‬ ‫پیکربندی‬ ‫دو‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬ ‫فرم‬ ‫پلت‬ ، Self-Managed ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫از‬ ‫را‬ ‫افزاری‬ ‫نرم‬ ‫بسته‬ ‫مشتری‬ GitLab ‫طبق‬ .‫کند‬ ‫می‬ ‫مستقر‬ ‫خود‬ ‫خصوصی‬ ‫داده‬ ‫مرکز‬ ‫یا‬ ‫ابری‬ ‫محیط‬ ‫در‬ ‫را‬ ‫آن‬ ‫خودش‬ ‫و‬ ‫کند‬ ‫می‬ ‫دانلود‬ ‫گفته‬ GitLab ‫محیط‬ ‫بر‬ ‫کامل‬ ‫کنترل‬ ‫امکان‬ ‫مشتریان‬ ‫به‬ ‫امر‬ ‫این‬ .‫هستند‬ ‫اجرا‬ ‫حال‬ ‫در‬ ‫عمومی‬ ‫ابر‬ ‫در‬ ‫شده‬ ‫مدیریت‬ ‫خود‬ ‫تاسیسات‬ ‫این‬ ‫اکثر‬ ، .‫باشد‬ ‫الزامی‬ ‫کنند‬ ‫می‬ ‫مدیریت‬ ‫را‬ ‫حساس‬ ‫های‬ ‫داده‬ ‫که‬ ‫مشتریانی‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫و‬ ‫دهد‬ ‫می‬ ‫را‬ ‫خود‬
  • 77. ‫مدل‬ ‫از‬ ‫استفاده‬ ‫استقرار‬ ‫دیگر‬ ‫پیکربندی‬ SaaS ‫آن‬ ‫در‬ ‫که‬ ‫است‬ GitLab ‫می‬ ‫مدیریت‬ ‫و‬ ‫میزبانی‬ ‫آنها‬ ‫برای‬ ‫را‬ ‫مشتری‬ ‫افزاری‬ ‫نرم‬ ‫نمونه‬ .‫کند‬ ‫شکل‬ 5 ‫چرخه‬ ‫فعالیتهای‬ : CI/CD ‫در‬ GitLab 1-1 - ‫رقابتی‬ ‫انداز‬ ‫چشم‬ ‫و‬ ‫بازار‬ ‫موقعیت‬ ‫انداز‬ ‫چشم‬ GitLab ‫روند‬ .‫است‬ ‫کننده‬ ‫قانع‬ ‫کامل‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫ادغام‬ ‫برای‬ DevSecOps ‫و‬ ‫است‬ ‫افزایش‬ ‫حال‬ ‫در‬ .‫کند‬ ‫می‬ ‫نزدیک‬ ‫عملکردی‬ ‫نزدیکی‬ ‫به‬ ‫را‬ ‫متفاوت‬ ‫سنتی‬ ‫های‬ ‫تیم‬ ‫این‬ ‫که‬ ‫اند‬ ‫کرده‬ ‫ابزارسازی‬ ‫مزایای‬ ‫درک‬ ‫به‬ ‫شروع‬ ‫ها‬ ‫شرکت‬ ‫رهبری‬ GitLab ‫مدت‬ ‫کوتاه‬ ‫فرصت‬ ‫یک‬ ،‫خود‬ ‫محصول‬ ‫انداز‬ ‫چشم‬ ‫پیگیری‬ ‫در‬ 40 ‫های‬ ‫برنامه‬ ‫همه‬ ‫اگر‬ .‫بیند‬ ‫می‬ ‫بازار‬ ‫در‬ ‫دالری‬ ‫میلیارد‬ ‫یابی‬ ‫موقعیت‬ ‫منظر‬ ‫از‬ .‫بود‬ ‫خواهد‬ ‫بزرگتر‬ ‫بسیار‬ ‫احتماًال‬ ‫پذیر‬ ‫آدرس‬ ‫بازار‬ ‫آن‬ ،‫کنیم‬ ‫لحاظ‬ ‫انطباق‬ ‫و‬ ‫پذیری‬ ‫مشاهده‬ ،‫امنیت‬ ‫در‬ ‫را‬ ‫افزودنی‬ ‫در‬ ‫اولیه‬ ‫مراحل‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫که‬ ‫ای‬ ‫نقطه‬ ‫های‬ ‫حل‬ ‫راه‬ ‫تمام‬ ‫جایگزینی‬ ‫بر‬ ‫آنها‬ ،‫رقابتی‬ SDLC .‫هستند‬ ‫متمرکز‬ ‫دهند‬ ‫می‬ ‫تشکیل‬ ‫را‬ ‫رهبری‬ GitLab ‫را‬ DevOps DIY .‫نامند‬ ‫می‬
  • 78. 1-2 - ‫کلیدی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ GitLab ،‫گفتیم‬ ‫که‬ ‫همانطور‬ GitLab .‫کند‬ ‫کمک‬ ‫‌ها‬ ‫ه‬‫‌دهند‬ ‫ه‬‫توسع‬ ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرایند‬ ‫از‬ ‫مختلفی‬ ‫‌های‬ ‫ش‬‫بخ‬ ‫در‬ ‫کلیدی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ GitLab ‫کمک‬ ‫فرایندها‬ ‫کردن‬ ‫طی‬ ‫و‬ ‫مشکالت‬ ‫حل‬ ‫در‬ ‫کاربران‬ ‫به‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫متمایز‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫سایر‬ ‫از‬ ‫را‬ ‫آن‬ ‫که‬ :‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ،‫‌کنند‬ ‫ی‬‫م‬  ‫کمک‬ ‫به‬ ‫دیجیتال‬ ‫تحول‬ ‫فرایند‬ ‫به‬ ‫بخشیدن‬ ‫سرعت‬ DevSecOps  ‫نهایی‬ ‫کاربر‬ ‫به‬ ‫آن‬ ‫تحویل‬ ‫و‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫انتشار‬ ‫سرعت‬ ‫افزایش‬  ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫هماهنگی‬ ‫افزایش‬  ‫باالتر‬ ‫امنیت‬  ‫برنامه‬ ‫یک‬ cloud-native ‫است‬  ( ‫محلی‬ ‫‌های‬ ‫ر‬‫سرو‬ ‫روی‬ ‫آن‬ ‫نصب‬ ‫یا‬ ‫آنالین‬ ‫صورت‬ ‫به‬ ‫استفاده‬ ‫امکان‬ on-premises )  ‫کد‬ ‫سورس‬ ‫مدیریت‬ ‫برای‬ ‫مختلف‬ ‫امکانات‬  ‫ابزارهای‬ ‫دارای‬ CI/CD ‫پالگین‬ ‫نصب‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ،‫داخلی‬ ‫امنیتی‬ ‫و‬  ( ‫ویکی‬ ‫صفحات‬ ‫کمک‬ ‫با‬ ‫پروژه‬ ‫مستندسازی‬ Wiki )  ‫گیت‬ ‫ریپوهای‬ ‫در‬ ‫موجود‬ ‫‌های‬ ‫د‬‫ک‬ ‫سورس‬ ‫کمک‬ ‫با‬ ‫وب‬ ‫استاتیک‬ ‫صفحات‬ ‫ساخت‬ ‫امکان‬  ‫و‬ ‫جیرا‬ ‫مانند‬ ‫پروژه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫با‬ ‫ساده‬ ‫و‬ ‫سریع‬ ‫ادغام‬ … 1-3 - ‫مزایای‬ GitLab ‫از‬ ‫برخی‬ ‫ادامه‬ ‫در‬ ‫که‬ ‫دارد‬ ‫را‬ ‫خود‬ ‫مخصوص‬ ‫مزایای‬ ‫لب‬ ‫گیت‬ ،‫محصول‬ ‫تولید‬ ‫چرخه‬ ‫و‬ ‫نسخه‬ ‫کنترل‬ ‫حوزه‬ ‫در‬ ‫دیگری‬ ‫پلتفرم‬ ‫هر‬ ‫همانند‬ .‫‌ایم‬ ‫ه‬‫کرد‬ ‫بیان‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬  ‫پروژه‬ ‫مراحل‬ ‫تمامی‬ ‫در‬ ‫تیم‬ ‫اعضای‬ ‫سایر‬ ‫با‬ ‫بهینه‬ ‫همکاری‬ ‫قابلیت‬  ‫تولید‬ ‫چرخه‬ ‫‌سازی‬ ‫ی‬‫خودکار‬ DevOps  ‫‌ها‬ ‫ه‬‫پروژ‬ ‫و‬ ‫مخازن‬ ‫کامل‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬ ‫قابلیت‬  ‫آن‬ ‫کل‬ ‫جای‬ ‫به‬ ‫پروژه‬ ‫از‬ ‫قسمتی‬ ‫گذاشتن‬ ‫اشتراک‬ ‫به‬ ‫قابلیت‬  ‫رایگان‬ ‫شکلی‬ ‫به‬ ‫نو‬ ‫و‬ ‫متنوع‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫قابلیت‬  ‫و‬ ‫ثالث‬ ‫شخص‬ ‫‌های‬ ‫س‬‫سروی‬ ‫ارائه‬ API  ‫رایگان‬ ‫شکلی‬ ‫به‬ ‫خصوصی‬ ‫و‬ ‫عمومی‬ ‫مخازن‬ ‫ارائه‬  ‫ابزارها‬ ‫سایر‬ ‫با‬ ‫ادغام‬ ‫قابلیت‬  ‫فعال‬ ‫جامعه‬ ‫داشتن‬ ‫همراه‬ ‫و‬ ‫پشتیبانی‬ ‫ارائه‬
  • 79.  ‫باال‬ ‫امنیت‬ 1-4 - ‫معایب‬ GitLab ‫نیز‬ ‫را‬ ‫معایبی‬ ،‫دارد‬ ‫که‬ ‫خصوصی‬ ‫به‬ ‫مزایای‬ ‫کنار‬ ‫در‬ ‫لب‬ ‫گیت‬ ‫اما‬ ‫شدیم‬ ‫آشنا‬ ‫چیست‬ ‫لب‬ ‫گیت‬ ‫مزایای‬ ‫که‬ ‫مسئله‬ ‫این‬ ‫با‬ ‫فوق‬ ‫بخش‬ ‫در‬ .‫‌ایم‬ ‫ه‬‫کرد‬ ‫اشاره‬ ‫پلتفرم‬ ‫این‬ ‫معایب‬ ‫از‬ ‫برخی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫شامل‬  .‫باشد‬ ‫‌کننده‬ ‫ج‬‫گی‬ ‫زیادی‬ ‫حد‬ ‫تا‬ ‫جدید‬ ‫کاربران‬ ‫و‬ ‫مبتدی‬ ‫افراد‬ ‫برای‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫لب‬ ‫گیت‬ ‫کاربری‬ ‫رابط‬  ) ‫بیشتر‬ ‫افزاری‬ ‫سخت‬ ‫منابع‬ ‫به‬ ‫(نیاز‬ ‫بزرگ‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫لب‬ ‫گیت‬ ‫سرویس‬ ‫‌اندازی‬ ‫ه‬‫را‬ ‫و‬ ‫نصب‬ ‫برای‬ ‫منابع‬ ‫هزینه‬ ‫بودن‬ ‫باال‬  ‫دیگر‬ ‫صفحه‬ ‫به‬ ‫‌ای‬ ‫ه‬‫صفح‬ ‫از‬ ‫انتقال‬ ‫پروسه‬ ‫در‬ ‫زیاد‬ ‫زمان‬ ‫صرف‬ ‫به‬ ‫نیاز‬ ‫را‬ ‫فرایندها‬ ‫تا‬ ‫کرده‬ ‫کمک‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫همواره‬ ‫و‬ ‫بوده‬ ‫برخوردار‬ ‫باالیی‬ ‫بسیار‬ ‫اهمیت‬ ‫از‬ ‫لب‬ ‫گیت‬ ،‫‌نویسی‬ ‫ه‬‫برنام‬ ‫دنیای‬ ‫در‬ .‫ببرند‬ ‫پیش‬ ‫بهتر‬ ‫‌ای‬ ‫ه‬‫شیو‬ ‫به‬ ‫را‬ ‫کاری‬ ‫‌های‬ ‫ه‬‫پروس‬ ‫و‬ ‫دهند‬ ‫تسهیل‬ ( ‫لب‬ ‫گیت‬ ،‫کردیم‬ ‫بررسی‬ ‫باالتر‬ ‫که‬ ‫مواردی‬ ‫به‬ ‫توجه‬ ‫با‬ gitlab.com ‫‌روند‬ ‫ی‬‫م‬ ‫پیش‬ ‫دواپس‬ ‫اصول‬ ‫با‬ ‫که‬ ‫‌هایی‬ ‫م‬‫تی‬ ‫و‬ ‫‌ها‬ ‫ت‬‫شرک‬ ‫برای‬ ) ‫و‬ ‫اصول‬ ‫کنار‬ ‫در‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫مراحل‬ ‫و‬ ‫‌ها‬ ‫ش‬‫بخ‬ ‫تمام‬ ‫آن‬ ‫در‬ ‫که‬ ‫کند‬ ‫بازی‬ ‫را‬ ‫کامل‬ ‫پلتفرم‬ ‫یک‬ ‫نقش‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫ابزار‬ ‫این‬ .‫است‬ ‫مناسبی‬ ‫گزینه‬ ‫فرایند‬ ‫‌خواهید‬ ‫ی‬‫م‬ ‫و‬ ‫‌زند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫در‬ ‫را‬ ‫اول‬ ‫حرف‬ ‫امنیت‬ ‫که‬ ‫‌هایی‬ ‫ه‬‫پروژ‬ ‫برای‬ .‫‌اند‬ ‫ه‬‫شد‬ ‫گرفته‬ ‫نظر‬ ‫در‬ ‫دواپس‬ ‫فرهنگ‬ DevSecOps ‫را‬ .‫باشد‬ ‫داشته‬ ‫شما‬ ‫هزینه‬ ‫و‬ ‫وقت‬ ‫در‬ ‫‌جویی‬ ‫ه‬‫صرف‬ ‫و‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫هماهنگی‬ ‫به‬ ‫شایانی‬ ‫کمک‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫‌لب‬ ‫ت‬‫گی‬ ‫از‬ ‫استفاده‬ ،‫کنید‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ 2 - ‫قابلیتهای‬ ‫بررسی‬ Azure DevOPS Microsoft ‫دواپس‬ ‫آژور‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫دواپس‬ ‫آژور‬ .‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫های‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ‫جامع‬ ‫فرم‬ ‫پلت‬ ‫یک‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫از‬ ‫مرحله‬ ‫هر‬ ‫برای‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫خدماتی‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ‫و‬ ‫کنند‬ ‫کار‬ ‫هم‬ ‫با‬ ‫یکپارچه‬ ‫طور‬ ‫به‬ ‫تا‬ ‫‌سازد‬ ‫ی‬‫م‬ ‫قادر‬ ‫را‬ .‫‌شود‬ ‫ی‬‫م‬ ‫ارائه‬ ‫افزار‬ ‫نرم‬ ‫اختصار‬ ‫به‬ ‫کاربران‬ ‫توسط‬ ‫اغلب‬ ‫(که‬ ‫دواپس‬ ‫آژور‬ ADO ‫و‬ ‫آزمایش‬ ‫تا‬ ‫گرفته‬ ‫کدنویسی‬ ‫و‬ ‫‌ریزی‬ ‫ه‬‫برنام‬ ‫از‬ ‫را‬ ‫فرآیند‬ ‫کل‬ )‫‌شود‬ ‫ی‬‫م‬ ‫نامیده‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫ارائه‬ ‫کیفیت‬ ‫افت‬ ‫بدون‬ ‫و‬ ‫موقع‬ ‫به‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تضمین‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫ساده‬ ‫استقرار‬
  • 80. ‫شکل‬ 6 ‫چرخه‬ : CI/CD ‫در‬ Azure DevOps 2-1 - ‫کلی‬ ‫نمای‬ Azure DevOps ‫های‬ ‫حل‬ ‫راه‬ ‫و‬ ‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫های‬ ‫پروژه‬ ‫مدیریت‬ ‫برای‬ ‫مایکروسافت‬ ‫توسط‬ ‫شده‬ ‫ارائه‬ ‫خدمات‬ ‫از‬ ‫جامع‬ ‫ای‬ ‫مجموعه‬ ‫دواپس‬ ‫آژور‬ .‫کند‬ ‫می‬ ‫فراهم‬ ‫باال‬ ‫کیفیت‬ ‫با‬ ‫افزار‬ ‫نرم‬ ‫تحویل‬ ‫برای‬ ‫را‬ ‫اتوماسیون‬ ‫که‬ ‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫پذیری‬ ‫انعطاف‬ ‫و‬ ‫دسترس‬ ‫در‬ ،‫اعتماد‬ ‫قابل‬ ‫مزایای‬ Azure DevOps ‫مدل‬ ‫با‬ ‫ها‬ ‫هزینه‬ ‫سازی‬ ‫بهینه‬ ‫و‬ ‫موجود‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫توانایی‬ ‫شامل‬ ‫ها‬ ‫پلتفرم‬ ‫سایر‬ ‫به‬ ‫نسبت‬ SaaS .‫میباشد‬ ‫مرحله‬ ‫هر‬ ‫با‬ ‫متناسب‬ ‫خدمات‬ ‫از‬ ‫جامع‬ ‫ای‬ ‫مجموعه‬ ‫تا‬ ‫کرده‬ ‫رشد‬ ،‫است‬ ‫شده‬ ‫متولد‬ ‫استودیو‬ ‫ویژوال‬ ‫تیم‬ ‫سیستم‬ ‫تکامل‬ ‫از‬ ‫که‬ ‫دواپس‬ ‫آژور‬ .‫دهد‬ ‫ارائه‬ ‫را‬ ‫توسعه‬ ‫عمر‬ ‫چرخه‬ ‫از‬ ‫خدمات‬ ‫عنوان‬ ‫به‬ ‫مجموعًا‬ ‫که‬ ‫ها‬ ‫سرویس‬ ‫این‬ Azure DevOps :‫از‬ ‫عبارتند‬ ‫شوند‬ ‫می‬ ‫شناخته‬  Azure Repos  Azure Pipelines  Azure Artifacts  Azure Boards  Azure Test Plans  ‫و‬ …
  • 81. .‫کنند‬ ‫می‬ ‫فراهم‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرآیند‬ ‫کل‬ ‫مدیریت‬ ‫برای‬ ‫مرکزی‬ ‫مکان‬ ‫یک‬ ‫هم‬ ‫با‬ ‫ها‬ ‫سرویس‬ ‫این‬ ‫همه‬ 2-2 - ‫خدمات‬ Azure DevOps ‫شکل‬ 7 ‫خدمات‬ : Azure DevOps Azure Repos ‫شده‬ ‫ایجاد‬ ‫تغییرات‬ ‫مدیریت‬ ‫و‬ ‫ردیابی‬ ‫به‬ ‫سرویس‬ ‫این‬ .‫کند‬ ‫می‬ ‫ارائه‬ ‫نسخه‬ ‫کنترل‬ ‫برای‬ ‫ابزارهایی‬ ‫که‬ ‫است‬ ‫سرویسی‬ ‫با‬ .‫کند‬ ‫می‬ ‫کمک‬ ‫زمان‬ ‫طول‬ ‫در‬ ‫کد‬ ‫در‬ Azure Repos ،‫کنند‬ ‫کار‬ ‫آن‬ ‫روی‬ ‫و‬ ‫کرده‬ ‫ذخیره‬ ‫مشترک‬ ‫مخزن‬ ‫یک‬ ‫در‬ ‫را‬ ‫کد‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫م‬‫تی‬ ، .‫کنند‬ ‫پشتیبانی‬ ‫پیشرفته‬ ‫فایل‬ ‫مدیریت‬ ‫و‬ ‫مشترک‬ ‫‌های‬ ‫ت‬‫درخواس‬ ‫از‬ ‫و‬ ،‫کنند‬ ‫ادغام‬ ‫و‬ ‫ردیابی‬ ‫شعبه‬ ‫چندین‬ ‫از‬ ‫را‬ ‫تغییرات‬ ‫دیگر‬ ‫مهم‬ ‫سرویس‬ Azure Pipelines ‫ابزار‬ ‫یک‬ ،‫است‬ CI/CD ‫به‬ ‫را‬ ‫استقرار‬ ‫و‬ ‫آزمایش‬ ،‫ساخت‬ ‫که‬ )‫مستمر‬ ‫استقرار‬/‫پیوسته‬ ‫(ادغام‬ .‫کند‬ ‫می‬ ‫تبدیل‬ ‫خودکار‬ ‫قرایند‬ ‫یک‬ Azure Pipelines ‫محیط‬ ‫چندین‬ ‫در‬ ‫تواند‬ ‫می‬ ،‫است‬ ‫سازگار‬ ‫پلتفرمی‬ ‫یا‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫هر‬ ‫با‬ ‫که‬ ‫جمله‬ ‫از‬ Kubernetes ‫مانند‬ ‫ابر‬ ‫دهندگان‬ ‫ارائه‬ ‫سایر‬ ‫و‬ ‫سرور‬ ‫بدون‬ ‫توابع‬ ، AWS ‫یا‬ GCP .‫شود‬ ‫مستقر‬ Azure Pipelines ‫همچنین‬ .‫دهد‬ ‫می‬ ‫ارائه‬ ‫شما‬ ‫لوله‬ ‫خطوط‬ ‫بیشتر‬ ‫بهبود‬ ‫برای‬ ‫را‬ ‫هایی‬ ‫افزونه‬ ،‫دیگر‬ ‫سوی‬ ‫از‬ Azure Boards ‫در‬ ‫پروژه‬ ‫مدیریت‬ ‫مرکز‬ ‫یک‬ Azure DevOps ‫خود‬ ‫های‬ ‫پروژه‬ ‫دهد‬ ‫می‬ ‫امکان‬ ‫ها‬ ‫تیم‬ ‫به‬ ‫که‬ ‫است‬ ،‫کاری‬ ‫های‬ ‫آیتم‬ ‫مانند‬ ‫هایی‬ ‫ویژگی‬ .‫کنند‬ ‫پیگیری‬ ‫و‬ ‫ریزی‬ ‫برنامه‬ ‫را‬ Kanban boards ‫را‬ ‫سفارشی‬ ‫های‬ ‫گزارش‬ ‫و‬ ‫داشبوردها‬ ،‫ها‬ ‫الگ‬ ‫بک‬ ، .‫دهد‬ ‫می‬ ‫ارائه‬ ‫پروژه‬ ‫پیشرفت‬ ‫بر‬ ‫نظارت‬ ‫برای‬ ‫را‬ ‫بینش‬ ‫و‬ ‫پذیری‬ ‫انعطاف‬ ‫و‬ ‫دهد‬ ‫می‬ ‫ارائه‬
  • 82. ،‫نهایت‬ ‫در‬ Azure Test Plans ‫تسهیل‬ ‫را‬ ‫عملکرد‬ ‫و‬ ‫واحد‬ ‫تست‬ ‫و‬ ‫بازخورد‬ ‫ردیابی‬ ،‫اکتشافی‬ ‫و‬ ‫دستی‬ ‫تست‬ ‫که‬ ‫است‬ ‫سرویسی‬ ‫آماده‬ ‫و‬ ‫شده‬ ‫آزمایش‬ ‫کامًال‬ ‫شما‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫حاصل‬ ‫اطمینان‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫مداوم‬ ‫آزمایش‬ ‫از‬ ‫همچنین‬ .‫‌کند‬ ‫ی‬‫م‬ .‫هستند‬ ‫استقرار‬ 2-3 - ‫از‬ ‫استفاده‬ ‫مزایای‬ Azure DevOps  ‫پذیری‬ ‫انعطاف‬ ‫و‬ ‫اطمینان‬ ‫قابلیت‬ ‫مانند‬ ‫ثالث‬ ‫شخص‬ ‫ابزارهای‬ ‫انواع‬ ‫با‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫موجود‬ ‫ابزارهای‬ ‫از‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫کاربران‬ ‫به‬ ‫پذیری‬ ‫انعطاف‬ Ansible، Chef، Puppet ‫و‬ Terraform .‫شوند‬ ‫ادغام‬  ‫اتوماسیون‬ ‫کلیدی‬ ‫های‬ ‫مزیت‬ ‫از‬ ‫دیگر‬ ‫یکی‬ ‫اتوماسیون‬ Azure DevOps ‫تسریع‬ ‫و‬ ‫ساده‬ ‫برنامه‬ ‫عمر‬ ‫چرخه‬ ‫کل‬ ‫در‬ ‫را‬ ‫توسعه‬ ‫فرآیندهای‬ ‫زیرا‬ ،‫است‬ .‫کند‬ ‫می‬  ‫کارایی‬ ‫و‬ ‫همکاری‬ Azure DevOps ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تضمین‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫تسهیل‬ ‫را‬ ‫مختلف‬ ‫های‬ ‫بخش‬ ‫بین‬ ‫همکاری‬ ‫و‬ ‫ارتباطات‬ ،‫‌دهنده‬ ‫ه‬‫توسع‬ ‫خدمات‬ ‫ارائه‬ ‫با‬ ‫مانند‬ ‫محبوبی‬ ‫ابزارهای‬ ‫با‬ ‫ادغام‬ .‫کنند‬ ‫کار‬ ‫هم‬ ‫با‬ ‫یکپارچه‬ ‫طور‬ ‫به‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫م‬‫تی‬ GitHub، Jenkins ‫و‬ Slack ‫بیشتر‬ ‫را‬ ‫کارایی‬ ‫و‬ ‫همکاری‬ .‫کند‬ ‫می‬ ‫در‬ ‫را‬ ‫‌هایی‬ ‫ن‬‫اعال‬ ‫و‬ ‫هشدارها‬ ‫و‬ ‫کنند‬ ‫نظارت‬ ‫داشبورد‬ ‫کمک‬ ‫با‬ ‫پروژه‬ ‫چندین‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫تا‬ ‫‌سازد‬ ‫ی‬‫م‬ ‫قادر‬ ‫را‬ ‫‌ها‬ ‫م‬‫تی‬ ‫همچنین‬ ‫داوپس‬ ‫آژور‬ ‫اطمینان‬ ‫خود‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫از‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫‌ها‬ ‫ن‬‫سازما‬ ‫به‬ ‫کنترل‬ ‫و‬ ‫دید‬ ‫از‬ ‫سطح‬ ‫این‬ .‫کنند‬ ‫دریافت‬ ‫تغییرات‬ ‫دادن‬ ‫رخ‬ ‫صورت‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫برآورده‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫کیفی‬ ‫استانداردهای‬ ‫و‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫داده‬ ‫تحویل‬ ‫موقع‬ ‫به‬ ‫که‬ ‫کنند‬ ‫حاصل‬ 2-4 - ‫ثالث‬ ‫شخص‬ ‫ابزارهای‬ ‫با‬ ‫ادغام‬ ‫با‬ Azure DevOps ‫دواپس‬ ‫در‬ ‫محبوب‬ ‫ثالث‬ ‫شخص‬ ‫و‬ ‫باز‬ ‫منبع‬ ‫های‬ ‫سرویس‬ ‫و‬ ‫ابزارها‬ ‫انواع‬ ‫با‬ ‫راحتی‬ ‫به‬ ‫توانند‬ ‫می‬ ‫ها‬ ‫سازمان‬ ، ‫ابزار‬ ‫‌های‬ ‫ه‬‫مجموع‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫‌ها‬ ‫م‬‫تی‬ ‫به‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫این‬ .‫شوند‬ ‫یکپارچه‬ DevOps ‫سازمان‬ ‫خاص‬ ‫نیازهای‬ ‫کردن‬ ‫برآورده‬ ‫برای‬ ‫را‬ ‫خود‬ .‫کنند‬ ‫تنظیم‬ ‫و‬ ‫داده‬ ‫گسترش‬ ‫خود‬ ‫توسعه‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫و‬ ‫با‬ ‫مرتبط‬ ‫یادگیری‬ ‫منحنی‬ ‫بلکه‬ ،‫کند‬ ‫می‬ ‫ساده‬ ‫را‬ ‫فرآیندها‬ ‫تنها‬ ‫نه‬ ،‫هستند‬ ‫آشنا‬ ‫آنها‬ ‫با‬ ‫قبًال‬ ‫ها‬ ‫تیم‬ ‫که‬ ‫ابزارهایی‬ ‫با‬ ‫ادغام‬ ‫با‬ ‫دواپس‬ ‫آژور‬ .‫است‬ ‫پلتفرم‬ ‫این‬ ‫گسترده‬ ‫موفقیت‬ ‫و‬ ‫محبوبیت‬ ‫در‬ ‫اصلی‬ ‫عامل‬ ‫یکپارچه‬ ‫ادغام‬ ‫این‬ .‫دهد‬ ‫می‬ ‫کاهش‬ ‫نیز‬ ‫را‬ ‫جدید‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬
  • 84. ‫شکل‬ 8 ‫ابزار‬ : Jenkins Jenkins ( ‫پیوسته‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫برای‬ ‫خصوص‬ ‫به‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرآیند‬ ‫در‬ ‫مختلف‬ ‫وظایف‬ ‫اتوماسیون‬ ‫برای‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫ابزار‬ ‫یک‬ CI ( ‫پیوسته‬ ‫تحویل‬ ‫و‬ ) CD ‫توسط‬ ‫ابتدا‬ ‫در‬ ‫ابزار‬ ‫این‬ .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ) Kohsuke Kawaguchi ‫توسط‬ ‫اکنون‬ ‫و‬ ‫شد‬ ‫داده‬ ‫توسعه‬ .‫‌شود‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫‌ها‬ ‫ت‬‫شرک‬ ‫و‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫از‬ ‫گسترده‬ ‫‌ای‬ ‫ه‬‫جامع‬ 3-1 - ‫‌های‬ ‫ی‬‫ویژگ‬ Jenkins :‫رایگان‬ ‫و‬ ‫‌باز‬ ‫ن‬‫مت‬ Jenkins ‫آن‬ ‫منبع‬ ‫کد‬ ‫به‬ ‫همچنین‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫هزینه‬ ‫بدون‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫و‬ ‫شده‬ ‫ارائه‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫صورت‬ ‫به‬ .‫باشید‬ ‫داشته‬ ‫دسترسی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫‌ترین‬ ‫ه‬‫برجست‬ ‫از‬ ‫یکی‬ :‫‌ها‬ ‫ن‬‫پالگی‬ Jenkins ‫از‬ ‫بیش‬ ‫وجود‬ ، 1700 ‫گسترش‬ ‫بسیار‬ ‫را‬ ‫آن‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫که‬ ‫است‬ ‫مختلف‬ ‫پالگین‬ ‫‌دهند‬ ‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫‌ها‬ ‫ن‬‫پالگی‬ ‫این‬ .‫‌دهد‬ ‫ی‬‫م‬ Jenkins .‫کنید‬ ‫متصل‬ ‫مختلف‬ ‫‌های‬ ‫ی‬‫فناور‬ ‫و‬ ‫ابزارها‬ ‫به‬ ‫را‬ :‫‌ها‬ ‫ه‬‫پروژ‬ ‫انواع‬ ‫از‬ ‫پشتیبانی‬ Jenkins ‫مانند‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫مختلف‬ ‫انواع‬ ‫از‬ Java، .NET، PHP، Node.js ‫پشتیبانی‬ ‫دیگر‬ ‫بسیاری‬ ‫و‬ .‫‌کند‬ ‫ی‬‫م‬ :‫آسان‬ ‫پیکربندی‬ Jenkins ‫امکان‬ ‫همچنین‬ .‫‌کند‬ ‫ی‬‫م‬ ‫آسان‬ ‫را‬ ‫وظایف‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ ‫که‬ ‫است‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬ ‫دارای‬ ‫‌های‬ ‫ل‬‫فای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پیکربندی‬ YAML ‫و‬ Groovy .‫دارد‬ ‫وجود‬ ‫نیز‬ :‫‌پذیری‬ ‫س‬‫مقیا‬ Jenkins ( ‫نودها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫راحتی‬ ‫به‬ " " agents ‫امکان‬ ‫ویژگی‬ ‫این‬ ‫که‬ ،‫شود‬ ‫اجرا‬ ‫شده‬ ‫توزیع‬ ‫صورت‬ ‫به‬ ) .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌پذیری‬ ‫س‬‫مقیا‬ ‫و‬ ‫عملکرد‬ ‫بهبود‬ ‫به‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫کاری‬ ‫بار‬ ‫توزیع‬ :‫نسخه‬ ‫کنترل‬ ‫ابزارهای‬ ‫با‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ Jenkins ‫مانند‬ ‫نسخه‬ ‫کنترل‬ ‫ابزارهای‬ ‫اکثر‬ ‫با‬ Git، SVN، Mercurial ‫به‬ ‫ابزارها‬ ‫دیگر‬ ‫و‬ .‫‌شود‬ ‫ی‬‫م‬ ‫یکپارچه‬ ‫خوبی‬ :‫اتوماسیون‬ ‫مختلف‬ ‫ساختارهای‬ ‫از‬ ‫پشتیبانی‬ Jenkins ‫پیچیده‬ ‫فرآیندهای‬ ‫‌تواند‬ ‫ی‬‫م‬ CI/CD ‫پیکربندی‬ ‫‌های‬ ‫ل‬‫فای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ Pipeline .‫است‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫قابل‬ ‫کد‬ ‫صورت‬ ‫به‬ ‫که‬ ‫کند‬ ‫مدیریت‬ :‫‌دهی‬ ‫ش‬‫گزار‬ ‫و‬ ‫نظارت‬ Jenkins ‫به‬ ‫که‬ ‫است‬ ‫دقیق‬ ‫‌های‬ ‫ش‬‫گزار‬ ‫تولید‬ ‫و‬ ‫فرآیندها‬ ‫بر‬ ‫نظارت‬ ‫برای‬ ‫قدرتمندی‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫دارای‬ .‫کنند‬ ‫برطرف‬ ‫و‬ ‫شناسایی‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫را‬ ‫مشکالت‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ :‫امنیت‬ Jenkins ‫با‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ،‫‌ها‬ ‫ش‬‫نق‬ ‫بر‬ ‫مبتنی‬ ‫دسترسی‬ ‫کنترل‬ ‫مانند‬ ‫مختلفی‬ ‫امنیتی‬ ‫امکانات‬ ‫از‬ LDAP ‫‌های‬ ‫ل‬‫پروتک‬ ‫دیگر‬ ‫و‬ ، .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫امنیتی‬ .‫کند‬ ‫توزیع‬ ‫ماشین‬ ‫چندین‬ ‫در‬ ‫را‬ ‫کار‬ ‫راحتی‬ ‫به‬ ‫تواند‬ ‫می‬ ‫جنکینز‬ :‫شدگی‬ ‫توزیع‬
  • 85. 3-2 - ‫از‬ ‫استفاده‬ ‫نحوه‬ Jenkins :‫نصب‬ Jenkins ‫نسخه‬ ‫همچنین‬ .‫کرد‬ ‫نصب‬ ‫مک‬ ‫و‬ ‫لینوکس‬ ،‫ویندوز‬ ‫مانند‬ ‫مختلف‬ ‫‌های‬ ‫ل‬‫‌عام‬ ‫م‬‫سیست‬ ‫روی‬ ‫بر‬ ‫‌توان‬ ‫ی‬‫م‬ ‫را‬ Docker ‫آن‬ .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫سریع‬ ‫‌اندازی‬ ‫ه‬‫را‬ ‫امکان‬ ‫که‬ ‫است‬ ‫موجود‬ ‫نیز‬ ‫نصب‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫‌های‬ ‫ن‬‫پالگی‬ ‫و‬ ‫دهید‬ ‫انجام‬ ‫را‬ ‫اولیه‬ ‫تنظیمات‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫وب‬ ‫تحت‬ ‫کاربری‬ ‫رابط‬ ‫طریق‬ ‫از‬ ،‫نصب‬ ‫از‬ ‫پس‬ :‫اولیه‬ ‫‌اندازی‬ ‫ه‬‫را‬ .‫کنید‬ .‫کنید‬ ‫تعریف‬ ‫را‬ ‫انتشار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫مختلف‬ ‫مراحل‬ ‫پروژه‬ ‫هر‬ ‫برای‬ ‫و‬ ‫کنید‬ ‫ایجاد‬ ‫مختلف‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫‌توانید‬ ‫ی‬‫م‬ :‫پروژه‬ ‫ایجاد‬ ‫با‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ Git ‫‌های‬ ‫ن‬‫مخز‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫خود‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ : Git ‫تا‬ ‫کنید‬ ‫تعریف‬ ‫را‬ Jenkins ‫را‬ ‫جدید‬ ‫کدهای‬ ‫خودکار‬ ‫صورت‬ ‫به‬ .‫کند‬ ‫اجرا‬ ‫را‬ ‫شده‬ ‫تعریف‬ ‫فرآیندهای‬ ‫و‬ ‫دریافت‬ ‫از‬ ‫استفاده‬ Pipeline ‫قابلیت‬ ‫از‬ ‫استفاده‬ ‫با‬ : Pipeline ‫مختلف‬ ‫مراحل‬ ‫‌توانید‬ ‫ی‬‫م‬ CI/CD .‫کنید‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫کد‬ ‫صورت‬ ‫به‬ ‫را‬
  • 86. 3-3 - ‫معماری‬ Jenkins ‫دهنده‬ ‫تشکیل‬ ‫اجزای‬ ‫با‬ ‫آشنایی‬ : Jenkins .‫کنند‬ ‫خودکار‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫ساخت‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کار‬ ‫هم‬ ‫با‬ ‫که‬ ‫است‬ ‫مختلفی‬ ‫اجزای‬ ‫با‬ ‫پیچیده‬ ‫سیستم‬ ‫یک‬ .‫دارند‬ ‫نقشی‬ ‫چه‬ ‫و‬ ‫چیست‬ ‫جنکینز‬ ‫اصلی‬ ‫اجزای‬ ‫فهمید‬ ‫خواهیم‬ ،‫قسمت‬ ‫این‬ ‫در‬  Jenkins Controller ‫مدیریت‬ ‫جمله‬ ‫از‬ ‫مهمی‬ ‫وظایف‬ ‫قسمت‬ ‫این‬ .‫است‬ ‫سیستم‬ ‫متفکر‬ ‫مغز‬ ‫جنکینز‬ ‫کنترلر‬ Agent ‫لود‬ ،‫دستورات‬ ‫اجرای‬ ،‫آنها‬ ‫ارتباطات‬ ‫و‬ ‫ها‬ .‫دارد‬ ‫برعهده‬ ‫را‬ ‫پروژه‬ ‫جریان‬ ‫کردن‬ ‫هماهنگ‬ ‫و‬ ‫تنظیمات‬ ‫نگهداری‬ ،‫‌ها‬ ‫ن‬‫پالگی‬ ‫کردن‬  Jenkins Agent ‫از‬ ‫منظور‬ ‫اینکه‬ ‫به‬ ‫پاسخ‬ ‫در‬ Agent .‫‌شوند‬ ‫ی‬‫م‬ ‫محسوب‬ ‫جنکینز‬ ‫کار‬ ‫نیروی‬ ‫جزء‬ ‫این‬ ‫بگوییم‬ ‫باید‬ ،‫چیست‬ ‫جنکینز‬ ‫در‬ Agent ‫وظیفه‬ .‫‌شود‬ ‫ی‬‫م‬ ‫تعیین‬ ‫کنترلر‬ ‫توسط‬ ‫که‬ ‫دارد‬ ‫برعهده‬ ‫را‬ ‫کارهایی‬ ‫اجرای‬ Agent ‫فضای‬ ،‫مجازی‬ ‫‌های‬ ‫ن‬‫ماشی‬ ،‫فیزیکی‬ ‫سرورهای‬ ‫روی‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫را‬ ‫‌ها‬ ‫چندین‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫کنید‬ ‫اجرا‬ ‫کانتینرها‬ ‫حتی‬ ‫یا‬ ‫ابری‬ Agent ‫مجزا‬ ‫ایمن‬ ‫محیط‬ ‫یک‬ ‫و‬ ‫داد‬ ‫بهبود‬ ‫را‬ ‫کارایی‬ ،‫کرد‬ ‫توزیع‬ ‫را‬ ‫کاری‬ ‫بار‬ ‫‌توان‬ ‫ی‬‫م‬ .‫کرد‬ ‫ایجاد‬ ‫را‬ ‫کنترلر‬ ‫از‬  Jenkins Node Node ‫برای‬ ‫کلی‬ ‫اصطالح‬ ‫یک‬ Agent ‫و‬ ‌ ‫ه‬‫پروژ‬ ‫بتوان‬ ‫آن‬ ‫روی‬ ‫که‬ ‫ماشینی‬ ‫هر‬ ‫به‬ .‫است‬ ‫کنترلرها‬ ‫و‬ ‫‌ها‬ Pipeline ،‫ساخت‬ Node ‫همه‬ ‫وضعیت‬ ‫خودکار‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫جنکینز‬ .‫‌گویند‬ ‫ی‬‫م‬ Node .‫‌کند‬ ‫ی‬‫م‬ ‫غیرفعال‬ ‫را‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫عملکرد‬ ‫کاهش‬ ‫درصورت‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫نظارت‬ ‫را‬ ‫متصل‬ ‫‌های‬  Jenkins Project ‫‌عنوان‬ ‫ه‬‫ب‬ ‫قبال‬ ‫که‬ ‫جنکینز‬ ‫پروژه‬ Job ‫نقش‬ ‫اینکه‬ ‫به‬ ‫پاسخ‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫تعریف‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫است‬ ‫خودکار‬ ‫فرآیندی‬ ،‫‌شد‬ ‫ی‬‫م‬ ‫شناخته‬ ‫طور‬ ‫به‬ ‫جنکینز‬ .‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫استقرار‬ ‫و‬ ‫آزمایش‬ ،‫ساخت‬ ‫مانند‬ ‫مختلفی‬ ‫کارهای‬ ‫شامل‬ ‫فرآیند‬ ‫این‬ ‫بگوییم‬ ‫باید‬ ،‫چیست‬ ‫جنکینز‬ ‫در‬ ‫پروژه‬ ‫را‬ ‫خودتان‬ ‫سفارشی‬ ‫‌های‬ ‫ه‬‫پروژ‬ ،‫‌ها‬ ‫ه‬‫افزون‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ ‫‌حال‬ ‫ن‬‫باای‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫ارائه‬ ‫را‬ ‫شده‬ ‫تعریف‬ ‫پیش‬ ‫از‬ ‫پروژه‬ ‫تعدادی‬ ‫‌فرض‬ ‫ش‬‫پی‬ .‫کنید‬ ‫ایجاد‬  Jenkins Plugins ‫از‬ ‫را‬ ‫‌ها‬ ‫ه‬‫افزون‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ .‫ندارد‬ ‫وجود‬ ‫‌فرض‬ ‫ش‬‫پی‬ ‫‌صورت‬ ‫ه‬‫ب‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫جدیدی‬ ‌ ‫ی‬‫ویژگ‬ ‫جنکینز‬ ‫روی‬ ‫‌ها‬ ‫ه‬‫افزون‬ ‫نصب‬ .‫کنید‬ ‫‌روز‬ ‫ه‬‫ب‬ ‫و‬ ‫نصب‬ ‫جنکینز‬ ‫داشبورد‬  Jenkins Pipeline Pipeline ‫‌توانید‬ ‫ی‬‫م‬ .‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫ساخت‬ ‫برای‬ ‫سفارشی‬ ‫مدل‬ ‫یک‬ ‫جنکینز‬ Pipeline ‫کد‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ‫و‬ ‫مستقیم‬ ‫‌طور‬ ‫ه‬‫ب‬ ‫را‬ « ‫یک‬ ‫یا‬ ‫کنید‬ ‫ایجاد‬ ‫کاربری‬ ‫رابط‬ ‫در‬ Jenkinsfile .‫‌دهد‬ ‫ی‬‫م‬ ‫نشان‬ ‫کد‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آن‬ ‫که‬ ‫نمایید‬ ‫ایجاد‬ » Jenkinsfile ‫فرمت‬ ‫یک‬ ‫از‬ ‫‌ها‬ ‫با‬ ‫سازگار‬ ‫متن‬ ‫بر‬ ‫مبتنی‬ Groovy ‫فرآیندهای‬ ‫تعریف‬ ‫برای‬ Pipeline ‫مهم‬ ‫جزء‬ ‫این‬ ‫به‬ ‫‌تر‬ ‫ق‬‫دقی‬ ‫نگاهی‬ ‫دهید‬ ‫اجازه‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ :‫بیندازیم‬ ‫جنکینز‬
  • 87. 3-4 - Jenkins PipeLine ( ‫الین‬ ‫پاپ‬ Pipeline ‫‌های‬ ‫ه‬‫افزون‬ ‫از‬ ‫بااستفاده‬ ‫شما‬ ‫نیاز‬ ‫مورد‬ ‫وظایف‬ ‫انجام‬ ‫برای‬ ‫جنکینز‬ ‫سرور‬ ‫که‬ ‫است‬ ‫خودکار‬ ‫دستورات‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ) ‫فرآیند‬ ‫در‬ ‫جنکینز‬ CI/CD .‫‌کند‬ ‫ی‬‫م‬ ‫طی‬ ‫سینتکس‬ DSL ‫(مخفف‬ Domain-Specific Language ‫کد‬ ‫‌صورت‬ ‫ه‬‫ب‬ ‫الین‬ ‫پاپ‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫برای‬ ‫ابزار‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ‫الین‬ ‫پاپ‬ ) .‫است‬ ‫وابسته‬ ‫اتفاق‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫به‬ ‫‌طریقی‬ ‫ه‬‫ب‬ ‫جنکینز‬ ‫قسمِت‬ ‫این‬ ‫در‬ ‫وظیفه‬ ‫هر‬ .‫است‬ Pipeline ‫مانند‬ ‫کد‬ ‫تغییر‬ ‫و‬ ‫تست‬ ‫و‬ ‫کامپایل‬ ،‫نظارت‬ ،‫میزبانی‬ ‫برای‬ ‫ابزارها‬ ‫از‬ ‫‌ای‬ ‫ه‬‫مجموع‬ ‫شامل‬ ‫که‬ ‫است‬ ‫قدرتمند‬ ‫فناوری‬ ‫یک‬ ‫جنکینز‬ ‫است‬ ‫زیر‬ ‫موارد‬ :  ( ‫مداوم‬ ‫‌سازی‬ ‫ه‬‫یکپارچ‬ ‫سرور‬ Bamboo ،Jenkins ،TeamCity ،CruiseControl )‫غیره‬ ‫و‬  ‫(مثًال‬ ‫منبع‬ ‫کنترل‬ ‫افزار‬ ‫نرم‬ SVN ،CVS ،Mercurial ،GIT ،ClearCase ،Perforce )‫غیره‬ ‫و‬  ( ‫بیلد‬ ‫ابزارهای‬ Make ،Ant ،Ivy ،Maven ،Gradle )‫غیره‬ ‫و‬  ( ‫خودکار‬ ‫تست‬ ‫‌ورک‬ ‫م‬‫فری‬ Appium ،Selenium ،UFT ،TestComplete )‫غیره‬ ‫و‬ ‫از‬ ،‫مختلف‬ ‫مراحل‬ ‫در‬ ‫افزونه‬ ‫چندین‬ ،‫کار‬ ‫این‬ ‫برای‬ .‫است‬ ‫کاربر‬ ‫توسط‬ ‫مداوم‬ ‫و‬ ‫متوالی‬ ‫دستورات‬ ‫سری‬ ‫یک‬ ‫کننده‬ ‫اجرا‬ ،‫موثر‬ ‫عضو‬ ‫این‬ ‫فرایندی‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ،‫کاربر‬ ‫به‬ ‫تحویل‬ ‫تا‬ ‫نسخه‬ ‫کنترل‬ ۳ :‫است‬ ‫‌ای‬ ‫ه‬‫مرحل‬  ‫خودکار‬ ‫ساخت‬  ‫‌ای‬ ‫ه‬‫مرحل‬ ‫چند‬ ‫آزمایش‬  ‫استقرار‬ ‫‌های‬ ‫ه‬‫روی‬
  • 88. 4 - ‫قابلیتهای‬ ‫بررسی‬ Bamboo ‫شکل‬ 9 ‫ابزار‬ : Bamboo Bamboo ‫سرور‬ ‫ابزار‬ ‫یک‬ ، CI/CD ‫توسط‬ ‫‌یافته‬ ‫ه‬‫توسع‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬ Atlassian ،‫ساخت‬ ‫خودکارسازی‬ ‫برای‬ ‫که‬ ‫است‬ ‫محصوالت‬ ‫سایر‬ ‫با‬ ‫خاص‬ ‫طور‬ ‫به‬ ‫ابزار‬ ‫این‬ .‫‌رود‬ ‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫کد‬ ‫انتشار‬ ‫و‬ ،‫تست‬ Atlassian ‫مثل‬ JIRA ‫و‬ Bitbucket ‫خوبی‬ ‫ادغام‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫و‬ ‫امکانات‬ ‫از‬ ‫برخی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫دارد‬ Bamboo :‫‌کنیم‬ ‫ی‬‫م‬ ‫اشاره‬
  • 89. 4-1 - ‫امکانات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ Bamboo :  ‫ابزارهای‬ ‫با‬ ‫ادغام‬ Atlassia : - JIRA .‫کنید‬ ‫روز‬ ‫به‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫را‬ ‫آنها‬ ‫وضعیت‬ ‫و‬ ‫کنید‬ ‫پیگیری‬ ‫را‬ ‫خود‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫مشکالت‬ ‫و‬ ‫کارها‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬ : - Bitbucket ‫مخازن‬ ‫با‬ ‫ادغام‬ ‫امکان‬ : Git ‫در‬ Bitbucket ‫از‬ ‫و‬ ‫کنید‬ ‫مدیریت‬ ‫را‬ ‫خود‬ ‫کد‬ ‫راحتی‬ ‫به‬ ‫بتوانید‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ( ‫درخواست‬ ‫کشیدن‬ ‫‌های‬ ‫ت‬‫قابلی‬ pull request .‫کنید‬ ‫استفاده‬ )  : ‫‌بندی‬ ‫ه‬‫نسخ‬ ‫مختلف‬ ‫مخازن‬ ‫از‬ ‫پشتیبانی‬ ‫از‬ ‫پشتیبانی‬ - Git، Mercurial، Subversion ‫و‬ ، Perforce .‫منبع‬ ‫کد‬ ‫مدیریت‬ ‫در‬ ‫بیشتر‬ ‫انعطاف‬ ‫برای‬  ‫‌پذیر‬ ‫ف‬‫انعطا‬ ‫‌های‬ ‫ن‬‫پایپالی‬ ‫و‬ ،‫تست‬ ،‫ساخت‬ ‫مختلف‬ ‫مراحل‬ ‫کردن‬ ‫اجرا‬ ‫و‬ ،‫مدیریت‬ ،‫ایجاد‬ ‫برای‬ ‫گرافیکی‬ ‫رابط‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫پیچیده‬ ‫‌های‬ ‫ن‬‫پایپالی‬ ‫تعریف‬ ‫امکان‬ - .‫انتشار‬  ‫موازی‬ ‫‌های‬ ‫ش‬‫آزمای‬ .‫کارایی‬ ‫افزایش‬ ‫و‬ ‫تست‬ ‫زمان‬ ‫کاهش‬ ‫برای‬ ‫موازی‬ ‫‌های‬ ‫ش‬‫آزمای‬ ‫اجرای‬ ‫امکان‬ -  : ‫تکرار‬ ‫قابل‬ ‫استقرارهای‬ ‫و‬ ‫‌ها‬ ‫ت‬‫ساخ‬ .‫هستند‬ ‫خود‬ ‫صحیح‬ ‫حالت‬ ‫در‬ ‫همیشه‬ ‫‌ها‬ ‫ط‬‫محی‬ ‫همه‬ ‫اینکه‬ ‫از‬ ‫اطمینان‬ ‫برای‬ ‫تکراری‬ ‫استقرار‬ ‫و‬ ‫ساخت‬ ‫‌های‬ ‫ه‬‫برنام‬ ‫تعریف‬ ‫امکان‬ -  ‫از‬ ‫پشتیبانی‬ Docker ‫و‬ Kubernetes : ‫با‬ ‫ادغام‬ ‫امکان‬ - Docker ‫و‬ ‫کانتینرها‬ ‫مدیریت‬ ‫و‬ ‫ایجاد‬ ‫برای‬ Kubernetes ‫کانتینرها‬ ‫ارکستراسیون‬ ‫مدیریت‬ ‫برای‬ .  : ‫متغیرها‬ ‫و‬ ‫پیکربندی‬ ‫مدیریت‬ .‫برنامه‬ ‫و‬ ‫پروژه‬ ‫هر‬ ‫برای‬ ‫مختلف‬ ‫‌های‬ ‫ی‬‫پیکربند‬ ‫و‬ ‫متغیرها‬ ‫مدیریت‬ ‫امکان‬ -
  • 90.  : ‫دسترسی‬ ‫کنترل‬ .‫بهتر‬ ‫کنترل‬ ‫و‬ ‫امنیت‬ ‫حفظ‬ ‫برای‬ ‫‌ها‬ ‫م‬‫تی‬ ‫و‬ ‫کاربران‬ ‫برای‬ ‫مختلف‬ ‫دسترسی‬ ‫سطوح‬ ‫تعریف‬ ‫امکان‬ -  : ‫‌ها‬ ‫ل‬‫تحلی‬ ‫و‬ ‫‌ها‬ ‫ش‬‫گزار‬ .‫توسعه‬ ‫فرآیند‬ ‫بهبود‬ ‫و‬ ‫مشکالت‬ ‫شناسایی‬ ‫به‬ ‫کمک‬ ‫برای‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫و‬ ‫‌ها‬ ‫ت‬‫ساخ‬ ‫از‬ ‫مختلف‬ ‫‌های‬ ‫ل‬‫تحلی‬ ‫و‬ ‫‌ها‬ ‫ش‬‫گزار‬ ‫ارائه‬ -  : ‫‌پذیری‬ ‫ط‬‫بس‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫گسترش‬ ‫برای‬ ‫‌ها‬ ‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬ ‫ن‬‫پالگی‬ ‫از‬ ‫پشتیبانی‬ - Bamboo .‫خاص‬ ‫نیازهای‬ ‫برای‬ ‫آن‬ ‫‌سازی‬ ‫ی‬‫سفارش‬ ‫و‬ 4-2 - ‫مزایا‬ Bamboo :  ‫ابزارهای‬ ‫با‬ ‫عالی‬ ‫ادغام‬ Atlassian ‫ابزارهای‬ ‫مجموعه‬ ‫از‬ ‫که‬ ‫‌هایی‬ ‫ن‬‫سازما‬ ‫برای‬ ‫ویژه‬ ‫به‬ : Atlassian .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬  .‫‌کند‬ ‫ی‬‫م‬ ‫‌تر‬ ‫ن‬‫آسا‬ ‫کاربران‬ ‫برای‬ ‫را‬ ‫آن‬ ‫با‬ ‫کار‬ ‫که‬ :‫گرافیکی‬ ‫و‬ ‫ساده‬ ‫کاربری‬ ‫رابط‬  .‫مختلف‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫مدیریت‬ ‫در‬ ‫بیشتر‬ ‫انعطاف‬ ‫برای‬ : ‫توسعه‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬ ‫ی‬‫تکنولوژ‬ ‫از‬ ‫وسیعی‬ ‫طیف‬ ‫از‬ ‫پشتیبانی‬ 4-3 - ‫معایب‬ Bamboo :  ‫مانند‬ ‫رایگان‬ ‫ابزارهای‬ ‫از‬ ‫برخی‬ ‫برخالف‬ : ‫بودن‬ ‫‌بر‬ ‫ه‬‫هزین‬ Jenkins .‫دارد‬ ‫الیسنس‬ ‫خرید‬ ‫به‬ ‫نیاز‬ ‫بامبو‬ ،  ‫به‬ ‫نسبت‬ ‫کمتری‬ ‫‌های‬ ‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬ ‫ن‬‫پالگی‬ ‫است‬ ‫ممکن‬ ‫نتیجه‬ ‫در‬ :‫دارد‬ ‫مستقل‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫کمتر‬ ‫‌باز‬ ‫ن‬‫مت‬ ‫ابزارهای‬ ‫به‬ ‫نسبت‬ ‫مثل‬ ‫ابزارهایی‬ Jenkins .‫باشد‬ ‫داشته‬
  • 91. 5 - ‫‌های‬ ‫ی‬‫ویژگ‬ Travis CI Travis CI ‫سرویس‬ ‫یک‬ CI/CD ‫خودکار‬ ‫طور‬ ‫به‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬ ‫با‬ ‫خوبی‬ ‫به‬ ‫و‬ ‫است‬ ‫رایگان‬ ‫باز‬ ‫منبع‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫ابزار‬ ‫این‬ .‫دهند‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫تغییر‬ ‫هر‬ ‫از‬ ‫پس‬ ‫را‬ ‫خود‬ ‫کد‬ GitHub ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫ادغام‬ ‫امکانات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫از‬ ‫برخی‬ ‫به‬ ‫ادامه‬ Travis CI :‫‌پردازیم‬ ‫ی‬‫م‬ 5-1 - ‫امکانات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ Travis CI :  ‫با‬ ‫آسان‬ ‫ادغام‬ GitHub - Travis CI ‫با‬ ‫بومی‬ ‫صورت‬ ‫به‬ GitHub ‫مخازن‬ ‫به‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫ادغام‬ GitHub ‫هر‬ ‫از‬ ‫پس‬ ‫و‬ ‫شود‬ ‫متصل‬ push ‫یا‬ pull request .‫کند‬ ‫اجرا‬ ‫را‬ ‫‌ها‬ ‫ن‬‫پایپالی‬ ،  ‫فایل‬ ‫با‬ ‫ساده‬ ‫پیکربندی‬ YAML ‫‌های‬ ‫ی‬‫پیکربند‬ ‫و‬ ‫تنظیمات‬ - Travis CI . ‫فایل‬ ‫یک‬ ‫طریق‬ ‫از‬ ` travis.yml ‫این‬ .‫‌گیرد‬ ‫ی‬‫م‬ ‫قرار‬ ‫مخزن‬ ‫ریشه‬ ‫در‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ` .‫کنید‬ ‫تعریف‬ ‫را‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫مراحل‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫فایل‬  ‫مختلف‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬
  • 92. - Travis CI ‫جمله‬ ‫از‬ ،‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ن‬‫زبا‬ ‫از‬ ‫‌ای‬ ‫ه‬‫گسترد‬ ‫طیف‬ ‫از‬ JavaScript, Ruby, Python, PHP, Go, Rust .‫دیگر‬ ‫بسیاری‬ ‫و‬ ,  ‫مختلف‬ ‫ساخت‬ ‫‌های‬ ‫ط‬‫محی‬ - Travis CI ‫جمله‬ ‫از‬ ‫مختلف‬ ‫ساخت‬ ‫‌های‬ ‫ط‬‫محی‬ ‫از‬ Linux, macOS ‫و‬ , Windows ‫‌توانید‬ ‫ی‬‫م‬ ‫بنابراین‬ ،‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ .‫کنید‬ ‫تست‬ ‫مختلف‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫خود‬ ‫‌های‬ ‫ه‬‫برنام‬  ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ .‫ساخت‬ ‫زمان‬ ‫کاهش‬ ‫و‬ ‫کارایی‬ ‫افزایش‬ ‫برای‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫اجرای‬ ‫امکان‬ -  ‫از‬ ‫پشتیبانی‬ Docker - Travis CI ‫از‬ Docker ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫خود‬ ‫سفارشی‬ ‫‌های‬ ‫ط‬‫محی‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ Docker ‫تعریف‬ .‫کنید‬ ‫مدیریت‬ ‫و‬  ‫استقرار‬ ‫و‬ ‫ادغام‬ ‫ابزارهای‬ - Travis CI ‫مانند‬ ‫مختلف‬ ‫خدمات‬ ‫به‬ ‫خودکار‬ ‫استقرار‬ ‫و‬ ‫ادغام‬ ‫از‬ AWS, Heroku, Firebase ‫پشتیبانی‬ ‫دیگر‬ ‫بسیاری‬ ‫و‬ , .‫دهید‬ ‫استقرار‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫گذراندن‬ ‫از‬ ‫پس‬ ‫را‬ ‫خود‬ ‫‌های‬ ‫ه‬‫برنام‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ .‫‌کند‬ ‫ی‬‫م‬  ‫‌ها‬ ‫ن‬‫اعال‬ ‫و‬ ‫‌دهی‬ ‫ش‬‫گزار‬ - Travis CI ،‫ایمیل‬ ‫به‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫نتایج‬ ‫‌تواند‬ ‫ی‬‫م‬ Slack ‫در‬ ‫همیشه‬ ‫شما‬ ‫بنابراین‬ ،‫کند‬ ‫ارسال‬ ‫ارتباطی‬ ‫ابزارهای‬ ‫سایر‬ ‫و‬ ، .‫بود‬ ‫خواهید‬ ‫خود‬ ‫پروژه‬ ‫وضعیت‬ ‫جریان‬  ‫کشینگ‬ ‫از‬ ‫پشتیبانی‬ - Travis CI ‫کاهش‬ ‫ثابت‬ ‫‌های‬ ‫ی‬‫وابستگ‬ ‫از‬ ‫مجدد‬ ‫استفاده‬ ‫و‬ ‫‌سازی‬ ‫ه‬‫ذخیر‬ ‫با‬ ‫را‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫کشینگ‬ ‫از‬ .‫دهد‬  ‫باز‬ ‫منبع‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫رایگان‬ - Travis CI .‫‌کند‬ ‫ی‬‫م‬ ‫تبدیل‬ ‫باز‬ ‫منبع‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫برای‬ ‫جذاب‬ ‫‌ای‬ ‫ه‬‫گزین‬ ‫به‬ ‫را‬ ‫آن‬ ‫که‬ ‫است‬ ‫رایگان‬ ‫باز‬ ‫منبع‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬
  • 93. 5-2 - ‫مزایا‬ Travis CI  ‫فایل‬ ‫از‬ ‫استفاده‬ ‫با‬ : ‫آسان‬ ‫پیکربندی‬ YAML .‫است‬ ‫انجام‬ ‫قابل‬ ‫راحتی‬ ‫به‬ ‫تنظیمات‬ ‫و‬ ‫پیکربندی‬ ،  ‫با‬ ‫قوی‬ ‫ادغام‬ GitHub ‫از‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ : GitHub .‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫مستقیم‬ ‫و‬ ‫مشکل‬ ‫بدون‬ ‫ادغام‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬  .‫مختلف‬ ‫‌های‬ ‫ط‬‫محی‬ ‫با‬ ‫سازگاری‬ ‫از‬ ‫اطمینان‬ ‫و‬ ‫کارایی‬ ‫افزایش‬ ‫برای‬ : ‫مختلف‬ ‫‌های‬ ‫ط‬‫محی‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫از‬ ‫پشتیبانی‬ 5-3 - ‫معایب‬ Travis CI  ‫برای‬ ‫‌هایی‬ ‫ت‬‫محدودی‬ ‫است‬ ‫ممکن‬ ‫رایگان‬ ‫نسخه‬ ‫اما‬ ،‫است‬ ‫رایگان‬ ‫باز‬ ‫منبع‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ ‫اگرچه‬ :‫رایگان‬ ‫نسخه‬ ‫‌های‬ ‫ت‬‫محدودی‬ .‫باشد‬ ‫داشته‬ ‫خصوصی‬ ‫‌های‬ ‫ه‬‫پروژ‬  ‫که‬ ‫این‬ ‫دلیل‬ ‫به‬ : ‫ابر‬ ‫به‬ ‫وابستگی‬ Travis CI ‫استفاده‬ ‫برای‬ ‫و‬ ‫دارد‬ ‫اینترنت‬ ‫اتصال‬ ‫به‬ ‫نیاز‬ ،‫است‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ ‫سرویس‬ ‫یک‬ .‫نیست‬ ‫مناسب‬ ‫آفالین‬  ‫غیر‬ ‫ابزارهای‬ ‫از‬ ‫محدود‬ ‫پشتیبانی‬ GitHub ‫اگرچه‬ : Travis CI ‫با‬ ‫خوبی‬ ‫به‬ GitHub ‫پشتیبانی‬ ‫اما‬ ،‫‌شود‬ ‫ی‬‫م‬ ‫ادغام‬ . ‫دارد‬ ‫نسخه‬ ‫مدیریت‬ ‫ابزارهای‬ ‫سایر‬ ‫از‬ ‫محدودی‬
  • 94. 6 - ‫قابلیتهای‬ ‫بررسی‬ Circle CI CircleCI ‫سرویس‬ ‫یک‬ CI/CD ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫قدرتمند‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬ .‫دهند‬ ‫انجام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خود‬ ‫کد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ CircleCI ‫و‬ ‫است‬ ‫برخوردار‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫بین‬ ‫در‬ ‫زیادی‬ ‫محبوبیت‬ ‫از‬ ‫امکانات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫است‬ ‫شده‬ ‫شناخته‬ ‫باال‬ ‫‌پذیری‬ ‫ف‬‫انعطا‬ ‫و‬ ‫گسترده‬ ‫امکانات‬ ‫دلیل‬ ‫به‬ CircleCI :‫‌پردازیم‬ ‫ی‬‫م‬ 6-1 - ‫‌های‬ ‫ی‬‫ویژگ‬ CircleCI
  • 95.  ‫گیت‬ ‫مخازن‬ ‫با‬ ‫ادغام‬ - CircleCI ‫با‬ ‫کامل‬ ‫طور‬ ‫به‬ GitHub ‫و‬ Bitbucket ،‫مخزن‬ ‫در‬ ‫تغییر‬ ‫هر‬ ‫از‬ ‫پس‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫ادغام‬ .‫کند‬ ‫اجرا‬ ‫را‬ ‫‌ها‬ ‫ن‬‫پایپالی‬  ‫فایل‬ ‫با‬ ‫پیکربندی‬ YAML ‫‌های‬ ‫ی‬‫پیکربند‬ ‫و‬ ‫تنظیمات‬ - CircleCI . ‫فایل‬ ‫طریق‬ ‫از‬ ` circleci/config.yml .‫‌گیرد‬ ‫ی‬‫م‬ ‫قرار‬ ‫مخزن‬ ‫ریشه‬ ‫در‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ` .‫کنید‬ ‫تعریف‬ ‫را‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫مختلف‬ ‫مراحل‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫شما‬ ‫به‬ ‫فایل‬ ‫این‬  ‫مختلف‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬ - CircleCI ‫جمله‬ ‫از‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ن‬‫زبا‬ ‫از‬ ‫‌ای‬ ‫ه‬‫گسترد‬ ‫طیف‬ ‫از‬ JavaScript, Ruby, Python, PHP, Java, Go ‫غیره‬ ‫و‬ , .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬  ‫مختلف‬ ‫‌های‬ ‫ط‬‫محی‬ ‫از‬ ‫پشتیبانی‬ - CircleCI ‫جمله‬ ‫از‬ ‫متنوع‬ ‫ساخت‬ ‫‌های‬ ‫ط‬‫محی‬ ‫از‬ Linux, macOS ‫و‬ , Windows ‫از‬ ‫همچنین‬ .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ Docker .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫سفارشی‬ ‫ساخت‬ ‫‌های‬ ‫ط‬‫محی‬ ‫ایجاد‬ ‫برای‬  ‫همزمان‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ - CircleCI ‫توجهی‬ ‫قابل‬ ‫طور‬ ‫به‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫کانکارنت‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫اجرای‬ ‫امکان‬ .‫دهد‬ ‫کاهش‬  ‫‌ها‬ ‫ی‬‫وابستگ‬ ‫از‬ ‫استفاده‬ ‫باز‬ ‫و‬ ‫کشینگ‬ - CircleCI .‫دهد‬ ‫کاهش‬ ‫را‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫قبلی‬ ‫ساخت‬ ‫نتایج‬ ‫و‬ ‫‌ها‬ ‫ی‬‫وابستگ‬ ‫ذخیره‬ ‫برای‬ ‫کشینگ‬ ‫از‬  ‫مداوم‬ ‫استقرار‬ ‫و‬ ‫ادغام‬ - CircleCI ‫مانند‬ ‫استقرار‬ ‫مختلف‬ ‫‌های‬ ‫س‬‫سروی‬ ‫و‬ ‫ابزارها‬ ‫از‬ AWS, Google Cloud, Heroku, Docker ‫و‬ , Kubernetes .‫کند‬ ‫مستقر‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫گذراندن‬ ‫از‬ ‫پس‬ ‫را‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬  ‫از‬ ‫پشتیبانی‬ Workflows
  • 96. - CircleCI ( ‫کاری‬ ‫‌های‬ ‫ن‬‫جریا‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫امکان‬ workflows ‫مختلفی‬ ‫مراحل‬ ‫شامل‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫پیچیده‬ ) .‫باشد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫از‬  ‫‌دهی‬ ‫ش‬‫گزار‬ ‫و‬ ‫داشبورد‬ - CircleCI ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫و‬ ‫‌ها‬ ‫ت‬‫ساخ‬ ‫وضعیت‬ ‫از‬ ‫دقیق‬ ‫‌دهی‬ ‫ش‬‫گزار‬ ‫و‬ ‫جامع‬ ‫داشبوردی‬ .‫کنند‬ ‫رفع‬ ‫و‬ ‫شناسایی‬ ‫سریعتر‬ ‫را‬ ‫مشکالت‬ ‫‌کند‬ ‫ی‬‫م‬  ‫دسترسی‬ ‫کنترل‬ ‫و‬ ‫امنیت‬ - CircleCI ‫مانند‬ ‫امنیتی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫از‬ SSO، 2FA .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫نقش‬ ‫اساس‬ ‫بر‬ ‫دسترسی‬ ‫کنترل‬ ‫و‬ ،  ‫از‬ ‫پشتیبانی‬ API ‫و‬ CLI - CircleCI ‫از‬ API ‫و‬ CLI ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ،‫‌کند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫سرویس‬ ‫با‬ ‫تعامل‬ ‫و‬ ‫اتوماسیون‬ ‫برای‬ .‫کنند‬ ‫سفارشی‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫خود‬ ‫فرآیندهای‬ 6-2 - ‫مزایا‬ CircleCI  ‫با‬ ‫ساده‬ ‫پیکربندی‬ YAML ‫فایل‬ ‫از‬ ‫استفاده‬ : YAML .‫است‬ ‫آسان‬ ‫آن‬ ‫مدیریت‬ ‫و‬ ‫فهم‬ ‫که‬ ‫پیکربندی‬ ‫برای‬  ‫از‬ ‫قوی‬ ‫پشتیبانی‬ Docker ‫با‬ ‫سفارشی‬ ‫ساخت‬ ‫‌های‬ ‫ط‬‫محی‬ ‫مدیریت‬ ‫و‬ ‫ایجاد‬ : Docker .  ‫با‬ ‫عالی‬ ‫ادغام‬ GitHub ‫و‬ Bitbucket ‫انجام‬ ‫مشکل‬ ‫بدون‬ ‫ادغام‬ ،‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫مخازن‬ ‫این‬ ‫از‬ ‫که‬ ‫کاربرانی‬ ‫برای‬ ‫ویژه‬ ‫به‬ : .‫‌شود‬ ‫ی‬‫م‬  .‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫کاهش‬ ‫برای‬ : ‫کانکارنت‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ 6-3 - :‫معایب‬  ‫از‬ ‫استفاده‬ ‫به‬ ‫مربوط‬ ‫‌های‬ ‫ه‬‫هزین‬ ،‫خصوصی‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫برای‬ :‫بودن‬ ‫‌بر‬ ‫ه‬‫هزین‬ CircleCI .‫باشد‬ ‫باال‬ ‫‌تواند‬ ‫ی‬‫م‬  ‫پیچیده‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫یا‬ ‫بزرگ‬ ‫‌های‬ ‫م‬‫تی‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫که‬ ‫دارد‬ ‫‌هایی‬ ‫ت‬‫محدودی‬ ‫رایگان‬ ‫نسخه‬ :‫رایگان‬ ‫نسخه‬ ‫‌های‬ ‫ت‬‫محدودی‬ .‫نباشد‬ ‫مناسب‬  ‫اینکه‬ ‫دلیل‬ ‫به‬ :‫ابر‬ ‫به‬ ‫وابستگی‬ CircleCI ‫آفالین‬ ‫استفاده‬ ‫برای‬ ‫و‬ ‫دارد‬ ‫اینترنت‬ ‫اتصال‬ ‫به‬ ‫نیاز‬ ،‫است‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ ‫سرویس‬ ‫یک‬ .‫نیست‬ ‫مناسب‬
  • 97. 7 - ‫قابلیتهای‬ ‫بررسی‬ TeamCity TeamCity ‫برای‬ ‫‌پذیر‬ ‫ف‬‫انعطا‬ ‫و‬ ‫قدرتمند‬ ‫ابزار‬ ‫یک‬ CI/CD ،‫مختلف‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬ ‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬ ‫و‬ ‫گسترده‬ ‫امکانات‬ ‫ارائه‬ ‫با‬ ‫که‬ ‫است‬ ‫و‬ ‫بزرگ‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫برای‬ ‫ویژه‬ ‫به‬ ‫ابزار‬ ‫این‬ .‫کنند‬ ‫بهینه‬ ‫را‬ ‫خود‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫فرآیندهای‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ .‫است‬ ‫مناسب‬ ‫پیچیده‬ ‫‌های‬ ‫ه‬‫پروژ‬ TeamCity ‫سرور‬ ‫یک‬ CI/CD ‫شرکت‬ ‫توسط‬ ‫که‬ ‫است‬ ‫‌پذیر‬ ‫ف‬‫انعطا‬ ‫و‬ ‫قدرتمند‬ )‫مداوم‬ ‫تحویل‬/‫مداوم‬ ‫(ادغام‬ JetBrains ‫یافته‬ ‫توسعه‬ ‫و‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫برای‬ ‫‌ای‬ ‫ه‬‫گسترد‬ ‫امکانات‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫کد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫فرآیندهای‬ ‫خودکارسازی‬ ‫برای‬ ‫ابزار‬ ‫این‬ .‫است‬ ‫امکانات‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ TeamCity :‫‌پردازیم‬ ‫ی‬‫م‬ 7-1 - ‫‌های‬ ‫ی‬‫ویژگ‬ TeamCity  ‫مختلف‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬ ‫ن‬‫زبا‬ ‫از‬ ‫پشتیبانی‬ - TeamCity ‫مانند‬ ‫مختلفی‬ ‫‌نویسی‬ ‫ه‬‫برنام‬ ‫‌های‬ ‫ن‬‫زبا‬ ‫از‬ Java, .NET, Ruby, Python, PHP, JavaScript ‫پشتیبانی‬ ‫غیره‬ ‫و‬ ‫مانند‬ ‫متعددی‬ ‫ساخت‬ ‫ابزارهای‬ ‫از‬ ‫همچنین‬ .‫‌کند‬ ‫ی‬‫م‬ Maven, Gradle, Ant, MSBuild ‫و‬ , NAnt .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬  ( ‫نسخه‬ ‫کنترل‬ ‫‌های‬ ‫م‬‫سیست‬ ‫با‬ ‫ادغام‬ VCS ) - TeamCity ‫جمله‬ ‫از‬ ‫مختلف‬ ‫نسخه‬ ‫کنترل‬ ‫‌های‬ ‫م‬‫سیست‬ ‫با‬ Git, Subversion, Mercurial, Perforce ‫و‬ , TFS ‫ادغام‬ .‫کند‬ ‫پردازش‬ ‫و‬ ‫شناسایی‬ ‫را‬ ‫کد‬ ‫مخزن‬ ‫در‬ ‫تغییرات‬ ‫خودکار‬ ‫طور‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬  ‫ساده‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬
  • 98. - TeamCity ‫برای‬ ‫را‬ ‫ابزار‬ ‫این‬ ‫با‬ ‫کار‬ ‫کاربری‬ ‫رابط‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫‌ها‬ ‫ه‬‫پروژ‬ ‫مدیریت‬ ‫و‬ ‫پیکربندی‬ ‫برای‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬ ‫از‬ .‫‌کند‬ ‫ی‬‫م‬ ‫‌تر‬ ‫ن‬‫آسا‬ ‫کاربران‬  ‫از‬ ‫پشتیبانی‬ Docker - TeamCity ‫از‬ Docker ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫امکان‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫سفارشی‬ ‫ساخت‬ ‫‌های‬ ‫ط‬‫محی‬ ‫مدیریت‬ ‫و‬ ‫ایجاد‬ ‫برای‬ .‫کنند‬ ‫اجرا‬ ‫تکرار‬ ‫قابل‬ ‫و‬ ‫ایزوله‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫خود‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬  ‫‌شده‬ ‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ - TeamCity ‫قابل‬ ‫طور‬ ‫به‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫‌شده‬ ‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫اجرای‬ ‫امکان‬ .‫دهد‬ ‫کاهش‬ ‫توجهی‬  ‫‌ها‬ ‫ی‬‫وابستگ‬ ‫از‬ ‫استفاده‬ ‫باز‬ ‫و‬ ‫کشینگ‬ ‫از‬ ‫پشتیبانی‬ - TeamCity ‫طور‬ ‫به‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫ویژگی‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫ساخت‬ ‫زمان‬ ‫کاهش‬ ‫برای‬ ‫‌ها‬ ‫ی‬‫وابستگ‬ ‫از‬ ‫استفاده‬ ‫باز‬ ‫و‬ ‫کشینگ‬ ‫از‬ .‫کند‬ ‫استفاده‬ ‫بعدی‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫در‬ ‫آنها‬ ‫از‬ ‫و‬ ‫ذخیره‬ ‫را‬ ‫ثابت‬ ‫‌های‬ ‫ی‬‫وابستگ‬ ‫خودکار‬  ‫دسترسی‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬ - TeamCity ‫دسترسی‬ ‫سطوح‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ ‫مدیران‬ ‫به‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫نقش‬ ‫اساس‬ ‫بر‬ ‫دسترسی‬ ‫کنترل‬ ‫و‬ ‫مدیریت‬ ‫از‬ .‫کنند‬ ‫تعریف‬ ‫کاربران‬ ‫برای‬ ‫مختلفی‬  ‫‌ها‬ ‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬ ‫ن‬‫پالگی‬ ‫از‬ ‫پشتیبانی‬ - TeamCity ‫این‬ ‫‌های‬ ‫ت‬‫قابلی‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫‌ها‬ ‫ه‬‫افزون‬ ‫و‬ ‫‌ها‬ ‫ن‬‫پالگی‬ ‫از‬ ‫گسترده‬ ‫اکوسیستم‬ ‫یک‬ ‫دارای‬ .‫کنند‬ ‫‌سازی‬ ‫ی‬‫سفارش‬ ‫و‬ ‫دهند‬ ‫گسترش‬ ‫را‬ ‫ابزار‬  ‫از‬ ‫پشتیبانی‬ Workflows ‫پیچیده‬ ‫‌های‬ ‫ن‬‫پایپالی‬ ‫و‬ - TeamCity ( ‫کاری‬ ‫‌های‬ ‫ن‬‫جریا‬ ‫مدیریت‬ ‫و‬ ‫تعریف‬ ‫از‬ workflows ‫شامل‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫پیچیده‬ ‫‌های‬ ‫ن‬‫پایپالی‬ ‫و‬ ) .‫باشد‬ ‫استقرار‬ ‫و‬ ‫تست‬ ،‫ساخت‬ ‫از‬ ‫مختلفی‬ ‫مراحل‬  ‫‌ها‬ ‫ن‬‫اعال‬ ‫و‬ ‫‌دهی‬ ‫ش‬‫گزار‬ - TeamCity ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫نتایج‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫ابزار‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫و‬ ‫‌ها‬ ‫ت‬‫ساخ‬ ‫وضعیت‬ ‫از‬ ‫دقیق‬ ‫‌های‬ ‫ن‬‫اعال‬ ‫و‬ ‫‌ها‬ ‫ش‬‫گزار‬ ،‫ایمیل‬ ‫به‬ Slack .‫کند‬ ‫ارسال‬ ‫ارتباطی‬ ‫ابزارهای‬ ‫سایر‬ ‫و‬
  • 99.  ‫از‬ ‫پشتیبانی‬ API ‫و‬ CLI - TeamCity ‫از‬ API ‫و‬ CLI ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫ویژگی‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫سرویس‬ ‫با‬ ‫تعامل‬ ‫و‬ ‫اتوماسیون‬ ‫برای‬ .‫کنند‬ ‫سفارشی‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫را‬ ‫خود‬ ‫فرآیندهای‬ ‫تا‬ 7-2 - ‫مزایای‬ TeamCity  :‫مختلف‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬ ‫ن‬‫زبا‬ ‫از‬ ‫گسترده‬ ‫پشتیبانی‬ TeamCity .‫است‬ ‫سازگار‬ ‫توسعه‬ ‫ابزارهای‬ ‫و‬ ‫‌ها‬ ‫ن‬‫زبا‬ ‫از‬ ‫بسیاری‬ ‫با‬  .‫‌کند‬ ‫ی‬‫م‬ ‫‌تر‬ ‫ن‬‫آسا‬ ‫کاربران‬ ‫برای‬ ‫را‬ ‫ابزار‬ ‫این‬ ‫با‬ ‫کار‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬ ‫از‬ ‫استفاده‬ :‫آسان‬ ‫و‬ ‫گرافیکی‬ ‫کاربری‬ ‫رابط‬  .‫دهد‬ ‫کاهش‬ ‫را‬ ‫تست‬ ‫و‬ ‫ساخت‬ ‫زمان‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫ویژگی‬ ‫این‬ :‫‌شده‬ ‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫از‬ ‫پشتیبانی‬  :‫مختلف‬ ‫نسخه‬ ‫کنترل‬ ‫‌های‬ ‫م‬‫سیست‬ ‫با‬ ‫ادغام‬ TeamCity .‫‌شود‬ ‫ی‬‫م‬ ‫ادغام‬ ‫مختلف‬ ‫نسخه‬ ‫کنترل‬ ‫‌های‬ ‫م‬‫سیست‬ ‫با‬ ‫خوبی‬ ‫به‬ 7-3 - ‫معایب‬ TeamCity  :‫بودن‬ ‫‌بر‬ ‫ه‬‫هزین‬ TeamCity .‫باشد‬ ‫‌بر‬ ‫ه‬‫هزین‬ ‫مستقل‬ ‫‌های‬ ‫ه‬‫پروژ‬ ‫و‬ ‫کوچک‬ ‫‌های‬ ‫م‬‫تی‬ ‫برای‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫دارد‬ ‫الیسنس‬ ‫خرید‬ ‫به‬ ‫نیاز‬  .‫باشد‬ ‫پیچیده‬ ‫جدید‬ ‫کاربران‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫پیکربندی‬ ‫و‬ ‫اولیه‬ ‫تنظیم‬ :‫‌اندازی‬ ‫ه‬‫را‬ ‫برای‬ ‫اولیه‬ ‫پیچیدگی‬  ‫بیشتری‬ ‫‌افزاری‬ ‫ت‬‫سخ‬ ‫منابع‬ ‫به‬ ‫نیاز‬ ‫است‬ ‫ممکن‬ ،‫‌شده‬ ‫ع‬‫توزی‬ ‫و‬ ‫موازی‬ ‫‌های‬ ‫ت‬‫ساخ‬ ‫اجرای‬ ‫برای‬ :‫باال‬ ‫‌افزاری‬ ‫ت‬‫سخ‬ ‫منابع‬ ‫به‬ ‫نیاز‬ .‫باشد‬ ‫داشته‬
  • 100. 8 - ‫مقایسه‬ Platform ‫ها‬ ‫مختلف‬ ‫پلتفرمهای‬ ‫قابلیتهای‬ ‫بررسی‬ ‫قبل‬ ‫های‬ ‫بخش‬ ‫در‬ Source Control ‫و‬ CI/CD ‫مقایسه‬ ‫بخش‬ ‫این‬ ‫در‬ ‫گردید‬ ‫انجام‬ ،‫مطرح‬ :‫گردد‬ ‫می‬ ‫ارائه‬ ‫ذیل‬ ‫شرح‬ ‫به‬ ‫آنها‬ ‫امکانات‬ ‫و‬ ‫ویژگیها‬ ‫کلی‬ GitLab ‫کامل‬ ‫فرم‬ ‫پلت‬ ‫یک‬ : DevOps ،‫نسخه‬ ‫کنترل‬ ‫شامل‬ CI/CD ‫خود‬ ‫های‬ ‫گزینه‬ ‫با‬ .‫باشد‬ ‫می‬ ‫را‬ ‫پروژه‬ ‫مدیریت‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫میزبانی‬ ‫یا‬ ‫میزبانی‬ GitLab .‫است‬ ‫پذیر‬ ‫انعطاف‬ Azure DevOps ‫برای‬ ‫جامع‬ ‫ای‬ ‫مجموعه‬ : DevOps ‫که‬ CI/CD .‫دهد‬ ‫می‬ ‫پوشش‬ ‫را‬ ‫دیگر‬ ‫موارد‬ ‫و‬ ‫بسته‬ ‫مدیریت‬ ،‫نسخه‬ ‫کنترل‬ ، ‫با‬ ‫کامًال‬ Microsoft Azure .‫شود‬ ‫می‬ ‫ادغام‬ Jenkins : ‫نگهداری‬ ‫و‬ ‫اندازی‬ ‫راه‬ ‫به‬ ‫نیاز‬ ‫اما‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫گسترده‬ ‫طور‬ ‫به‬ .‫گسترده‬ ‫پالگین‬ ‫اکوسیستم‬ ‫با‬ ‫تنظیم‬ ‫قابل‬ ‫بسیار‬ .‫میباشد‬ ‫بیشتری‬ TeamCity ‫قوی‬ ‫های‬ ‫قابلیت‬ ‫دلیل‬ ‫به‬ : CI/CD .‫است‬ ‫شده‬ ‫شناخته‬ ‫سازمانی‬ ‫های‬ ‫محیط‬ ‫در‬ ‫ویژه‬ ‫به‬ ،‫استفاده‬ ‫سهولت‬ ‫و‬ CircleCI ‫از‬ ‫قوی‬ ‫پشتیبانی‬ ‫با‬ ‫ابر‬ ‫بر‬ ‫مبتنی‬ : Docker ‫و‬ Kubernetes .‫است‬ ‫شده‬ ‫طراحی‬ ‫کارآمد‬ ‫و‬ ‫سریع‬ ‫ساخت‬ ‫برای‬ . Travis CI ‫تجربه‬ ،‫باز‬ ‫منبع‬ ‫جامعه‬ ‫در‬ ‫محبوب‬ : CI/CD .‫دهد‬ ‫می‬ ‫ارائه‬ ‫را‬ ‫موازی‬ ‫های‬ ‫ساخت‬ ‫از‬ ‫پشتیبانی‬ ‫با‬ ‫یکپارچه‬ Bamboo ‫مانند‬ ‫اطلسی‬ ‫ابزارهای‬ ‫سایر‬ ‫با‬ ‫خوبی‬ ‫به‬ ‫که‬ ‫اطلسیان‬ ‫محصولی‬ : JIRA ‫و‬ Bitbucket ‫تجربه‬ ‫یک‬ ‫این‬ .‫شود‬ ‫می‬ ‫ادغام‬ ‫جامع‬ CI/CD .‫دهد‬ ‫می‬ ‫ارائه‬ ‫یکپارچه‬ ‫سازی‬ ‫یکپارچه‬ ‫بر‬ ‫تمرکز‬ ‫با‬ ‫قابلیتهای‬ ‫مقایسه‬ ‫بعد‬ ‫صفحه‬ ‫جدول‬ ‫در‬ 7 ‫پلتفرم‬ CI/CD :‫است‬ ‫آمده‬ ‫مستند‬ ‫این‬ ‫در‬ ‫شده‬ ‫معرفی‬
  • 101. ‫پلتفرمهای‬ ‫مقایسه‬ Source Control ‫و‬ CI/CD Feature/Tool GitLab Azure DevOps Jenkins TeamCity CircleCI Travis CI Bamboo Type Web-based Git repository manager with CI/CD DevOps platform with CI/CD, version control, and more Open- source automatio n server CI/CD server CI/CD service CI/CD service CI/CD server Language Support Multi-language support Multi-language support Multi- language support Multi- language support Multi- language support Multi- language support Multi- languag e support Hosting Self-hosted or GitLab-hosted Microsoft Azure (cloud) or on- premises Self- hosted Self-hosted Cloud- based Cloud- based Self- hosted VCS Integration Git Git, TFVC, Subversion, Mercurial Git, Subversio n, Mercurial, CVS Git, Subversion, Mercurial, CVS Git, Bitbucket Git, Bitbucket, GitHub Git, Mercuri al, Subversi on, Perforce Pipeline Configuration YAML configuration files YAML for Pipelines (in Azure Repos or GitHub) Jenkinsfile (Groovy syntax) Kotlin, Groovy, YAML YAML configura tion files YAML configurat ion files GUI- based and YAML Container Support Docker, Kubernetes Docker, Kubernetes Docker, Kubernete s Docker, Kubernetes Docker, Kubernet es Docker Docker, Kuberne tes Scalability Highly scalable with runners Highly scalable Highly scalable with nodes Scalable Highly scalable Highly scalable Scalable User Interface Modern, web- based Modern, web- based Web- based (older UI) Modern, web-based Modern, web- based Modern, web-based Web- based Plugins/ Extensions Rich ecosystem of extensions Extensions available Extensive plugin ecosystem Rich ecosystem of plugins Limited to specific integratio ns Limited to specific integration s Extensiv e plugin ecosyste m Security SSO, 2FA, Role-based permissions SSO, 2FA, Role- based access, Compliance Role- based permissio ns, 2FA (via plugins) Role-based access control SSO, Role- based access control Role- based access control Role- based access control License Open-source Proprietary Open- Proprietary Proprieta Proprietar Propriet
  • 102. Feature/Tool GitLab Azure DevOps Jenkins TeamCity CircleCI Travis CI Bamboo (Community Edition), Paid (Premium) (Paid) source (Paid) ry (Paid) y (Free for open- source projects) ary (Paid) Build Speed Fast, depending on runners and caching Fast, depending on configuration Variable, depends on configurat ion Fast, with appropriate configuration Fast, optimize d for parallel builds Fast, optimized for parallel builds Fast, with appropri ate configur ation Documentation Comprehensiv e, extensive online documentation Comprehensive, extensive online documentation Extensive communit y and official document ation Extensive official documentatio n Compreh ensive online document ation Comprehe nsive online document ation Extensiv e official docume ntation Support Community, Paid support available Paid support, community forums Communit y, Paid support via third parties Paid support Commun ity, Paid support Communit y, Paid support Paid support
  • 104. DevOps ‫تعامل‬ ‫ایجاد‬ ‫و‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫آن‬ ‫اصلی‬ ‫هدف‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مهندسی‬ ‫رویکردهای‬ ‫و‬ ‫‌ها‬ ‫ه‬‫فلسف‬ ،‫ابزار‬ ،‫فرآیندها‬ ‫از‬ ‫مجموعه‬ ‫یک‬ ( ‫ـعه‬ ‫ـ‬‫توس‬ ‫‌های‬ ‫م‬‫تی‬ ‫بین‬ Development ( ‫عملیات‬ ‫و‬ ) Operations ‫ـدف‬ ‫ـ‬‫ه‬ ‫‌ترین‬ ‫ی‬‫ـل‬ ‫ـ‬‫اص‬ .‫ـت‬ ‫ـ‬‫اس‬ ‫سازمان‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫در‬ ) DevOps ‫افزایش‬ .‫است‬ ‫مشتریان‬ ‫به‬ ‫بهتر‬ ‫و‬ ‫سریعتر‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫عملیات‬ ‫بهتر‬ ‫مدیریت‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫ی‬‫توانمند‬ ‫اصلی‬ ‫اصول‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ DevOps :‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫افزایش‬ ‫و‬ ‫خطاها‬ ‫ـاهش‬ ‫ـ‬‫ک‬ ‫ـور‬ ‫ـ‬‫منظ‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫عملیات‬ ‫و‬ ‫ـعه‬ ‫ـ‬‫توس‬ ‫در‬ ‫ـف‬ ‫ـ‬‫مختل‬ ‫وظایف‬ ‫و‬ ‫فرآیندها‬ ‫اجرای‬ ‫برای‬ ‫اتوماتیک‬ ‫‌های‬ ‫ر‬‫ابزا‬ ‫از‬ ‫استفاده‬ :‫اتوماسیون‬ .‫تحویل‬ ‫سرعت‬ ‫ـتراک‬ ‫ـ‬‫اش‬ ‫بـه‬ ‫را‬ ‫تجربیات‬ ‫و‬ ‫اطالعات‬ ‫و‬ ‫‌کننـد‬ ‫ی‬‫م‬ ‫همکـاری‬ ‫یکـدیگر‬ ‫با‬ ‫مـداوم‬ ‫صـورت‬ ‫به‬ ‫عملیات‬ ‫مدیران‬ ‫و‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ :‫همکاری‬ ‫و‬ ‫تعامل‬ .‫‌گذارند‬ ‫ی‬‫م‬ .‫باال‬ ‫کیفیت‬ ‫و‬ ‫باال‬ ‫سرعت‬ ‫با‬ ‫مداوم‬ ‫ارائه‬ ‫و‬ ‫توسعه‬ ‫محیط‬ ‫یک‬ ‫ایجاد‬ ‫برای‬ ‫تالش‬ :‫انطباق‬ ‫ایجاد‬ .‫فرآیندها‬ ‫مستمر‬ ‫بهبود‬ ‫و‬ ‫عملکرد‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫برای‬ ‫‌ها‬ ‫ک‬‫متری‬ ‫و‬ ‫معیارها‬ ‫از‬ ‫استفاده‬ :‫مداوم‬ ‫بهبود‬ ‫و‬ ‫‌گیری‬ ‫ه‬‫انداز‬ .‫کد‬ ‫تغییرات‬ ‫ردیابی‬ ‫و‬ ‫نگهداری‬ ‫برای‬ ‫مشابه‬ ‫ابزارهای‬ ‫و‬ ‫منبع‬ ‫کدهای‬ ‫مدیریت‬ ‫از‬ ‫استفاده‬ :‫منبع‬ ‫کدهای‬ ‫مدیریت‬ DevOps ،‫‌ها‬ ‫ه‬‫هزین‬ ‫افزایش‬ ‫مانند‬ ‫مشکالتی‬ ‫به‬ ‫و‬ ‫کنند‬ ‫عرضه‬ ‫بازار‬ ‫به‬ ‫کیفیت‬ ‫با‬ ‫و‬ ‫سریعتر‬ ‫را‬ ‫خود‬ ‫‌افزارهای‬ ‫م‬‫نر‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫ن‬‫سازما‬ ‫به‬ .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫بازار‬ ‫و‬ ‫مشتریان‬ ‫نیازهای‬ ‫مقابل‬ ‫در‬ ‫تغییر‬ ‫و‬ ‫مداومت‬ ‫امکان‬ ‫همچنین‬ ‫رویکرد‬ ‫این‬ .‫دهند‬ ‫کاهش‬ ‫‌ها‬ ‫ل‬‫تداخ‬ ‫و‬ ‫خطاها‬ DevOps ‫و‬ Microsoft Azure .‫هستند‬ ‫نزدیکی‬ ‫ارتباط‬ ‫دارای‬ Microsoft Azure ‫مایکروسافت‬ ‫شرکت‬ ‫از‬ ‫ـری‬ ‫ـ‬‫اب‬ ‫پلتفرم‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫برنام‬ ‫اجرای‬ ‫امکان‬ ‫که‬ ‫است‬ .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫ابری‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫مختلف‬ ‫خدمات‬ ‫و‬ ‫‌ها‬ ‫ه‬ DevOps ‫رویکرد‬ ‫و‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫فرآینــد‬ ‫یک‬ ‫عنوان‬ ‫به‬ ، ‫خدمات‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌تواند‬ ‫ی‬‫م‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫مهندسی‬ Azure .‫کند‬ ‫تسهیل‬ ‫و‬ ‫یابد‬ ‫بهبود‬ ‫مایکروسافت‬ Azure ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫بــرای‬ ‫را‬ ‫متعــددی‬ ‫‌های‬ ‫س‬‫سروی‬ ‫و‬ ‫ابزارها‬ DevOps ‫قرار‬ ‫عملیات‬ ‫‌های‬ ‫م‬‫تی‬ ‫و‬ ‫‌دهندگان‬ ‫ه‬‫توســع‬ ‫اختیار‬ ‫در‬ :‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫خدمات‬ ‫و‬ ‫ابزارها‬ ‫این‬ ‫از‬ ‫برخی‬ .‫است‬ ‫داده‬ Azure DevOps: Azure DevOps ( ‫ـع‬ ‫ـ‬‫منب‬ ‫کدهای‬ ‫مدیریت‬ ‫مانند‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرآیندهای‬ ‫مدیریت‬ ‫برای‬ ‫کامل‬ ‫پلتفرم‬ ‫یک‬ Source Code Management ( ‫وظــایف‬ ‫مــدیریت‬ ،) Work Item Tracking ،) / ( CI CD Continuous / ) Integration Continuous Deployment .‫است‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫مدیریت‬ ‫و‬ ( ) Azure Kubernetes Service AKS : AKS ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫که‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫اجازه‬ Kubernetes ‫در‬ Azure ‫مستقر‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌ها‬ ‫س‬‫میکروسروی‬ ‫بر‬ ‫مبتنی‬ ‫‌های‬ ‫ه‬‫برنام‬ ‫مدیریت‬ ‫و‬ ‫توسعه‬ ‫به‬ ‫این‬ .‫کنید‬ ‫مدیریت‬ ‫و‬ ‫کنید‬ Azure Monitor ‫و‬ Application Insights ‫در‬ ‫خود‬ ‫‌های‬ ‫ه‬‫برنام‬ ‫عملکرد‬ ‫بر‬ ‫نظارت‬ ‫و‬ ‫مانیتورینگ‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫‌ها‬ ‫س‬‫سروی‬ ‫این‬ : Azure .‫‌دهند‬ ‫ی‬‫م‬ ‫را‬ Azure Resource Manager Templates ‫و‬ ‫‌ها‬ ‫ت‬‫زیرساخ‬ ‫مدیریت‬ ‫منظور‬ ‫به‬ ‫زیرساختی‬ ‫‌های‬ ‫ح‬‫طر‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫ابزار‬ ‫این‬ : .‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫اجرایی‬ ‫‌های‬ ‫ط‬‫محی‬ Azure DevTest Labs ‫در‬ ‫تست‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫ط‬‫محی‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫سرویس‬ ‫این‬ : Azure ‫ـدیریت‬ ‫ـ‬‫م‬ ‫و‬ ‫ایجاد‬ ‫سرعت‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫را‬ .‫کنید‬ ‫که‬ ‫است‬ ‫مشخص‬ ‫‌جا‬ ‫ن‬‫ای‬ ‫از‬ Azure ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫برای‬ ‫را‬ ‫متعددی‬ ‫خدمات‬ ‫و‬ ‫ابزارها‬ DevOps ‫‌تر‬ ‫ه‬‫ساد‬ ‫باعث‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫ابری‬ ‫محیط‬ ‫در‬ .‫‌شود‬ ‫ی‬‫م‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫عرضه‬ ‫و‬ ‫توسعه‬ ‫فرآیند‬ ‫شدن‬ Docker ‫مفاهیم‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫نیز‬ DevOps ‫از‬ ‫استفاده‬ ‫و‬ Microsoft Azure .‫‌کنـد‬ ‫ی‬‫م‬ ‫ایفـا‬ Docker ‫مـدیریت‬ ‫پلتفرم‬ ‫یـک‬ ‫کانتینرها‬ .‫ـد‬ ‫ـ‬‫‌کن‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫ـانتینری‬ ‫ـ‬‫ک‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫خدمات‬ ‫و‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫اجرای‬ ‫امکان‬ ‫عملیات‬ ‫‌های‬ ‫م‬‫تی‬ ‫و‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫که‬ ‫است‬ ‫کانتینر‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫برنامه‬ ‫یک‬ ‫اجرای‬ ‫برای‬ ‫الزم‬ ‫‌های‬ ‫ی‬‫وابستگ‬ ‫تمام‬ ‫و‬ ‫تنظیمات‬ ،‫‌ها‬ ‫ه‬‫کتابخان‬ ،‫منبع‬ ‫کدهای‬ ‫شامل‬ ‫که‬ ‫هستند‬ ‫مستقلی‬ ‫‌های‬ ‫ط‬‫محی‬ ‫با‬ ‫ارتباط‬ ‫در‬ DevOps ‫و‬ Azure، Docker :‫است‬ ‫زیر‬ ‫‌های‬ ‫ت‬‫اهمی‬ ‫دارای‬
  • 105. ‫محیط‬ ‫از‬ ‫استقالل‬ ‫از‬ ‫استفاده‬ ‫با‬ : Docker ،‫ـت‬ ‫ـ‬‫تس‬ ،‫ـعه‬ ‫ـ‬‫(توس‬ ‫محیطی‬ ‫هر‬ ‫در‬ ‫ـه‬ ‫ـ‬‫ک‬ ‫بسازید‬ ‫کانتینرها‬ ‫صورت‬ ‫به‬ ‫را‬ ‫خدمات‬ ‫و‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫‌توانید‬ ‫ی‬‫م‬ ، .‫شوند‬ ‫ارائه‬ ‫‌ها‬ ‫ط‬‫محی‬ ‫اختالف‬ ‫از‬ ‫نگرانی‬ ‫بدون‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫که‬ ‫‌کند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫اجرا‬ ‫یکسان‬ ‫صورت‬ ‫به‬ )‫تولید‬ ( ‫مداوم‬ ‫ادغام‬ CI ‫زیرساختی‬ ‫‌های‬ ‫ف‬‫توصی‬ ‫و‬ ) ‫از‬ ‫استفاده‬ ‫با‬ : Docker ‫فرآیند‬ ‫در‬ / CI CD ‫ـل‬ ‫ـ‬‫قاب‬ ‫ـدهای‬ ‫ـ‬‫واح‬ ‫ـوان‬ ‫ـ‬‫عن‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫را‬ ‫کانتینرها‬ ‫‌توانید‬ ‫ی‬‫م‬ ، ‫ـد‬ ‫ـ‬‫مانن‬ ‫زیرساختی‬ ‫‌های‬ ‫ف‬‫ـی‬ ‫ـ‬‫توص‬ ‫از‬ ‫و‬ ‫کنید‬ ‫استفاده‬ ‫تست‬ ‫و‬ ‫اجرا‬ Dockerfile ‫و‬ ‫ـیف‬ ‫ـ‬‫توص‬ ‫را‬ ‫ـرایی‬ ‫ـ‬‫اج‬ ‫‌های‬ ‫ط‬‫محی‬ ‫و‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫ـا‬ ‫ـ‬‫ت‬ ‫ـد‬ ‫ـ‬‫ببری‬ ‫ـره‬ ‫ـ‬‫به‬ .‫کنید‬ ‫مدیریت‬ ‫منابع‬ ‫بهتر‬ ‫توزیع‬ ‫و‬ ‫مدیریت‬ : Docker ‫(مانند‬ ‫سیستمی‬ ‫منابع‬ ‫تا‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫شما‬ ‫به‬ CPU ‫‌ها‬ ‫ه‬‫برنام‬ ‫و‬ ‫ـد‬ ‫ـ‬‫کنی‬ ‫ـدیریت‬ ‫ـ‬‫م‬ ‫بهتر‬ ‫را‬ )‫حافظه‬ ‫و‬ ‫مانند‬ ‫ابری‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫مهمی‬ ‫منابع‬ ‫‌وری‬ ‫ه‬‫بهر‬ ‫در‬ ‫بهبود‬ ‫این‬ .‫کنید‬ ‫اجرا‬ ‫یکدیگر‬ ‫از‬ ‫مستقل‬ ‫صورت‬ ‫به‬ ‫را‬ Microsoft Azure .‫دارد‬ ‫ابری‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫استفاده‬ : Microsoft Azure ‫از‬ ‫ـیز‬ ‫ـ‬‫ن‬ Docker ‫و‬ Kubernetes ‫در‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫ـدیریت‬ ‫ـ‬‫م‬ ‫و‬ ‫کانتینرها‬ ‫ـرای‬ ‫ـ‬‫اج‬ ‫ـرای‬ ‫ـ‬‫ب‬ .‫‌کند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫ابری‬ ‫‌های‬ ‫ط‬‫محی‬ ( ) Azure Kubernetes Service AKS ‫در‬ ‫کانتینرها‬ ‫مدیریت‬ ‫سرویس‬ ‫یک‬ ‫عنوان‬ ‫به‬ Azure ‫از‬ ، Docker .‫‌برد‬ ‫ی‬‫م‬ ‫بهره‬ ،‫کلی‬ ‫طــور‬ ‫بــه‬ Docker ‫‌های‬ ‫ط‬‫محی‬ ‫مــدیریت‬ ‫و‬ ‫ایجاد‬ ‫در‬ ‫اساســی‬ ‫ابزارهای‬ ‫از‬ ‫یکی‬ DevOps ‫ماننــد‬ ‫ابــری‬ ‫‌های‬ ‫م‬‫پلتفر‬ ‫با‬ ‫ارتباط‬ ‫در‬ ‫و‬ Microsoft Azure ‫فرآیند‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫مدیریت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫توسعه‬ ‫اصلی‬ ‫واحدهای‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫کانتینرها‬ ‫ابزار‬ ‫این‬ .‫است‬ / CI CD ‫و‬ .‫‌کند‬ ‫ی‬‫م‬ ‫‌تر‬ ‫ه‬‫ساد‬ ‫را‬ ‫مداوم‬ ‫ادغام‬ ،‫تنظیمات‬ ،‫‌ها‬ ‫ه‬‫کتابخان‬ ،‫ـع‬ ‫ـ‬‫منب‬ ‫ـدهای‬ ‫ـ‬‫ک‬ ‫تمامی‬ ‫ـه‬ ‫ـ‬‫ک‬ ‫ـت‬ ‫ـ‬‫اس‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫ـدمات‬ ‫ـ‬‫خ‬ ‫و‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫ـرای‬ ‫ـ‬‫اج‬ ‫ـرای‬ ‫ـ‬‫ب‬ ‫ـه‬ ‫ـ‬‫جداگان‬ ‫و‬ ‫ـه‬ ‫ـ‬‫ایزول‬ ‫محیط‬ ‫یک‬ ‫کانتینر‬ ‫بــه‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫که‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کانتینرها‬ .‫‌شود‬ ‫ی‬‫م‬ ‫شامل‬ ‫را‬ ‫است‬ ‫نیاز‬ ‫مورد‬ ‫برنامه‬ ‫یک‬ ‫اجرای‬ ‫برای‬ ‫که‬ ‫چیزی‬ ‫همه‬ ‫و‬ ،‫‌ها‬ ‫ی‬‫وابستگ‬ .‫کنند‬ ‫عمل‬ ‫یکسان‬ ‫شکل‬ ‫یک‬ ‫به‬ ،‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫کانتینرها‬ ‫از‬ ‫که‬ ‫محیطی‬ ‫هر‬ ‫در‬ ‫و‬ ‫شوند‬ ‫اجرا‬ ‫معتبر‬ ‫و‬ ‫مستقل‬ ‫صورت‬ ‫از‬ ‫و‬ ‫ایجاد‬ ‫سرعت‬ ‫بـه‬ ‫و‬ ‫خودکـار‬ ‫صـورت‬ ‫بـه‬ ‫کانتینرها‬ ،‫‌کننـد‬ ‫ی‬‫م‬ ‫ایجاد‬ ‫را‬ ‫مجازی‬ ‫و‬ ‫کامـل‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫که‬ ‫مجازی‬ ‫‌های‬ ‫ن‬‫ماشی‬ ‫برخالف‬ :‫هستند‬ ‫زیر‬ ‫موارد‬ ‫شامل‬ ‫کانتینری‬ ‫اصول‬ ‫و‬ ‫‌ها‬ ‫ت‬‫مزی‬ ‫این‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫مشترکی‬ ‫میزبان‬ ‫‌عامل‬ ‫م‬‫سیست‬ ‫حملیت‬ ‫قابل‬ ‫ـل‬ ‫ـ‬‫نق‬ ‫و‬ ‫ـل‬ ‫ـ‬‫حم‬ ‫و‬ ‫ـتفاده‬ ‫ـ‬‫اس‬ ‫ـل‬ ‫ـ‬‫قاب‬ ،)‫ـدوز‬ ‫ـ‬‫وین‬ ‫و‬ ‫ـوکس‬ ‫ـ‬‫لین‬ ‫ـوًال‬ ‫ـ‬‫(معم‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫از‬ ‫که‬ ‫‌هایی‬ ‫ط‬‫محی‬ ‫همه‬ ‫برای‬ ‫کانتینرها‬ : .‫هستند‬ ‫‌سازی‬ ‫ه‬‫ایزول‬ ‫اصل‬ ‫‌ناپـذیر‬ ‫ب‬‫اجتنا‬ ‫منـابع‬ ‫ـداخل‬ ‫ـ‬‫ت‬ ‫و‬ ‫‌ها‬ ‫ل‬‫ـداخ‬ ‫ـ‬‫ت‬ ‫کـه‬ ‫است‬ ‫این‬ ‫معنای‬ ‫به‬ ‫این‬ .‫‌کند‬ ‫ی‬‫م‬ ‫عمل‬ ‫جداگانه‬ ‫کانتینرها‬ ‫دیگر‬ ‫از‬ ‫کانتینر‬ ‫هر‬ : .‫دارند‬ ‫کمتری‬ ‫سرعت‬ .‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫زیرساختی‬ ‫‌های‬ ‫ف‬‫توصی‬ ‫و‬ ‫سریع‬ ‫توسعه‬ ‫برای‬ ‫اجرا‬ ‫سرعت‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫اجرا‬ ‫و‬ ‫ایجاد‬ ‫سرعت‬ ‫به‬ ‫کانتینرها‬ : ( ‫مداوم‬ ‫ادغام‬ CI ( ‫مداوم‬ ‫تحویل‬ ‫و‬ ) CD ) ‫فرآیندهای‬ ‫در‬ ‫استاندارد‬ ‫واحدهای‬ ‫عنوان‬ ‫به‬ ‫کانتینرها‬ : / CI CD ‫این‬ .‫ـد‬ ‫ـ‬‫‌گیرن‬ ‫ی‬‫م‬ ‫قرار‬ ‫ـتفاده‬ ‫ـ‬‫اس‬ ‫مورد‬ .‫‌دهید‬ ‫ی‬‫م‬ ‫تحویل‬ ‫و‬ ‫تست‬ ‫سرعت‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫که‬ ‫است‬ ‫این‬ ‫معنای‬ ‫به‬ ‫مقیاس‬ ‫ایجاد‬ ‫و‬ ‫مدیریت‬ ( ‫افقی‬ ‫مقیاس‬ ‫ایجاد‬ ‫و‬ ‫آسان‬ ‫مدیریت‬ ‫امکان‬ ‫شما‬ ‫به‬ ‫کانتینرها‬ : Scaling .‫‌دهند‬ ‫ی‬‫م‬ ‫را‬ ‫‌ها‬ ‫ه‬‫برنام‬ ) ‫مانند‬ ‫معروف‬ ‫‌های‬ ‫ه‬‫برنام‬ Docker ‫و‬ Kubernetes ‫و‬ ‫‌دهندگان‬ ‫ه‬‫ـع‬ ‫ـ‬‫توس‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫و‬ ‫‌برند‬ ‫ی‬‫م‬ ‫بهره‬ ‫مفاهیم‬ ‫این‬ ‫از‬ ‫کانتینری‬ ‫‌های‬ ‫م‬‫پلتفر‬ ‫عنوان‬ ‫به‬ .‫کنند‬ ‫اجرا‬ ‫و‬ ‫مدیریت‬ ‫کانتینرها‬ ‫شکل‬ ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫برنام‬ ‫تا‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کمک‬ ‫عملیات‬ ‫‌های‬ ‫م‬‫تی‬ CI ‫عبارت‬ ‫مخفف‬ " Continuous Integration ‫در‬ ‫اصطالح‬ ‫این‬ .‫‌باشد‬ ‫ی‬‫م‬ " DevOps ‫‌رود‬ ‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرآیندهای‬ ‫و‬ ‫انجام‬ ‫ـار‬ ‫ـ‬‫خودک‬ ‫ـورت‬ ‫ـ‬‫ص‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫و‬ ‫مکرر‬ ‫ـورت‬ ‫ـ‬‫ص‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫توسعه‬ ‫تیم‬ ‫اعضای‬ ‫توسط‬ ‫منبع‬ ‫کدهای‬ ‫تجمیع‬ ‫و‬ ‫تغییرات‬ ‫آن‬ ‫در‬ ‫که‬ ‫دارد‬ ‫اشاره‬ ‫فرآیندی‬ ‫به‬ ‫و‬ .‫‌شود‬ ‫ی‬‫م‬ ‫اصلی‬ ‫هدف‬ CI ‫این‬ .‫شوند‬ ‫تست‬ ‫و‬ ‫تجمیع‬ )‫روز‬ ‫در‬ ‫بار‬ ‫چند‬ ‫(معموًال‬ ‫مکرر‬ ‫صورت‬ ‫به‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫توسط‬ ‫منبع‬ ‫کد‬ ‫در‬ ‫تغییرات‬ ‫که‬ ‫است‬ ‫این‬ ( ‫‌افزار‬ ‫م‬‫نر‬ ‫ـل‬ ‫ـ‬‫تحوی‬ ‫ـد‬ ‫ـ‬‫فرآین‬ ‫تسریع‬ ‫و‬ ،‫‌افزار‬ ‫م‬‫نر‬ ‫کیفیت‬ ‫افزایش‬ ،‫کد‬ ‫در‬ ‫اشکاالت‬ ‫و‬ ‫مشکالت‬ ‫زودهنگام‬ ‫کشف‬ ‫به‬ ‫اقدام‬ CD .‫ـد‬ ‫ـ‬‫‌کن‬ ‫ی‬‫م‬ ‫ـک‬ ‫ـ‬‫کم‬ ) CI ‫ـایج‬ ‫ـ‬‫نت‬ ‫از‬ ‫‌هایی‬ ‫ش‬‫گزار‬ ‫و‬ ‫ـد‬ ‫ـ‬‫‌کنن‬ ‫ی‬‫م‬ ‫اجرا‬ ‫تستی‬ ‫محیط‬ ‫یک‬ ‫در‬ ‫را‬ ‫تغییرات‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫اتوماتیک‬ ‫‌های‬ ‫م‬‫سیست‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫معموًال‬ .‫‌دهند‬ ‫ی‬‫م‬ ‫ارائه‬ ‫تیم‬ ‫به‬
  • 106. CI ‫اصول‬ ‫از‬ ‫یکی‬ DevOps ‫مشــکالت‬ ‫و‬ ‫‌ها‬ ‫ل‬‫تــداخ‬ ‫از‬ ‫و‬ ‫دهند‬ ‫ارائه‬ ‫را‬ ‫تغییرات‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫تا‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫و‬ ‫است‬ ‫‌های‬ ‫ط‬‫محی‬ ‫و‬ ‫ابری‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫همچنین‬ ‫و‬ ‫بزرگ‬ ‫‌های‬ ‫س‬‫مقیا‬ ‫در‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫برای‬ ‫اساسی‬ ‫فرآیند‬ ‫این‬ .‫کنند‬ ‫جلوگیری‬ ‫توسعه‬ ‫فرآیند‬ ‫در‬ .‫است‬ ‫مجازی‬ CD ‫عبارت‬ ‫مخفف‬ " Continuous Delivery ‫یا‬ " " Continuous Deployment ‫نوعی‬ ‫به‬ ‫مفهوم‬ ‫دو‬ ‫این‬ ‫اگرچه‬ ،‫‌باشد‬ ‫ی‬‫م‬ " :‫هستند‬ ‫متفاوت‬ ( ) Continuous Delivery CD : Continuous Delivery ‫ـتقرار‬ ‫ـ‬‫اس‬ ‫و‬ ‫تست‬ ‫‌های‬ ‫ط‬‫محی‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مداوم‬ ‫تحویل‬ ‫معنای‬ ‫به‬ ‫فرآیند‬ ‫از‬ ‫پس‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تغییرات‬ ،‫مدل‬ ‫این‬ ‫در‬ .‫‌باشد‬ ‫ی‬‫م‬ ( ) Continuous Integration CI ‫محیـط‬ ‫در‬ ‫اتوماتیـک‬ ‫‌های‬ ‫ت‬‫تسـ‬ ‫انجام‬ ‫و‬ ‫مکرر‬ ‫ـورت‬ ‫ـ‬‫ص‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫ـه‬ ‫ـ‬‫ک‬ ‫ـد‬ ‫ـ‬‫‌ده‬ ‫ی‬‫م‬ ‫اجازه‬ ‫‌دهندگان‬ ‫ه‬‫ـع‬ ‫ـ‬‫توس‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫این‬ .‫ـد‬ ‫ـ‬‫‌گیرن‬ ‫ی‬‫نم‬ ‫قرار‬ ‫تولید‬ ‫محیط‬ ‫یا‬ ‫مشتریان‬ ‫دسترس‬ ‫در‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ،‫تست‬ .‫‌گیرند‬ ‫ی‬‫م‬ ‫دستی‬ ‫صورت‬ ‫به‬ ‫تولید‬ ‫محیط‬ ‫به‬ ‫انتقال‬ ‫مورد‬ ‫در‬ ‫تصمیمی‬ ‫اما‬ ،‫دهند‬ ‫ارائه‬ ‫تست‬ ‫‌های‬ ‫ط‬‫محی‬ ‫در‬ ‫را‬ ‫جدید‬ ‫تغییرات‬ ( ) Continuous Deployment CD : Continuous Deployment ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تغییرات‬ ‫خودکار‬ ‫و‬ ‫مداوم‬ ‫تحویل‬ ‫معنای‬ ‫به‬ ‫از‬ ‫پس‬ ‫تغییرات‬ ،‫مدل‬ ‫این‬ ‫در‬ .‫‌باشد‬ ‫ی‬‫م‬ ‫تولید‬ ‫محیط‬ CI ‫تولیـد‬ ‫محیـط‬ ‫بـه‬ ‫انسانی‬ ‫مداخلـه‬ ‫بـه‬ ‫نیاز‬ ‫بدون‬ ‫و‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫‌ها‬ ‫ت‬‫تس‬ ‫انجام‬ ‫و‬ .‫کنند‬ ‫منتقل‬ ‫مشتریان‬ ‫به‬ ‫بالفاصله‬ ‫را‬ ‫تغییرات‬ ‫‌دهد‬ ‫ی‬‫م‬ ‫امکان‬ ‫‌دهندگان‬ ‫ه‬‫توسع‬ ‫به‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫منتقل‬ ‫اصلی‬ ‫هدف‬ CD ‫از‬ ‫بخش‬ ‫(مهمترین‬ DevOps ‫با‬ .‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تحویل‬ ‫به‬ ‫اعتماد‬ ‫و‬ ‫سرعت‬ ‫افزایش‬ ) CI ‫و‬ CD ‫سرعت‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫ـد‬ ‫ـ‬‫ک‬ ‫ـیرات‬ ‫ـ‬‫تغی‬ ، ‫و‬ ‫تست‬ ،‫تجمیع‬ DevOps ‫مـوفقیت‬ ‫در‬ ‫مهمی‬ ‫نقش‬ ‫پروژه‬ ‫مدیر‬ ‫اما‬ ،‫دارد‬ ‫تاکید‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرآیند‬ ‫یک‬ ‫و‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مهندسی‬ ‫رویکرد‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫معموًال‬ DevOps ‫اجرای‬ ‫در‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫پروژه‬ ‫مدیر‬ ‫یک‬ ‫چگونه‬ ‫که‬ ‫‌دهم‬ ‫ی‬‫م‬ ‫توضیح‬ ‫اینجا‬ ‫در‬ .‫‌کند‬ ‫ی‬‫م‬ ‫ایفا‬ DevOps :‫کند‬ ‫بازی‬ ‫نقش‬ ‫‌آمیز‬ ‫ت‬‫موفقی‬ ‫استراتژی‬ ‫تعیین‬ DevOps ‫راهبرد‬ ‫و‬ ‫استراتژی‬ ‫تعیین‬ ‫مسئول‬ ‫پروژه‬ ‫مدیر‬ : DevOps ‫ـه‬ ‫ـ‬‫چگون‬ ‫ـه‬ ‫ـ‬‫ک‬ ‫کند‬ ‫مشخص‬ ‫باید‬ ‫او‬ .‫است‬ ‫پروژه‬ ‫برای‬ DevOps .‫شود‬ ‫انجام‬ ‫باید‬ ‫‌ها‬ ‫م‬‫تی‬ ‫و‬ ‫فرآیندها‬ ‫در‬ ‫تغییراتی‬ ‫چگونه‬ ‫و‬ ‫شد‬ ‫خواهد‬ ‫اجرا‬ ‫‌اش‬ ‫ه‬‫پروژ‬ ‫و‬ ‫سازمان‬ ‫در‬ ‫منابع‬ ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫مدیریت‬ ‫با‬ ‫مرتبط‬ ‫‌های‬ ‫م‬‫تی‬ ‫تعیین‬ ‫و‬ ‫منابع‬ ‫تخصیص‬ ‫مسئول‬ ‫پروژه‬ ‫مدیر‬ : DevOps ‫تیم‬ ‫اعضای‬ ‫که‬ ‫کند‬ ‫تضمین‬ ‫باید‬ ‫او‬ .‫است‬ ‫استراتژی‬ ‫بر‬ ‫منطبق‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ DevOps .‫باشند‬ ‫داشته‬ ‫را‬ ‫مداوم‬ ‫تعامل‬ ‫و‬ ‫همکاری‬ ‫توانایی‬ ‫و‬ ‫باشند‬ ‫مشکالت‬ ‫و‬ ‫مخاطرات‬ ‫مدیریت‬ ‫او‬ .‫ـد‬ ‫ـ‬‫کن‬ ‫ـدیریت‬ ‫ـ‬‫م‬ ‫را‬ ‫ـیر‬ ‫ـ‬‫تغی‬ ‫مدیریت‬ ‫و‬ ‫کیفیت‬ ،‫امنیت‬ ،‫تولید‬ ‫و‬ ‫توسعه‬ ‫مشکالت‬ ‫مانند‬ ‫مسائلی‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ : .‫دهد‬ ‫انجام‬ ‫را‬ ‫مشکالت‬ ‫حل‬ ‫و‬ ‫ریسک‬ ‫مدیریت‬ ‫با‬ ‫مرتبط‬ ‫اقدامات‬ ‫نزدیک‬ ‫از‬ ‫باید‬ ‫هماهنگی‬ ‫و‬ ‫ارتباطات‬ ‫به‬ ‫تغییرات‬ ‫و‬ ‫اطالعات‬ ‫که‬ ‫کند‬ ‫تضمین‬ ‫باید‬ ‫او‬ .‫است‬ ‫عملیات‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫بین‬ ‫مداوم‬ ‫ارتباطات‬ ‫مسئول‬ ‫پروژه‬ ‫مدیر‬ : .‫‌شود‬ ‫ی‬‫م‬ ‫حفظ‬ ‫تیم‬ ‫دو‬ ‫این‬ ‫بین‬ ‫هماهنگی‬ ‫و‬ ‫‌شوند‬ ‫ی‬‫م‬ ‫منتقل‬ ‫درستی‬ ‫ارزیابی‬ ‫و‬ ‫‌گیری‬ ‫ه‬‫انداز‬ ‫عملکرد‬ ‫‌گیری‬ ‫ه‬‫ـداز‬ ‫ـ‬‫ان‬ ‫برای‬ ‫‌ها‬ ‫ک‬‫متری‬ ‫و‬ ‫ابزارها‬ ‫از‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ : DevOps ‫ـد‬ ‫ـ‬‫بای‬ ‫او‬ .‫ـد‬ ‫ـ‬‫کن‬ ‫ـتفاده‬ ‫ـ‬‫اس‬ ‫ـتمر‬ ‫ـ‬‫مس‬ ‫ـود‬ ‫ـ‬‫بهب‬ ‫و‬ .‫کند‬ ‫اتخاذ‬ ‫مناسبی‬ ‫تصمیمات‬ ‫و‬ ‫کند‬ ‫ارزیابی‬ ‫را‬ ‫ضعف‬ ‫نقاط‬ ‫و‬ ‫‌ها‬ ‫ت‬‫پیشرف‬ ‫آموزش‬ ‫و‬ ‫تحقیق‬ ‫با‬ ‫مرتبط‬ ‫تحقیقات‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ : DevOps ‫ـوزش‬ ‫ـ‬‫آم‬ ‫ـود‬ ‫ـ‬‫خ‬ ‫‌های‬ ‫ت‬‫مهار‬ ‫‌روزرسانی‬ ‫ه‬‫ب‬ ‫برای‬ ‫را‬ ‫تیم‬ ‫اعضای‬ ‫و‬ ‫کند‬ ‫دنبال‬ ‫را‬ .‫دهد‬ ‫مداوم‬ ‫تحویل‬ ‫فرآیند‬ ‫از‬ ‫حمایت‬ ( ‫مداوم‬ ‫تحویل‬ ‫فرآیند‬ ‫که‬ ‫شود‬ ‫مطمئن‬ ‫باید‬ ‫پروژه‬ ‫مدیر‬ : CD ‫ـه‬ ‫ـ‬‫ب‬ ‫ـیرات‬ ‫ـ‬‫تغی‬ ‫و‬ ‫دارد‬ ‫ـه‬ ‫ـ‬‫ادام‬ ‫ـداوم‬ ‫ـ‬‫م‬ ‫ـورت‬ ‫ـ‬‫ص‬ ‫ـه‬ ‫ـ‬‫ب‬ ) .‫‌گیرند‬ ‫ی‬‫م‬ ‫نظر‬ ‫تحت‬ ‫تولید‬ ‫محیط‬ ‫ـوفقیت‬ ‫ـ‬‫م‬ ‫در‬ ‫کلیدی‬ ‫نقش‬ ‫ایفای‬ ‫پروژه‬ ‫مدیر‬ ،‫‌ها‬ ‫ت‬‫مسئولی‬ ‫و‬ ‫وظایف‬ ‫این‬ ‫با‬ DevOps ‫ـدیریت‬ ‫ـ‬‫م‬ ‫ـمت‬ ‫ـ‬‫س‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫را‬ ‫ـدها‬ ‫ـ‬‫فرآین‬ ‫و‬ ‫‌ها‬ ‫م‬‫تی‬ ‫ـد‬ ‫ـ‬‫بای‬ ‫و‬ ‫دارد‬ .‫کند‬ ‫هدایت‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫بهبود‬ ‫و‬ ‫مداوم‬ ‫تغییرات‬ " Domain Model ‫در‬ " Rational Rose ( ‫ـه‬ ‫ـ‬‫دامن‬ ‫یا‬ ‫سیستم‬ ‫یک‬ ‫اجزای‬ ‫از‬ ‫مفهومی‬ ‫مدل‬ ‫یک‬ Domain ‫ـدل‬ ‫ـ‬‫م‬ ‫این‬ .‫ـد‬ ‫ـ‬‫‌باش‬ ‫ی‬‫م‬ )
  • 107. .‫ـد‬ ‫ـ‬‫‌کن‬ ‫ی‬‫م‬ ‫فراهم‬ ‫را‬ ‫نظر‬ ‫مورد‬ ‫دامنه‬ ‫در‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫میان‬ ‫ارتباطات‬ ‫و‬ ‫اصلی‬ ‫مفاهیم‬ ‫نمایش‬ Rational Rose ‫ـعه‬ ‫ـ‬‫توس‬ ‫و‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫ـک‬ ‫ـ‬‫ی‬ .‫‌گیرد‬ ‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫سیستم‬ ‫یک‬ ‫از‬ ‫مختلفی‬ ‫‌های‬ ‫ل‬‫مد‬ ‫ایجاد‬ ‫برای‬ ‫آن‬ ‫از‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫در‬ ‫دامنه‬ ‫مدل‬ ‫یک‬ ‫در‬ Rational Rose ‫ـورد‬ ‫ـ‬‫م‬ ‫در‬ ‫ـیحاتی‬ ‫ـ‬‫توض‬ ‫ـه‬ ‫ـ‬‫ادام‬ ‫در‬ .‫ـوند‬ ‫ـ‬‫‌ش‬ ‫ی‬‫م‬ ‫ـیف‬ ‫ـ‬‫توص‬ ‫ارتباطات‬ ‫و‬ ‫نمادها‬ ‫وسیله‬ ‫به‬ ‫اصلی‬ ‫مفاهیم‬ ، ‫یک‬ ‫در‬ ‫‌توان‬ ‫ی‬‫م‬ ‫که‬ ‫مفاهیمی‬ ‫و‬ ‫نمادها‬ Domain Model ‫در‬ Rational Rose :‫است‬ ‫شده‬ ‫آورده‬ ،‫کرد‬ ‫استفاده‬ ( ‫‌ها‬ ‫س‬‫کال‬ Classes ) ( ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫شــامل‬ ‫کالس‬ ‫هر‬ .‫هســتند‬ ‫دامنــه‬ ‫در‬ ‫اصــلی‬ ‫مفــاهیم‬ ‫نمایانگر‬ ‫‌ها‬ ‫س‬‫کال‬ : Attributes ( ‫عملکردها‬ ‫و‬ ) Methods .‫شوند‬ ‫داده‬ ‫نمایش‬ ‫‌ها‬ ‫س‬‫کال‬ ‫صورت‬ ‫به‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫‌ها‬ ‫م‬‫مفهو‬ .‫‌شود‬ ‫ی‬‫م‬ ) ( ‫ارتباطات‬ Relationships ) ( ‫‌بـری‬ ‫ث‬‫ار‬ ‫شـامل‬ ‫‌تواننـد‬ ‫ی‬‫م‬ ‫ارتباطـات‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫داده‬ ‫نمایش‬ ‫‌ها‬ ‫س‬‫کال‬ ‫میان‬ ‫ارتباطات‬ ،‫دامنه‬ ‫مدل‬ ‫در‬ : Inheritance ( ‫اشتراک‬ ،) Association ( ‫‌ای‬ ‫ه‬‫کران‬ ‫تک‬ ،) Aggregation ( ‫‌ای‬ ‫ه‬‫کران‬ ‫و‬ ) Composition .‫باشند‬ ) ( ‫‌ها‬ ‫ی‬‫ویژگ‬ Attributes ) ‫کالس‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫ـرای‬ ‫ـ‬‫ب‬ ‫ـه‬ ‫ـ‬‫دامن‬ ‫ـدل‬ ‫ـ‬‫م‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫در‬ ‫مثًال‬ .‫ـتند‬ ‫ـ‬‫هس‬ ‫کالس‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫از‬ ‫مهمی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫‌دهنده‬ ‫ن‬‫ـا‬ ‫ـ‬‫نش‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ : .‫باشند‬ ‫داشته‬ ‫وجود‬ ‫است‬ ‫ممکن‬ ‫سرعت‬ ‫و‬ ‫مدل‬ ، ‫رنگ‬ ‫مانند‬ ‫‌هایی‬ ‫ی‬‫ویژگ‬ ، ‫خودرو‬ " " " " " " " " ( ‫روابط‬ Associations ) ‫چگونگی‬ ‫مانند‬ ‫اضافی‬ ‫‌های‬ ‫ی‬‫ویژگ‬ ‫دارای‬ ‫‌توانند‬ ‫ی‬‫م‬ .‫هستند‬ ‫کالس‬ ‫چند‬ ‫یا‬ ‫دو‬ ‫میان‬ ‫ارتباط‬ ‫نمایانگر‬ ‫ارتباطات‬ ‫این‬ : .‫باشند‬ ‫ارتباط‬ ‫نوع‬ ‫و‬ ‫تعداد‬ ،‫ارتباط‬ ( ‫ـتراک‬ ‫ـ‬‫اش‬ Aggregation ( ‫‌ای‬ ‫ه‬‫کران‬ ‫و‬ ) Composition ) .‫هســتند‬ ‫‌ها‬ ‫س‬‫کال‬ ‫بین‬ ‫مراتبی‬ ‫سلســله‬ ‫ـات‬ ‫ـ‬‫ارتباط‬ ‫نمایانگر‬ ‫ـات‬ ‫ارتباطـ‬ ‫این‬ : Aggregation .‫است‬ ‫شده‬ ‫‌بندی‬ ‫ی‬‫‌بند‬ ‫ه‬‫درج‬ ‫کالسی‬ ‫با‬ ‫کالسی‬-‫به‬-‫کالسی‬ ‫ارتباط‬ ‫یک‬ ‫‌دهنده‬ ‫ن‬‫نشا‬ " " Composition ‫ارتباط‬ ‫یک‬ ‫نیز‬ .‫است‬ ‫کرده‬ ‫تعریف‬ ‫کالسی‬ ‫با‬ ‫کالسی‬-‫به‬-‫کالسی‬ ‫‌دهنده‬ ‫ن‬‫نشا‬ ‫که‬ ‫است‬ ‫مراتبی‬ ‫سلسله‬ " " ‫در‬ Rational Rose ،‫مشابه‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫ابزارهای‬ ‫و‬ Domain Model ‫ـک‬ ‫ـ‬‫کم‬ ‫دامنه‬ ‫یک‬ ‫ساختارهای‬ ‫و‬ ‫مفاهیم‬ ‫تر‬ ‫دقیق‬ ‫توضیح‬ ‫به‬ .‫دهند‬ ‫توسعه‬ ‫را‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫بتوانند‬ ‫موثرتر‬ ‫طور‬ ‫به‬ ‫تا‬ ‫‌آورد‬ ‫ی‬‫م‬ ‫فراهم‬ ‫‌ای‬ ‫ه‬‫استفاد‬ ‫قابل‬ ‫اطالعات‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫تحویل‬ ‫و‬ ‫توسعه‬ ‫‌های‬ ‫م‬‫تی‬ ‫برای‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫با‬ ‫طراحی‬ ‫نحوه‬ ،‫ادامه‬ ‫در‬ Rational Rose ‫عنوان‬ ‫به‬ ‫(همچنین‬ IBM Rational Rose ‫یا‬ IBM Rational Rose XDE .‫‌کنم‬ ‫ی‬‫م‬ ‫توصیف‬ ‫را‬ )‫‌شود‬ ‫ی‬‫م‬ ‫شناخته‬ Rational Rose ‫‌های‬ ‫ل‬‫ـد‬ ‫ـ‬‫م‬ ‫طراحی‬ ‫ـرای‬ ‫ـ‬‫ب‬ ‫‌تواند‬ ‫ی‬‫م‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫و‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫ابزار‬ ‫یک‬ UML .‫رود‬ ‫کار‬ ‫به‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫ارتباطات‬ ‫و‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫اجزاء‬ ‫نمایش‬ ‫و‬ UML ‫مورد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫رفتار‬ ‫و‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫که‬ ‫است‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫زبان‬ ‫یک‬ .‫‌گیرد‬ ‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ ‫با‬ ‫طراحی‬ ‫برای‬ Rational Rose :‫کنید‬ ‫دنبال‬ ‫را‬ ‫زیر‬ ‫مراحل‬ ، ‫نصب‬ Rational Rose ‫باید‬ ‫ابتدا‬ : Rational Rose ‫انجام‬ ‫را‬ ‫ـد‬ ‫ـ‬‫جدی‬ ‫ـروژه‬ ‫ـ‬‫پ‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫ایجاد‬ ‫و‬ ‫برنامه‬ ‫اجرای‬ ،‫نصب‬ ‫از‬ ‫بعد‬ .‫کنید‬ ‫نصب‬ ‫را‬ .‫دهید‬ ‫‌ها‬ ‫س‬‫کال‬ ‫کردن‬ ‫اضافه‬ ‫ـوی‬ ‫ـ‬‫من‬ ‫از‬ ‫ـد‬ ‫ـ‬‫‌توان‬ ‫ی‬‫م‬ ‫ـدام‬ ‫ـ‬‫اق‬ ‫این‬ .‫ـد‬ ‫ـ‬‫کنی‬ ‫ـافه‬ ‫ـ‬‫اض‬ ‫را‬ ‫ـزا‬ ‫ـ‬‫اج‬ ‫و‬ ‫‌ها‬ ‫س‬‫کال‬ ‫باید‬ ،‫خود‬ ‫جدید‬ ‫پروژه‬ ‫در‬ : " - Model" > "Add Class .‫کنید‬ ‫وارد‬ ‫را‬ ‫کالس‬ ‫نام‬ ‫سپس‬ .‫شود‬ ‫انجام‬ " ‫عملکردها‬ ‫و‬ ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫کردن‬ ‫ـافه‬ ‫ـ‬‫اض‬ ( ‫‌ها‬ ‫ی‬‫ویژگ‬ ‫ـد‬ ‫ـ‬‫بای‬ ،‫کالس‬ ‫کردن‬ ‫ـافه‬ ‫ـ‬‫اض‬ ‫از‬ ‫ـد‬ ‫ـ‬‫بع‬ : Attributes ( ‫عملکردها‬ ‫و‬ ) Operations ‫را‬ ‫کالس‬ ) ‫منوی‬ ‫از‬ ‫‌توانند‬ ‫ی‬‫م‬ ‫اطالعات‬ ‫این‬ .‫کنید‬ ‫تعریف‬ " - Class" > "Add Attribute ‫و‬ " " - Class" > "Add Operation ‫وارد‬ " .‫شوند‬ ‫ارتباطات‬ ‫کردن‬ ‫اضافه‬ ‫ـوی‬ ‫ـ‬‫من‬ ‫از‬ ‫ـد‬ ‫ـ‬‫‌توانن‬ ‫ی‬‫م‬ ‫ارتباطات‬ ‫این‬ .‫کنید‬ ‫تعریف‬ ‫را‬ ‫‌ها‬ ‫س‬‫کال‬ ‫میان‬ ‫ارتباطات‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫حاال‬ : " - Model" > "Add Association .‫هستند‬ ‫مرتبط‬ ‫یکدیگر‬ ‫با‬ ‫چگونه‬ ‫‌ها‬ ‫س‬‫کال‬ ‫که‬ ‫کنید‬ ‫مشخص‬ ‫سپس‬ .‫شوند‬ ‫ایجاد‬ " ‫از‬ ‫استفاده‬ Diagrams: Rational Rose ‫نمودارهای‬ ‫انواع‬ UML ‫مانند‬ ‫مختلفی‬ ‫نمودارهای‬ ‫از‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫شما‬ .‫‌کند‬ ‫ی‬‫م‬ ‫پشتیبانی‬ ‫را‬ Class Diagrams، Sequence Diagrams، Use Case Diagrams ‫صورت‬ ‫به‬ ‫را‬ ‫مدل‬ ‫اجزای‬ ‫تا‬ ‫کنید‬ ‫استفاده‬ ... ‫و‬ .‫دهید‬ ‫نمایش‬ ‫گرافیکی‬ ‫مدل‬ ‫توصیف‬ ‫و‬ ‫ذخیره‬ ‫نـیز‬ ‫را‬ ‫مـدل‬ ‫بـه‬ ‫مربـوط‬ ‫‌های‬ ‫ف‬‫ـی‬ ‫ـ‬‫توص‬ ‫و‬ ‫مستندات‬ ‫‌توانید‬ ‫ی‬‫م‬ ‫همچنین‬ .‫کنید‬ ‫ذخیره‬ ‫را‬ ‫خود‬ ‫مدل‬ ،‫مدل‬ ‫طراحی‬ ‫از‬ ‫بعد‬ : .‫کنید‬ ‫ایجاد‬
  • 108. ‫کد‬ ‫تولید‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫‌توانید‬ ‫ی‬‫م‬ ،‫نهایی‬ ‫مرحله‬ ‫در‬ : Rational Rose ‫توسـعه‬ ‫بـرای‬ ‫خـود‬ ‫‌های‬ ‫ل‬‫مد‬ ‫از‬ ‫یا‬ ‫کنید‬ ‫تولید‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫منبع‬ ‫کد‬ ، .‫کنید‬ ‫استفاده‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫نمودارهای‬ ( ) UML Unified Modeling Language ‫‌سازی‬ ‫ل‬‫مد‬ ‫و‬ ‫ـیف‬ ‫ـ‬‫توص‬ ‫ـرای‬ ‫ـ‬‫ب‬ ‫ـتاندارد‬ ‫ـ‬‫اس‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫زبان‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫ـوان‬ ‫ـ‬‫عن‬ ‫به‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫استفاده‬ ‫‌افزارها‬ ‫م‬‫نر‬ ‫و‬ ‫‌ها‬ ‫م‬‫سیست‬ UML ‫ـواع‬ ‫ـ‬‫ان‬ ،‫ـه‬ ‫ـ‬‫ادام‬ ‫در‬ .‫ـد‬ ‫ـ‬‫‌ده‬ ‫ی‬‫م‬ ‫ارائه‬ ‫سیستم‬ ‫مختلف‬ ‫اجزاء‬ ‫نمایش‬ ‫برای‬ ‫نمودارها‬ ‫از‬ ‫مختلفی‬ ‫انواع‬ ‫نمودارهای‬ ‫مهم‬ UML :‫‌کنم‬ ‫ی‬‫م‬ ‫معرفی‬ ‫را‬ ( ‫کالس‬ ‫نمودار‬ Class Diagram ) ‫ـودار‬ ‫ـ‬‫نم‬ ‫این‬ .‫‌پردازد‬ ‫ی‬‫م‬ ‫‌ها‬ ‫ن‬‫آ‬ ‫بین‬ ‫ارتباطات‬ ‫و‬ ‫عملکردها‬ ،‫‌ها‬ ‫ی‬‫ویژگ‬ ،‫‌ها‬ ‫س‬‫کال‬ ‫نمایش‬ ‫به‬ ‫کالس‬ ‫نمودار‬ : .‫‌گیرد‬ ‫ی‬‫م‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫آن‬ ‫اجزاء‬ ‫و‬ ‫سیستم‬ ‫اصلی‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫معموًال‬ ( ‫کاربری‬ ‫مورد‬ ‫نمودار‬ Use Case Diagram ) ‫انجام‬ ‫ـتم‬ ‫ـ‬‫سیس‬ ‫یا‬ ‫ـاربران‬ ‫ـ‬‫ک‬ ‫ـط‬ ‫ـ‬‫توس‬ ‫ـه‬ ‫ـ‬‫ک‬ ‫‌هایی‬ ‫ت‬‫عملیا‬ ‫و‬ ‫‌ها‬ ‫ش‬‫نق‬ ‫ـیف‬ ‫ـ‬‫توص‬ ‫به‬ ‫نمودار‬ ‫این‬ : .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫کاربران‬ ‫با‬ ‫آن‬ ‫تعامل‬ ‫و‬ ‫سیستم‬ ‫عملکردی‬ ‫واحدهای‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬ ‫این‬ ‫از‬ .‫‌پردازد‬ ‫ی‬‫م‬ ‫‌شوند‬ ‫ی‬‫م‬ ( ‫توالی‬ ‫نمودار‬ Sequence Diagram ) .‫‌دهد‬ ‫ی‬‫م‬ ‫نمایش‬ ‫زمان‬ ‫طول‬ ‫در‬ ‫را‬ ‫‌ها‬ ‫ت‬‫عملیا‬ ‫انجام‬ ‫ترتیب‬ ‫و‬ ‫اشیاء‬ ‫میان‬ ‫ارتباطات‬ ‫توالی‬ ‫نمودار‬ : .‫‌آید‬ ‫ی‬‫م‬ ‫استفاده‬ ‫مورد‬ ‫اشیاء‬ ‫بین‬ ‫خاص‬ ‫کاربردی‬ ‫موقعیت‬ ‫یک‬ ‫انجام‬ ‫چگونگی‬ ‫توصیف‬ ‫به‬ ‫نمودار‬ ‫این‬ ( ‫معماری‬ ‫نمــودار‬ Architecture Diagram ) ‫و‬ ‫سیســتم‬ ‫اجــزاء‬ ‫میان‬ ‫ارتباط‬ ‫و‬ ‫سیســتم‬ ‫کلی‬ ‫ساختار‬ ‫نمایش‬ ‫بــرای‬ ‫نمــودار‬ ‫این‬ : ‫‌های‬ ‫م‬‫ـت‬ ‫ـ‬‫سیس‬ ‫ـیف‬ ‫ـ‬‫توص‬ ‫و‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫ـرای‬ ‫ـ‬‫ب‬ ‫که‬ ‫‌باشند‬ ‫ی‬‫م‬ ‫کمکی‬ ‫نمودارهای‬ ‫جمله‬ ‫از‬ ‫معماری‬ ‫نمودارهای‬ .‫‌رود‬ ‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫مختلف‬ ‫‌های‬ ‫ی‬‫‌بند‬ ‫ه‬‫طبق‬ .‫‌روند‬ ‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫پیچیده‬ ‫و‬ ‫بزرگ‬ ( ‫وضعیت‬ ‫نمودار‬ State Diagram ) ‫آنها‬ ‫ـه‬ ‫ـ‬‫ک‬ ‫ـعیتی‬ ‫ـ‬‫وض‬ ‫ـیرات‬ ‫ـ‬‫تغی‬ ‫و‬ ‫کالس‬ ‫یا‬ ‫ـیء‬ ‫ـ‬‫ش‬ ‫ـک‬ ‫ـ‬‫ی‬ ‫ـف‬ ‫ـ‬‫مختل‬ ‫‌های‬ ‫ت‬‫ـعی‬ ‫ـ‬‫وض‬ ‫توصیف‬ ‫به‬ ‫نمودار‬ ‫این‬ : .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫اشیاء‬ ‫حیاتی‬ ‫‌های‬ ‫ه‬‫چرخ‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬ ‫این‬ ‫از‬ .‫‌پردازد‬ ‫ی‬‫م‬ ‫کنند‬ ‫تجربه‬ ‫‌توانند‬ ‫ی‬‫م‬ ( ‫تعامل‬ ‫نمودار‬ Interaction Diagrams ) ( ‫ـوالی‬ ‫ـ‬‫ت‬ ‫ـودار‬ ‫ـ‬‫نم‬ :‫است‬ ‫مهم‬ ‫نمودار‬ ‫دو‬ ‫شامل‬ ‫دسته‬ ‫این‬ : Sequence Diagram ‫و‬ ) ( ‫همکاری‬ ‫نمودار‬ Collaboration Diagram ‫خـاص‬ ‫کـاربردی‬ ‫مـوقعیت‬ ‫یک‬ ‫در‬ ‫اشیاء‬ ‫بین‬ ‫تعامل‬ ‫توصیف‬ ‫به‬ ‫نمودارها‬ ‫این‬ .‫‌شود‬ ‫ی‬‫م‬ ) .‫‌پردازند‬ ‫ی‬‫م‬ ( ‫اجزاء‬ ‫نمودار‬ Component Diagram ) ‫این‬ .‫‌پردازد‬ ‫ی‬‫م‬ ‫آنها‬ ‫بین‬ ‫ارتباطات‬ ‫و‬ )‫کد‬ ‫سطح‬ ‫در‬ ‫(معموًال‬ ‫‌ها‬ ‫ه‬‫مولف‬ ‫نمایش‬ ‫به‬ ‫اجزاء‬ ‫نمودار‬ : .‫‌رود‬ ‫ی‬‫م‬ ‫کار‬ ‫به‬ ‫سیستم‬ ‫توزیع‬ ‫و‬ ‫سیستم‬ ‫فیزیکی‬ ‫ساختار‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬ ( ‫انتقال‬ ‫نمودار‬ Deployment Diagram ) ‫این‬ ‫از‬ .‫ـردازد‬ ‫ـ‬‫‌پ‬ ‫ی‬‫م‬ ‫مختلف‬ ‫‌افزارهای‬ ‫ت‬‫سخ‬ ‫روی‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توزیع‬ ‫نحوه‬ ‫نمایش‬ ‫به‬ ‫نمودار‬ ‫این‬ : .‫‌شود‬ ‫ی‬‫م‬ ‫استفاده‬ ‫آنها‬ ‫بین‬ ‫ارتباطات‬ ‫و‬ ‫‌افزاری‬ ‫ت‬‫سخ‬ ‫و‬ ‫‌افزاری‬ ‫م‬‫نر‬ ‫اجزاء‬ ‫نمایش‬ ‫برای‬ ‫نمودار‬ ( ‫زمان‬ ‫نمودار‬ Timing Diagram ) .‫‌پردازد‬ ‫ی‬‫م‬ ‫زمان‬ ‫طول‬ ‫در‬ ‫اشیاء‬ ‫میان‬ ‫ارتباطات‬ ‫و‬ ‫‌ها‬ ‫ت‬‫عملیا‬ ‫اجرای‬ ‫زمانبندی‬ ‫نمایش‬ ‫به‬ ‫نمودار‬ ‫این‬ : ( ‫اشیاء‬ ‫نمودار‬ Object Diagram ) .‫‌پردازد‬ ‫ی‬‫م‬ ‫خاص‬ ‫زمان‬ ‫یک‬ ‫در‬ ‫آنها‬ ‫‌های‬ ‫ت‬‫وضعی‬ ‫و‬ ‫اشیاء‬ ‫از‬ ‫خاص‬ ‫‌های‬ ‫ه‬‫نمون‬ ‫نمایش‬ ‫به‬ ‫نمودار‬ ‫این‬ : ‫همچنین‬ UML ‫‌های‬ ‫ر‬‫نمودا‬ ،‫ـامپوننت‬ ‫ـ‬‫ک‬ ‫‌های‬ ‫ر‬‫نمودا‬ ‫ـد‬ ‫ـ‬‫مانن‬ ‫ـواردی‬ ‫ـ‬‫م‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫و‬ ‫خاص‬ ‫موارد‬ ‫برای‬ ‫که‬ ‫‌باشد‬ ‫ی‬‫م‬ ‫نیز‬ ‫دیگری‬ ‫نمودارهای‬ ‫دارای‬ ‫می‬ ‫استفاده‬ ... ‫و‬ ‫انتساب‬ ‫و‬ ‫اتحاد‬ MDD ‫معنای‬ ‫به‬ " - Model Driven Development .‫‌باشد‬ ‫ی‬‫م‬ ‫مدل‬ ‫بر‬ ‫مبتنی‬ ‫توسعه‬ ‫یا‬ " " " MDD ‫‌افزار‬ ‫م‬‫نر‬ ‫ـعه‬ ‫ـ‬‫توس‬ ‫رویکرد‬ ‫یک‬ ‫در‬ .‫دارد‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫ساختارهای‬ ‫و‬ ‫مفاهیم‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫به‬ ‫توجه‬ ‫آن‬ ‫در‬ ‫که‬ ‫است‬ MDD ‫‌سازی‬ ‫ل‬‫مد‬ ‫زبان‬ ‫یــک‬ ‫وسیله‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫از‬ ‫مدل‬ ‫یک‬ ‫ابتدا‬ ، .‫‌شود‬ ‫ی‬‫م‬ ‫تولید‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫نهایی‬ ‫کد‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫مدل‬ ‫این‬ ‫از‬ ‫سپس‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫تعریف‬ MDD ‫رویکرد‬ ‫این‬ .‫کنـد‬ ‫عمـل‬ ‫‌ها‬ ‫م‬‫سیست‬ ‫از‬ ‫باال‬ ‫سطح‬ ‫‌های‬ ‫ل‬‫مد‬ ‫اساس‬ ‫بر‬ ‫و‬ ‫کند‬ ‫اتوماتیک‬ ‫امکان‬ ‫حد‬ ‫تا‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫توسعه‬ ‫فرآیند‬ ‫دارد‬ ‫تالش‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫تشخیص‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫مختلف‬ ‫سطوح‬ ‫در‬ ‫را‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫اشکاالت‬ ‫و‬ ‫‌کند‬ ‫ی‬‫م‬ ‫کمک‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫کارآمدتر‬ ‫و‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫توسعه‬ ‫به‬ ‫مراحل‬ ‫مهمترین‬ MDD :‫از‬ ‫عبارتند‬
  • 109. ‫مفهومی‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫اغلب‬ ‫‌ها‬ ‫ل‬‫مد‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫تعریف‬ ‫مفهومی‬ ‫و‬ ‫انتزاعی‬ ‫‌های‬ ‫ل‬‫مد‬ ‫صورت‬ ‫به‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫مهم‬ ‫ارتباطات‬ ‫و‬ ‫مفاهیم‬ ،‫مرحله‬ ‫این‬ ‫در‬ : ‫مانند‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫‌های‬ ‫ن‬‫زبا‬ ‫از‬ ‫استفاده‬ ‫با‬ UML .‫‌شوند‬ ‫ی‬‫م‬ ‫ایجاد‬ ‫کد‬ ‫به‬ ‫مدل‬ ‫تبدیل‬ ‫ابزارهای‬ ‫ـیله‬ ‫ـ‬‫وس‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫ـوًال‬ ‫ـ‬‫معم‬ ‫ـدیل‬ ‫ـ‬‫تب‬ ‫این‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫تبدیل‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫منبع‬ ‫کد‬ ‫به‬ ‫مفهومی‬ ‫‌های‬ ‫ل‬‫مد‬ ،‫مرحله‬ ‫این‬ ‫در‬ : MDD .‫هستند‬ ‫‌ها‬ ‫ل‬‫مد‬ ‫از‬ ‫نهایی‬ ‫کد‬ ‫تولید‬ ‫به‬ ‫قادر‬ ‫که‬ ‫‌شود‬ ‫ی‬‫م‬ ‫انجام‬ ‫اصالح‬ ‫و‬ ‫اعتبارسنجی‬ ‫انجام‬ ‫الزم‬ ‫اصـالحات‬ ‫و‬ ‫شـده‬ ‫ارزیابی‬ ‫کـد‬ ،‫مرحلـه‬ ‫این‬ ‫در‬ .‫باشـد‬ ‫داشته‬ ‫اشکاالتی‬ ‫و‬ ‫خطاها‬ ‫است‬ ‫ممکن‬ ‫شده‬ ‫تولید‬ ‫کد‬ : .‫‌شود‬ ‫ی‬‫م‬ ‫انتشار‬ ‫و‬ ‫تست‬ .‫‌یابد‬ ‫ی‬‫م‬ ‫انتقال‬ ‫تولید‬ ‫محیط‬ ‫به‬ ،‫صحیح‬ ‫کارکرد‬ ‫از‬ ‫اطمینان‬ ‫از‬ ‫پس‬ ‫و‬ ‫‌شود‬ ‫ی‬‫م‬ ‫تست‬ ‫شده‬ ‫تولید‬ ‫‌افزار‬ ‫م‬‫نر‬ : MDD ‫و‬ ‫‌ها‬ ‫ی‬‫ـدگ‬ ‫ـ‬‫پیچی‬ ‫ـدیریت‬ ‫ـ‬‫م‬ ‫و‬ ،‫ـار‬ ‫ـ‬‫خودک‬ ‫ـورت‬ ‫ـ‬‫ص‬ ‫به‬ ‫کد‬ ‫توسعه‬ ،‫بهتر‬ ‫مستندات‬ ‫ایجاد‬ ،‫‌تر‬ ‫ع‬‫سری‬ ‫اصالحات‬ ‫امکان‬ ‫مدل‬ ‫بر‬ ‫مبتنی‬ ‫توسعه‬ ‫به‬ ‫مزایای‬ ‫دیگر‬ ‫از‬ .‫‌بخشد‬ ‫ی‬‫م‬ ‫بهبود‬ ‫تغییرات‬ MDD ‫‌سازی‬ ‫ه‬‫پیاد‬ ،‫حال‬ ‫این‬ ‫با‬ .‫کرد‬ ‫ـاره‬ ‫ـ‬‫اش‬ ‫ـد‬ ‫ـ‬‫ک‬ ‫ـداری‬ ‫ـ‬‫نگه‬ ‫و‬ ‫بازبینی‬ ‫افزایش‬ ‫ـه‬ ‫ـ‬‫ب‬ ‫ـوان‬ ‫ـ‬‫‌ت‬ ‫ی‬‫م‬ MDD ‫هم‬ ‫و‬ ‫کد‬ ‫به‬ ‫مدل‬ ‫تبدیل‬ ‫و‬ ‫‌سازی‬ ‫ل‬‫مد‬ ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫نیازمند‬