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

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

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

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

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

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

Refactoring tools in Visual Studio

چگونه از ابزاری که به منظور Refactor  در Visual Studio موجود است استفاده نماییم؟ Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less likely to go wrong. The system is also kept fully working after each small refactoring, reducing the chances that a system can get seriously broken during the restructuring. منبع : Refactoring...
Continue reading...

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

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

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

تیم اسکرام باید برای انجام Stand up meeting دارای یک محیط ویژه و مخصوص به خود باشند که در این پست نحوه طراحی چنین محیطی بحث خواهد شد . در شکل زیر نمایی از یک چینش اتاق را مشاهده می نمایید که مناسب تیم اسکرام برای Stand up meeting می باشد : همانطور که  در شکل بالا مشاهده می نمایید ,  محل وسط که دور آن با فلش احاطه شده است ,  جایی است که تیم اسکرام در آن به Meeting روزانه می پردازند البته با دید کامل بر White Board و Sprint  Planning Board و مواردی دیگر که در...
Continue reading...

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

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

کار با User Story ها

در بخش آموزش پیاده سازی SCRUM قسمتی با عنوان نحوه ساخت Product Backlog وجود دارد که در این پست می خواهیم با نحوه جمع آوری User Stories  برای ساخت Product Backlog  آشنا بشویم . User Story چیست ؟ عبارتست از توضیح کوتاهی در مورد عملیاتی که مد نظر کاربر و یا مشتری (صاحب محصول – Product Owner) می باشد . User Stories  منبع و در واقع تغذیه کننده اصلی Product Backlog ما هستند . بهترین حالت ساخت این Backlog در حالت Just-in-Time است یعنی همان زمانی که با صاحب محصول (Product Owner) در حال بحث روی محصول می باشید ....
Continue reading...

9 نشانه برای پی بردن به برنامه نویس بودنتان

[این  پست نسبت به نظرات کاربران ویرایش شد] به نظر بنده هر شغلی برای خودش نشانه هایی دارد و با توجه به آن نشانه ها می توان گفت فلان کس فلان کاره است . مثلا آدمی که لباسش سیاه است و دستاش روغنی و حسابی هم عصبانی رو می شود گفت که دکتره … ای وای اشتباه شد … می شود گفت مکانیک خودروست و الی ماشالله . اگر برنامه نویس بودن را به عنوان شغل در نظر بگیریم پس این شغل نیز برای خود دارای نشانه هایی می باشد . در اینجا قصد دارم نشانه ها و علائم برنامه...
Continue reading...