هزینه تغییرات، مانع چابک شدن تیم‌ها

نویسنده: ابراهیم نبییی (معمار نرم افزار) داستان یک شکست شروع یک پروژه نرم افزاری همیشه هیجان انگیز است اما رفته رفته مشکلات چهره خود را به تیم توسعه نرم افزار نشان می دهند. برای بررسی بهتر این مشکلات تجربه واقعی یک شکست که در یکی از تیم های چابک اتفاق افتاده است را مرور می کنیم. این پروژه مانند بسیاری از پروژه‎های نرم افزاری شروعی امیدوار کننده داشت و عملکرد تیم توسعه در تکرارهای آغازین پایدار و مطلوب بود. متاسفانه پس از گذشت حدود 6 ماه، هزینه تغییرات به شکل نمایی رو به رشد گذاشت. این هزینه به قدری زیاد...
Continue reading...

چگونه در عمل تست اتوماتیک را پیاده سازی کنیم؟

زمانیکه در مورد لزوم تست های اتوماتیک سخن می گوییم همه ما یکصدا موافق وجود آنها هستیم اما زمانی که پروژه شروع می شود زمان نوشتن تست های اتوماتیک هیچ وقت فرا نمی رسد، یا زمان کمی برای این قضیه صرف می شود اما به بهانه های مختلف دوباره کناره گذاشته می شود. در این نوشته بیشتر قصد من آموزش نحوه  تست نوشتن نیست، بلکه بررسی روشی برای عملیاتی کردن فرآیند تست نویسی توسط برنامه نویس ها است. اولین دلیل نوشته نشدن تست، افسانه Coverage است خیلی از برنامه نویس ها یا مدیران دوست دارند Code Coverage یا Test Coverage...
Continue reading...

Story Point معادل نفر ساعت نیست

در پروژه های نرم افزاری روش های تخمین زدن متفاوتی وجود دارد؛ ساده ترین روش این است از نفری که می خواهد کار را انجام بدهد بپرسید “این چند ساعت طول می کشد؟” و او بر اساس تجربه قبلی یک ساعتی را اعلام می کند.  اما اکثر تیم های چابک از واحدی به نام Story Point استفاده می کنند. تیم های جدید یا نفرات جدیدی که برای اولین بار سراغ این روش تخمین زدن می آیند دقیقا سعی می کنند ساعت را به پوینت ربط دهند یعنی هر پوینت معادل هشت ساعت می شود. Story Point معادل نفر ساعت نیست...
Continue reading...

گزارش یک پروژه چابک – Simplydesk – بخش دوم

در قسمت اول این گزارش در مورد نحوه برنامه ریزی بیشتر صحبت کردیم، در قسمت دوم بیشتر مسائل فنی را پوشش خواهیم داد. شما هر چقدر برنامه ریزی قوی داشته باشید، ولی اگر از سطح فنی خوبی برخوردار نباشید، سطح چابکی مناسبی نخواهید داشت. یکپارچه سازی مداوم و تحویل مداوم لازم و ملزوم:) بدلیل اینکه پروژه از ساختار و لایه های مختلفی تشکیل شده بود و لایه ها به صورت مستقل Build می شدند، و بخصوص اینکه یک فریم ورک هم داشتیم که خود آن کاملا مستفل بود، یکپارچه سازی مداوم یا Continuous Integration  امری بسیار ضروری بود. این کار...
Continue reading...

کیفیت نرم افزار و 7 افسانه تست اتوماتیک

– مدیر : “چرا این نرم افزار اینقدر باگ داره ؟ این چه وضع کار کردنه؟” – برنامه نویس: “این ماهیت نرم افزاره، نمیشه کاریش کرد، فقط اگر ما بشینیم و تست بنویسیم باگ نخواهیم داشت” همیشه آرزوی ما توسعه دهندگان نرم افزار این است که محصول تولیدی ما دقیقا مثل یک هواپیما باشه، یک داشبورد داشته باشیم با کلی آلارم و کنتور … . و دقیقا به ما بگه کاپیتان موتور سمت چپ از کار افتاده یا کاپیتان سیستم سوخت رسانی با مشکل مواجه شده و ما هم سریع عکس العمل نشان بدهیم. برای رسیدن به چنین منظوری ما نیاز...
Continue reading...

