DJANGOLEARN_IR Telegram 665
جنگولرن
سری مهندسی نرم‌افزار: پست 7 از لینکدین Saeed Shahrivari Joghan توسعه چابک نرم‌افزار: سرعت یا انطباق؟ حوالی سال ۲۰۰۱ میلادی تعدادی از افراد شناخته شده حوزه نرم‌افزار طی بیانیه‌ای اعلام کردند که به راه‌های بهتری برای توسعه نرم‌افزار نسبت به دهه ۹۰ میلادی رسیدند…
سری مهندسی نرم‌افزار: پست 8
از لینکدین Saeed Shahrivari Joghan
تکنکیک‌های چابک برای هضم کردن تغییرات

در پست قبلی خدمتتون عرض کردم که شاید مهمترین هدف چابکی embraceکردن تغییرات باشه. در این پست میخوام مقداری راجع به تکنیک‌هایی که چابکی در این راستا داره صحبت کنم:
1️⃣ فرآیند تکرارشونده (Iterative) و افزایشی (Incremental): خب هر دوی این ویژگی‌ها در یه فرآیند به معنی تدریجی بودنه اما چه فرقی با هم دارند؟ فرض کنیم میخوایم تصویر یه اسب رو نقاشی کنیم. فرآیند تکرارشونده یعنی همون روشی که در سیاه قلم استفاده میشه یعنی در اوایل کار شاکله کلی اسب رو میکشیم و بعد در چند راند به مرور جزییات رو اضافه می‌کنیم پس در واقع به تدریج کیفیت نقاشی کل اسب بیشتر میشه تا کار تموم بشه. اما در حالت افزایشی این مدلیه که مثلا اول سر اسب رو به صورت کامل میکشیم بعد میریم سراغ پاهاش و همینجوری همه قسمت‌ها رو تکمیل می‌کنیم تا کل اسب تموم بشه. خب بدیهیه که در طی یک فرآیند تولید میشه هر دو حالت رو با هم داشت یعنی هم تکرارشونده بود و هم افزایشی. معمولا در فرآیندهای توسعه چابک طی تکرارهای (Iteration) متوالی ولی نسبتا کوتاه، ما پروژه رو تکمیل می‌کنیم و ممکنه در هر تکرار فیچرهای جدیدی اضافه کنیم و در کنارش کیفیت فیچرهای قبلی رو هم بهتر کنیم. معمولا خیلی خوبه که در پایان هر تکرار یه نسخه از نرم‌افزار (ولو ناقص) منتشر بشه که کار میکنه. که به اینکار میگن انتشار (release). ترکیب این دو حالت در کنار تکرارهای کوتاه باعث میشه که ما راحتتر بتونیم تغییرات رو در پروژه هضم کنیم. توجه داشته باشید که معمولاً در یک تکرار ما تمام مراحل تولید مثل تحلیل، طراحی، توسعه و ... رو داریم.
2️⃣ فیدبک مستمر مشتری و تیم تولید‌کننده: وقتی فرآیند به صورت تکرارشونده بره جلو در پایان هر تکرار فرصت داریم تا فیدبک خوبی از مشتری و حتی تیم تولید‌کننده راجع به خروجی بگیریم. این به تولید‌کننده و حتی مشتری کمک خیلی خوبی می‌کنه که نیازمندی‌هاش رو به درستی متوجه بشه و در مقابل به تیم توسعه هم انتقال بده.
3️⃣ شکست سریع (fast fail): در روشهای چابک اعتقاد زیادی به شکست سریع وجود داره. به عبارتی به جای اینکه که کلی برنامه‌ریزی و تفکر عمیق انجام بدیم که راه درست و نادرست رو تشخیص بدیم، فرآیندهای چابک ما رو تشویق می‌کنند که مقداری از مسیر رو بریم و اگه دیدیم جواب نمیده زود شکست بخوریم و مسیر رو اصلاح بکنیم. اغلب مواقع همین شکست‌ها هستند که حدود مساله و مسیر بهینه رو به ما نشون میدند.

موارد بیشتری هم از تکنیک‌های مشترک در روشهای اجایل میشه ذکر کرد ولی به نظر من این سه تکنیک مشترک خیلی موثر هستند که اساس همگی بر پایه برداشتن «گام‌های کوچک و تدریجی» و «داشتن فیدبک» هست.
3👍2



