دیسیپلین، چابکی و سردرگمی

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

چند وقت پیش خواسته شد تا در جلسات مصاحبه جذب یکی از پستهای کلیدی و مدیریتی یک شرکت حضور داشته باشم. يكي از بخشهايي كه به عهده‌ام گذاشته شده بود، موضوع متدولوژی بود.
از مصاحبه‌شونده پرسیده مي‌شد که به چه متدهایی آشنایی دارد و کمی از تجاربش را بیان کند. بعد کمی پرسشهایی جزئی‌تر پرسیده می‌شد تا مصاحبه‌شونده فرصت پیدا کند تا بینش، دانش و مهارت خود را شرح دهد.
یکی از نکاتی که خیلی برایم جالب بود نگاه مصاحبه‌شونده‌ها به متدهای چابک بود. خیلی از آنها متدهای چابک را به این دلیل می‌پسندیدند که «مستندسازی» ندارد! وقتی از آنها می‌خواستم که شرح دهند که چگونه تکنیک‌های چابک مثل بازسازی و توسعه آزمون‌ محور را در تیمهایشان اجرا می‌کردند، پاسخ‌ها ناامید کننده بود.
یاد این جمله از کتاب Balancing Agility and Discipline از بوهم و ترنر افتادم که خیلی شبیه اتفاق گفته شده بود:

eXtreme Programming expert Bob Martin said at the 2001 XP Universe conference that he ran into someone who said his organization was using XP. Martin asked him how the pair programming was viewed, and the reply was, “We don’t do that.” Martin asked how refactoring was working out, and the reply was, “We don’t do that.” Martin asked how well the planning game was working, and the reply was, “We don’t do that.” “Well,” Martin asked, “then what are you doing?” “We don’t document anything!” was the answer.

گزیده:

Poor management can increase software costs more rapidly than any other factor.
Barry Boehm

رنسانس شخصی

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

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

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

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

گزیده:
زمانی که بیست و سه سالم بود، بیش از یک میلیون دلار و زمانی که بیست و دو سالم بود، ده میلیون دلار و زمانی که بیست و پنج سالم شد، بیش از صد میلیون دلار پول داشتم ولی این مساله هیچ‌وقت چندان مهم نبود، چون این کارها را برای پول انجام ندادم.
استیو جابز

Dennis Ritchie passed away

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

Dear all C/C++ programmers and Friends
Hello

The Tech World Losses Another Pioneer. Dennis M. Ritchie, the pioneer of programming, the creator of the C programming language the ancestor of C++, Java and C#, the co-creator of UNIX and Plan 9 operating systems and the inventor of Inferno operating system passed away yesterday after a long illness.
A giant has fallen. It’s really hard to measure the impacts of his woks in our life. Rest in Peace DMR. Your creations live on. You have changed the history of technology and improved the lives of millions.

I’m pretty sure, the dead are happy now , specially Steve Jobs 🙁

#include
#define NO_LIMIT 1000000000

int main()
{
int i;
for (i = 0; i < NO_LIMIT; ++i)
printf(“Rest In Peace Dennisn”);

return 0; /* never return */
}

$ cc rest_in_peace.c
$ ./a.out
$ shutdown 0 # never return

Saeed Amrollahi
www.saeedamrollahi.com

لذت کامپیوتر

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

