CodeCrafters
775 subscribers
90 photos
50 videos
41 files
170 links
Download Telegram
اجایل مجموعه ای از اصول و ارزش ها هست که معمولا در توسعه نرم افزار استفاده میشود و باعث افزایش بهره وری تیم میشود.

Agile (چابک)
اجایل یک رویکرد تکراری و افزایشی است که بر انعطاف پذیری، همکاری، و اراعه ارزش ها به مشتریان تاکید دارد.

اجایل برنامه ریزی انطباق پذیر، توسعه مداوم و چرخه های بازخورد سریع رو ترویج میدهد.
اجایل به افراد و تعاملات بیش از ابزار ها، به یک نرم افزار کار کننده بیش از مستندات جامع، به مشارکت مشتری بیش از قرارداد، و به پاسخ به تغییرات بیشتر از پیروی کردن از برنامه ارزش میدهد.

12 اصل اجایل پیشنهاد داده است که به شما برای حفظ این ارزش ها کمک کند :

1- رضایت مشتری در اولویت قرار داشته باشد. یک تیم توسعه نرم افزار باید پیوسته و به طور مداوم محصول خود را اراعه دهد.

2- از هر گونه تغییرات استقبال بشود، حتی اگر پروژه در مراحل پایانی قرار دارد.

3- تحویل زود به زود نرم افزار قابل استفاده به مارکت. طبق اصل 1و2 شما باید سریع نرم افزار رو اراعه بدید و تغییرات رو اعمال بکنید. اجایل به شما یک فاصله زمانی 2-3 هفته تا 2-3 ماهه پیشنهاد میدهد تا نرم افزار خود را در مارکت پابلیش کنید. ترجیح به فاصله زمانی کمتر است.

4- ذی‌نفعان کسب و کار و دولوپر ها باید به صورت روزانه با هم مشارکت داشته باشند.

5- مسئولیت پروژه را برعهده افراد با انگیزه بگذارید. به انها ازادی عمل دهید و ان‌ها به دلیل با انگیزه بودنشان بسیار جدی پیگیر پروژه خواهند بود.

6- تیم نرم‌افزار به صورت رو در رو اطلاعات را به همدیگر انتقال دهند زیرا بیشترین تاثیر را دارد.

7- معیار سنجش تیم، خروجی کار باشد.

8- توسعه پایدار به صورت ثابت و مداوم حامیان مالی و توسعه دهندگان.

9- توجه مداوم به برتری فنی و طراحی خوب چابکی رو افزایش میدهد.

10- سادگی – هنر افزایش کار های انجام نشده. از افزودن فیچر های غیر ضروری اجتناب کنید.

11- بهترین معماری ها و نیاز ها و طراح ها از تیم های خود سازمانده پدیدار میشوند. بجای اینکه در یک تیم یک نفر مسعول هدایت تیم باشد باید تمام اعضای تیم مشارکت داشته باشند و از ایده های اعضای تیم استفاده کنند.

12- در فواصل منظم اعضای تیم بر چگونگی موثر تر شدن همفکری میکنند و سپس تیم خود را بر اساس بازتاب این تفکر باید اصلاح کنند.

اجایل بر کوچک کردن بخش های پروژه و تسک های قابل مدیریت تمرکز میکند که بهشون استوری های یوزر میگویند.
اجایل از تیم های کراس-فانکشنال ( تیم هایی که اعضایی با مهارت های مختلف دارند)، همکاری اعضای تیم و مشارکت مکرر مشتری در طول فرایند توسعه نرم افزار حمایت میکند.
فریمورک هایی که بر اساس اصول اجایل ساخته شدند مانند اسکرام، کانبان، Extreme Programming (XP) و ... به طور گسترده ای در شیوه های توسعه استفاده میشوند.
اگر شما به اصول و ارزش های اجایل پایبند باشید، تیم شما بدون در نظر گرفتن فریمورک اجایل محسوب میشود و استفاده کردن از یک فریمورک خاص ضروری نیست.
#agile
#project_managment_system


