جایگاه نقشه مسیر در تولید یک محصول نرم افزاری چابک1 min read
اگر از شما پرسیده شه در توسعه و تولید یک محصول نرم افزاری چابک چه کارهایی باید انجام شه چه جوابی میدید؟ آیا میگید محصول با محصول متفاوت هست منظور شما از محصول چیه؟ یا میگید خوب اول قرارداد می بندیم بعد طبق توافقات قراردادی مرحله به مرحله کدنویسی می کنیم، تست می کنیم و تحویل مشتری می دیم و پولشو می گیریم. شاید هم بگید تحلیل، طراحی، پیاده سازی و تست! یا بگید اصل داستان برنامه نویسیه. باید خوب کد بنویسی تا باگ نداشته باشه! باقیش حل میشه…
نکته ای که در این سوال وجود داره اینه که افراد مختلف با در نظر گرفتن تجربه و تخصص خودشون به این سوال جواب های متفاوتی میدن مثلاً جواب یک برنامه نویس با دو سال سابقه کاری با یک تحلیلگر با 5 سال سابقه کاری متفاوت هست. دقت کنید کلیات تئوری جواب ها تا حدودی به هم شبیه هست ولی منظر اجرایی اون ها با هم متفاوت هست. مخصوصاً در Scale های مختلف پروژه. اما هدف از این سوال چی هست؟ شما در هر شرکت نرم افزاری دلایل شکست و موفقیت پروژه های نرم افزاری رو جویا بشی می بینی که یک لیست خیلی خوب رو می نویسن. همه به این دلایل واقف هستن اما چی میشه که باز پروژه موفق نمیشه؟ فاکتورهای زیادی میتونه در این مساله نقش داشته باشه ولی یکی از مهمترین اون ها نقشه مسیر انجام هر پروژه هست که در واقع همون سوالی هست که در ابتدا پرسیدم.
دقت کنید خود تهیه نقشه مسیر یه بحثه و طبق اون نقشه پیش رفتن هم یه بحثه دیگه هست که هر دو مهم هستن. هر پروژه هم برای خودش نقشه جداگانه ای داره و هر فردی با توجه به تخصص و تجربه اش میتونه نقشه متفاوتی برای هر پروژه ترسیم کنه. اما هدف من صرفاً شیوه رسم نقشه نیست. اون چیزی که مهمه اینه که آیا میشه با وجود اینکه هنوز نقشه کامل نشده حرکت رو شروع کرد؟ یا میشه طوری نقشه رو ذره ذره کامل کرد که قابلیت حرکت رو درش داشته باشیم و بتونیم از بازخوردهای حرکتمون برای تکمیل ادامه نقشه کمک بگیریم؟ جواب میتونه مثبت باشه یا منفی. اما روح Agile جواب مثبت به این سوال میده. دقت کنید ما در اینجا خود نقشه مسیر هدفمون هست و نه اینکه انتهای نقشه کجاست! انتها هر کجا میتونه باشه. ما میخوایم کاری کنیم که با دانسته های فعلیمون بهترین نقشه رو مصور کنیم و تا اونجایی که مصور کردیم با موفقیت حرکت کنیم تا بهش برسیم. هدف این است نه صرفاً نقطه آخر نقشه.
اگر در بیانیه چابک هم دقت کنید خواهید دید که مواردی که ارزش کمتری دارن بیشتر به تهیه وتکمیل نقشه پیش از حرکت اشاره می کنن و مواردی که ارزش بالاتری دارن به شروع حرکت و تکمیل نقشه توام با حرکت دلالت دارن. اما ممکنه این سوال به ذهن خطور کنه که فریم ورک های دیگه هم به نقشه مسیر تقریباً همین نگاه رو داشتن حالا چرا اجایل؟ در جواب باید بگم که ذات Agile با این نگاه به نقشه بسیار همگون تر است تا روش های دیگه ی توسعه نرم افزار. 4 ارزش بیانیه چابک و 12 اصل Agile کاملاً در راستای همین نگاه است که به وضوح قابل مشاهده است.
مطالب زیر را حتما مطالعه کنید
مدیر محصول خوب یا بد
24 تله ی رایج در اسکرام (بخش دوم – آخر)
انتشار ویرایش دوم کتاب Scrum & XP
24 تله ی رایج در اسکرام (بخش اول)
باور Agile چابک
5 افسانه چابکی
4 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Like!
tnX
لطفا در مورد اجایل بیشتر توضیح دهید؟شبیه uml است؟
Agile یک روش توسعه نرم افزار و راهبری پروژه های نرم افزاریست که مبتنی بر رویکرد Iterative و Incremental است. معروفتیرین متدهای Agile به ترتیب Scrum و Extreme Programming یا XP هستند. بیانیه اجایل و اصول اجایل کلیاتی از اون رو بیان می کنه که خوندنش خالی از لطف نیست.
UML یک زبان مدلسازی است که میتونه یکی از ابزارهایی باشه که در Agile یا هر روش توسعه نرم افزار دیگه ای مثل RUP استفاده بشه.