برگزیده های پرشین تولز

تشکلیل گروه برای یادگیری و انجام پروژه ها با C#

amsjavan

کاربر تازه وارد
تاریخ عضویت
28 ژوئن 2006
نوشته‌ها
56
لایک‌ها
0
بسمه تعالی
سلام به همه دوستان

یک بار از نویسنده معروف Elbert Hubbard پرسیدند چگونه نویسنده شدید؟ او در جواب گفت: "تنها راه یادگیری نوشتن، نوشتن، نوشتن، نوشتن، نوشتن و نوشتن است!"

مطلب بالا در مورد خیلی چیزها صدق می کنه. مثل اینکه تنها راه برنامه نویس شدن، برنامه نوشتن و برنامه نوشتن است و یا اینکه تنها راه یادگیری کار گروهی، کار گروهی انجام دادن است.

همونطور که همه می دونید یکی از بزرگترین عامل شکست پروژه های نرم افزاری در ایران اینه که بلد نیستیم کار گروهی انجام بدیم. هیچ وقت نمیشه یک نفره نرم افزاری بزرگ و با کیفیت ایجاد کرد بنابراین هر برنامه نویسی باید کار کردن به صورت گروهی و در یک تیم رو بلد باشه.

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

قبل از اینکه در مورد اهداف و نحوه کار این گروه بیشتر توضیح بدم برای آن دسته از دوستانی که فکر می کنند از این کارها نمیشه تو ایران کرد و یا خیلی زود این جور گروه ها متلاشی می شوند و یا از این جور حرف های نا امیدکننده، بگم که من قبلا تو فروم barnamenevis گروهی رو برای یادگیری DirectX تشکیل داده بودم که به مدت 1 سال در کنار هم بودیم و به نتایج فوق العاده خوبی هم رسیدیم. برای اطلاع از جزئیات بیشتر این گروه می تونید به تاپیک آن مراجعه کنید:
http://barnamenevis.org/showthread.php?t=179271

خیلی تجربه های مختلفی از این گروه به دست آوردم خیلی چیزها در مورد کار گروهی فهمیدم مثل این که یکی از مهمترین عوامل پایداری گروه، اخلاق و روابط دوستانه بین اعضا است؛ خیلی چیز ها رو هم نفهمیدم!
حالا می خوام تو گروه C# از تجربه های قبلی برای تشکیل یک گروه با کیفیت تر و با بازدهی بیشتر استفاده کنم و این تجربیات رو به دوستان دیگه هم منتقل کنم.

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

از متدولوژی Scrum برای توسعه نرم افزار استفاده می کنیم. Scrum یک متدولوژی افزایشی و iterative برای مدیریت پروژه های نرم افزاری است که برای تیم های کوچک و متوسط یکی از بهترین متدولوژی هاست. تو این متدولوژی همه افراد گروه از برنامه نویس گرفته تا Tester و Analyzer و غیره برای بهتر شدن پروژه درگیر خواهند بود و حق اظهار نظر و تغییر مسیر پروژه رو دارند. بنابراین همه افراد گروه برای اینکه بتونیم بر اساس این متدولوژی جلو بریم باید با آن آشنایی داشته باشند البته فقط در حدی که لازمه. طبق برنامه ریزی انجام شده در جلسات اولیه این آشنایی به دست خواهد آمد.
یکسری تکنیک ها هم برای پیدا کردن کلاس ها و طراحی شی گرا وجود داره که در جلسات اول به همه افراد آموزش داده می شه.

مکان جلسات هم مشخص هست و آدرس آن برای اعضا ارسال خواهد شد. در مورد زمان تشکیل جلسات هم در جلسه اول به صورت حضوری بحث می کنیم.

نحوه کارکرد گروه به این شکل هست که با اتفاق نظر اعضا یک پروژه را انتخاب می کنیم و تمام پروسه های توسعه نرم افزار رو بر اساس متدولوژی Scrum روی آن انجام می دهیم. فعلا به دلایلی بر روی Windows Application کار می کنیم و وارد حوزه وب نمی شویم. موضوع پروژه ها رو هم می تونیم بر اساس نیازسنجی بازار انتخاب کنیم و یا به صورت سفارشی انجام بدهیم. پروژها می تونند با هدف تجاری و یا به صورت Open Source نوشته شوند که همه این ها بستگی به نظر اعضا داره. پروژه های مختلفی تو ذهنم هست که به دلیل طولانی نشدن مطلب اینجا مطرح نمی کنم و تو اولین جلسه می گم.

یکسری قواعد و اصول برای نوع نوشتن کدهای برنامه تعیین شده که در اختیار اعضا قرار داده می شه و در صورت تایید نهایی، اجرا خواهد شد. این کار به به علت این هست که کدهای هماهنگ و خوانا ایجاد بشه تا برای دیگر اعضا در خواندن، تست کردن و یا استفاده از آن ها مشکلی پیش نیاد.

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

اهداف گروه:
1- یادگیری C# به صورت عملی
2- یادگیری کار گروهی
3- انجام پروژه های نرم افزاری
اهداف دیگه ای هم میشه در نظر گرفت اما اینها مهمترین ها هستند.

یکی از دلایلی هم که تو این بخش این تاپیک رو زدم این بود که یکی از مهمترین اهداف گروه یادگیری C# هست طبق برنامه ریزی انجام شده در هرجلسه مطالب جدیدی که از C# یاد گرفته می شود در این تاپیک قرار داده خواهد شد.

دوستانی که مایل به همکاری هستند همینجا اعلام کنند. لطفا نظرات خودتون هم برای بهتر شدن گروه بنویسید.

با تشکر
امیرحسین جوان آملی
[email protected]
 

Amirpooyan

Registered User
تاریخ عضویت
23 ژوئن 2006
نوشته‌ها
631
لایک‌ها
20
محل سکونت
Tehran
پیشنهادتون، پیشنهاد خیلی خوبیه.

در این مورد که در ایران برنامه نویسی گروهی خیلی ضعیفه با شما موافقم و به شخصه خیلی تمایل دارم که تجربه خوبی در این زمینه داشته باشم.

اما همونطور که احتمالا متوجه شدید، تو PT مباحث برنامه نویسی دات نت چندان طرفدار نداره. الان داشتم تاپیک های دات نت رو می دیدم، چشمم خورد به یه تاپیکی که یکسال و خورده ای پیش خودم زده بودم و هنوز تو صفحه اول بود! :rolleyes:

ممکنه توی این فروم زیاد از پیشنهاد شما استقبال نشه، اما اگه جای دیگه گروهتون رو راه انداختید، به منم یه خبری بدید.
 

goldboy1999

Registered User
تاریخ عضویت
21 آگوست 2011
نوشته‌ها
136
لایک‌ها
28
سلام دوست عزیز
اگه خواستی می تونی رو همکاری من حساب کنی
البته بگم حرفه ای نیستم همین قدری بلدم که تو دانشگاه یاد گرفتم
ایمیل :
[email protected]
 
بالا