@code_crafters
👍42
در پست قبلی با عنوان اجایل موضوعی مطرح گردید و این سوال در ذهن شکل گرفت که آیا امروزه اجایل به ابزاری جهت مانیتورینگ و بهره وری کارمندان تبدیل شده؟؟؟


یکم شرح مسئله کنم

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


علاوه بر این شناسایی کارمندان با استعداد و با پشتکار و خلاقیت بالا که برای سازمان سودمند خواهند بود چگونه صورت گیرد


بهتره با موضوع okr هم آشنا بشیم تا بتونیم در خصوص موضوعات بالا تصمیم گیری به عمل آوریم

لذا در چند پست بعدی در خصوص okr مطالبی رو با شما به اشتراک خواهیم گذاشت


در خصوص پیگیری این دست پست‌ها در کانال هشتگ زیر رو جستجو کنید


#project_managment_system

@code_crafters
👍1
اسکرام :
اسکرام یک فریمورک مشخص بر پایه اصول و ارزش های اجایل هست. اسکرام یک رویکرد ساختار يافته برای مدیریت پروژه های پیچیده مخصوصا اون هایی که مرتبا نیاز به تغییر دارند، اراعه میدهد.
اسکرام پروژه را به بخش های کوچک تکرار شونده ای به نام اسپرینت که معمولا 1-4 هفته طول میکشد تقسیم میکند. هر اسپرینت شامل تعدادی تسک های از پیش تعیین شده است که باید در اون مدت زمانی تکمیل بشود.


در اسکرام 3 نقش کلیدی وجود دارد :

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

2- پروداکت اونر : صاحب محصول. مسعول به هدف رساندن محصول هست. یکی از کار های مهمی که انجام میدهد درست کردن بک‌لاگ هست.

3- دولوپمنت تیم : شامل دولوپرها، تستر ها، دیزاینر ها و ... .
در مورد نقش اسکرام مستر و پروداکت اونر در پست های بعدی بیشتر صحبت خواهیم کرد.


رویداد های اسکرام :

1- برنامه ریزی اسپرینت
برنامه ریزی کردن برای اسپرینت پیشِ رو برای تسک هایی قرار است انجام بشود

2- اسکرام روزانه
در ساعات شروع روز کاری یک میتینگ(انلاین یا حضوری) حداکثر 15 دقیقه ای بین اعضای تیم برگزار میشود و اعضای تیم باید به 3 پرسش پاسخ دهند. چه کاری دیروز انجام داده اند – امروز چه کار قرار هست انجام دهند – چه چیزی پروسه رو بلاک کرده

3- مرور اسپرینت
در پایان هر دوره اسپرینت تمام اعضای مجموعه اعم از تیم دولوپر، سرمایه گذاران و مشتریان دور هم جمع میشوند و درمورد کارهایی که در طول اسپرینت انجام شده صحبت میکنند و از همدیگر بازخورد دریافت میکنند و با توجه به این بازخورد ها تصمیم میگیریند ایا چیزی از برنامه و نقشه نیاز به تغییر داره یا خیر.

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

بک‌لاگ – یوزر استوری – ریلیز بک‌لاگ :
بک‌لاگ مکانی است که تسک ها اولویت بندی میشوند و مدیریت این بخش با پروداکت اونر هست. در این بک‌لاگ یوزر استوری ها قرار دارند که از زبان کاربر هستند و از یک الگوی خاص پیروی میکنند : به عنوان (نقش)، من (هدف) میخواهم که (یک مشکل یا خواسته ای رفع) بشود. این یوزر استوری ها بعدا در یک جایی قرار میگیرند به اسم ریلیز بک لاگ و تعیین میکند چه فیچر هایی در چه ورژنی از برنامه قرار هست اضافه بشه، پس اولویت بندی تسک ها در این قسمت از اهمیت ویژه ای برخوردار هست. سپس در برنامه ریزی اسپرینت تعیین میکنید کدوم از تسک ها با توجه به اولویت ها باید انجام بشود.