مقدمه:
ورود اغلب ما به رشته کامپیوتر به دلیل لذت بردن از موجود ناشناخته‌ای بود که روز به روز کاربردش وسیع‌تر می‌شد.
وقتی برنامه لذت نقاشی را می‌دیدم، واقعاً لذت می‌بردم. لذت از این که مجری برنامه چقدر از کارش لذت می‌برد و به زیبایی این لذت را به شما منتقل می‌کند. همان لحظه دوست داشتم که ابزار نقاشی را بردارم و شروع کنم به خلق دنیایی که دوست می‌داشتم.
وقتی موضوعِ علاقه و عشق درونی به ابزار معاش تبدیل می‌شود، یادتان می‌رود که قرار بوده از آن لذت ببرید. لذت بردن حلقه گم‌شده‌ای می‌شود که کم‌کم به فراموشی سپرده می‌شود، انگار هیچ وقت وجود نداشته است. دردسرهای امرار معاش نیز – مسائل متعدد تولید، استقرار و نگهداری نرم‌افزار، مشتریان، حقوق و جبران خدمات نیروی انسانی- این موضوع را روز به روز تشدید می‌کند.
موضوع اصلی:
از قدیم گفته‌اند که کوزه‌گر همیشه از کوزه شکسته آب می‌خورد! نرم‌افزار می‌نویسیم برای دیگران ولی خود از آن لذت نمی‌بریم!
چند وقت پیش یکی از نوجوانان فامیل گفت که برایم متن آهنگهای خارجی را دانلود کن تا به یادگیری زبان انگلیسی‌ام کمک کند. فلانی گفته است که این کار خیلی تأثیر دارد! به هر حال یکی از خدمات متخصصان کامپیوتر در خانواده، ارائه خدمات مهمی از این دست است هر چقدر سعی کردم که بقبولانم که سواد و تجربه‌ام به اندازه‌ای نیست که بتوانم این کار را انجام دهم، میسر نیفتاد! در نتیجه مجبور به ارائه خدمت شدم و آن هم خدمات رایگان. برای مفرح شدن موضوع، تصور کردم اگر قرار بود این مسأله را خودم حل کنم چگونه آن را انجام می‌دادم. راه حل باید سادگی لازم برای استفاده کاربر عادی و غیرمتخصص را می‌داشت و بدون حضورم قابل انجام می‌بود. به‌علاوه باید می‌توانست برای آهنگ‌هایی که نام و خواننده آنها نیز مشخص نبود، پاسخ‌گو باشد. مسیر انجام، نتیجه کار و لذت آن جالب‌تر از آنی بود که تصور می‌کردم.
پرسش دشوار: شما چه کارهایی در حوزه تخصصی خود انجام می‌دهید که از آن لذت می‌برید؟

پانوشت:
یکی از دوستان می‌گفت دلیل این که کوزه‌گر از کوزه شکسته آب می‌خورد، این است که کوزه‌های سالم را می‌فروشد!

گزیده:
غزلی در نتوانستن
از دست‌های گرمِ تو
کودکانِ توأمانِ آغوشِ خویش
سخن‌ها می‌توانم گفت
غمِ نان اگر بگذارد.

نغمه در نغمه درافکنده
ای مسیحِ مادر، ای خورشید!
از مهربانیِ بی‌دریغِ جانت
با چنگِ تمامی‌ناپذیرِ تو سرودها می‌توانم کرد
غمِ نان اگر بگذارد.

رنگ‌ها در رنگ‌ها دویده،
از رنگین‌کمانِ بهاریِ تو
که سراپرده در این باغِ خزان رسیده برافراشته است
نقش‌ها می‌تواند زد
غمِ نان اگر بگذارد.

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

احمد شاملو، ۱۳ دیِ ۱۳۴۳

استیو جابز – نوشته‌ای از گریدی بوچ

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

This generation, this world, was graced with the brilliance of Steve Jobs, a man of integrity who irreversibly changed the nature of computing for the good. His passion for simplicity, elegance, and beauty – even in the invisible – was and is an inspiration for all software developers.

Quote:
Almost everything – all external expectations, all pride, all fear of embarrassment or failure – these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.
Steve Jobs

Reference: Grady Booch Blog

Obama:
There may be no greater tribute to Steve’s success than the fact that much of the world learned of his passing on a device he invented

چرا پذیرفتن بدیهیات چنین دشوار است؟

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

