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

یه خواننده هست به اسم شماع زاده (نمی دونم مجازه غیر مجازه – اگر نیست عفو بفرمایید) همان که میگه گیتارم را نبرید {تورو خدا سیب و گلابی و طلاها رو ببرید ولی این گیتارم رو نبرید } واقعا این برادر باید برای برنامه نویس ها یک الگو باشد . برنامه نویس ها باید بگویند که هر چی دلت می خواهد ببر , 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...

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

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

نمایی از جلسات روزانه تیم اسکرام

همانطور که در سری های آموزشی SCRUM عرض کرده ام ,  در شروع هر روز کاری در گروه های تولید نرم افزار به سبک اسکرام جلساتی را به مدت 10 تا 15 دقیقه به صورت ایستاده برگزار می کنند که این جلسات به Stand up meeting مشهور می باشد. در این جلسه کوتاه 3 سوال اصلی مطرح می شود : 1- دیروز چه کار انجام داده ام ؟ 2- امروز چه کاری می خواهم انجام بدهم ؟ 3- مشکلاتی که در سر راه دارم چه چیزهایی هستند ؟ در مورد 1 که هر کس بیان می کند ,  آیتم مربوطه...
Continue reading...

Fail سریع خوب است

یکی از مزایای سوییچ کردن به متدلوژی های Agile رویارویی سریع با شکست می باشد . (ب . پ : منظور از شکست احتمال دارد به جایی برسید که کل پروژه تعطیل بشود و یا این که یک قسمت از پروژه را دوباره بازنویسی کنید) برای روشن شدن مطلب ,  در مورد نحوه کار پروژه های waterfall فکر کنید . نیازهای Business به ویژگی نرم افزار تبدیل می شود . تیم توسعه این ویژگی ها را بررسی و شروع به طراحی و ساخت نرم افزار می کند. چند ماه بعد گروه توسعه با جلال و شکوه و طی مراسم شیرینی...
Continue reading...

تست نرم‌افزار در Agile Software Development

همان‌طور که می‌دانید Unit Testing به معنای تست کردن قسمت کوچکی از برنامه است که ماجول یا یونیت برنامه نام دارد و می‌تواند در پیدا کردن اشکالات برنامه بسیار مؤثر واقع شود، اما در حقیقت نوشتن یک Unit Test بیشتر عملی است که در قسمت طراحی نرم‌افزار به کار می‌رود تا در قسمت Verification یا اشکال‌یابی، و می‌تواند نظرات کاربران را بگیرد.  به این معنا که وقتی کاربری در مورد سیستم نظر داد که مشکلی در Unit وجود دارد و آن مشکل در Unit Testing حل شد، در قسمت‌های بعدی نمی‌توان از او برای آن قسمت از برنامه نظرخواهی کرد. علاوه بر...
Continue reading...

Agile Software Development

Agile Software Development – شیوه‌ای جدید در تولید نرم‌افزار در طراحی یک نرم‌افزار رعایت اصول استاندارد طراحی، استفاده از الگوهای آماده و بهره‌گیری از روش‌های نوین بسیار مهم است، ولی نکته مهم این است که در اصل کاربران، باعث می‌شوند یک پروژه نرم‌افزاری به نتیجه برسد. یعنی فناوری و پروسه استفاده شده، در حقیقت در رده دوم اهمیت قرار دارند. بسیاری از ما با پروژه‌های نرم‌افزاری‌ای که بدون هیچ‌گونه اصولی تهیه می‌شوند، مواجه شده‌ایم و دیده‌ایم که کار با این گونه پروژه‌ها تا چه اندازه مشکل است. در این پروژه‌ها مشکلات عمده‌ای که پیش میآیند عبارتند از: عدم توانایی تولیدکنندگان...
Continue reading...