استوری پوینت :
یسری واحد برای مشخص کردن بزرگی و سختی یوزر استوری ها هست که تیم دولوپمنت راجع به اون تصمیم میگیرد. برای هر دوره اسپرینت تیم دولوپ میداند که چقدر توانایی انجام کار دارد( با استفاده از ابزار هایی مانند نمودار burndown) و با توجه به ان، یوزر استوری های ریلیز بک‌لاگ در هر دوره اسپرینت تعریف میشوند. برای استوری پوینت ها معمولا از اعداد فیبوناچی استفاده میشود(1،2،3،5،8،13،21...).

نمودار burndown : یک بازنمایی بصری از پیشرفت تیم در یک دوره اسپرینت هست. نمایانگر کار باقی مانده در مقابل زمان هست. این نمودار به تیم و ذی‌نفعان کمک میکند تا متوجه بشوند تیم چقدر از برنامه، انحراف داشته است و تصمیمات اگاهانه ای با توجه به ان بگیرند.
#project_managment_system #scrum
@code_crafters
پروداکت اونر یا صاحب محصول :

پروداکت اونر میانجی بین ذی‌نفع یا کسی که طالب یک چیزی هست و تیم توسعه محصول یا نرم افزار قرار میگیره و ایده هارو تبدیل میکنه به زبانی که گروه توسعه محصول بتونه درک کنه و تولید کنه.
پس پروداکت اونر باید یسری جلسات با هر دو گروه برگزار کند (ذی‌نفع – مدیران- بازار – مارکت) و (تیم توسعه) و به یسری نتایج میرسد طبق خواسته های ذی‌نفعان یا مشتری و تصمیم میگیرد که چه فیچر هایی نیاز به اضافه شدن دارد و باید این فیچر ها اولویت بندی بشوند.

یوزر استوری ها توسط پروداکت منیجر به تیم توسعه انتقال داده میشود و یکی از ویژگی های استوری ها، بیان کردن پرسونای (persona) اون هدف هست. پرسونا مجموعه ای از کابران هستند که نیاز و هدف مشترکی دارند. پرسونا به ما کمک میکند که متوجه شویم فیچر مورد نظر قرار است برای چه گروهی اماده شود و تصمیمات بهتری در این زمینه توسط تیم توسعه گرفته شود. داشتن پرسونا به ما کمک میکند تا سلایق مخاطب را بهتر بشناسیم و از این توی دیزاین و ... استفاده کنیم همچنین به پروداکت اونر کمک میکنه تا بتونه استوری هارو بهتر اولویت بندی بکنه. پرسونا به تیم کمک میکند تا همگی درک مشترک و کاملی از کاربر نهایی داشته باشد و با او همزاد پنداری کند.
حال برای رسیدن به پرسونای خاص، باید با کاربران مختلف مصاحبه کنید و مشترکات این کاربران مختلف، پرسونای مد نظر مارو خواهند ساخت. برای هر محصول یک الی دو پرسونا کافی است. برای مشخص کردن پرسونا، مصاحبه با 5 نفر کفایت میکند. پرسش هایی که باید در طی این مصاحبه از کاربر پرسیده شود، نباید پرسش های هدایت شونده باشد و نباید حرف تو دهن کاربر گذاشت. به عنوان مثال از چه وسیله ای برای رفتن به سر کار استفاده میکنید؟ - تایم خوابشون به چه شکل هست؟ - برند های مورد استفادشون چیا هست؟ و ...
از این قبیل سوالات که از کاربرهای مختلف بپرسیم یک سری مشترکات بدست می‌اید و میتوانیم متوجه بشویم که چیزهای موردعلاقه کاربر چیست یا به چه چیزهایی اهمیت میدهد. مثلا با دانستن ساعات کاری انها و ساعات استراحت میدونید که چه زمانی مناسب ارسال نوتیفیکیشن هست یا بقیه موارد.

