آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

چگونه باید یک پروژه با چند مشتری را از نظر کد نویسی اداره کرد؟

hamed  9 سال پیش  9 سال پیش
+2 0

داستان:
یک پروژه ایجاد کرده ایم و یک برنامه نوشته ایم. این برنامه را به مثلا 4 مشتری فروخته ایم. هر مشتری از ما تغییراتی خواسته است که ما باید برای او در پروژه اصلی اعمال کنیم و به عبارتی برنامه ی کاستوم شده ای را به او تحویل دهیم.
ساده ترین روش این است که برای هر مشتری یک کپی جدید از پروژه ایجاد کنیم. تغییرات آن مشتری را در این پروژه کپی شده اعمال کنیم و خروجی بگیریم و به او تحویل دهیم. پس یعنی ما الآن 5 پروژه مثلا در ایکلیپس ایجاد کرده ایم. یکی هماهن برنامه اصلی و 4 تا هم برای مشتری ها (هر مشتری یک دانه)

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

درخواست کمک:
دوستان راه حلی برای نظم بخشیدن به کارها دارند به طوری که بتوان این موارد را مدیریت کرد

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

این قضیه می تواند بسیار برای دوستان کاربردی باشد پس لطفا در بحث مشارکت نمایید.
با تشکر

+2 0
این آموزش کمک میکنه : لینک (9 سال پیش)
+3 0
سلام من این آموزش رو به پیشنهاد اقای Criss چند مدت پیش گرفتم . اما فقط قسمت اولش هست که جذاب و با کیفیته . قسمتهای پولیش از کیفیت صدا و تصویر خوبی برخوردار نیشت ضمن اینکه دارای بارعلمی هست و مطالب زیادی رو یادتون میده . موفق باشید (9 سال پیش)
+2 0
ممنون از راهنمایی های شما. آیا مواردی که در این آموزش آمده جواب کامل مساله من را می ده یا اینکه فقط راهکارهایی را می شه داشت که کار را راحت تر کنه؟ (9 سال پیش)
+1 0
یکبار که تجربه کار تیمی داشتیم ، اساس کار روی GitHub بر اساس همین آموزشها و اصول مدیریت میشد و پیش میرفت ، همه میتونید روی یک پروژه هم زمان کد بزنید بخش های مختلف رو پیش ببرید ، از طریق ترلو میزان پیشبرد وظیفه هارو ببینید ، و همچنین اگر کسی از نظر فنی دچار مشکل بشه توی وظیفه اش و کد زنی میتونید متوجه بشید و برای حل موضوع مشارکت کنید (9 سال پیش)
+3 0
بهترین راهکار ماژولار کردن پروژه هستش - یه سری امکانات در خواستی مشتری ها هم میتونه در قالب آپدیت عرضه عمومی بشه - ایزوله بودن درخواست ها و ماژولار بودن پروژه باید توازن منطقی داشته باشن. اما اینکه گفتی "کلا به کاستوم کردن برای مشتری محل نذاریم" دقیقا برعکس دستاورد شما از ماژولار شدن پروژه هستش (9 سال پیش)
+2 0
ممنون آقای حسین زاده اما چند تا سوال پیش میاد: 1- مدیریت ماژول ها به چه صورتی امکان پذیره؟ (ابزار اون چیه؟ آیا هر ماژول باید به صورت یک کتابخانه مستقل باشه یا راهکار دیگه ای هم هست؟) 2- منظور شما را از آپدیت نمی فهمم. (راهکاری وجود داره برای اون در IDEها؟) 3- فکر می کنم عملا راهکاری برای اینکه در یک پروژه همه کارها انجام بشه وجود نداره و عملا ما راهکارهای جانبی بهینه کننده داریم. درسته؟ (9 سال پیش)
+2 0
Cress عزیز ممنون ولی صورت مساله کار به صورت گروهی نیست. بلکه مدیریت یک پروژه برای چندین مشتری (چه گروهی و چه فردی) است. در این خصوص لطفا نظزتون را بگید. این قضیه در اکثر محصولات و پروژه های نرم افزاری بوجود میاد و برام عجیبه که راهکار جامعی برای اون وجود نداشته باشه. (9 سال پیش)
+2 0
هر ماژول کاملا مستقل باید دیده بشه - نهایتا یه کتابخونه مشترک میشه داشت (یعنی هر ماژول یک پروژه-کتابخانه). برنامه اصلی هم باید صرفا قابلیت لود کردن ماژول ها رو داشته باشه. منظور از آپدیت هم رو محصول نهایی برای مشتری بود - مثلا اگه مشتری x برای ثبت دیتاش نیاز به فیلد a داشت و این فیلد برای بیش از 50% مشتری ها منطقیه و دور از ذهن نباشه پس به صورت عمومی برای همه منتشر میشه ( و تمام آیتم های اینچنینی) (9 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .