چابک نخواهید بود اگر

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

بازنگری در اسکرام

واژه “بازنگری” را با کمک یک دوست عزیز توانستم معادل واژه گرانبهای Retrospective پیدا نمایم .{ بدلیل اینکه معادل فارسی مناسب و معنی رسان نیست از خود کلمه Retrospective استفاده خواهد شد} . Retrospective یکی از مهم ترین و مقدسترین واژه ها در فرهنگ Agile می باشد به صورتی که در آیه دوازدهم بیانیه چابک به صورت واضح به اهمیت این مسئله اشاره شده است . در این آیه چنین می خوانیم : At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly بیانیه چابک – Agile Manifesto – اصل دوازدهم...
Continue reading...

رهبری تیم و خصوصیات یک رهبر خوب

در طی نوشته های قبلی در مود مدیریت پروژه به چندین وظیفه یک مدیر پروژه اشاره کردم که در این پست می خواهم در مورد خصوصیت رهبری یک مدیر پروژه صحبت نمایم . یک رهبر می تواند صرفا یک مدیر پروژه نباشد ولی هر مدیر پروژه باید رهبر هم باشد . این موضوع را از این حیث عرض کردم که  در بعضی از پروژه ها توسعه نرم افزار در ایران  شاهد این هستیم که نفری به عنوان یک مدیر پروژه وجود ندارد . در مواردی هم که وجود دارد , وی تنها کاری که انجام نمی دهد مدیریت پروژه است...
Continue reading...

Agile بهترین روش مدیریت منابع انسانی (برنامه نویس ها)

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

آیا TDD در عمل امکان پذیر می باشد؟

آیا TDD در عمل امکان پذیر می باشد ؟ این سوالی بود که یکی از عزیزان از بنده پرسیده بود . ایشون فرموده بودند : “شما که می گید اول تست بنویسیم و بعد کد نویسی , مگر چنین چیزی ممکن است ؟ مگر برای کد نانوشته می شود تست نوشت؟ ” و ایشون TDD را به یک افسانه تشبیه کرده بودند . من همین سوال را از شما می پرسم , آیا در عمل و یا اصطلاحا در Real World امکان دارد که TDD عملی شود ؟ در مقاله قبلی گفته شد که : TDD عبارتست از ترکیب TFD...
Continue reading...

دروغ سیزده چابک کاران

بالاخره تمام صنف ها برای خود دروغ سیزدهی دارند من هم حیف آمد که در عرصه چابک امسال دروغ سیزده نداشته باشیم . به تازگی در بعضی از وبلاگ ها ومحافل  چابک (Agile) یک خبر جنجالی داغ در جریان است . خبر از این قرار می باشد که برادر عزیز Mike Cohn می خواهد به اتحاد آبشار (Waterfall Alliance)  بپیونند و جزو هیت مدیره این انجمن بشود. (کار این انجمن انتشار و تبلیغ متدلوژی آبشاری می باشد) Mike Cohn کیست ؟ مایک یکی از برجسته ترین چهره ها در زمینه Agile  می باشد . وی چندین کتاب با عناوین متعدد...
Continue reading...

اسکرام راهی به سوی مشکلات

اسکرام برای حل مشکلات ما در زمینه توسعه نرم افزار زاده نشده است ,  بلکه اسکرام برای این منظور ظهور کرده است که مشکلات ما را درتوسعه نرم افزار هر روز نمایان نماید. تفکری که چون پروژه من بر روی چارچوب اسکرام بنا نهاده شده است پس مشکلی در توسعه نخواهم داشت کاملا اشتباه است. ما پروژه خودمان را برروی این چارچوب بنا میکنیم تا هرچه سریعتر با مشکلات روبرو شویم. هر چه قدر سریعتر با مشکل مواجه شویم خیلی زودتر و راحتر می توانیم مشکل مذبور را با هزینه کم رفع نماییم.  یک مشکل هر چه قدر دیرتر پیدا...
Continue reading...

کد تمیز بهتر از کد کثیف

قبلا پستی در مورد نحوه نوشتن کدهای تمیز داشته ام ولی هرچه قدر ما به صورت یک پست خلاصه بنویسیم ثواب یک کتاب جامعه در این مورد را نخواهد داد . بدلیل اهمیت این قضیه بر این شدم که کتاب خوبی در این مورد معرفی نمایم . برادر گرامی Robert Martin کتاب بسیار جالبی با عنوان Clean Code: A Handbook of Agile Software Craftsmanship دارد که خواندن آن خالی از لطف نمی باشد . در این کتاب خواهید خواند : چگونه کد خوب را از کد بد بشناسیم چگونه کدهای خوب بنویسسیم و چگونه کدهای بد را به خوب تبدیل...
Continue reading...

WPF را یادگیری لازم است

در اول پست عرض نمایم قصد آموزش WPF را به هیچ عنوان ندارم و مقصود اصلی این پست اشاره به لزوم طراحی مناسب در محصولات نرم افزاری و غیر نرم افزاری می باشد . غالبا محصولات نرم افزاری به دوشیوه رایج ارائه میگردد : 1 – به صورت وب سایت  2- به صورت دسکتاپ سایت هایی که عزیزان ما در این چندسال طراحی می کنند (البته آنهایی که 1000 تومانی نباشد) تقریبا از نظر طراحی قابل قبول است و خوب است بخصوص به دلیل استفاده از معیارهای WEB 2.0 . ما در صنعت طراحی وب سایت رشد بسیار خوبی داشتیم...
Continue reading...

توسعه محصول موفق

در پست قبلی به مدل های درآمد زایی شرکت های توسعه نرم افزار اشاره کرده بودم که در این پست می خواهم بیشتر به مدل درآمد زایی توسعه محصول بپردازم . در این پست خواهید خواند که چگونه  محصول ما  می تواند موفق باشد . شرکت هایی که در حال توسعه محصول نرم افزاری می باشند بر دو قسم می باشند . آنهایی که پروژه محور هستند و آنهایی که محصول محور هستند . شرکت های ایرانی غالبا پروژه محور می باشند . در این شرکت ها معمولا نگرانی ها حول مثلث آهنین می باشد ,  یعنی اینکه پروژه باید...
Continue reading...