نحوه اولویت بندی بک‌لاگ با استفاده از ماتریس 4 ربع :

دو محور X,Y از کم به زیاد برچسب میزنید.

محور X تلاش هست. مقدار سعی و تلاشی که مهندسان شما نیاز دارند تا اون فیچر رو انجام بدهند، چقدر سخت قرار هست باشه.

محور Y ارزش هست. چه مقدار ارزش اراعه میده به مشتری شما. ایا قرار هست مشتری شمارو خیلی خوشحال بکنه؟ قرار نحوه استفاده اونها از پروداکت شمارو تغییر بده؟ .
حالا فیچر هارو اولویت بندی میکنید با توجه به ماتریس و درون یکی از 4 خانه قرار میدید. حالا ممکنه یک فیچر خیلی با ارزش داشته باشید و در عین حال تلاش کمی رو میطلبه مثلا ممکنه در طول یک دوره اسپرینت تمام بشه[F1]. حالا ممکنه یک فیچری باشه که مشتری ها خیلی کم درخواست میکنند و زمان و انرژی زیادی بخواد[F2]. یک فیچر دیگه ارزش بسیار زیادی داره و میتونه کسب و کار شمارو زیر و رو بکنه[F3] و همینطور ادامه میدید.

بعد ازینکه ماتریس رو پر کردید ،اونهایی که ارزش پایینی دارند و تلاش بسیار زیادی میخواهند رو از لیست به طور کامل حذف میکنید[F2] مگر اینکه انجام ندادن ان تاثیر منفی روی پروداکت بگذارد .

فیچر های [F4] خوبه که باشند ولی یک تله ای در این قسمت وجود داره و به این صورت هست که اگر سعی کنید تمام کارهایی که تو این قسمت قرار گرفته اند رو انجام بدید زمان زیادی میبره ازتون و در قبالش میبینید ارزش خیلی چشمگیر و قابل توجهی نداشته و در اخر ماه سوپرایز میشیم که تاثیر انچنانی نگذاشته، پس مراقب ان باشید.

فیچر های قسمت [F3] درسته ارزش زیادی ایجاد میکنند ولی انجام دادن انها سخت است باید اگاه باشید که سود بردن ازین قسمت زمان زیادی رو نیاز داره.

فیچر های قسمت [F1]، خب انجام دادنشون کاملا خوب و درسته و این ها از اولویت بالایی برخوردارند. این بخش به قدری مهم هست که شما هنگامی که این بخش رو تشخیص بدید، انگاه ماموریت خود را به عنوان یک پروداکت اونر حرفه ای انجام داده اید، چون یکی از وظایف شما به حداکثر رساندن ارزش با کمترین هزینه است.
#po #product_owner #project_managment_system
@code_crafters
👍1
وب سایت کانال https://codecrafters.ir

لیست هشتک‌ها در کانال رو در زیر براتون خواهم گذاشت و آپدیت خواهد شد


#design_patterns الگوهای طراحی

#postgresql پستگرس

#k8s کوبرنتیز

#agile اجایل
#scrum

#algorithm الگوریتم

#video

#meeting متینگ‌

#principles اصول کدنویسی

#project_managment_system مدیریت تیم

#free خارج از مبحث کامپیوتر


#app برنامه‌های کاربردی

#Git #actions مباحث مربوط به گیت و گیتلب

#conda #env کار با

#Docker مباحث مربوط به داکر

#AI #ML مباحث هوش مصنوعی

#book معرفی کتاب

#monitoring بررسی وضعیت سیستم و کد

#concurrency همزمانی کتاب grokking concurrency


#blovkchain #web3

#DDD #domain_driven_design

#BDD #behavior_driven_development

#soa #sso #microservice


@Code_Crafters

Git Hub:
https://github.com/CodeCrafters-ir/
👍1