tgoop.com/djangolearn_ir/665
Create:
Last Update:

سری مهندسی نرم‌افزار: پست 8
از لینکدین Saeed Shahrivari Joghan
تکنکیک‌های چابک برای هضم کردن تغییرات

در پست قبلی خدمتتون عرض کردم که شاید مهمترین هدف چابکی embraceکردن تغییرات باشه. در این پست میخوام مقداری راجع به تکنیک‌هایی که چابکی در این راستا داره صحبت کنم:
1️⃣ فرآیند تکرارشونده (Iterative) و افزایشی (Incremental): خب هر دوی این ویژگی‌ها در یه فرآیند به معنی تدریجی بودنه اما چه فرقی با هم دارند؟ فرض کنیم میخوایم تصویر یه اسب رو نقاشی کنیم. فرآیند تکرارشونده یعنی همون روشی که در سیاه قلم استفاده میشه یعنی در اوایل کار شاکله کلی اسب رو میکشیم و بعد در چند راند به مرور جزییات رو اضافه می‌کنیم پس در واقع به تدریج کیفیت نقاشی کل اسب بیشتر میشه تا کار تموم بشه. اما در حالت افزایشی این مدلیه که مثلا اول سر اسب رو به صورت کامل میکشیم بعد میریم سراغ پاهاش و همینجوری همه قسمت‌ها رو تکمیل می‌کنیم تا کل اسب تموم بشه. خب بدیهیه که در طی یک فرآیند تولید میشه هر دو حالت رو با هم داشت یعنی هم تکرارشونده بود و هم افزایشی. معمولا در فرآیندهای توسعه چابک طی تکرارهای (Iteration) متوالی ولی نسبتا کوتاه، ما پروژه رو تکمیل می‌کنیم و ممکنه در هر تکرار فیچرهای جدیدی اضافه کنیم و در کنارش کیفیت فیچرهای قبلی رو هم بهتر کنیم. معمولا خیلی خوبه که در پایان هر تکرار یه نسخه از نرم‌افزار (ولو ناقص) منتشر بشه که کار میکنه. که به اینکار میگن انتشار (release). ترکیب این دو حالت در کنار تکرارهای کوتاه باعث میشه که ما راحتتر بتونیم تغییرات رو در پروژه هضم کنیم. توجه داشته باشید که معمولاً در یک تکرار ما تمام مراحل تولید مثل تحلیل، طراحی، توسعه و ... رو داریم.
2️⃣ فیدبک مستمر مشتری و تیم تولید‌کننده: وقتی فرآیند به صورت تکرارشونده بره جلو در پایان هر تکرار فرصت داریم تا فیدبک خوبی از مشتری و حتی تیم تولید‌کننده راجع به خروجی بگیریم. این به تولید‌کننده و حتی مشتری کمک خیلی خوبی می‌کنه که نیازمندی‌هاش رو به درستی متوجه بشه و در مقابل به تیم توسعه هم انتقال بده.
3️⃣ شکست سریع (fast fail): در روشهای چابک اعتقاد زیادی به شکست سریع وجود داره. به عبارتی به جای اینکه که کلی برنامه‌ریزی و تفکر عمیق انجام بدیم که راه درست و نادرست رو تشخیص بدیم، فرآیندهای چابک ما رو تشویق می‌کنند که مقداری از مسیر رو بریم و اگه دیدیم جواب نمیده زود شکست بخوریم و مسیر رو اصلاح بکنیم. اغلب مواقع همین شکست‌ها هستند که حدود مساله و مسیر بهینه رو به ما نشون میدند.

موارد بیشتری هم از تکنیک‌های مشترک در روشهای اجایل میشه ذکر کرد ولی به نظر من این سه تکنیک مشترک خیلی موثر هستند که اساس همگی بر پایه برداشتن «گام‌های کوچک و تدریجی» و «داشتن فیدبک» هست.

BY جنگولرن


Share with your friend now:
tgoop.com/djangolearn_ir/665

View MORE
Open in Telegram


Telegram News

Date: |

With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. How to build a private or public channel on Telegram? Telegram channels fall into two types: Polls
from us


Telegram جنگولرن
FROM American