مدیر پروژه و تغییر دامنه

هر پروژه ای که کار می شود باید در زمان خاص و با هزینه خاص تمام شود . که در این زمان و با این هزینه نیازمندی هایی که تعریف شده اند پیاده سازی می شود . این همان مثلث آهنین مدیریت پروژه می باشد : هزینه ,  زمان و دامنه . دامنه (Scope) چیست ؟ دامنه متمایز گر و جداکننده چیز های داخل و خارج پروژه می باشد . به عبارت ساده تر مشخص می کند چه چیزی در طی پروژه باید انجام شود و چه چیزی نیاز نیست انجام شود . اصطلاح Scope creep چیست ؟ Scope creep...
Continue reading...

توسعه آزمایش محور

یه خواننده هست به اسم شماع زاده (نمی دونم مجازه غیر مجازه – اگر نیست عفو بفرمایید) همان که میگه گیتارم را نبرید {تورو خدا سیب و گلابی و طلاها رو ببرید ولی این گیتارم رو نبرید } واقعا این برادر باید برای برنامه نویس ها یک الگو باشد . برنامه نویس ها باید بگویند که هر چی دلت می خواهد ببر , IDE را ببر , کامپوننت Janus را ببر , Delphi رو کلا ببر , PHP ام دم در بنداز تو Trash ولی تو رو خدا TDD ام را نبر . در این سال های اخیر در صنعت...
Continue reading...

JIRA برای Agile

نرم افزار Jira  با امکان پیگیری موضوعات ( issue tracking) , مدیریت پروژه چابک (agile project management) ,  چرخه کاری سفارشی (customizable workflow) و مواردی دیگر سرعتی زیاد در توسعه نرم افزار به تیم شما خواهد بخشید . Jira در مواردی که بیان شد بسیار قدرتمند  می باشد که شهرت مشتریانش گواهی بر این موضوع می با شد : ویژگی های Jira برای توسعه نرم افزار : Bug and issue tracking (پیگیری موضوعات و باگ ها) Agile software development (توسعه چابک نرم افزار) Project management (مدیریت پروژه) OpenSocial Dashboards (قابلیت اتصال به صورت یک Gadget به مثلا iGoogle) Workflow and...
Continue reading...

Scrum In Visual Studio

اگر برای توسعه نرم افزار های خود از محیط توسعه Visual Studio استفاده می کنید و پروژه شما بر اساس Scrum می باشد ,   می توانید از ابزارScrum Community Process Template استفاده نمایید . این ابزار مخصوص Visual Studio Team System می باشد . این ابزار به صورت متن باز می باشد و شما می توانید در توسعه این ابزار به سازندگان ابزار یاری نمایید . مشاهده و دریافت ابزار یاشیاسیز...
Continue reading...

آمار جالبی از گسترش نرم افزار

شرکت تحقیقاتی Standish Group آماری چند سال قبل بیرون داده بود در این آمار چندین هزار پروژه مورد بررسی قرار گرفته بودند. در این آمارگیری  میزان زیادی از سرمایه گذاری انجام شده تلف شده است و بسیاری از پروژه ها شکست خورده اند  . نکته جالب اینجاست که در هیچکدام یک از این پروژه ها از Agile استفاده نشده است . برای 175000 پروژه IT مبلغ 250 میلیارد دلار صرف شد . به طور میانگین 2.3 میلیون دلار برای هر پروژه. 31% این پروژه های قبل از اتمام شکست خود و تعطیل شد. هزینه 52% این پروژه ها 189% بیشتر...
Continue reading...

وضعیت 90% پروژه

در بعضی از پروژه ها  و در اغلب پروژهای نرم افزاری در ایران پیش می آیدکه نرم افزار مثلا در مدت 3 ماه به وضعیت 90% می رسد  و چون پروژه در وضعیت 90% است برنامه نویس ها شروع به انجام دادن ریزه کاری هایی که از قبل مانده بود می کنند (مانند تکمیل چینش کنترها بر روی فرم ها )  ولی 10% باقی مانده بیش از 3 ماه به طول می انجامد !  چرا ؟ محصول 90% باعث به عقب افتادن Release محصول می شود و بالطبع نارضایتی مشتری و هزینه های اضافی را برای تیم توسعه دربرداشته خواهد...
Continue reading...

آیا Agile در پروژه های بزرگ جواب خواهد داد ؟

یکی از اساسی ترین بحث هایی که در محافل Agile مطرح می شود این است که آیا Agile  قابلیت کار در پروژهای بزرگ را دارد ؟ بعضی ها می گویند نه و اعتقاد دارند که که Agile فقط یک راه حل کوچک و فنی می باشد . عدم وجود برنامه ریزی از قبل تعیین شده باعث به وجود آمدن موانع در راه پروژه می شود . و بعضی دیگر می گویند بلی و اذعان دارند که فرآیند قابل گسترش می باشد اما این عمل طول می کشد. و اشتباه از کسانی است که نمی توانند این عمل را درست انجام...
Continue reading...

چگونه کدهای تست نشده را رفاکتور نماییم؟

معمولا در مرحله Bug-fixing یا رفع خطاها فرصتهای مغتنمی برای رفاکتور کردن کدهای تست نشده به وجود می‌آید . به عبارت دیگر شما کدهایی دارید که مشکل دار هستند و این فرصت را دارید تا با ساختاری بهتر کدها را بازسازی نمایید . بعنوان یک قاعده کلی ، به ازای هر کسی که یک مشکل (Problem) را به شما اطلاع می دهد بین 10 تا 100 نفر دیگر وجود دارد که با همین مشکل مواجه شده است ولی به شما اطلاع نداده است . زمانی که می خواهید به مسائل بالای کیفیت دست پیدا کنید در واقع می خواهید کدهای...
Continue reading...

اسکرام ساده شده

در طی مقالاتی که بنده در مورد Scrum به رشته تحریر درآوردم , اشکالی که وارد می باشد این است که کل مقالات به صورت بریده های روزنامه می باشد که خواننده نمی تواند جمع بندی بکند . در این پست قصد دارم کل اسکرام را به صورت کامل و با بیان ساده تشریح نمایم . امید بر انجام این مهم است . قسمت اول – توضیحات تکمیلی اسکرام چیست ؟ در روش‌های قدیمی و معمول ساخت نرم‌افزار، طراحان نرم‌افزار معمولاً  ابتدا فرض می‌کنند که تمامی نیازهای کاربران سیستم را درک کرده‌اند. اما همیشه نیازهای کاربران سیستم در ابتدا مشخص...
Continue reading...

ابزار تفکری که Agile نامیده می شود

بعضی از مردم هستند که همیشه در مقابل تغیرات مقاومت از خود نشان می دهند و برای اینکه سوییچ نکنند شروع به انتقاد از مورد جدید می کنند . Agile هم از این قاعدع مستثنی نمی باشد ,  کسانی که با Water Fall و یا RUP کار میکنند Agile را مورد حمله قرار می دهند و به این اذعان دارند که Agile ابزار خوبی نیست و باید مورد استفاده قرار نگیرد. ابزاری با عنوان بد یا خوب وجود ندارد . این ما هستیم که با استفاده نادرست از این ابزار باعث ناکارآمد شدن این ابزار می شویم . همیشه مردم...
Continue reading...