داستان کاربری از آغاز تا پایان

یکی از مشکلات اساسی در پروژه های نرم افزاری ارتباط مابین نفرات فنی و تجاری است. در واقع نبود یک زبان مشترک موجب می شود تا اکثر اوقات کج فهمی هایی در درک نیازهای واقعی مشتری اتفاق بیفتد. تیم های چابک نیز از این قاعده مستثنی نیستند و طبق تجربه  این دوستان نیز با چنین مشکلی مواجه می شوند. قاعده یا فرمول کلی برای ثبت وضبط نیازمندی ها در روش های چابک وجود ندارد و شاید همان روش قبلی خودمان جوابگو باشد. ولی اکثر تیم های چابک از داستان کاربری(User Story) جهت این منظور استفاده می کنند. اما در استفاده از...
Continue reading...

موتور چابک : چگونه باید چابک شد؟

در اولین کنفرانس چابک ایران، Iran Agile 2014 افتخار این را داشتم که ارایه ای با عنوان “موتور چابک: چگونه باید چابک شد؟” را داشته باشم. برای دانلود فایل اسلایدهای پرزنتیشن می توانید به این لینک مراجعه نمایید و در ادامه، متن مقاله ارایه شده آمده است. برای دانلود مقاله بصورت PDF هم می توانید از این لینک استفاده نمایید. از یک داستان باید شروع کرد در سال 2001، 17 نفر از صاحب نظران صنعت نرم افزار وصاحبین پرکتیس های فنی و مدیریتی دور هم جمع شدند تا وضعیت آن زمان این صنعت را بررسی کنند و شاید بتوانند برای...
Continue reading...

معمار و معماری چابک

– اسد : ” بچه ها امروز روز اول پروژه مون هست، و متدلوژی ما چابک هست و قراره در اسپرینت های دو هفته ای نرم افزار کار کننده تحویل مشتری بدهیم” – علی : ” نرم افزار کار کننده چی هست؟ ” – اسد : ” نرم افزاری که کار کند و انتظارات مشتری در حدی که خواسته بود بر طرف کند” – ناصر : ” این خوب است ولی اسد این فعلا امکان پذیر نیست، میدونی که پروژه ما اینترپرایز هست و باید معماری پیاده سازی شود شاید بعد اون بتونیم محصول قابل استفاده بدهیم دست مشتری” –...
Continue reading...

ویدئوی آموزشی BDD

شاید اخبار دنیای تکنولوژی را دنبال کنید متوجه می شوید که هر روزه DD های مختلفی Driven Development به صنعت نرم افزار معرفی می شوند، از جمله این DD ها که استقبال خوبی از آن انجام شده است BDD یا Behavior Driven Development است. یک ارائه  خوب مدتی قبل در مورد BDD با ابزار محترم خیار یا Cucumber انجام شد که دیدن آن برای دوستان توصیه می شود :     لینک دانلود  لینک اسلایدها  لینک ویمئو نویسنده مهمان : بهرنگ نوروز نیا بهرنگ نوروزی نیا از توسعه دهندگان خوب کشور می باشد وی بیشتر در زمینه نرم افزار های بر پایه وب کار...
Continue reading...

اول تا آخر Agile

قبلا پستی با عنوان اول تا آخر Agile بر روی دنیای چابک داشتیم که متاسفانه در نقل و انتقال بلاگی بسیار از این لینک ها شکسته اند. حقیقت و لزوم این پست در مورد تازه آشنایان با حوزه اجایل و متدهای مربوطه بود. هر روز، هر هفته چندین نفر جدید از من می پرسند “اجایل چیست؟” “اسکرام چیست” “می شه بگی این چابک یعنی چه؟” و … # Agile چیست ؟ اجایل به زبان بازاری توسعه نرم افزار Agile فرق Agile با RUP یا دیگر روش های موجود در چیست؟ # Agile و مدیریت مدیریت چابک مدیریت نسل سوم Agile بهترین...
Continue reading...