چگونه باید یک پروژه با چند مشتری را از نظر کد نویسی اداره کرد؟
داستان:
یک پروژه ایجاد کرده ایم و یک برنامه نوشته ایم. این برنامه را به مثلا 4 مشتری فروخته ایم. هر مشتری از ما تغییراتی خواسته است که ما باید برای او در پروژه اصلی اعمال کنیم و به عبارتی برنامه ی کاستوم شده ای را به او تحویل دهیم.
ساده ترین روش این است که برای هر مشتری یک کپی جدید از پروژه ایجاد کنیم. تغییرات آن مشتری را در این پروژه کپی شده اعمال کنیم و خروجی بگیریم و به او تحویل دهیم. پس یعنی ما الآن 5 پروژه مثلا در ایکلیپس ایجاد کرده ایم. یکی هماهن برنامه اصلی و 4 تا هم برای مشتری ها (هر مشتری یک دانه)
شرح مشکل:
فرض کنید یک باگ در برنامه اصلی مشاهده شد که خوب طبعا این باگ در 4 پروژه مشتری ها هم وجود داد. برای رفع این باگ ما در این حالت باید 5 پروژه را اصلاح کنیم که گاهی خیلی طاقت فرسا خواهد بود. این مورد درباره اضافه کردن امکانات هم دوباره وجود خواهد داشت. یعنی اگر امکانی بخواهیم اضافه کنیم باید به 5 پروژه اضافه کنیم.
مشکل جدی تر بخصوص زمانی ایجاد خواهد شد که باگ یا بخش جدید، با بخش های کاستوم شده پروژه دخیل می شوند.
درخواست کمک:
دوستان راه حلی برای نظم بخشیدن به کارها دارند به طوری که بتوان این موارد را مدیریت کرد
راه کارهای پیشنهادی:
- بهترین حالت این است که ما یک پروژه داشته باشیم و این بخش های کاستوم به صورت مثلا یک زیر پروژه در آن مدیریت شوند و ما در آن واحد بدانیم که آیا این بخش مشترک است یا اختصاصی. نمی دانم آیا IDEها این قابلیت را دارند یا نه و یا اینکه مثلا گیت هاب یک همچین ویژگی دارد یا نه؟
- راه کارهای جانبی هم موثر هستند مثلا اینکه در پروژه های خودمون سعی کنیم موارد مشترک را به صورت کتابخانه در بیاوریم. تغییرات را به صورت ماژول های تفکیک شده ارائه کنیم. اندیکاتور قوی داشته باشیم برای تغییرات پروژه ها. کلا به کاستوم کردن برای مشتری محل نذاریم مگر اینکه پول این دردسرها را بپردازد! و کلا هر چیزی که به ذهنتون می رسه می تواند راهکار یا لااقل مسکنی برای این مشکل باشد.
این قضیه می تواند بسیار برای دوستان کاربردی باشد پس لطفا در بحث مشارکت نمایید.
با تشکر
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .