برای مشاهده تصویر بزرگتر، روی تصویر کلیک فرمایید.
گزیده:
اگر محبت ميخواهيد، بياموزيد كه محبت كنيد. ديپاك چوپرا
مرجع: اس. جی.
سمینار برنامهریزی چابک (Agile Planning)
«Plans are nothing; planning is everything.»
شرح و اهداف:
«تیمهای پروژههای چابک برنامهریزی نمیکنند»؛ «تیمهای چابک به زمان و محدوده پروژه متعهد نیستند»؛ «توسعه چابک نرمافزار به این دلیل که در آن تیمها برنامهریزی نمیکنند، در تیمها و پروژههای متوسط و بزرگ قابل اجرا نیست و فقط در تیم و پروژههای کوچک قابل استفاده است»؛ اینها نمونههایی از انتقادها و نظرات بیانشده در مورد متدهای چابک است. این سمینار نشان خواهد داد که برنامهریزی بخش جداییناپذیر از همه پروژههای چابک است.
این متدها به دنبال چابکی در توسعه نرمافزار هستند، از این رو انتظار میرود که برنامهریزی نیز در آنها چابک باشد. به عبارت دیگر به جای «برنامهریزی پروژههای چابک» به دنبال «برنامهریزی چابک پروژهها» هستند. اما چگونه؟ این سمینار به این پرسش پاسخ خواهد دهد.
اجرای متدهای چابک دشوار است. دشواری به دلیل کارهایی نیست که در آنها انجام میشود، بلکه ناشی از کارهایی است که در آنها انجام نمیشود. مگر میشود مدیر پروژهای را بدون داشتن ابزار گانت چارت تصور کرد؟ در این سمینار به چگونگی اجرای برنامهریزی، کنترل و پایش چابک پروژهها نیز پرداخته میشود.
سرفصل مطالب سمینار عبارتند از:
تغییر پارادایم در مدیریت پروژه: ارزشهای رهبری چابک
برنامهریزی چندسطحی و کاربردهای آن در برنامهریزی چابک
برنامهریزی محصول، انتشار، تکرار و روزانه در متدهای چابک
رویکرد و تکنیکهای براورد پروژههای چابک
ابزارهای برنامهریزی، کنترل و پایش
زمان و مکان برگزاری:
چهار شنبه مورخ 29/09/1391
ساعت 15:00 الی 18:00
تهران خیابان سهروردی شمالی، خیابان خرمشهر(آپادانا)، خیابان شهید عربعلی(نوبخت)، کوچه نهم، شماره 13، سازمان نظام صنفی رایانه ای کشور. تلفن:88734499، سرکار خانم محمدلو
هزینه و نحوه ثبتنام:
….
….
به شرکتکنندگانی که مشخصات ثبت نام را تا 27 آذرماه ارسال نمایند، در پایان سمینار، گواهینامه اعطاء خواهد شد.
گزیده:
ساده ترين كار جهان اين است كه خود باشي و دشوارترين كار جهان اين است كه كسي باشي كه ديگران ميخواهند. هربرت اتو
مرجع: اس.جی.
شرکت محترم سماتک در نمایشگاه الکامپ امسال پانلهای تخصصی برگزار خواهد کرد.
مفتخر هستم در یکی از این پانلها در کنار استاد و دوست گرانقدر، جناب آقای دکتر چیتساز حضور داشته باشم.
ضمن عرض خسته نباشید، از عزیزانم در شرکت سماتک به خاطر لطف و دعوتشان سپاسگزارم.
———————-
پانل تخصصی:
بررسی روش مناسب برای تولید نرمافزار در ایران (مقایسه روشهای پرتشریفات با چابک)
با حضور آقای دکتر مازیار چیتساز و مهندس یوسف مهرداد بیبالان
چهارشنبه 22 آذر 2 عصر
سالن 40 غرفه 21

گزیده:
بيست سال بعد، بابت كارهايي كه نكردهاي بيشتر افسوس ميخوري تا بابت كارهايي كه كردهاي. بنابراين، روحيه تسليم پذيري را كنار بگذار، از حاشيه امنيت بيرون بيا، جستجو كن، بگرد، آرزو كن و كشف كن. مارك تواين
مرجع: اس.جی.
I Don’t Care About “Agile”
All ideas are great, until they are confronted with reality.
The concept of Management By Objectives by Peter F. Drucker was great, except for the fact that it didn’t take into account that managers could easily abuse it to enrich themselves with big bonuses.

The idea of Shareholder Value, supported by Nobel-prize winner Milton Friedman, was great in theory and perfect for rational minds, as long as we ignored the fact that economic decisions are almost never rational.
The Balanced Scorecard by Kaplan and Norton is a very good tool for managers. But most managers think they’re driving their organization like a machine, instead of riding it as if it’s a horse, and digital dashboards don’t sit well on horses.
The list of failed management ideas goes on an on…
Now we are in the age of Agile Management, Lean Development, and Complexity Thinking, with Scrum, Kanban, and Cynefin trying to ride the waves. And the first signals of disillusion have already been heard. I hear, “It’s not working here”, “People don’t want to change” and “These are fads like all the others”.
And yes… they may be right.
If you don’t change the culture of your organization to one of learning instead of controlling, if you don’t see your business as a community instead of a computer, and if you don’t focus on improving through people rather than processes, you will get exactly that. The ideas won’t work, people won’t change, and it’s all just a fad.
No great idea survives contact with the ignorant.
Of course, words like Agile and Lean were conceived to try and change the mindsets of managers and the cultures of businesses. But if these words don’t succeed, we shouldn’t mourn their defeat. The Agile and Lean brands may be destined to end up on the same pile of discarded words as all the others. Not because the ideas weren’t any good. But because they couldn’t cope with the real world.
I don’t care.
My goal is not to define, use, and protect the word Agile.
My goal is to be happy while learning new things and creating value in a network with other people. I will use any cool words that can help me with this. And right now, I’m an optimist. For me, Agile is still an awesome brand.
Until it isn’t.
Reference: www.noop.nl
منبع: از میان نامههای محسن
Quote:
Having a style is like being in jail.
Anthon Beeke
مترجم: آقای مهندس مهدی نگاهی
وظیفه (Task)
برای پیادهسازی هر وظیفه، برنامهنویسِ مسئول ابتدا باید یک همکار پیدا کند، زیرا همه کدهای برنامه به صورت دو نفره پشت یک کامپیوتر نوشته میشود. اگر پرسشی در مورد محدوده یا روش پیادهسازی به وجود آید، دو همکار(برنامهنویس و همکار وی) جلسه کوتاهی (15 دقیقهای) با مشتری، برنامهنویسان مرتبط یا هر دو برگزار میکند. برنامهنویسان مرتبط کسانی هستند که دانش بیشتری در مورد کدی دارند که در طول پیادهسازی وظیفه تغییر خواهد کرد.
با توجه به جلسات، دو همکار فهرستی از موارد آزمون را تهیه میکنند که باید قبل از پایان وظیفه اجرا شوند. دو همکار یک مورد آزمون را از فهرست انتخاب میکنند که اطمینان دارند قادر به پیادهسازی آن بوده و مطالبی در مورد وظیفه به آنها یاد خواهد داد. آنها کد مورد آزمون را مینویسند. اگر مورد آزمون اجرا شد، این روند تا زمانی که کار به پایان رسد، ادامه مییابد. گرچه معمولاً کارهایی باید انجام شود تا مورد آزمون به درستی اجرا شود.
![]()
وقتی مورد آزمونی وجود دارد که اجرا نمیشود:
+ یا یک راه تمیز برای اجرای مورد آزمون پیدا شده، که در این صورت همان راه پیش برده میشود؛
+ یا یک راه ناپسند برای اجرای مورد آزمون پیدا شده، اما راه تمیزی هم وجود دارد که نیاز به تغییر طراحی فعلی دارد. در این حالت، سیستم بازسازی (Refactor) میشود تا راه تمیز قابل اجرا شود؛
+ یا یک راه ناپسند برای اجرای مورد آزمون پیدا شده و راه تمیزی حتی با بازسازی سیستم نیز متصور نیست. در این حالت، همان راه ناپسند پیش برده میشود تا مورد آزمون اجرا شود.
پس از اجرای مورد آزمون، اگر راهی برای بازسازی سیستم و تمیزتر کردن آن به ذهنمان رسید، انجام میدهیم.
در هنگام پیادهسازی مورد آزمون، ممکن است مورد آزمون دیگری که بهتر است اجرا شود به ذهنمان برسد. در این حالت، مورد آزمون جدید در فهرست یادداشت شده و کار ادامه مییابد. همچنین ممکن است لازم شود بخشی از سیستم بازسازی شود که در محدوده مورد آزمون جاری نمیگنجد. این مورد هم یادداشت شده و کار ادامه مییابد.
هدف این روش، حفظ تمرکز تیم در کار است. با این شیوه، میتوان کار فعلی را به خوبی انجام داد و در عین حال بینش و درک کلانی از سیستم داشت. این بینش از تعامل زیاد با کد ناشی میشود.
گزیده:
مابک(کریستوفر پلامر): خدای من اینها دیگه کییند؟
لوول(ال پاچینو): آدمهای عادی در یک شرایط غیرعادی. چه انتظاری داری مرد !
گفتوگویی از فیلم تماشایی Insider
اگر عمری باقی بود در هفته پایانی آذرماه، سمینار برنامهریزی چابک یا Agile Planning را برگزار خواهم کرد.
بعد از برگزاری سمینار نیازمندیهای چابک یا Agile Requirements علاقهمند بودم که سمینار برنامهریزی را زودتر برگزار کنم. حالا خوشحال هستم که هر چند با تأخیر، این سمینار برگزار خواهد شد.

