بایگانی دسته: روان شناسی

تیم های نرم افزاری و سوگیری های روانی آنها

چند وقت پیش در مدیم (Medium) مطلبی با عنوان «Software teams, and their psychological biases» نوشتم. در آن مطلب سعی کرده بودم نتایج مطالعات و مشاهداتی که طی سالها کار در صنعت نرم افزار درباره سوگیری های (Bias) روان شناختی تیم ها با اونها مواجه شده بودم رو خلاصه کنم. از همان موقع میخواستم ترجمه فارسی این مطلب رو هم بنویسم. امروز فرصتی شد برای نوشتن این پست.

طی سالهای زیادی (حدودا ۱۰ سال) که به عنوان مهندس نرم افزار کار کردم، با تیم های زیادی برخورد داشتم. بعضی از این تیم ها از روش های اجایل (چابک)، و بعضی هم از روش های قدیمی تر مثل مدل آبشاری، RUP، و غیره برای توسعه نرم افزار استفاده می کردن. اما گاهی صرفنظر از مدل توسعه، کار تیمی خودش تبدیل به چالش میشه. عموما به خاطر اینکه رفتار افراد وقتی به صورت تیمی کار می کنند با حالت فردی متفاوته. برای مثال:

  • جلسه های بسیاری دیدم که منجر به تصمیم احمقانه ای شدن و همه (به جز یکی دو نفر) از اون تصمیم خوشحال بودن!
  • تیم های زیادی رو دیدم که تعداد زیادی از اعضای اون هیچ کاری نمی کنن، و تمام فشار کار روی تعداد محدودیه و در لایه مدیریت هم کسی عکس العملی نشون نمیده!

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

  1. گروه (تیم) چیست؟
  2. چه زمانی یک گروه (تیم) شکل میگیره؟
  3. فرنودآوری کوشش (Effort Justification) چیست، و چطور بر مصاحبه های کاری تاثیر میزاره؟
  4. اثر مالکیت (Endowment effect) چیست و چگونه بر تیم تاثیر می گذارد؟
  5. آیا هوش یک تیم بیشتر از هوش یک فرد است؟
  6. گروه زدگی (Groupthink) چیست و چگونه بر تیم اثر می گذارد؟
  7. آیا گروه ها مسئولیت پذیرتر از افراد هستند؟
  8. آیا افراد وقتی عضوی از یک گروه می شوند ریسک بیشتری قبول می کنند؟
  9. آیا همه اعضای تیم همه توان خود را برای انجام کار به صورت یکسان به کار می گیرند؟

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

برای بررسی روان شناسی گروهی (Group Psychology) کارم رو با خواندن کتاب «روان شناسی گروهی و تحلیل اگو» اثر زیگموند فروید (Sigmund Freud) آغاز کردم. در این کتاب فروید روان شناسی گروهی را به صورت زیر تعریف کرده است:

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

اما از منظر فروید چه شرط ( یا شروطی) باید برای تشکیل یک گروه برآورده شوند؟

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

حال فرض کنید یک تیم نرم افزاری داریم (یک گروه). این گروه یک علاقه مشترک دارد. این علاقه مشترک تولید یک محصول نرم افزاری و به دست آوردن پول است. چه اتفاقی می افتد؟ از نظر من یکی از اولین کارهایی که این تیم انجام می دهد وضع مجموعه ای قانون برای عضویت در تیم است. یکی از مشکلات مهم در این نقطه اتفاق می افتد. عموما وقتی می خواهیم عضو تیم (گروهی) شویم با فرنودآوری کوشش (Effort Justification) مواجه خواهیم شد. در کتاب «The art of thinking clearly» رولف دوبلی (Rolf Dobelli) فرنودآوری کوشش را چنین تعریف می کند:

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

به نظر من در تیم های نرم افزاری این فرنودسازی تلاش خود را در قالب مصاحبه های عجیب و غریب نشان می دهد (البته این تنها هدف مصاحبه نیست). بارها دیده، و شنیده ام فلان شرکت سوال های مصاحبه خیلی سختی دارد؛ اما پس از ورود افراد داستان هایی از بی نظمی های عجیب و غریب در این شرکتها تعریف می کنند! شاید این فرنودسازی تلاش دلیل افتخار بعضی افراد به تیم هایی است که عضو آن هستند. با وجود اینکه این تیم ها تفاوت چندانی با  سایر تیم های نرم افزاری ندارند. البته به نظر من این «افتخار عضویت» به اثر دیگری به نام «اثر مالکیت» (Endowment effect) هم مربوط می شود. در نهایت به نظر من دانش هم یک توزیع پارتو (Pareto distribution) دارد. در نتیجه اکثر تیم ها از نظر توانایی و دانش فنی در یک سطح قرار دارند.

اما درباره هوش گروه چه می توان گفت؟ آیا گروه ها باهوش تر از افراد هستند؟ در این باره فروید می گوید:

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

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

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

گروه زدگی خود به پدیده عام تری به نام Social Proof مربوط می شود.

اما آیا مسئولیت پذیری گروه ها بیشتر از افراد است؟ در پاسخ باید به پدیده ای به نام پخش مسئولیت (Diffusion of responsibility) مراجعه کنیم:

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

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

آیا گروه ها ریسک پذیرتر از افراد هستند؟ در پاسخ به این سوال باید به اثری به نام Risky shift مراجعه کنیم:

طی Risky shift اعضای یک گروه برسر تصمیمی که ریسکی از تر تصمیماتی است که افراد به تنهایی اتخاذ می کنند به توافق می رسند

این اثر را می توان ترکیب چند اثر دیگر مثل پخش مسئولیت هم در نظر گرفت. این اثر می تواند نتایج فاجعه باری به همراه داشته باشد.

اما آیا اعضای یک تیم همه توانایی و تلاش خود را برای رسیدن به هدف صرف می کنند؟ پاسخ کوتاه خیر است! به این ویژگی اصطلاحا «طفره رفتن اجتماعی» (Social loafing) می گویند:

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

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

منابع

  1. کتاب Group Psychology and Analysis of Ego اثر زیگموند فروید (این کتاب به فارسی ترجمه شده است)
  2. کتاب The Art of Thinking Clearly اثر رولف دوبلی (این کتاب هم به فارسی ترجمه شده است)
  3. دوره آموزشی آنلاین The science of everyday thinking سایت Edx
  4. مقاله Dilemmas in a general theory of planning اثر هورست ریتل (قبلا در باره این مقاله پست مفصلی اینجا نوشته ام)
  5. دوره آموزشی Design Thinking وب سایت IDF. درباره Design Thinking هم قبلا مطلبی اینجا نوشته ام
  6. کتاب Agile! The Good, the Hype and the Ugly اثر برتراند میر
  7. Wikipedia

برای آگاهی از پست های بعدی می توانید در کانال تلگرام وبلاگ عضو شوید.
برای عضویت در کانال وبلاگ اینجا کلیک کنید

هدف تفکر طراحی (Design Thinking)

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

دانلود اسلایدهای ارائه دانلود فایل صوتی ارائه

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

اگر تاریخچه پدید آمدن تفکر طراحی را مطالعه کنید، حتما با مقاله مهم و ارزشمند هورست ریتل (Horst Rittel) با عنوان Dilemmas in a general theory of planning مواجه خواهید شد. ریتل در این مقاله به بررسی مسائل خاصی، که خود آنها را مسائل بدخیم (Wicked Problems) می نامد پرداخته است (ممکن است بدخیم معادل فارسی مناسبی برای کلمه Wicked نباشد، اما در حال حاضر معادل بهتری برای آن نیافته ام. برخی، آن را به بدسرشت هم ترجمه کرده اند. اما، بد سرشت ترجمه مناسبی برای این واژه نیست. به خصوص وقتی با کلمه مسئله همراه می شود). مسائل بدخیم، مسائلی پیچیده (پیچیده به معنای تشکیل شده از اجزا) و چندبعدی هستند. از نظر ریتل این مسائل بیشتر در تقابل با جامعه رخ می دهند. به قول ریتل: «مشکلات اجتماعی هیچ گاه به صورت قطعی حل نمی شوند بلکه بارها و بارها فیصله می یابند». فیصله را به عنوان ترجمه Resolve به کار برده ام. وقتی مسئله ای حل می شود عموما همه طرفین از حل آن راضی هستند. اما، وقتی دعوا یا اختلافی فیصله می یابد یا اصطلاحا Resolve می شود همه طرفین رضایت ندارند!

ریتل علت حل نشدن مشکلات و مسائل اجتماعی را در ذات این مسائل می داند. او این مسائل را بدخیم (در مقابل مسائل خوش خیم یا به اصطلاح Tame، مثل معادله های ریاضی که راه حلی مشخص دارند)  می نامد و ۱۰ ویژگی برای این مسائل بر می شمارد که در ادامه به بررسی این ویژگی ها می پردازیم. هدف تفکر طراحی ارائه فرآیندی برای حل چنین مشکلاتی است:

  1. مسائل بدخیم صورت مسئله مشخصی ندارند: مهمترین معضل در حل مسائل بدخیم نوشتن صورت مسئله است. منظور از «نوشتن صورت مسئله» مشخص کردن سه مورد زیر است:
    • نوشتن ویژگی های حالت ایده آل و حالت فعلی.
    • پیدا کردن علت مشکل. به عبارت دیگر، علت تفاوت بین حالت ایده آل و حالت فعلی چیست؟
    • انتخاب مجموعه ای از اقدامات برای رفع علت مشخص شده.
  2. مسائل بدخیم شرط توقف ندارند: در حل مسائل ریاضی یا موقع بازی شطرنج می دانیم کی مسئله حل شده یا بازی به اتمام رسیده است. اما، مسائل بدخیم شرط توقف ندارند. نمی دانیم مشکل چه موقع حل شده است. در واقع، مجموعه رویدادها و وقایع خاصی وجود ندارند که با رخ دادن آنها متوجه شویم مسئله حل شده است. عموما، کسانی که مسائل بدخیم را حل می کنند به علت اتمام وقت یا بودجه حل مسئله را متوقف می کنند.
  3. راه حل های مسائل بدخیم درست یا غلط نیستند، بلکه خوب یا بد هستند: این ویژگی دخیل بودن عوامل انسانی و قضاوت انسان در بررسی کارایی راه حل مسائل بدخیم را شرح می دهد. در حل مسائل ریاضی، فرد یا افرادی وجود دارند که می توانند با آگاهی از قوانین ریاضیات، راه حل ارائه شده را بررسی کرده و اعلام کنند آیا راه حل ارائه شده درست است یا غلط. اما، در بررسی صحت و کارایی راه حل های مسائل مرتبط با اجتماع سلیقه، بافت جامعه، ساختار اجتماعی و سلسله مراتبی و قضاوت افراد دخیل است. ممکن است راه حل از نظر یک فرد خوب و از نظر شخص دیگری بد باشد.
  4. پیش از پیاده سازی راه حل، تستی برای اینکه مشخص کند آیا راه حلی برای مسئله به دست آمده است وجود ندارد: در مسائل خوش خیم، پیش از پیاده سازی راه حل، می توان تصمیم گرفت راه حل ارائه شده تا چه حد خوب یا بد است. به عبارت دیگر، بررسی و تست راه حل کاملا در کنترل کسانی است که به حل مسئله علاقه مند هستند. در مسائل بدخیم، هر راه حلی، پس از پیاده سازی، موجی از عواقب و نتایج را به همراه خواهد داشت. این موج می تواند به مدت زمان نامتناهی ادامه یابد. به علاوه، ممکن است پس از پیاده سازی راه حل، نتایج به بار آمده آنقدر وخیم باشند که حل کننده گان مسئله به این نتیجه برسند که بهتر بود اصلا راه حلی ارائه نمی شد! نتایج و عواقب راه حل پیاده سازی شده بر زندگی تک تک افراد را نمی توان پیشاپیش و قبل از پیاده سازی راه حل بررسی کرد.
  5. هر راه حلی که برای یک مسئله بدخیم مطرح می شود بسیار حائز اهمیت است و نمی توان با سعی و خطا مسئله را حل کرد: فرض کنید می خواهید مشکلات سیستم آموزشی یک کشور را رفع کنید. نمی توانید این کار را با سعی و خطا انجام دهید. کوچکترین تغییری باعث تحت تاثیر قرار گرفتن زندگی یک یا چند نسل از جامعه می شود.
  6. مسائل بدخیم مجموعه راه حل های قابل شمارشی ندارند. به علاوه، اعمال مشخصی هم وجود ندارد که بتوان از آنها در برنامه ریزی استفاده کرد: راهی وجود ندارد که بتوان بر اساس آن اثبات کرد همه راه حل های یک مسئله بدخیم شناسایی و بررسی شده است. ممکن است به علت تناقض های منطقی که در صورت مسئله وجود دارد اصلا نتوان راه حلی یافت (برای مثال ممکن است در صورت مسئله نیاز به A و نقیض آن ذکر شده باشد). عموما، در زمان تلاش برای حل یک مسئله بدخیم، مجموعه ای از راه حل ها در نظر گرفته می شوند و مجموعه ای دیگر به طور کامل از نظر پنهان می مانند. تلاش برای افزایش اندازه مجموعه راه حل ها و انتخاب یک راه حل خاص تنها به قضاوت وابسته است.
  7. هر مسئله بدخیمی اساسا یکتا است: به ازای هر دو مسئله، می توان حداقل یک وجه تمایز یافت. اما، «اساسا یکتا» یعنی به ازای تعداد بسیار زیادی ویژگی مشابه بین دو مسئله بدخیم، یک ویژگی متمایز کننده وجود دارد که اهمیت بسزایی دارد. در نتیجه نباید برای انتخاب راه حل مسائل بدخیم عجله کرد.
  8. هر مسئله بدخیمی را می توان نشانه ای از یک مسئله بدخیم دیگر (و سطح بالاتر) در نظر گرفت: برای مثال جرم و جنایت را می توان نشانه ای از افول اخلاق در جامعه در نظر گرفت.
  9. توضیحات مختلفی برای وجود تفاوت بین حالت ایده آل و حالت فعلی در صورت مسائل بدخیم قابل ارائه است. اگر توضیح خاصی را به عنوان علت مسئله در نظر بگیرید در واقع راه حل خود را انتخاب کرده اید. برای مثال می توان علت جرم و جنایت در جامعه را افول اخلاق، فقر، تولید فیلم های خشن و غیره دانست. اگر علت خشونت در جامعه را افول اخلاق در نظر بگیرید راه حلتان هم در همین جهت پیش خواهد رفت!
  10. طراح (حل کننده گان مسائل بدخیم) حق اشتباه کردن ندارد: در علم، دانشمندان نظریه های مختلفی برای توضیح یک پدیده بیان می کنند. یک نظریه را می توان با استفاده از شواهد نقض کرد و نظریه جدیدی ارائه داد. هیچ کس، دانشمندان را برای ارائه نظریاتی که نقض می شوند سرزنش نمی کند. اما، در حل مسائل بدخیم، بر خلاف علم، هدف یافتن حقیقت نیست. هدف، بهبود شرایط زندگی مردم است. از این رو طراحان و کسانی که مسائل بدخیم را حل می کنند حق اشتباه کردن ندارند و باید مسئولیت تصمیمات خود را بپذیرند.

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

برای آگاهی از پست های بعدی می توانید در کانال تلگرام وبلاگ عضو شوید.
برای عضویت در کانال وبلاگ اینجا کلیک کنید

رفتار نرم افزار دربرابر خطا

تصویری که کاربری خیالی را در مواجهه با خطا نشان می دهد

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

در سال ۱۹۸۶ دون نورمن (Don Norman) و کلیتون لوییس (Clayton Lewis) مقاله ای را با عنوان طراحی برای خطا (Designing for error) در کتاب User-Centered System Design چاپ کردند. آنچه در ادامه می خوانید خلاصه این مقاله (با کمی تغییر) است.

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

  • فایل یا دایرکتوری مقصد موجود نیست
  • خطا در اتصال به سرویس دهنده
  • خطا در نوشتن فایل در دایرکتوری مقصد

اما آیا استفاده از کلمه خطا (Error) در چنین شرایطی درست است؟ نویسندگان مقاله می گویند خیر! چون خطا کلمه ای است که عموما با شنیدن آن، دنبال مقصر می گردیم. این کلمه بار منفی دارد و کاربر با دیدن آن احساس می کند ناتوانی او باعث خطا شده، در حالیکه نرم افزار نتوانسته به درستی به درخواست یا ورودی کاربر پاسخ دهد. بنابراین نویسندگان مقاله استفاده از هر کلمه دیگری را در این شرایط، بر خطا، مقدم می دانند. به علاوه انسانها همان طور که با دیگر انسانها در تعاملند، با کامپیوترها تعامل (Interact) می کنند. سیستمی که مدعی تعاملی بودن است باید همان طور که دو طرف یک گپ و گفت سعی در رفع اشکالات کلامی و مفهومی هم می کنند (تا حرف هم را بفهمند) سعی کند به کاربر کمک کند و اشکالات او را رفع کند.

اما آیا می توان “خطاهای” کاربر را دسته بندی کرد؟ به طور کلی کاربران هدف یا مقصودی (Intention) برای استفاده از نرم افزار دارند:

  • اگر هدف و مقصود کاربر درست باشد اما عملی که برای دست یافتن به آن انجام می دهد اشتباه باشد او مرتکب لغزش (Slip) شده است
  • اگر هدف و مقصود به کلی اشتباه باشد کاربر مرکتب اشتباه (Mistake) شده است

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

اما رفتار نرم افزارها در برابر خطا به چند دسته تقسیم می شود؟ به طور کلی می توان رفتار نرم افزارها در برابر خطا را به شش دسته زیر تقسیم کرد:

  1. Gag: در این حالت سیستم کار مورد نظر کاربر را انجام نمی دهد. این توقف کاربر را آگاه می کند که خطایی رخ داده، اما کاربر متوجه نمی شود این خطا چیست. برای مثال وقتی سعی می کنید ماشین را روشن کنید اما هیچ اتفاقی نمی افتد. در این حالت متوجه می شوید که مشکلی وجود دارد اما نمی توانید تشخیص دهید این مشکل چیست؟
  2. Do Nothing: در صورت بروز خطا سیستم، هیچ عکس العملی از خود نشان نمی دهد. این روش تنها در شرایطی قابل استفاده است که کاربر متوجه شود در پاسخ به درخواست وی هیچ اتفاقی نیفتاده است، در غیر این صورت ممکن است کاربر به اشتباه فکر کند درخواستش انجام شده است.
  3. Warn: در این حالت در صورت بروز خطا یک اخطار به کاربر نمایش داده می شود اما سیستم به کار خود ادامه می دهد. برای مثال در حین کپی فایل سیستم به کاربر اطلاع می دهد دیسک در حال پر شدن است اما به کپی فایل ادامه می دهد.
  4. Self-Correct: در این روش در صورت خطای کاربر، سیستم سعی می کند به صورت خودکار هدف کاربر را تشخیص و کار مورد نظر او را انجام دهد. این مکانیزم تنها در شرایطی مفید است که بتوان کار انجام شده توسط سیستم را به راحتی لغو کرد. مثالی از این سیستم ها را می توان در برنامه هایی که به صورت خودکار کلمات تایپ شده کاربر را کامل می کنند مشاهده کرد.
  5. Teach Me More: در این حالت اگر نرم افزار نتواند درخواست کاربر را به درستی درک کند از کاربر می خواهد اطلاعات بیشتری در اختیارش قرار دهد. برای مثال دیکشنری هایی که برخی از کلمات را ندارند به کاربر امکان می دهند کلمه ناموجود را اضافه کند.
  6. Let’s Talk About It: این روش که قدمی به سوی تعاملی تر شدن برنامه ها است سعی می کند با برقراری دیالوگ با کاربر مشکل را حل کند. برای مثال با پرسیدن مجموعه ای از سوالات.

توجه داشته باشید رفتار نرم افزار در برابر خطا می تواند ترکیبی از موارد فوق باشد.

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

  1. اینکه خطایی رخ داده است (Detection of error)
  2. اینکه خطا در چه سطحی از نرم افزار اتفاق افتاده (Identification of error)

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

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

برای آگاهی از پست های بعدی می توانید در کانال تلگرام وبلاگ عضو شوید.
برای عضویت در کانال وبلاگ اینجا کلیک کنید

هشت اشتباه که باعث از دست دادن کارمندان خوب می شود

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

نگه داشتن کارمندان خوب در شرکت ها کار سختی است (اگر چه نباید چنین باشد). وقتی (به عنوان مدیر یک کمپانی) اشتباهی مرتکب می شوید،  اولین کسانی که از دست می دهید بهترین کارمندانتان هستند، چون بیشترین انتخاب را دارند.
اگر نتوانید بهترین کارمندانتان را دلگرم و درگیر کار نگه دارید، آنها را از دست خواهید داد. اگرچه درک این جمله ساده به نظر می رسد، در واقع چنین نیست! طبق نظرسنجی که CEB انجام داده، یک سوم کارمندان خوب شرکت های مختلف نسبت به کار و کارفرمای خود دلسرد هستند و دنبال یک شغل جدید می گردند.
از دست دادن کارمندان خوب یکباره اتفاق نمی افتد. علاقه به کار در آنها به مرور از دست می رود. مایکل کیبلر که زمان زیادی را صرف مطالعه این پدیده کرده، آن را خاموش شدن می نامد. مثل ستاره های در حال مرگ که به مرور نور خود را از دست می دهند، کارمندان خوب هم عطش و علاقه خود به کار را به مرور از دست می دهند. کیبلر می گوید: “در این حالت به نظر می رسد همه چیز خوب است. کارمندان ساعات زیادی را صرف کار می کنند، در کارهای تیمی مشارکت می کنند و کارهایشان را به خوبی انجام می دهند. اما در واقع دارند در سکوت از پای در می آیند و نتیجه واضح این امر دلسرد شدن است”. برای پیش گیری از خاموش شدن کمپانی ها و مدیران باید بدانند اعمال و تصمیماتشان چگونه بر این امر تاثیر می گذارد. در ادامه برخی از اموری که باعث دلسرد شدن کارمندان خوب می شود و باید از انجام آنها پرهیز کرد را آورده ایم:

  1. آنها قوانین احمقانه زیادی وضع می کنند: همه می دانیم که شرکت ها و کمپانی ها باید قانون مند باشند. اما این قوانین نباید سرسری وضع شوند. حتی وضع تعداد اندکی قانون غیرضروری و اضافه می تواند به شدت باعث ناراحتی افراد شود. وقتی کارمندان خوب احساس کنند همه چیز تحت نظر است و برادر بزرگ همه رفتار و اعمال آنها را مثل یک جاسوس تحت نظر دارد مکان دیگری برای کار پیدا خواهند کرد.
  2. آنها با همه یکسان برخورد می کنند: اگرچه این رفتار با بچه مدرسه ای ها به خوبی جواب می دهد، محیط کار متفاوت است. اگر با همه یکسان برخورد کنید بهترین کارمندانتان فکر می کنند کار کردن اهمیتی ندارد. چون به هر حال چه کار کنند و چه کاری انجام ندهند برخورد شما با آنها یکسان خواهد بود.
  3. کارایی ضعیف برای آنها قابل قبول است:  می گویند در گروه های جاز، گروه به خوبی بدترین نوازنده است. مهم نیست بعضی از اعضا چقدر خوب هستند همه صدای ساز بدترین نوازنده را میشنوند. در شرکت ها هم چنین است. اگر اجازه دهید پیوندهای ضعیف بدون هیچ پیامدی باقی بمانند، همه تیم را باخود پایین می کشند.
  4. آنها به نتایج اهمیت نمی دهند: ممکن است اثر نوازش را دست کم بگیرید، به خصوص در مورد بهترین کارمندانتان که انگیزه ذاتی و غریزی دارند. همه تشویق شدن را دوست دارند، به خصوص کسانی که به سختی کار می کنند و تمام تلاششان را انجام می دهند. پاداش دادن به دست آوردهای افراد نشان می دهد شما به کارهای آنها توجه دارید. مدیران باید با افراد در ارتباط باشند تا بدانند چه چیزهایی آنها را خرسند می کند و برای کارهایی که انجام می دهند به آنها پاداش دهند.
  5. آنها به افراد اهمیت نمی دهند: بیش از نیمی از کسانی که کار خود را رها می کنند، این کار را به خاطر رابطه با مدیرشان انجام می دهند. شرکت های موفق سعی می کنند مدیرانشان را طوری تربیت کنند که بین انسان بودن و حرفه ای بودن متعادل باشند. یعنی مدیرانی که از پیشرفت کارمندانشان خرسند می شوند، در دوران دشواری و سختی با کارمندان همدردی می کنند و آنها را به چالش می کشند. مدیرانی که چنین نیستند نیروهای زیادی را از دست می دهند. هشت ساعت (یا بیشتر) کار در روز با کسی که خود درگیر کار نیست و به چیزی به جز خروجی اهمیت نمی دهد غیر ممکن است!
  6. آنها تصویر بزرگ را به شما نشان نمی دهند: ممکن است فکر کنید تخصیص کارها به کارمندان و پیش روی روشی موثر برای مدیریت است. اما اگر تصویر بزرگ (دید کلی) به کارمندانتان ندهید، به خصوص کارمندان خوب، آنها را از دست خواهید داد. کارمندان خوب فشار کاری بیشتری را تحمل می کنند در نتیجه کارشان باید هدفمند باشد. وقتی هدف آنها مشخص نباشد دلسرد می شوند.
  7. آنها اجازه نمی دهند افراد علایقشان را دنبال کنند: گوگل کارمندانش را مجبور می کند حداقل بیست درصد از زمانشان را صرف کارهایی کنند که “فکر می کنند” در پیشرفت گوگل موثر است. این کارهای داوطلبانه نه تنها تاثیر بسزایی در بسیاری از پروژه های گوگل دارد بلکه موجب دلگرم شدن کارمندان گوگل هم می شود. کارمندان با استعداد به کارشان علاقه مند هستند. فراهم آوردن فرصت هایی که به آنها امکان می دهد علایقشان را دنبال کنند باعث افزایش کارایی و رضایت شغلی آنها می شود.
  8. کارکردن با آنها لذت بخش نیست: اگر مردم از کارشان لذت نبرند، یعنی مدیریت به درستی انجام نمی شود. اگر افراد از کار لذت نبرند تمام توان خود را صرف انجام کار نمی کنند و نسبت به کار دلسرد می شوند. برای مثال گوگل تمام تلاش خود را برای لذت بخش کردن کار انجام می دهد از کلاس های بدنسازی گرفته تا غذای رایگان. ساده است، اگر کار لذت بخش باشد شما ساعات بیشتری در محیط کار صرف می کنید و سالهای بیشتری را به کار می پردازید.

نتیجه گیری

به یاد داشته باشید مردم کارشان را رها نمی کنند بلکه مدیرشان را رها می کنند! می خواهید محیط کار بهتری را فراهم کنید؟ سعی کنید درباره EQ بیشتر بیاموزید.

 

برای آگاهی از پست های بعدی می توانید در کانال تلگرام وبلاگ عضو شوید.
برای عضویت در کانال وبلاگ اینجا کلیک کنید

 

دروغ های فنی در پروژه های نرم افزاری

دروغ گویی در پروژه های نرم افزاری بسیار رایج است!  اصولا دروغ گو ها در پروژه های نرم افزاری خوب پیشرفت می کنند. به نظرم یکی از دلایل این پیشرفت، ماهیت غیر قابل لمس نرم افزار است. اگر در پروژه های نرم افزاری کار کرده باشید احتمالا با این پدیده مواجه شده اید. در این باره مقالات متعددی وجود دارد. در یکی از این مقالات که رابرت گلس و سایرین با عنوان “Lying on software projects” به چاپ رسانیده اند اطلاعات جالبی در این باره وجود دارد. که در این پست باهم به بررسی آن می پردازیم.

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

  • افزایش میزان فروش نرم افزار
  • دروغ گویی در مقایسه با گفتن حقیقت مزایای بیشتری دارد
  • خوب جلوه کردن در نظر مدیران یا مشتریان
  • اعتماد به نفس کاذب
  • پنهان کردن اشتباهات
  • تلاش برای کاهش بار کاری

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

متاسفانه در بسیاری از پروژه های نرم افزاری دروغ گویان نتایج بهتری از نظر مبلغ دریافتی و رتبه کاری کسب می کنند. علت این امر بی تجربگی بسیاری از مدیران و ناتوانی فنی آنها برای یافتن حقیقت یا دروغ گو بودن خود مدیران است!  این در حالی است که این نتایج در قبال کاری که انجام می شود نیست بلکه تنها حاصل مجموعه ای از دروغ ها است!

این دروغ گوهای خوش خط و خال به راحتی با مجموعه ای دروغ که اثبات خلاف بودن آنها به راحتی ممکن نیست و تنها با گذشت زمان و به بار آوردن خسارات برای مدیران مشخص می شود اعتماد مدیران را جلب کرده و به سادگی یک شبه ره صد ساله می روند. البته به نظر من اگر مدیر خود دروغ گو نباشد اما به راحتی فریب این دروغ گویان را بخورد یعنی مدیر خوبی نیست! مدیریت صحیح نیازمند سنجه (Metric) است تا بتوان با سنجه ها تصمیم گیری کرد. ویژگی که اکثر مدیران ما از آن بی بهره اند.

البته ماه هیچ گاه پشت ابر نمی ماند…

برای آگاهی از پست های بعدی می توانید در کانال تلگرام وبلاگ عضو شوید.
برای عضویت در کانال وبلاگ اینجا کلیک کنید

اثر راشومون و روش های مدیریت چابک (اجایل)

rashomon-effect

دیروز به درخواست “مدیران” ارائه ای بسیار مقدماتی در مورد روش های چابک در مدیریت نرم افزار به تیم توسعه نرم افزار داشتم! در زمان ارائه به نظر می رسید نظر حضار مختلف در مورد روش های چابک نوعی اثر راشومون است- اثر راشومون حالتی را توصیف می کند که در آن برداشت افراد از، مشاهده ای یکسان، متفاوت است- و هر کسی با شنیده های جسته و گریخته نظری در مورد این روش ها دارد. در واقع بیشتر حضار تعریف و آگاهی درستی از این امر نداشتند. این آگاهی نصفه و نیمه بسیار مشکل ساز است و می تواند باعث ضایع شدن حق کارکنان شود. اما چطور؟
برای مثال یکی از ارزش های اصلی روش های چابک کاهش نقش مدیر به عنوان قدرت مرکزی (دیکتاتور) و توزیع آن بین اعضای تیم و تاکید بر نقش مدیر به عنوان رهبر تیم (نقش واقعی مدیریت) است نه تعیین کننده سرنوشت اعضا. متاسفانه بسیاری و شاید حتی خود من اگر سرنوشت گروهی را به دست بگیریم فکر می کنیم بهترین تصمیم گیرنده ایم و هیچ گاه سعی در یادگیری نداریم چون بهترین تصمیم گیرنده و دانای کل نیاز به یادگیری ندارد. حال اگر افراد از اصول سازمانی روش های چابک اطلاعی نداشته باشند و فقط روی روش های تکنیکی تمرکز کنند ممکن است قربانی سوء استفاده شوند. اما اگر دیدگاهشان را به هم نزدیک کنند و هم صدا و هم کلام شوند می توانند بر مشکلات این چنینی پیروز شوند.
در این ۱۰ سالی که در صنعت آی تی ایران مشغول به کار هستم مشاهدات گاها عجیب و تلخی داشتم و در سازمان های مختلف با افراد گوناگونی مواجه شدم. مشاهداتی که برای بنده مشاهده کننده گاها ناخوشایند، عجیب و غیرقابل باور بوده.از کارکنان و شرکت های خوب این صنعت گرفته تا شرکت هایی با سیاست های شبیه به زندان و شارلاتان هایی که برای مقام یا دریافتی بیشتر دست به هر کاری می زنند(واقعا هر کاری!!!). از تیم های کوچک اما موفق تا تیم های بزرگ اما ناموفق. جا دارد از مصاحبه های عجیب و غریب برخی شرکت ها هم یاد کنم. مصاحبه هایی توسط افرادی بیسواد و بدون آگاهی برای بزرگ جلوه دادن کارهای شرکتی پوشالی که وقتی وارد آن می شوید میبینید کار خاصی در آنها انجام نمی شود.
متاسفانه بسیاری از مشکلات تیم های نرم افزاری و شاید هر تیم تولیدی دیگری از کارکنان فنی نیست بلکه به دلیل مدیریت اشتباه و ناآگاهی های مدیران ماست. این امر زمانی بروز می کند که بسیاری از تیم های نرم افزاری ما اصول تکنیکی روش های چابک را رعایت می کنند اما خبری از رعایت صحیح اصول سازمانی نیست! هر چند اصول روش های چابک وحی منزل نیستند و نیازمندی بر رعایت تمامی آنها نیست اما در بسیاری از مشاهدات من اصول سازمانی به درستی رعایت نمی شوند و حق افراد زیر پا گذاشته می شود.

تحلیل پیامک های تبلیغاتی ایرانسل – قسمت دوم

Wolf-ship

در قسمت اول سعی کردم یک دید آماری در مورد پیامک های تبلیغاتی ایرانسل فراهم کنم. هرچند به علت کمبود وقت ممکن است این دید کامل نباشد و نقص هایی به آن وارد باشد اما به هر حال بهتر از هیچ است. در این قسمت سعی دارم یکی از مطالعات مرتبط در زمینه پیامک های تبلیغاتی را خلاصه کنم. این مطالعه در سال ۲۰۰۷ بوسیله باما و بارنز در ژورنال Business Process Management به چاپ رسیده. مقاله بسیار جالبی است و پیشنهاد می کنم اگر وقت دارید حتما آن را مطالعه کنید. اما سوالات:

۱- تعریف بازرگانی با استفاده از موبایل چیست؟ تراکنش هایی با ارزش مالی مستقیم یا غیر مستقیم با استفاده از موبایل را بازرگانی با استفاده از موبایل می گویند.

۲- بازار هدف بازرگانی با استفاده از موبایل در جهان چند کاربر دارد؟ انتظار می رود تا سال ۲۰۰۸ تعداد کاربران هدف این تجارت به ۱.۶۷ میلیارد کاربر برسد. توجه کنید این عدد مربوط به سال ۲۰۰۸ میلادی است.

۳- ارزش مالی این بازار چقدر است؟ انتظار می رود ارزش مالی این بازار تا سال ۲۰۰۹ به ۸۸ میلیارد دلار برسد. مجددا به سال مقاله توجه داشته باشید.

۴- آیا در رابطه با ارسال پیامک های تبلیغاتی در سایر کشورها قوانینی وجود دارد؟ بله. برای مثال در کشورهای اروپایی قوانین، تبلیغ کننده گان را مجبور می کنند پیش از ارسال پیامک های تبلیغاتی از کاربران اجازه بگیرند (بر خلاف ایران).

۵- مهمترین مشکلی که ارسال پیامک های تبلیغاتی برای کاربران ایجاد می کند چیست؟ نقض حریم شخصی کاربران.

۶- حریم شخصی یعنی چه؟ به حق یک شخص برای کنترل اطلاعاتی که سایرین در موردش نگه داری می کنند حریم شخصی می گویند. تعریف دیگری که از حریم شخصی و از کتاب Dragnet Nation نوشته جولیا آنگ وین به خاطر دارم : به حق شخص برای ارائه خود به صورت انتخابی حریم شخصی می گویند.

۷- تعریف فوق کمی پیچیده است می شود بیشتر توضیح دهید؟ بله. به طور کلی اوپراتور ها و بسیاری از سرویس های اینترنتی از جمله اکثر شبکه های اجتماعی مثل فیس بوک، اینستاگرام و … اطلاعاتی در مورد کاربرانشان نگه داری می کنند. در اوپراتور های تلفن همراه این اطلاعات می تواند شامل پیام های متنی که ارسال کرده اید، تماس ها، طول تماس ها، شماره مبدا و مقصد تماس ها و پیامک ها، نام و نام خانوادگی خودتان و فرد تماس گیرنده یا مقصد تماس و بسیاری اطلاعات دیگر شود. حال فرض کنید به مسابقات پیامکی پیش بینی فوتبال علاقه خاصی دارید و در این نوع مسابقات شرکت می کنید. در این حالت اوپراتور به علت ذخیره اطلاعات پیامکی شما از این امر مطلع است و پیامک های بیشتری در این زمینه به شما ارسال می کند. در این حالت حریم شخصی شما نقض شده زیرا اوپراتور اطلاعاتی از شما دارد که کنترلی روی آن ندارید. این اطلاعات ممکن است در اختیار شرکت های زیر مجموعه اوپراتور قرار گیرد و به منظور سوء استفاده از علایق شما استفاده شود. در این حالت شما هدفی متحرک برای سودجویی هستید. حال شما توانایی ارائه خود به صورت انتخابی را از دست داده اید! همین سناریو را می توانید در بسیاری حالات دیگر در نظر بگیرید. برای مثال الگوی خریدتان با استفاده از سیستم های اینترنتی.

۸- از اطلاعاتی که جمع آوری می شود به چه منظوری می توان استفاده کرد؟ از اطلاعات جمع آوری شده می توان برای سفارشی سازی پیامک های تبلیغاتی بر حسب موقعیت مکانی، بافت و … استفاده کرد. در واقع اطلاعات جمع آوری شده هم چون طلا ارزشمند هستند.

۹- به طور کلی از پیامک های تبلیغاتی به چه منظوری استفاده می شود؟ ساخت برند، پیشنهادات ویژه، رای گیری، تبلیغ محصولات و درخواست اطلاعات.

۱۰- استفاده از پیامک های تبلیغاتی موثر است؟ طبق اطلاعات موجود در مقاله استفاده از این پیامک ها در ساخت برند ۵۰ درصد موثر تر از تلوزیون و ۱۳۰ درصد موثر تر از رادیو است!

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

برای آگاهی از پست های بعدی می توانید در کانال تلگرام وبلاگ عضو شوید. برای عضویت اینجا کلیک کنید.

تحلیل پیامک های تبلیغاتی ایرانسل – قسمت اول

Wolf-ship

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

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

سوال اول. داده هایی که تحلیل ها روی آنها انجام شده از کجا به دست آمده اند؟ داده ها مربوط به پیامک های دریافتی روی گوشی خودم است که  به پیام های دریافتی از تاریخ ۱۶-۱-۲۰۱۶ تا ۴-۶-۲۰۱۶ اختصاص دارند. یعنی پیامک های دریافتی مربوط به ۱۴۰ روز یا حدودا پنج ماه! این پیامک ها را با استفاده از نرم افزار SMS Backup & Restore از روی گوشی مبتنی بر اندرویدم استخراج و تحلیل کرده ام.

سوال دوم. به طور متوسط چند پیامک در فایل وجود داشت؟ چند درصد پیامک های تبلیغاتی بودند؟ به طور کل در این بازه من ۱۸۵۸ پیامک دریافت کرده ام. در این میان حدودا ۷۳۶ پیامک از شماره های تبلیغاتی برای من ارسال شده. یعنی ۳۹.۶۱ درصد از پیامک های من در این چند ماه پیامک های تبلیغاتی بوده است!

سوال سوم. هزینه ارسال این پیام ها چقدر است؟ طبق اطلاعات موجود در وب سایت ایرانسل هزینه ارسال پیامک فارسی ۱۱.۵ تومان است. هزینه ارسال کل پیامک ها با فرض این هزینه برابر است با ۷۳۶ * ۱۱.۵ که برابر با ۸۴۶۴ تومان است. توجه داشته باشید این پیام ها برای هزاران و شاید میلیون ها کاربر در سطح کشور ارسال می شوند. برای مثال اگر فرض کنیم همین تعداد پیام برای یک میلیون نفر دیگر هم ارسال شده است (که یک میلیون نفر برای تعداد کاربران یک اوپراتور عدد اندکی است) هشت میلیارد و چهارصد و شصت و چهار میلیون تومان هزینه ارسال این پیام ها شده است! سوالی که مطرح می شود این است که میزان سود فرستندگان چقدر است؟!!

سوال چهارم. به طور متوسط چند پیامک تبلیغاتی در روز دریافت کرده ام؟ طبق آمار و ارقام به طور متوسط در هر روز ۵.۲۶ پیامک تبلیغاتی برای من ارسال شده (با انحراف معیار ۲.۱۷ پیام در هر روز).

