هدف دوم در برنامه

  • یوسف مهرداد بی‌بالان

پس از آن که به کمک دوستان گرامی‌ام، توانستم اولین برنامه از برنامه‌های سال نو را به انجام برسانم. برنامه دوم نیز به اجرا نزدیک شد.
دوره متدهای چابک که مدتها علاقه‌مند به برگزاری آن بودم، بالاخره معرفی شد. معرفی حدود یک و نیم ماه پیش انجام شده است. خوشحالم از این که توانستم برای این کار مهم، زمانی اختصاص دهم. اطلاعات بیشتر را می‌توانید در اینجا و سرفصل دوره را در اینجا ملاحظه فرمایید.

مطالب دوره عبارتند از:

متدهای چابک (Agile Methods)

خلاصه:
دنیای مهندسی و تولید نرم­افزار نیازمند افزایش کیفیت، سرعت و کاهش هزینه محصولات است. متدهای چابک، تلاشی است برای تغییر نگرش نسبت به این حوزه برای دست­یابی به اهداف مذکور. بیش از ده سال از بیانیه چابکی می­گذرد و در این مدت، متدهای مختلفی ظهور کرده، اشکالات تصحیح شده و آموزه­ها هم­گرا گردیده­اند و آن چه که امروز وجود دارد، مجموعه­ای گران­قدر از همه آنها است که «چابکی» یا «متدهای چابک» خوانده می­شود. واضعان این متدها با تفکرات متفاوت اما همگرا و با تکیه بر تجربه­های مؤفق نشان دادند که اجرای این گونه متدها تأثیر به­سزایی در بهبود چهار پارامتر بزرگ و مهم دارند: کارایی، کیفیت، روحیه افراد و زمان ورود به بازار.

هدف اصلی متدهای چابک تحویل سریع­تر نرم­افزار و کسب اطمینان از پوشش نیازهای در حال تغییر مشتری است. به طور کلی این گونه متدها بر چهار موضوع انسانها و تعاملات بین آنها، پذیرش تغییرات نیازمندی­ها، تحویل زود به زود نرم­افزار قابل استفاده و همکاری نزدیک مشتری و توسعه­دهندگان تأکید شده است.

این دوره با هدف معرفی متدهای چابک طراحی شده است.

مدت دوره: 35 ساعت

پيش نياز:
•تجربه در تولید نرم‌افزار

مخاطب:

مخاطبین دوره، همه دست­اندرکاران ایجاد و تولید نرم‌افزار شامل توسعه­دهندگان، طراحان، تحلیل­گران، آزمونگران، مدیران پروژه، کارفرمایان و ناظران پروژه است.

اهداف دوره:
در طول دوره شرکت­کنندگان:
• تعریف چابکی کسب­وکار و تفاوت آن با متدهای چابک را یاد خواهند گرفت.
• ادبیات و اهمیت متدهای چابک را خواهند آموخت.
• با ارزشها، اصول و اقدامات متدهای چابک آشنا خواهند شد.
• برخی از اقدامات(Practice) چابکی را تجربه خواهند کرد.
• با دیدگاه متدهای چابک در زمینه نیازمندی­ها، طراحی و معماری، برنامه­نویسی و برنامه­ریزی آشنا خواهند شد.
• مرزبندی و انتخاب بین چابکی و نظم­گرایی (دیسیپلین) را خواهند آموخت.
• با ساختار و اعضای تیمهای چابک آشنا شده و تأثیر آن بر ساختار فعلی تیمها را بررسی خواهند کرد.
• قادر خواهند بود تفاوت متدهای چابک با سایر متدها را شرح دهند.

سرفصل دوره:

Title

Time (hour)

Introduction and History

Paradigm, Paradigm Shift

2

Quick Overview of Agile Methods:
DSDM, FDD,XP,SCRUM, ASD, Crystal, AUP, OpenUP

3


Agile Manifest:
Values and Principles

3


Agile Practices
Practices Overview, Practices Workshop

6


Agile Requirements
Portfolio, Program and Team Requirements, User Story Workshop, User Story Problems and Use Case

6


Agile Team:
Team Structure, New Roles, Changed Roles

3


Agile Planning and Estimation:
Prioritization Techniques, Estimation Techniques, Release and Iteration/Spirit Planning and Monitoring

6


Agile Design and Architecture
Metaphor, Spike, Emergent Design

3


Balancing Agility and Discipline

2


Are You Ready for Agile Method?

1

گفت‌وگوی چابک و تازه‌کار (1) – agilist and novice

  • یوسف مهرداد بی‌بالان

پیش‌گفتار یک:
داستان‌گویی و نشستهای همراه با پرسش و پاسخ یکی از روشهای زیبا در انتقال مطالب به خواننده است. در اولی، نویسنده یا گوینده، داستانی را تعریف می‌کند و در دومی، نشستی بین دو یا چند نفر برگزار می‌شود. یکی از بهترین نمونه‌های این تکنیک را می‌توان در کتاب Head First Design Pattern دید.

پیش گفتار دو:
پرسشهایی که از دیگران می‌پرسم، پرسشهایی که پاسخگو هستم و بسیاری از آموخته‌ها، وقتی به شیوه رایج نوشته می‌شوند، اثربخشی خود را از دست می‌دهند. دست کم، آن چه را که انتظار دارم، بیان نمی‌کنند. تصمیم گرفتم تجربه‌ای در این گونه نوشتن، داشته باشم. امیدوارم که مؤثر باشد.

خوشحال خواهم شد تا پیشنهادهایتان را برای بهتر شدن و مطالبتان را برای افزوده شدن به گفت‌وگو، دریافت کنم.

در این نوشته دو بازیگر ایفای نقش می‌کنند: چابک به نمایندگی از خبره متدهای چابک و تازه‌کار به نمایندگی از علاقه‌مندان به چابکی.

گفتار: مخاطرات چابک‌کاری
تازه‌کار
: اگر سه جنبه فرایند، تکنولوژی و افراد را در ایجاد نرم‌افزار در نظر بگیریم، کدام جنبه برای شما، اهمیت بیشتری دارد؟
چابک‌: پاسخ ساده است: افراد

تازه‌کار: یعنی دو جنبه دیگر برایتان اهمیتی ندارند؟
چابک: نه این طور نیست. با تمرکز و تأکید بر افراد، اجازه می‌دهم تا آنان در مورد تکنولوژی و فرایند، تصمیم‌گیری کنند.

تازه‌کار: ویژگی‌های «افراد»ی که نام بردید، چیست؟
چابک: منظورتان را متوجه نشدم. افراد، کسانی هستند که در ایجاد نرم‌افزار نقش دارند.

تازه‌کار: اجازه دهید مثالی عرض کنم. آیا کسانی با مشخصات زیر مد نظر شما هستند؟
– افراد برنامه‌نویسی مثلاً برنامه‌نویسی شیءگرا را به درستی نمی‌دانند.
– ” مبانی و اصول طراحی را به درستی نمی‌دانند.
– ” با ظرافتهای طراحی پایگاه داده آشنا نیستند.
– ” مفاهیم و مبانی معماری را به درستی نمی‌دانند.
– ” روش مقابله با ریسکها و ایجاد ارزش افزوده در کار را نمی‌دانند.
– ” کار تیمی و روش مشارکت را به درستی نمی‌دانند.
– ” مهارتهای ارتباطی را به درستی نمی‌دانند.
– …
چابک: متوجه منظورتان شدم. البته که پاسخ من «خیر» است. قبل از این که پاسخم را کامل کنم، می‌توانم بپرسم که چرا این پرسش را پرسیدید؟

تازه‌کار: بله. به این دلیل که موضوعاتی مانند طراحی، معماری، مشارکت تیمی و … را تجربه نکرده‌ام. همیشه وقتی که کارم به خوبی پیش نمی‌رفت، دوستانم می‌گفتند که باید این موضوعات را یاد بگیری و تجربه کنی. فکر می‌کردم که با انتخاب یکی از متدهای چابک، مسائلم حل می‌شود.

چابک: اوه خدای من. قرار نیست که همه نادانسته‌های فنی شما را پاسخ و پوشش دهم. اگر انتظار معجزه از من دارید، نمی‌توانیم همکاری خوبی داشته باشیم.

