جایگاه نقشه مسیر در تولید یک محصول نرم افزاری
مدیریت پروژه نرم افزاری, مقاله

جایگاه نقشه مسیر در تولید یک محصول نرم افزاری

۴ 130

اگر از شما بپرسن در توسعه و تولید یک محصول نرم افزاری چه کارهایی باید انجام شه چه جوابی میدید؟ آیا میگید محصول با محصول متفاوت هست منظور شما از محصول چیه؟ یا میگید خوب اول قرارداد می بندیم بعد طبق توافقات قراردادی مرحله به مرحله کدنویسی می کنیم، تست می کنیم و تحویل مشتری می دیم و پولشو می گیریم. شاید هم بگید تحلیل، طراحی، پیاده سازی و تست! یا بگید اصل داستان برنامه نویسیه. باید خوب کد بنویسی تا باگ نداشته باشه! باقیش حل میشه…

نکته ای که در این سوال وجود داره اینه که افراد مختلف با در نظر گرفتن تجربه و تخصص خودشون به این سوال جواب های متفاوتی میدن مثلاً جواب یک برنامه نویس با دو سال سابقه کاری با یک تحلیلگر با ۵ سال سابقه کاری متفاوت هست. دقت کنید کلیات تئوری جواب ها تا حدودی به هم شبیه هست ولی منظر اجرایی اون ها با هم متفاوت هست. مخصوصاً در Scale های مختلف پروژه. اما هدف از این سوال چی هست؟ شما در هر شرکت نرم افزاری دلایل شکست و موفقیت پروژه های نرم افزاری رو جویا بشی می بینی که یک لیست خیلی خوب رو می نویسن. همه به این دلایل واقف هستن اما چی میشه که باز پروژه موفق نمیشه؟ فاکتورهای زیادی میتونه در این مساله نقش داشته باشه ولی یکی از مهمترین اون ها نقشه مسیر انجام هر پروژه هست که در واقع همون سوالی هست که در ابتدا پرسیدم. دقت کنید خود تهیه نقشه مسیر یه بحثه و طبق اون نقشه پیش رفتن هم یه بحثه دیگه هست که هر دو مهم هستن. هر پروژه هم برای خودش نقشه جداگانه ای داره و هر فردی با توجه به تخصص و تجربه اش میتونه نقشه متفاوتی برای هر پروژه ترسیم کنه. اما هدف من صرفاً شیوه رسم نقشه نیست. اون چیزی که مهمه اینه که آیا میشه با وجود اینکه هنوز نقشه کامل نشده حرکت رو شروع کرد؟ یا میشه طوری نقشه رو ذره ذره کامل کرد که قابلیت حرکت رو درش داشته باشیم و بتونیم از بازخوردهای حرکتمون برای تکمیل ادامه نقشه کمک بگیریم؟ جواب میتونه مثبت باشه یا منفی. اما روح Agile جواب مثبت به این سوال میده. دقت کنید ما در اینجا خود نقشه مسیر هدفمون هست و نه اینکه انتهای نقشه کجاست! انتها هر کجا میتونه باشه. ما میخوایم کاری کنیم که با دانسته های فعلیمون بهترین نقشه رو مصور کنیم و تا اونجایی که مصور کردیم با موفقیت حرکت کنیم تا بهش برسیم. هدف این است نه صرفاً نقطه آخر نقشه.

اگر در بیانیه چابک هم دقت کنید خواهید دید که مواردی که ارزش کمتری دارن بیشتر به تهیه وتکمیل نقشه پیش از حرکت اشاره می کنن و مواردی که ارزش بالاتری دارن به شروع حرکت و تکمیل نقشه توام با حرکت دلالت دارن.  اما ممکنه این سوال به ذهن خطور کنه که  فریم ورک های دیگه هم به نقشه مسیر تقریباً همین نگاه رو داشتن حالا چرا اجایل؟ در جواب باید بگم که ذات Agile با این نگاه به نقشه بسیار همگون تر است تا روش های دیگه ی توسعه نرم افزار. ۴ ارزش بیانیه چابک و ۱۲ اصل Agile کاملاً در راستای همین نگاه است که به وضوح قابل مشاهده است.

Share

در باره نویسنده / 

حمیدرضا متقیان

مدیر محصول نرم افزار. علاقه مند به دنیای وب و ارزش آفرینی در کسب و کار.

۴ دیدگاه

  1. elham ۱۳۹۱-۰۷-۲۹ در ۷:۴۰ ق.ظ - 

    Like!

  2. حمیدرضا ۱۳۹۱-۰۷-۲۹ در ۹:۵۷ ق.ظ - 

    tnX

  3. سارا ۱۳۹۱-۰۸-۱۹ در ۹:۵۸ ق.ظ - 

    لطفا در مورد اجایل بیشتر توضیح دهید؟شبیه uml است؟

  4. حمیدرضا ۱۳۹۱-۰۸-۱۹ در ۱۱:۱۱ ق.ظ - 

    Agile یک روش توسعه نرم افزار و راهبری پروژه های نرم افزاریست که مبتنی بر رویکرد Iterative و Incremental است. معروفتیرین متدهای Agile به ترتیب Scrum و Extreme Programming یا XP هستند. بیانیه اجایل و اصول اجایل کلیاتی از اون رو بیان می کنه که خوندنش خالی از لطف نیست.
    UML یک زبان مدلسازی است که میتونه یکی از ابزارهایی باشه که در Agile یا هر روش توسعه نرم افزار دیگه ای مثل RUP استفاده بشه.

ارسال پاسخ

ایمیل شما نمایش داده نمی‌شود. موارد مورد نیاز علامتگذاری شده است *

نوشته های تصادفی

  • Scrum and XP

    انتشار ویرایش دوم کتاب Scrum & XP from the Trenches

    کتاب Scrum & XP from the Trenches نوشته Henrik Kniberg جزء کتاب های مرجع اسکرام است. اخیراً ویرایش دوم این کتاب منتشر شده که می تونید به رایگان نسخه PDF رو از سایت ناشر دانلود کنید.

  • تقابل آریوپی و اجایل

    تقابل آریوپی و اجایل(عروس بلد نیست برقص ِ می گه زمین کجِ…)

    این پست یکی از پست های مهم این وبلاگ هست پس با دقت بیشتری بخونینش! لازم به ذکره علاوه بر نظرات فنی کمی نظرات شخصی هم درش وجود داره… در دنیای نرم افزار، تولیدِ موفق محصول کمی با محیط های دیگه متفاوت هست. نرم افزار یه موجود داینامیک هست بطوری که  پروسه تولید یه محصول…

پربازدید ترین ها

  • بندهای حیاتی یک قرارداد تولید نرم افزار

    بندهای حیاتی یک قرارداد تولید نرم افزار

    یک قرارداد محکم از اساسی ترین ملزومات موفق انجام شدن یک پروژه نرم افزاری هست. خیلی از اختلافات بین کارفرما و مجری با استناد به قرارداد رفع میشه و مهمتر از هر چیز بحث ضرر و زیان پروژه هست که برای طرفین مهم هست. بعنوان یک اصل کلی، کلیات و جزئیات قرارداد رو جدی بگیرین…

  • بایدها و نبایدها در ارائه پروپوزال

    بایدها و نبایدها در ارائه پروپوزال

    در اسفند ۸۸ در وب سایت بزرگ برنامه نویس به موجب سوال یکی از دوستان در مورد “شیوه ارائه طرح پیشنهادی نرم افزار”  توضیحاتی هر چند مجمل دادم که خوندنش خالی از لطف نیست: Proposal رو باید بر اساس RFP یا Request For Proposal ای که از مشتری میگیرین تهیه کنید. RFP از اهمیت زیادی…

  • the-internet-of-things

    آینده در دستان اینترنت اشیاء (IoT)

    Internet Of Things تحولی در آینده اینترنت است که مسلماً کسب و کار نرم افزار رو بسیار پر رونق تر و در عین حال فراگیرتر می کنه.  فرض کنید به خرید رفتید و خیلی راحت از یخچال خونتون استعلام میکنید که چه چیزهایی رو باید خریداری کنید؛ نیم ساعت قبل از اومدنتون میتونید سیستم تهویه…

عضویت در خبرنامه

بایگانی

آخرین Tweet ها

  • RT @henrikkniberg: Scrum Checklist - broken links fixed! https://t.co/YkbJWKeWxU16 days ago
  • RT @ghanemzadeh: «ز آب خُرد، ماهی خُرد خیزد؛ نهنگ آن به که با دریا ستیزد.» - سعدی18 days ago
  • RT @theanother: این ایده‌ها نیستند که یک کسب و کار رو موفق می‌کنند بلکه آدم‌ها هستند! از کپی شدن ایده‌هاتون نترسید از رفتن آدم‌هاتون بترسید43 days ago