پیاده سازی ایده کسب وکار خود را از صفر تا صد به ما بسپارید و خود روی پیشبرد کسب و کار تمرکز کنید. توسعه نرم افزار همواره یک جنبه از کسب و کار شماست ولی آن چیزی که موفقیت شما را تضمین می کند تمرکز بر اصل کسب و کار است. طراحی و توسعه نرم افزار کار بسیار پیچیده ای است و وقتی آن را دست کم میگیرید به نقطه شکست شما تبدیل می شود. چرا که کم کم بخش زیادی از انرژی و ظرفیت شما را به خود اختصاص می دهد و شما را از فکر کردن و پیشبرد کسب و کارتان غافل می کند. مخصوصاً زمانی که فکر و ذکرتان می شود نرم افزار و تصور می کنید که کسب و کارتان همین نرم افزار شماست. در حالی که نرم افزار فقط ابزاری برای موفقیت کسب و کار شماست.
تمامی مراحل توسعه نرم افزار را گام به گام و بر اساس یک فرآیند چابک با شما پیش می بریم و محصول نهایی را به همراه کد برنامه و مستندات طراحی در اختیار شما قرار میدهیم. فرآیند توسعه محصول برپایه چارچوب اسکرام و طبق مراحل زیر انجام میشود:
مدیریت نیازمندی ها
مدیریت نیازمندیها، به صورت یکباره و در ابتدای کار انجام نمیشود بلکه این کار به صورت یک کار جمعی و با همکاری نزدیک تیم توسعه و نماینده کارفرما انجام میشود. نیازمندیهای در محصول در قالب داستان کاربری تعریف می شود. این داستان های کاربری در صفی قرار میگیرند که به آن بک لاگ محصول گفته می شود و در واقع شرح ویژگی های مورد انتظار برای محصول است. اقلام داخل این صف سطح یکسانی از جزییات ندارند بلکه جزییات آنها معمولاً در مقاطع زمانی مختلف تکمیل میگردد:
- ترسیم چشم انداز: در این مرحله فقط بک لاگ کلانی از محصول آماده می شود و نیازمندی های در سطح کلان (اپیک) تعریف می شوند.
- برنامه ریزی انتشار: در این مرحله، جزییات بیشتری از نیارمندیها مشخص می شود و سطح هر نیازمندی (داستان کاربر) در سطح ویژگی محصول است. معمولاً هر اپیک به مجموعه ای از ویژگی ها شکسته می شود.
- جلسات آماده سازی بک لاگ محصول: در این جلسات هر گونه جزییاتی از داستان کاربر و شرایط پذیرش آن که دارای ابهام باشد بحث و بررسی می شود و نیازمندی ها(داستان های کاربری) جهت توسعه آماده ورود به اسپرینت می شوند.
برنامه ریزی
برنامه ریزی در این مدل به شکل چند سطحی انجام میشود:
- برنامه ریزی محصول
- برنامه ریزی انتشار
- برنامه ریزی اسپرینت
در یک بازه زمانی مشخص (بسته به بزرگی پروژه بین 20 تا 50 ساعت یا بیشتر) طی جلساتی، شناخت اولیه ای از پروژه حاصل می شود. هدف از این مرحله بررسی ارزش های پیشنهادی محصول و مأموریت و چشم انداز محصول است. بر اساس این شناخت، خروجی های ذیل آماده و به تأیید کارفرما میرسد:
- چشم انداز پروژه: شرح خلاصه ای از مأموریت و اهداف بلند مدت محصول (ذکر فرمتهایی از چشم انداز محصول).
- اقلام کلان بک لاگ محصول: آیتم هایی در قالب داستان کاربر (User Story) به صورت کلان و در سطح Feature نوشته شده و به تأیید نماینده کارفرما میرسد. در کار با همکاری نزدیک نماینده کارفرما انجام میشود.
- نقشه راه محصول: (تعریف نقشه راه محصول) برنامه ای از انتشارهای مختلف محصول.
بر اساس نقشه محصول ترسیم شده در برنامه ریزی محصول، اگر محصول جدید باشد اولین انتشار از محصول و در غیر این صورت انتشار آتی محصول برنامه ریزی می شود. برنامه انتشار محصول ایجاد یک توازن میان سه قید زمان، بودجه و محدوده (Scope) است. بر اساس تجربه، اغلب انتشارها یا محدوده ثابت هستند یا تاریخ ثابت. از آنجا که انتشارهای تاریخ ثابت همخوانی بیشتری با اصول چابکی دارند سعی می کنیم انتشارهای محدوده ثابت را هم به چند انتشار تاریخ ثابت بشکنیم. در برنامه ریزی یک انتشار تاریخ ثابت، تاریخ تحویل مشخص است و در به دنبال آن هستیم که بر محدوده کار (Scope) و هزینه را مشخص کنیم. برای این کار مراحل ذیل را انجام میدهیم:
- آماده سازی بک لاگ محصول را تا جایی انجام می دهیم که کار مورد نیاز برای برنامه ریزی در این بازه زمانی را داشته باشیم.
- اقلام بک لاگ محصول را برآورد می کنیم (بزرگی تک تک اقلام موجود در بک لاگ را مشخش می کنیم).
- سرعت حداقل و حداکثر تیم را بر اساس اسپرینتهای گذشته محاسبه می کنیم.
- بر اساس زمان پایان تعداد اسپرینتهای موجود را محاسبه می کنیم. مثلاً اگر تاریخ پایان انتشار دو ماه و اسپرینت ها دو هفته ای باشند، تعداد 8 اسپرینت در این دو ماه جا می گیرد.
- تعداد اسپرینت ها را در حدقل سرعت تیم ضرب می کنیم و بر اساس آن روی بک لاگ محصول خطی می کشیم. این خط ویژگی های حتمی را نشان می دهد. یعنی در بدترین شرایط که تیم با حداقل سرعت کار کند این بخش از بک لاگ به زمانبندی انتشار خواهد رسید.
- تعداد اسپرینت ها را در حداکثر سرعت تیم ضرب می کنیم و بر اساس آن روی بک لاگ محصول خطی دیگری می کشیم. این خط ویژگی های احتمالی را نشان می دهد. یعنی در بهترین شرایط که تیم با حداقل همیشه با حداکثر سرعت کار کند این بخش از بک لاگ به زمانبندی انتشار خواهد رسید.
آخرین سطح از برنامه ریزی که در ابتدای هر اسپرینت طی یک جلسه تیمی انجام می شود، برنامه ریزی اسپرینت است. در این جلسه بخشی از بک لاگ محصول که در یک اسپرینت توسط تیم قابل انجام است برنامه ریزی می شود. این سطح از برنامه ریزی مرتبط با تعیین نحوه انجام کار است و هر داستان کاربر به وظیفه هایی شکسته می شود که برای انجام شدن یک داستان کاربر مورد نیاز است. هر وظیفه نیز به ساعت برآورد می شود و جمع کل وظایف تعریف شده در یک اسپرینت نباید از ظرفیت ساعتی تیم در آن اسپرینت تجاوز کند. مهمترین خروجی برنامه ریزی اسپرینت، بک لاگ اسپرینت است که یک افرازی از بک لاگ اسپرینت است که در سطح وظیفه ها شکسته شده است.