تازه‌کار: خوب اگر قرار باشد که موضوعات گفته شده را به درستی بدانم، با هر شیوه‌ای که کار کنم، مؤفق خواهم بود.
چابک: هر چند با گفته شما تا حد زیادی مؤافق هستم، ولی اجازه دهید، مثالی بیان کنم. فرض کنید که می‌خواهیم در مورد برنامه‌ریزی کارهای پروژه با هم طرحی را تهیه کنیم. این که وظیفه (Task) را مبنای برنامه‌ریزی قرار دهیم یا ویژگی‌های(Feature) سیستم را، دو رویکرد متفاوت است. این که کارکردهای سیستم را در ابتدای پروژه شناسایی کنیم با این که اجازه دهیم کم‌کم و به مرور آنها تکمیل گردند، دو رویکرد متفاوت است. آنجایی که من می‌توانم به شما کمک کنم، در جااندازی این گونه رویکردهاست.

بپذیرید که من چوب جادو ندارم که به هر چیزی بزنم، جادویی رخ دهد. اگر این تعبیر را از همکاری‌مان دارید، پیشنهاد می‌کنم بیشتر با هم صحبت کنیم.

تازه‌کار: حتماً. اگر اجازه بفرمایید این گفت‌وگو را در زمانی دیگر ادامه دهیم.
چابک: مؤافقم.
تازه‌کار: سپاسگزارم.

گزیده:
از هیچ اندیشه تازه بدون فهم طرف‌داری نکنید، بلکه خود با شک و انکار در آن وارد شده و به حقیقت موضوع برسید. رنه دکارت

پارادایم و تغییر پارادایم

  • یوسف مهرداد بی‌بالان

مقدمه: پاسخ درست
در بخش پرسش و پاسخ سمینار دوست عزیزم آقای مهندس شهاب پرسیدند(به مضمون): این که تحلیل‌گر به این شکل کار کند، نمی‌شود. به دلیل آشنایی و احساس راحتی با ایشان، برای تغییر فضای بحث و گفت‌وگو، به شوخی گفتم: گفته‌ شما نشان می‌دهد که آمادگی ذهنی برای پذیرش موضوع را ندارید. بعد از سمینار با خود فکر کردم که درست آن بود که ابتدا به مفهوم پارادایم و تغییر پارادایم اشاره می‌کردم و بعد این عبارت را به شوخی به ایشان می‌گفتم.
گفته جامانده این بود: مهاجرت از یک پارادایم به پارادایم دیگر، به سادگی انجام نمی‌گیرد، بلکه ابتدا با انکار و سپس با پذیرش مقدماتی، کسب تجربه و در گذر زمان شکل می‌گیرد. پذیرش پارادایم برای آنهایی که پارادایمی ندارند، راحت‌تر است.

موضوع: پارادایم و تغییر پارادایم

الگوواره (از یونانی پارادیگما)، به انگلیسی پارادایم، سرمشق و الگوی مسلط و چارچوب فکری و فرهنگی است که مجموعه‌ای از الگوها و نظریه‌ها را برای یک گروه یا یک جامعه شکل داده‌اند. هر گروه یا جامعه، «واقعیات» پیرامون خود را در چارچوب پارادایمی که به آن عادت کرده تحلیل و توصیف می‌کند.

این واژه، نخست در سده پانزدهم و به معنی «الگو و مدل» مورد استفاده قرار گرفت. از سال ۱۹۶۰ کلمه پارادایم به الگوی تفکر در هر رشته علمی یا … گفته می‌شود. لغت‌نامه مریام-وبستر این واژه را چنین تعریف می‌کند: «یک چارچوب فلسفی و نظری از یک رشته یا مکتب علمی در کنار نظریه‌ها، قوانین، کلیات و تجربیات به دست آمده که قاعده‌مند شده‌اند».

پارادایم اصطلاح فراگیری است که همهٔ پذیرفته‌های کارگزاران یک رشته علمی را دربر می‌گیرد و چارچوبی را فراهم می‌سازد که دانشمندان برای حل مسائل علمی در آن محدوده استدلال کنند. کوهن معتقد است پارادایم یک علم تا مدت‌های مدید تغییر نمی‌کند و دانشمندان در چارچوب مفهومی آن سرگرم کار خویش هستند. اما دیر یا زود بحرانی پیش می‌آید که پارادایم را درهم می‌شکند و دگرش علمی به وجود می‌آید که پس از مدتی پارادایم جدیدی به وجود می‌آورد و دوره‌ای جدید از علم آغاز می‌شود.

پاردايم‌ها حاكمان واقعي جهان هستند و راهنمايي براي حل مسائل انسان به شمار مي‌روند. هر پاراديم محدوده‌اي از عالم هستي است و قواعد آن را برروي ما مي‌گشايد و پيش فرض‌ها و باورها و برداشت‌هاي ما را نسبت به موضوعات تعيين مي‌كند. پاردايم به منزلة نقشه است كه چگونگي راه رانشان مي‌دهد. ولي هيچ نقشه‌اي نمي‎تواند واقعيت راه را به تمامي در ذهن ما تصوير كند.

واژه تغییرپارادایم (تغییر پارادیم یا Paradigm Shift) اولین بار در سال ۱۹۶۲ توسط توماس کوهن در کتاب ساختار انقلاب‌های علمی، برای توصیف تغییر در مفروضات اساسی در دوره حکمرانی یک نظریه از علم به کار گرفته شد و پس از آن در بسیاری از حوزه‌های تجربیات انسانی مورد استفاده قرار گرفت.
تغییر پارادایم، تغییر آرام در روش‌شناسی یا تجربه ‌است و غالباً به تغییر اساسی‌ای در تفکر و برنامه اطلاق می‌گردد که سرانجام روش اجرای پروژه‌ها را تغییر می‌دهد.

بر اساس ایده کوهن یک انقلاب علمی زمانی شکل می‌گیرد که دانشمندان با منتقدانی مواجه می‌شوند که نمی‌توان به سوالات آنها در چارچوب پارادایم مورد پذیرش عموم پاسخ داد. همیشه هر پارادایمی منتقدانی دارد که غالبا کنار زده شده یا نادیده گرفته شده‌اند. هنگامی که تعداد مخالفان به شکل معناداری افزایش یافت، رشته‌های علمی با نوعی از بحران روبرو می‌شود و در خلال دوره بحران، ایده‌های جدید (و بعضا ایده‌هایی که قبلا ندیده گرفته می‌شدند) مورد توجه قرار می‌گیرند و سرانجام پارادایم جدیدی شکل می‌گیرد که پیروان خود را خواهد داشت و آنگاه نبرد بزرگ بین پیروان ایده جدید و قدیم روی می‌دهد. در این مواجهه طولانی انبوهی از اطلاعات تجربی و استدلالات علمی رد و بدل می‌شود.

مرجع

خصوصيت مهم ديگر پارادايم‌ها اين است كه با ايجاد يك چارچوب نگرشي بر پيش فرض‌هاي انسان به شدت تأثير مي‌گذارند تا حدي كه پايبندان به پاراديم را از درك حقايق خارج از پاراديم محروم مي‌سازند. اين ويژگي موجب مي‌شود نوآوري و خلاقيت در فضاي پارادايم تنها به مرزهاي آن محدود شود.

آنچه برای علم فیزیک در اواخر قرن نوزدهم اتفاق افتاد یک پارادایم شیفت بود. لرد کلوین فیزیکدان مشهور آن زمان گفت «چیز جدید دیگری برای کشف کردن وجود ندارد و آنچه باقی مانده‌است تنها اندازه‌گیری دقیق و دقیق‌تر است». تنها پنج سال پس از آن، آلبرت انشتین مقاله معروف خود را در مورد نظریه نسبیت ارائه کرد که قوانین مکانیک نیوتونی (که بیش از سیصد سال برای توضیح حرکت و نیرو به کار می‌رفتند) را به چالش کشید.

کوهن بر این باور بود که تکامل تدریجی علم به سمت حقیقت نیست، بلکه دستخوش انقلاب‌های دوره‌ای است که او آن را «تغییر پارادایم» می‌نامد.