سوال پنجم. بیشترین و کم ترین تعداد پیام های دریافتی در این مدت چقدر بوده است؟ کمترین تعداد پیامک تبلیغاتی دریافتی ۱ پیام در روز و بیشترین آن ۱۰ پیام در روز بوده است. در این میان در نیمی از روزها (۷۰روز) بیشتر از ۵ پیامک تبلیغاتی در روز دریافت کرده ام. در ۷۰ روز دیگر تعداد پیامک های تبلیغاتی دریافتی کمتر یا برابر با ۵ پیامک در روز بوده است. صدک های پیامک های دریافتی در ادامه آمده اند. همان طور که مشاهده می کنید در سطر اول درصد روزها و در سطر دوم تعداد پیامک ها تبلیغاتی آمده اند. برای تفسیر این صدک ها می توان گفت برای مثال در ۱۰ درصد از روزها ۲ پیام تبلیغاتی یا کمتر دریافت کرده ام٬ در ۲۰ درصد از روزها ۳ پیام تبلیغاتی یا کمتر دریافت کرده ام و به همین ترتیب.

درصد روزها ۱۰٪ ۲۰٪ ۳۰٪ ۴۰٪ ۵۰٪ ۶۰٪ ۷۰٪ ۸۰٪ ۹۰٪ ۱۰۰٪
تعداد پیامک تبلیغاتی ۲ ۳ ۴ ۵ ۵ ۶ ۶ ۷ ۸ ۱۰

 در نمودار خطی زیر می توانید میزان تغییرات در تعداد پیام ها را مشاهده کنید (برای بزرگ تر شدن شکل روی آن کلیک کنید).

نمودار تعداد پیام های تبلیغاتی ارسال شده در هر روز در خط ایرانسل من

سوال ششم. بیشترین پیامک های تبلیغاتی از چه شماره هایی ارسال شده اند؟ پاسخ این سوال را می توانید به وضوح در نمودار زیر مشاهده کنید. همان طور که مشاهده می کنید بیشترین پیام ها از آدرسی با عنوان Irancell ارسال شده اند. توجه داشته باشید شماره های بسیار دیگری هم وجود دارند که پیامک های تبلیغاتی از آنها دریافت شده است اما در نمودار زیر ما ۲۰ شماره اول را آورده ایم.

تعداد پیام های تبلیغاتی دریافت شده از هر یک از آدرس ها

نکته بسیار جالب در این نمودار تعداد پیام های ارسالی از شماره ۰۹۳۷۷۰۷۰۰۰۰ است که مربوط به یادآوری پرداخت ماهیانه هزینه وایمکس ایرانسل است. با اینکه ماهیانه هزینه ای به ازای سرویس وایمکس به حساب ایرانسل واریز می کنم تعداد پیام های دریافت شده از این شماره برای یادآوری پرداخت در کل ۱۰ پیام است! یعنی تنها چند پیام بیشتر از تعداد ماه ها! این عدد را با تعداد پیام های تبلیغاتی مقایسه کنید.

سوال هفتم. به طور کلی چه کلماتی در تمامی پیام ها تکرار شده اند؟ در اَبر کلمات زیر سعی شده ۵۰ کلمه پراستفاده در پیامک ها خلاصه شوند. البته این نمودار به علت دشواری هایی که در پردازش زبان فارسی به عنوان یک زبان طبیعی وجود دارد اشکالاتی دارد.

ابرکلمات تمامی پیامک های تبلیغاتی دریافت شده روی شماره ایرانسل

سوال هشتم. در اَبر کلمات سه شماره اول به صورت جدا چه کلماتی بیشتر استفاده شده است؟ نمودارهای زیر به ترتیب ۵۰ کلمه پر استفاده در پیامک های هر شماره را نشان می دهند.

Fig4-Irancell-wordcloudFig5-8282-wordcloud

Fig6-737587-wordcloud

سوال نهم. آیا ایرانسل راهی برای عدم دریافت این پیامک ها در اختیار ما قرار داده است؟ راه های متفاوتی در زمینه پیدا کردم که متاسفانه هیچ کدام به درستی٬ حداقل برای من٬ کار نکردند. یکی از این راه ها استفاده از سامانه کنترل حساب اینترنتی ایرانسل است.

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

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

نکته مهم تا اینجا این است که برای مقابله با این سودجویی چه می توان کرد؟ نظر شما چیست؟

برای آگاهی از پست های بعدی می توانید در کانال تلگرام وبلاگ عضو شوید. برای عضویت اینجا کلیک کنید.

حکایت روباه و انگور

Fox_and_grapes_Milo_Winter

روزی یک روباه تشنه و گرسنه به یک بوته انگور رسید. روباه سعی کرد یک خوشه انگور بچیند و بخورد؛ اما هرچه سعی کرد نتوانست! پس از کمی تلاش خسته شد، دست از تلاش کشید و رفت. در راه روباه برای دلداری با خود می گفت انگورها حتما ترش بودند و من نیازی به انگور ترش ندارم!

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

جاه طلبی در محیط کار

Social Climbing

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

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

اما جاه طلبی یعنی چه؟ در لغت نامه دهخدا در تعریف این واژه چنین آمده:

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

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

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

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

به نظر من استفاده از ترفندهای زیر می تواند در خنثی کردن اثر این رفتار موثر باشد:

  1. عدم استفاده از مدیرانی که به تازگی تازه فارغ التحصیل شده اند (به خصوص در رشته هایی مانند مهندسی صنایع). البته همیشه استثناء وجود دارد اما در کل بهتر است از افراد تازه کار در سمت های مدیریتی استفاده نشود.
  2. ایجاد شفافیت در محیط کار
  3. حفظ اتحاد میان کارکنان
  4.  گزارش چنین رفتارهایی بوسیله کارکنان به مدیریت سطح بالای مجموعه

یک جامعه، هر چند کوچک، نباید اتحاد خود را از دست بدهد. از دست رفتن اتحاد و همبستگی در یک جامعه تنها فرصتی است برای سودجویان. سودجویانی که هیچ اهمیتی به سایرین نمی دهند و همه را ابزاری برای رسیدن به منافع خود می بینند.