ه‍.ش. ۱۳۸۸ اسفند ۲۳, یکشنبه

خطاناپذیرسازی سیستم های اطلاعاتی

یکی از خطراتی که پروژه های توسعه سیستمهای اطاعاتی را تهدید می کند، عدم توجه کافی به شناخت و پیاده سازی قواعد تجاری (Business Rules) مورد نیاز در سیستم است.

متأسفانه در خیلی از موارد، تمرکز اصلی تحلیلگران بر مدل سازی داده ها (Data Modeling) ، مدل سازی فرایندی(Process Modeling) و مدل سازی کارکردی (Function Modeling) است و وقتی این فراورده ها تهیه می شوند، تصور می رود فاز تحلیل تمام شده است. در فاز ساخت نیز تمرکز اصلی بر ساخت فرم ها و گزارش هایی است که کار کنند.

اگر قواعد تجاری، به خوبی شناسایی نشده و در سیستم، پیاده سازی نشوند، رعایت آنها را به کاربران واگذار کرده ایم. از کاربران انتظار می رود خودشان قواعد تجاری را رعایت کنند که البته تجربه نشان داده که رعایت نخواهند کرد. من قانونی دارم که به صورت تجربی بدست آمده و می گوید:

اگر سیستم (اطلاعاتی) شما سوراخی به اندازه یک سوزن داشته باشد، حتماً کاربر زانویش را در آن فرو خواهد کرد!

که البته بیانی بدبینانه و طنزآلود از قانون مورفی است که می گوید:

هر آنچه که می تواند به درستی انجام نشود، سرانجام زمانی به اشتباه انجام خواهد شد.

به عنوان مثال، اگر فیلدی برای شما مهم است اما در سیستم، آنرا اختیاری(null able) دیده اید، مطمئن باشید که کاربر آنرا وارد نخواهد کرد. یا اگر کنترل نکنید که تاریخ پایان یک فعالیت، زودتر از تاریخ شروع آن نباشد، حتماً کاربر رکوردهایی وارد می کند که این شرط را ندارند. پس از مدتی به جایی می رسید که داده های سیستم، قابل اتکا نیستند و دیگران نیز سیستم را به باد تمسخر خواهند گرفت.


طراحی و ساخت سیستم ها باید به گونه ای انجام شود که جلوی خطاهای کاربر را بگیرد نه اینکه رعایت کنترل ها و قواعد را به کاربر بسپارد.

باز هم درباره شاخص های اندازه گیری عملکرد

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

یکی از نکات مهم این است که شاخص های مورد توجه مدیریت، باید بر خروجی ها(یا به قول EFQMی ها، نتایج) یا عوامل کلیدی ایجاد کننده خروجی ها (یا به قول EFQMی ها، توانمندسازها)، متمرکز باشند. به عنوان مثال، در سطح ملی، شاخصی به نام تعداد مقالات ISI ساخته ایم و بر آن تأکید می کنیم. اعلام می شود که تعداد مقالات ISI ایرانی ها (طی یک سال) حدود 13000 و کره جنوبی حدود 19000 است و یک "یا علی" مانده تا به کره جنوبی برسیم. در حالی که این شاخص به تنهایی ارزشی ندارد. چرا تعداد شرکت های بزرگ ایرانی با تعداد شرکت های بزرگ کره ای(مثل سامسونگ، ال جی، کیا، هیوندایی و ...) مقایسه نمی شود؟ چرا صادرات واقعی ایران با کره مقایسه نمی شود و ... ؟

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

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

  • برخی فعالیت های انجام نشده را مخفی می کند
  • تعداد فعالیت های انجام شده را به صورت کاذب بالا می برد
  • درصد پیشرفت ها را بیش از مقدار واقعی گزارش می کند
  • تلاش می کند برنامه را آن قدر محتاطانه تنظیم کند که به آسانی (حتی با بهره وری 15%) نیز قابل تحقق باشد
  • مشکلات کیفی را پنهان کند
  • ...

شاخص ها باید به گونه ای تعیین شوند که نشود با آنها بازی کرد. یعنی نشود که وضعیت سیستم بد باشد، اما شاخص ها نشان دهند که وضعیت خوب است.


 

ارتباط امکانات و موفقیت

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

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

ه‍.ش. ۱۳۸۸ بهمن ۲۹, پنجشنبه

نیاز، خواسته و راه حل

با موقعیت های زیادی مواجه می شوم که کارشناسان ما، تمایز بین این سه را فراموش می کنند. در مباحث مختلفی از قبیل بازاریابی، TRIZو مهندسی ارزش، بر توجه به این تمایز تأکید شده است.

نیاز (Need) ، همان نیاز (واقعی) مشتری است. خواسته (Want)، بیان نیاز توسط مشتری است که معمولا همراه با راه حل مورد نظر وی مطرح می گردد. منظورم از راه حل(Solution)، راه حل مورد نظر ما برای پاسخ به نیاز و خواسته مشتری است. به عنوان مثال، گرسنگی، باعث نیاز به غذا در انسان می گردد. اما افراد برای رفع این نیاز، خواسته های متفاوتی خواهند داشت. فردی پیتزا و دیگری آبگوشت را درخواست خواهند کرد که پیتزا و آبگوشت، خواسته مشتری را نشان می دهند.

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

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

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

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

در تبلیغ یا ارائه یک محصول نیز باید آنرا بر اساس کارکردهایش برای مشتری، معرفی کنیم نه بر اساس ویژگی های فنی آن از دید خودمان.

ه‍.ش. ۱۳۸۸ بهمن ۲۷, سه‌شنبه

رفتار اجتماعی نهنگها

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

ه‍.ش. ۱۳۸۸ بهمن ۱۴, چهارشنبه

به مناسبت این روزها

چه کسی می خواهد من و تو ما نشویم؟ خانه اش ویران باد !

ه‍.ش. ۱۳۸۸ بهمن ۱۰, شنبه

ضرب المثل انگلیسی

اخیرا مطالعه ای داشتم در زمینه ضرب المثل های انگلیسی. چند تا منبع خوب هم در سایت gigapedia.com پیدا کردم که جالب بودند. چند تا از ضرب المثل ها که جنبه ظنز دارند یا اموزنده یا معروف هستند را اینجا لیست می کنم:

ضرب المثل

معادل

Don't teach your grandmother to suck eggs

به لقمان حکمت نیاموز ! پیش قاضی و معلق بازی !

An old man marrying a young girl is like buying a book for someone else to read

بهتر است خودتان ترجمه کنید!

Beauty you've got, my daughter, and intelligence I will buy for you

البته این ضرب المثل، مراکشی است و چون بر علیه خانم های محترمه است، از ترجمه آن معذورم

All are good girls, but where do the bad wives come from?

همه دخترا که خوبند، پس این همه زن بد از کجا می آید؟

You must grin and bear it

بسوز و بساز

Don't poke your nose into my affairs

پا تو کفش ما نکن

Old age and poverty make a tragedy

We never know the worth of water until the well runs dry

قدر عافیت کسی داند که به مصیبتی گرفتار آید

Better face a danger once than be always in danger

مرگ یه بار، شیون هم یه بار

God Helps Them Who Help Themselves

The shoemaker's son always goes bare foot

کوزه گر از کوزه شکسته آب می خورد

To be more catholic than the pope

کاتولیک تر از پاپ، کاسه داغ تر از آش

More royalistic than the king

He runs with the hare and hunts with the fox

شریک دزد و رفیق قافله

Set a thief to catch a thief

شغال بیشه مازندرانی را نگیرد جز سگ مازندرانی

Opportunity seldom knocks twice

شانس یک بار در خانه را می زند

Early to bed and early to rise, makes a man healthy, wealthy and wise

سحر خیز باش تا کامروا شوی

The quarrel of lovers is the renewal of love

No wife, no worry

The face is the index of mind

رنگ رخساره خبر می دهد از سر درون

What can't be cured must be endured

Slow and steady wins the race

رهرو آن است که آهسته و پیوسته رود

The pot called the kettle black

دیگ به دیگ می گه روت سیاه

A friend in need is a friend indeed

دوست آن باشد که گیرد دست دوست، در پریشان حالی و درماندگی

Liars should have good memories

دروغگو کم حافظه است

People get the government they deserve

Well begun is half done

They that make laws must not break laws

Business is business

حساب حساب است