گزیده:
هر هدفی بدون برنامه، فقط یک آرزوست.
آنتونیو دو سنت هگزوپری
بخش دوم ترجمه مقاله Embracing Change with Extreme Programming نوشته Kent Beck را میتوانید در اینجا مطالعه نمایید.
مترجم: آقای مهندس مهدی نگاهی
انتشار (Release)
توجه کنید که مطابق شکل 2، همه داستانها در ابتدا پیادهسازی نمیشوند. بلکه مشتری کوچکترین مجموعه از با ارزشترین داستانهایی را انتخاب میکند که در کنار هم معقول و منطقی هستند. ابتدا این مجموعه از داستانها پیادهسازی شده و در محصول نهایی قرار میگیرند و سپس باقیماندهها پیادهسازی میشوند.
انتخاب داستانهای هر انتشار تا حدودی شبیه خرید مواد غذایی از فروشگاه است. وقتی با 100 دلار به فروشگاه میرویم، به خریدهای ضروری(با الویت) فکر میکنیم، به قیمت اجناس نگاه میکنیم و بعد تصمیم میگیریم که چه چیزهایی خریداری کنیم. [در اینجا بودجه موجود برای خرید -100 دلار- قابل افزایش نیست. رویکرد دیگر این است که ابتدا اجناس ضروری انتخاب میشوند و بعد بودجه لازم برای خرید آنها با جمع قیمتها، براورد میشود-مثلاً 150 دلار-].
در بازی برنامهریزی(فرایند برنامهریزی XP)، داستانها معادل اجناس و برآورد هر داستان معادل قیمت است[به عنوان مثال اگر براورد پیادهسازی داستانی، 3 نفر-روز باشد، یعنی قیمت آن 3 واحد است]. بودجه با اندازهگیری خروجی تیم محاسبه میشود که مبنای آن جمع برآورد داستانهای انجام شده در واحد زمان است.
مشتری میتواند به دو شیوه زیر عمل کند: مجموعهای از داستانها را انتخاب کند و برنامهنویسان تاریخ پایان پیادهسازی را محاسبه کنند [موقع خرید، اجناس را انتخاب میکنید و فروشنده، مبلغ قابل پرداخت را محاسبه میکند] یا تاریخ پایان را مشخص کند و برنامهنویسان بودجه را محاسبه کرده و سپس مشتری داستانها را یکی پس از دیگری انتخاب کند تا جمع برآوردهای آنها با بودجه برابر شود.[موقع خرید، بودجه را به فروشنده اعلام میکنید و سپس یکی یکی اجناس را انتخاب میکنید و هر بار جمع قیمتها محاسبه میشود تا از بودجه بیشتر نشود].
تکرار(Iteration)
هدف هر تکرار، افزودن داستانهای جدیدِ آزمایش شده و آمادهی استفاده به محصول است. فرایند با طرحی شروع میشود که در آن داستانهای انتخاب شده برای پیادهسازی و چگونگی انجام آنها توسط تیم مشخص شده است. هنگامی که تیم در حال پیادهسازی است، مشتری آزمونهای کارکردی (functional tests) را مشخص میکند. آزمونها در پایان تکرار اجرا شده و تیم برای تکرار بعدی آماده میشود.
برنامهریزی تکرار با درخواست دوباره از مشتری برای انتخاب باارزشترین داستانها آغاز میشود با این تفاوت که اینبار، داستانها از بین داستانهای باقیمانده از انتشار انتخاب میشوند. داستانها توسط تیم به مجموعهای از وظایف (tasks) شکسته میشوند –وظیفه کاری است که یک نفر میتواند طی چند روز انجام دهد. در صورت وجود وظایف فنی– مانند ارتقاء (upgrade) پایگاه داده به نسخه جدید-، آنها نیز به لیست وظایف افزوده میشوند.
پس از آن، برنامهنویسان برای پذیرش انجام وظایف، اعلام آمادگی میکنند. وقتی گفتوگو درباره وظایف به پایان میرسد، برنامهنویس مسئول، زمان انجام وظیفهاش را بر مبنای روز ایدهآل (ideal day) برآورد و اعلام میکند[روز ایدهآل یکی از واحدهای براورد اندازه(سایز) داستان است. روز ایدهال مدت زمان انجام یک کار است به شرطی که مجری فقط همان یک کار را انجام دهد، وقفهای در انجام کار به وجود نیاید و منابع لازم برای کار نیز فوراً آماده گردد].
در پایان ممکن است برنامهنویسی وظایف بیشتر یا کمتر از ظرفیت خود داشته باشد. در این صورت کسی که وظایف کمتری دارد، وظایف بیشتری برمیدارد تا تعادل برقرار گردد.
برنامه نویسان وظایف خود را طی تکرار انجام میدهند. با پایان یافتن هر وظیفه، برنامهنویس کد نوشته شده را با کد سیستم یکپارچه کرده و آزمونها را اجرا میکند. همه آزمونها باید اجرا و پشت سر گذاشته شوند، در غیر این صورت کدها اجازه یکپارچهشدن با سیستم را نخواهند داشت.
در طول تکرار، آزمونهای کارکردی تحویل شده توسط مشتری به مجموعه موجود افزوده میشوند. همه آزمونهای واحد و آزمونهای کارکردی در پایان تکرار اجرا میشوند.
گزیده:
زیستن، تنها با آنچه انسان میداند و آنچه به یاد میآورد و محروم از آنچه آرزو دارد، چه دشوار است. آلبر کامو