مهم‌ترین عامل فلج‌کننده تغییر پارادایم، ناتوانی ما در آگاهی از فراسوی الگوی تفکر جاری است. یک وجه مهم پارادایم کوهن این است که پارادایم‌ها مقایسه‌ناپذیرند. پارادایم جدیدی که جایگزین قبلی می‌شود، لزوماً بهتر از قبلی نیست، زیرا معیارهای مقایسه، به هر پارادایم بستگی دارد. البته گاهی مواقع زمان منجر به پیروزی یکی از ایده‌ها می‌گردد.

مرجع: ویکی‌پدیا و کتاب استراتژی اثر بخش از آقایان دکتر وفا غفاریان و کیانی
پانوشت: خلاصه کتاب را می‌توانید در اینجا مطالعه کنید.

گزیده:
آنچه كسي را برنده مي‌كند، توانايي ذاتي، استعداد و يا ضريب هوشي او نيست. ابزار برنده، نگرش شماست نه استعدادتان؛ نگرش معيار كاميابي است.
دنيس ويتلي
مرجع: اس.جی.

تصویری زیبا از بیانیه توسعه نرم افزار چابک

  • یوسف مهرداد بی‌بالان

آقای مهندس دلپاک طی نامه‌ای اطلاع دادند که «گروه توسعه نرم افزار مرکز نشر مدتی پیش پوستری از بیانیه توسعه نرم افزار چابک را ترجمه و تهیه نموده است». ضمن قدردانی، این تصویر زیبا را در زیر آورده‌ام. برایشان آرزوی بهروزی و پیروزی دارم.

گزیده:
سریعترین راه برای نیل به موفقیت دوبرابر کردن تعداد شکستها است.
توماس واتسون

یک خبر خوب بدهید!

  • یوسف مهرداد بی‌بالان

جناب آقای مهندس واحد در یک پیشنهاد بسیار شورانگیز و شادی‌بخش امر فرمودند که خبرهای خوب بنویسید. امیدوارم این کار پی‌درپی و هر چند وقت یک بار با پی‌گیری و همت آقای مهندس انجام شود. ضمن سپاسگزاری و آرزوی شادکامی، این نوشته، انجام وظیفه‌ای است کوچک به دعوت ایشان.

1- هفته پیش جشن عروسی برادرزاده‌ام در شمال بود. جای همه شما از جمله آقای مهندس، خالی بود. سه چهار روزی! که آن جا بودم هم فال بود، هم تماشا. بر خلاف عروسی‌های تهران که بیشتر به مهمانی شبیه است، آنجا واقعاً عروسی بود. در خانه، در فضای سرسبز حیاط خانه، با حضور بستگان و هم محلی‌ها(که خوشبخت بودم از دیدارشان)، با صدای موسیقی طبیعت: پرندگان و باران، با لباسها و رقصهای محلی گیلان.

2- سمینار «نیازمندی‌های چابک(agile requirements)» هم برگزار شد. اگر یاری دوستان و عزیزانم نبود، شاید به این خوبی برگزار نمی‌شد.

3- دوست عزیزم، حامد، خبر داده که چند قسمت از سریال محبوبمان را دریافت کرده و تا چند روز آینده به دستم خواهد رساند. لحظه‌شماری می‌کنم برای دیدنش ( نکته: به دلیل کم‌وقتی، فیلمها را سریالی می‌بینم، سریالها را …؟ )

گزیده یک:
« – بشنو از من. کودک من!
پيش چشم مرد فردا،
زندگانی – خواه تيره، خواه روشن –
هست زيبا، هست زيبا، هست زيبا. »
گلچین گیلانی

گزیده دو:
«انسان از آغاز وجود، خود را بسی کم شاد کرده‌است. برادران، «گناه نخستین» همین است و همین! هرچه بیشتر خود را شاد کنیم، آزردن دیگران و در اندیشهٔ آزار بودن را بیشتر از یاد می‌بریم.»
نیچه، چنین گفت زرتشت

سمینار نیازمندی‌های چابک (Agile Requirements) برگزار شد

  • یوسف مهرداد بی‌بالان

سمینار «نیازمندی‌های چابک(Agile Requirements)» برگزار شد. از همه شرکت‌کنندگان گرامی که قبول زحمت کردند، سپاسگزارم.

