تجزیه وظایف: پروژه ها را قابل مدیریت و موفقیت آمیز کنید – برای تحلیلگران کسب و کار، اسکرام مسترها و مدیران پروژه! 🏆💪💥

https://www.youtube.com/watch?v=-tNHuEE2P1w
تجزیه وظیفه فرآیند تجزیه یک کار یا پروژه پیچیده به وظایف فرعی کوچکتر، قابل مدیریت و قابل درک است. این رویکرد اجرای کار را ساده می کند، آن را بهتر ساختار می دهد و استرس مرتبط با تکمیل آن را کاهش می دهد.
تجزیه کار می تواند هم در مرحله برنامه ریزی یک اسپرینت جدید و هم در طول اجرای اسپرینت با شکستن الزامات برای تکرارهای بعدی انجام شود. با این حال، رویکرد دوم به طور کلی ارجح تر است. توصیه می شود تجزیه را به یک اسپرینت خاص گره ندهید تا با یک بک لاگ آماده که به داستان های کاربر تقسیم شده است به برنامه ریزی آن برسید.
در چنین شرایطی، داشتن ذخیره ای از نیازهای تجزیه شده مزایای زیر را ارائه می دهد:
- اولاً ، ما خود را در انتخاب وظایف برای اسپرینت محدود نمی کنیم (فقط می توانیم با کارهایی کار کنیم که قبلاً تجزیه شده اند).
- ثانیاً، در طول برنامهریزی، نیازی به صرف زمان برای خرابی نداریم، و به تیم اجازه میدهیم تا با در نظر گرفتن همه اولویتها، بحث در مورد وابستگیها و جزئیات اجرای نیازمندیها، روی تشکیل اسپرینت تمرکز کند.
- ثالثاً، جلسه سازنده تر خواهد بود و همه اعضای تیم به طور فعال درگیر خواهند شد. به یاد داشته باشید که جلسات باید موثر و مثبت باشند، بنابراین تیم به جای اینکه آنها را به عنوان یک روال خسته کننده درک کند، مشتاقانه منتظر آنها است.
دو رویکرد اصلی برای تجزیه
دو رویکرد اساسی برای تجزیه وظایف بزرگ به داستان های کاربر وجود دارد: تجزیه “افقی” و “عمودی”.
- در به اصطلاح تجزیه “افقی”.، وظایف بر اساس نوع کار (عملکرد) انجام شده و اجزای مورد استفاده تقسیم می شوند. در این رویکرد، یک کار بزرگ به بخشهایی تقسیم میشود که در آن یک توسعهدهنده یک سهم از مسئولیتها را بر عهده میگیرد، یک آزمایشکننده سهم دیگری را بر عهده میگیرد، یک نویسنده فنی بخشی دیگر و غیره. توجه به این نکته ضروری است که هر یک از این بخش ها به تنهایی منجر به یک نتیجه کامل نمی شود. تحویل موفقیت آمیز عملکرد تمام شده مستلزم اجرای مشترک همه وظایف مرتبط با هم توسط همه شرکت کنندگان در فرآیند است.
https://www.youtube.com/watch?v=9WAponlXWUk
- از سوی دیگر، رویکرد “عمودی” برای تجزیه بر شناسایی وظایف، عملکردها و ویژگی های کوچکتر متمرکز است تا هر داستان کاربر بتواند مستقل از دیگران پیاده سازی و تکمیل شود. در این حالت ممکن است نقشهای مختلفی در فرآیند توسعه دخیل باشند و ماژولها و سیستمهای متعددی ممکن است مورد استفاده قرار گیرند که انعطافپذیری و سرعت بیشتری را در اجرای عملکرد فراهم میکنند.
https://www.youtube.com/watch?v=07aY-KsyU1g
رویکرد تجزیه عمودی بیشتر با اصول چابک همسو می شود و به چند دلیل کلیدی بسیار موثرتر است:
هنگام استفاده از رویکرد “عمودی” برای تجزیه، هر کار برای اجرا، آزمایش و نمایش در دسترس مشتریان یا کاربران قرار می گیرد و آن را قابل درک و اندازه گیری می کند، بر خلاف کارهای “فنی” انتزاعی تر که از تجزیه “افقی” ناشی می شوند.
در چارچوب تجزیه “عمودی”، هر داستان کاربر نهایی دارای ارزش تجاری صریح است که فرآیند مقایسه و اولویت بندی چنین وظایفی را ساده می کند.
از آنجایی که حل وظایف سازماندهی شده توسط اصل “عمودی” شامل متخصصانی با نقش های مختلف می شود، آنها می توانند به راحتی مشکلات، وابستگی ها و خطرات احتمالی را که ممکن است در طول اجرای کار به وجود بیاید شناسایی کنند.
تکنیک های تجزیه نیازمندی ها
روش 1: تجزیه مرحله ای فرآیندهای تجاری
این رویکرد پیشنهاد می کند که یک کار بزرگ مربوط به یک فرآیند تجاری را به اجزا و مراحل کوچکتر و مستقل تقسیم کنید. برای موثر بودن این روش، شناسایی مراحل متوالی که می توانند به طور مستقل انجام شوند، مهم است. به عنوان مثال، اگر برای اجرای یک عملکرد خرید آنلاین الزامی در بک لاگ وجود داشته باشد، مراحل می تواند شامل موارد زیر باشد:
- ورود به حساب شخصی
- مشاهده اقلام در “سبد”
- تولید فاکتور
- ارسال فاکتور از طریق ایمیل
- پرداخت از طریق روش های مختلف: کارت اعتباری، انتقال و غیره.
- هر یک از این مراحل را می توان به عنوان یک داستان کاربر جداگانه قالب بندی کرد. بنابراین، ما یک فرآیند تجاری گسترده را به اجزاء تقسیم می کنیم و به ما امکان می دهد اولویت ها را تعیین کنیم و فرآیند را به عنوان یک کل، از جمله وابستگی های احتمالی بین مراحل، بهتر درک کنیم.
روش 2: تفکیک به سناریوهای مثبت و منفی
هر عملکردی شامل یک مورد استفاده اولیه است که منجر به نتیجه مورد انتظار می شود، اما انحرافات منجر به پیامدهای منفی نیز ممکن است. این روش شناسایی سناریوهایی را پیشنهاد میکند که میتوانند منجر به یک نتیجه موفق یا ناموفق شوند. به عنوان مثال، برای عملکرد خرید فروشگاه آنلاین:
- سناریوی مثبت: کاربر وارد سیستم شده و خرید را با موفقیت انجام می دهد.
- سناریوی منفی 1: تلاش برای خرید بدون ورود به سیستم.
- سناریوی منفی 2: وجوه کافی در حساب برای تکمیل تراکنش وجود ندارد.
- سناریوی منفی 3: حساب پس از چندین تلاش ناموفق برای رمز عبور قفل شده است.
- این رویکرد امکان شناسایی و برنامه ریزی پیشگیرانه را برای نحوه رسیدگی به خطاها و استثناهای احتمالی فراهم می کند.
روش 3: تفکیک بر اساس قوانین و شرایط
برخلاف روش قبلی، این روش بر شاخه های منطقی فرآیند بر اساس قوانین مختلف تاکید دارد. به عنوان مثال، برای تابع خرید، قوانین ممکن است شامل موارد زیر باشد:
- حداقل مبلغ خرید
- گزینه های پرداخت اضافی برای بیش از یک مقدار مشخص.
- لغو خودکار سفارش پس از 2 روز بدون پرداخت.
- هر یک از این شرایط را می توان به عنوان یک کار جداگانه قالب بندی کرد که به شناسایی محدودیت های مهم و ساده سازی فرآیند پیاده سازی کمک می کند.
روش 4: جداسازی بر اساس انواع عملیات
بسیاری از الزامات عملکردی با عملیات استاندارد مانند ایجاد، خواندن، به روز رسانی و حذف (CRUD) مطابقت دارند. به عنوان مثال، برای مدیریت کارت های محصول در یک فروشگاه آنلاین، می توانیم شناسایی کنیم:
- ایجاد: افزودن یک محصول جدید.
- بخوانید: مشاهده توضیحات محصول.
- به روز رسانی: ویرایش اطلاعات محصول.
- حذف: حذف یک محصول از فروشگاه.
- این تفکیک اجازه می دهد تا تعریف روشنی از عملیات ضروری و اولویت های آنها ارائه شود.
روش 5: تجزیه توسط پلتفرم ها و سیستم های عامل
این روش شامل تجزیه نیازمندی ها بر اساس پلتفرم یا سیستم عامل است. به عنوان مثال، برای عملکرد پرداخت در یک برنامه وب، وظایف را می توان برای دستگاه های مختلف شناسایی کرد:
- کامپیوترهای شخصی
- قرص
- گوشی های هوشمند
- سیستم عامل های مختلف: ویندوز، iOS، اندروید.
- این رویکرد به تعریف جهت های توسعه اولویت کمک می کند.
روش 6: جداسازی بر اساس انواع داده ها و پارامترها
برخی از توابع ممکن است انواع مختلفی از داده ها یا پارامترها را مدیریت کنند. به عنوان مثال، برای عملکرد جستجو در یک فروشگاه آنلاین، میتوانیم موارد زیر را شناسایی کنیم:
- جستجو بر اساس نام محصول
- جستجو بر اساس شماره محصول
- جستجو با استفاده از عبارات منظم
- این تجزیه امکان تعریف واضح پارامترهای قابل قبول و مدیریت آسان نیازمندی ها را فراهم می کند.
روش 7: جداسازی نقش ها و حقوق دسترسی
گروه های کاربری مختلف ممکن است حقوق دسترسی متفاوتی داشته باشند و عملکردهای مختلفی را انجام دهند. به عنوان مثال، در یک فروشگاه آنلاین، این موارد ممکن است شامل موارد زیر باشد:
- مالک: محصولات را ایجاد و حذف کنید.
- مدیر: ویرایش توضیحات و تعامل با مشتریان.
- مشتری: مشاهده و خرید محصولات. این تفکیک به درک اینکه چه عملکردهایی برای هر نقش ضروری است و اولویت بندی اجرای آنها کمک می کند.
روش 8: تجزیه با سناریوهای آزمایشی
این روش عملکردها را بر اساس موارد آزمایشی که برای بررسی عملکرد موفقیت آمیز توابع باید تأیید شوند، تجزیه می کند. به عنوان مثال، برای عملکرد افزودن یک محصول به “سبد خرید”، سناریوهای آزمایشی زیر ممکن است شناسایی شوند:
- محصول برای خرید موجود است.
- این محصول توسط کاربر دیگری رزرو شده است.
- موجودی محصول تمام شده است. این رویکرد امکان ادغام تکنیک های مختلف تجزیه را فراهم می کند و وظایف روشنی را برای توسعه و آزمایش ایجاد می کند.
هر یک از این روش های تجزیه به نیازهای ساختار بهتر کمک می کند و به توسعه موثرتر در یک محیط چابک کمک می کند.
مزایای تجزیه وظیفه:
-
درک بهبود یافته: تقسیم وظایف بزرگ (یا داستانهای کاربر) به بخشهای کوچکتر به تیم اجازه میدهد تا بهتر بفهمد دقیقاً چه کاری باید انجام شود. تصور و بحث در مورد کارهای کوچکتر آسان تر است.
-
تخمین بهتر: تیم می تواند زمان و تلاش مورد نیاز برای انجام کارهای کوچکتر، بهبود برنامه ریزی و مدیریت منابع را با دقت بیشتری تخمین بزند (تضمین جلسات برنامه ریزی عالی با استفاده از اعداد فیبوناچی یا اندازه های تی شرت).
-
مدیریت پذیری: برنامه ریزی و کنترل کارهای کوچکتر آسان تر است. تیم می تواند زمان و منابع نیروی کار مورد نیاز برای تکمیل هر کار را با دقت بیشتری تخمین بزند.
-
افزایش شفافیت: هنگامی که وظایف به بخش های کوچکتر تقسیم می شوند، پیگیری پیشرفت و شناسایی مسائل در مراحل اولیه آسان تر می شود. این به تیم اجازه می دهد تا به سرعت به تغییرات واکنش نشان دهد.
-
انعطاف پذیری پیشرفته: در اسکرام، تغییرات در نیازمندیها اغلب رخ میدهد و تجزیه وظایف به تیم اجازه میدهد تا با تنظیم برنامهها و اولویتهای خود، انعطافپذیرتر با این تغییرات سازگار شود.
-
کیفیت بهبود یافته: وظایف کوچکتر تیم را قادر می سازد تا بر کیفیت هر قسمت تک تک تمرکز کند، که می تواند منجر به کیفیت بالاتر محصول نهایی شود.
-
تشویق به همکاری: تجزیه کار میتواند همکاری فعالتری را در تیم تقویت کند، زیرا شرکتکنندگان میتوانند به طور همزمان روی بخشهای مختلف یک کار کار کنند.
-
ادغام تدریجی: تقسیم وظایف به بخش های کوچکتر به تیم اجازه می دهد تا عملکرد را در مراحل ادغام و آزمایش کند، خطرات را کاهش داده و ثبات را بهبود بخشد.
امیدوارم این اطلاعات برای شما مفید باشد! اگر سوال یا پیشنهادی دارید، لطفا نظرات خود را بنویسید. خوشحال می شوم با مشاوره شخصی در زمینه IT، تجزیه و تحلیل کسب و کار، Scrum یا مدیریت پروژه به شما کمک کنم!