چند وقت پیش در شماره 109 ماهنامه «گزیده مدیریت» مقاله‌ای از آقای پراهالاد و ترجمه آقای دکتر قدمی با عنوان «چرا پذیرفتن بدیهیات چنین دشوار است؟» را مطالعه کردم:
«هر چه شرکت‌ها مؤفق‌تر می‌شوند، تشخیص زمان تغییر برایشان دشوارتر می‌شود. همه می‌دانیم بسیاری از صنایع از جمله صنعت سرگرمی، تعلیم و تربیت، انتشارات و خدمات مالی به سوی فردایی بسیار متفاوت‌تر حرکت می‌کنند، اما رهبران امروز بازار، آخرین نفراتی خواهند بود که خود را متحول می‌سازند، حتا اگر بفهمند برای بقا باید چنین کنند. چرا شرکت‌ها رویارویی با بدیهیات را چنین دشوار می‌یابند؟
یک دلیل می‌تواند این باشد که شرکت‌ها و بنگاه‌های مؤفق در گذر زمان ایدئولوژی‌های کسب‌وکاری مشخص (مانند راه تویوتا و راه زیراکس) ایجاد می‌کنند… این عوامل مؤفقیت اغلب به جزم‌اندیشی‌ها تبدیل می‌شوند و هیچ کس آن‌ها را به چالش نمی‌کشد.
مدیران عامل سازمان‌ها می‌توانند با پرسش سوالات زیر از مدیران ارشد سازمان، گاوهای مقدس را تشخیص دهند:
…..
مبنای تجربیات تیم مدیران ارشد سازمان چیست؟ آیا در رأس سازمان تنوع وجود دارد؟
به چه مهارتهایی درسازمان ارج می‌نهیم؟ چه شکاف‌ها و اختلافات مهارتی در حال شکل‌گرفتن است؟….

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

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

آیا می‌توانید نمونه‌هایی از گاوهای مقدس را برشمرید؟
آیا گاوهای مقدس خودتان را می‌شناسید؟

گزیده:
یک: باید اذهان ما براى برخورد با مسائل آینده آماده شود تا این که از تجربه گذشته انباشته شود.
جان دیوئی

دو: همیشه بهترین راه را برای پیمودن می‌بینیم اما فقط راهی را می‌پیماییم که به آن عادت کرده‌ایم.
پائولو کوئلیو

تجزیه-ترکیب

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

یک سیستم سپرده­‌های بانکی را در نظر بگیرید. ویژگی زیر فوق­‌العاده جذاب خواهد بود:
«هر گونه واریز یا برداشت از حساب با پیامک به صاحب حساب اطلاع داده شود.»

از آن جا که محاسبه و واریز سود عملیاتی است که منابع سیستم را به شدت مصرف می­‌کند، در صورت انجام آن در زمان استفاده از سیستم توسط کاربران (کاربران شعبه، مشتریان عابربانک، کارمندان ستاد بانک، …)، سیستم کند و باعث نارضایتی استفاده­‌کنندگان خواهد شد. از این رو پیشنهاد می­‌شود که:
«محاسبه و واریز سود در ساعت کم­‌کار سیستم –نیمه شب- انجام شود.»

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

با خود فکر می­‌کنی آیا همکاری که این نرم­‌افزار را نوشته به این موضوع هم فکر کرده که ممکن است کسی را در نیمه شبی مشوش کند. شاید هم آن همکار عزیز فکر کرده سود واریزی به اندازه­‌ای عدد بزرگی است که صاحب حساب با دیدن آن شاد می­‌شود و دوباره خوشحال به خواب می­‌رود.

امیدوارم که همکار ایرانی­‌ام نگوید که مشکل من نبوده، مشکل مشتری بوده که یادش رفته تلفن همراهش را خاموش کند یا در وضعیت بی­‌صدا قرار دهد. امیدوارم این را هم نگوید که مشکل مشتری بوده که حسابش موجودی میلیاردی ندارد!

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

آیا راهی وجود دارد که بتوان این گونه مسائل را شناسایی کرد؟

گزیده:
تجزیه‌ات خیلی خوب بود، ترکیبت مشکل شرعی دارد. یک روحانی
(امیدوارم داستانش را شنیده باشید)

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