دوستان عزیزم در برگزاری سمینار کمک شایانی کردند و اگر نبود یاری آنها، سمینار به این خوبی برگزار نمی‌شد. سمینار به پیشنهاد جناب آقای مهندس نیما محمدی، عضو کمیسیون آموزش نظام صنفی و با حمایت ایشان برگزار شد. آقای مهندس ایراف نیز زحمت آماده‌سازی و برگزاری سمینار را بر عهده داشتند. عزیزانم آتسز، پویا و علیرضا در دو نوبت پیش‌نویسهای ارائه را مرور و ایرادها و نظراتشان را اعلام کردند. آقایان مهندس اسماعیلی، واحد، نوذری، حامد عسگری، آتسز، عبداللهی، صفری و پویا در اطلاع‌رسانی سنگ تمام گذاشتند. از یکایکشان سپاسگزارم. برایشان بهترین‌ها را آرزومندم.

در سمنیار بخشی را اضافه کرده بودم با نام “آیا برای چابکی آماده‌اید؟(Are You Ready for Agile)” که در آگهی سمینار نبود. این بخش را بیش از همه دوست می‌داشتم.

فایل ارائه سمینار را می‌توانید از اینجا دریافت کنید.

گزیده:
همیشه در زندگیت جوری زندگی کن که “ای کاش” تکیه کلام پیریت نشود.

نیازمندی‌های چابک (Agile Requirements)

  • یوسف مهرداد بی‌بالان

سمینار «نیازمندی‌های چابک» (Agile Requirements) هفته آینده برگزار
خواهد شد. مسئولیت آماده‌سازی و برگزاری آن با دوست عزیزم، جناب آقای مهندس ایراف
است که صمیمانه از ایشان سپاسگزارم.
توضیحات بیشتر در این باره را در زیر
ملاحظه ‌فرمایید.

شرح و اهداف:در دهه گذشته، حرکت به سوی متدهای
چابک سرعت روزافزونی به خود گرفته است. در این سالها، واضعان این متدها با تفکرات
متفاوت اما همگرا و با تکیه بر تجربه­های مؤفق نشان دادند که اجرای این
متدها تأثیر به­سزایی در بهبود4 پارامتر بزرگ و مهم دارند: کارایی، کیفیت،
روحیه افراد و زمان ورود به بازار
.

هدف اصلی متدهای چابک تحویل سریع­تر نرم­افزار و کسب اطمینان از
پوشش نیازهای در حال تغییر مشتری است. بطور کلی این متدها بر چهار موضوع انسانها
و تعاملات بین آنها، پذیرش تغییرات نیازمندی­ها، تحویل زود به زود
نرم­افزار قابل استفاده و همکاری نزدیک مشتری و توسعه­دهندگان
تأکید
دارند.

تفاوت بین رویکرد متدهای چابک و مهندسی نیازمندی­ها(RE)- که هدف آن
شناسایی، تحلیل، مستندسازی و صحه­گذاری نیازمندی­های سیستم است، این حوزه
را به یکی از چالشهای پذیرش و استقرار این متدها تبدیل کرده است. این سمینار به
معرفی متدهای چابک و رویکردشان به نیازمندی­های
نرم­افزاریمی­پردازد.

سرفصل مطالب سمینار عبارتند از:
· تعریف چابکی و تاریخچه متدهای
چابک

· مدل اطلاعاتی نیازمندی­های چابک

· رویکرد متدهای چابک به نیازمندی­ها

· راهنمای تدوین نیازمندی­ها در متدهای
چابک:کارکردی/غیرکارکردی/قواعد کسب­وکار

· مقایسه داستان کاربر(User Story) با موردکاربرد(Use Case)

· جایگاه تحلیل­گر سیستم در تیم­های چابک

زمان و مکان برگزاری:

سه شنبه 13/04/1391

ساعت 15:00 اا 18:00

تهران خیابان سهروردی شمالی، خیابان خرمشهر(آپادانا)، خیابان شهید
عربعلی(نوبخت)، کوچه نهم، شماره 13، سازمان نظام صنفی رایانه‌ای کشور. تلفن:
88734499، سرکار خانم محمدلو

برای خروج از جستجو کلید ESC را بفشارید