چگونه مدیر شویم ۲

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

اما اگر می‌خواهید درباره مدیریت منابع انسانی در شرکت‌های کامپیوتری بیشتر بخوانید:

– سه چهار کتاب هم هست که چند وقتی است من را به خود مشغول کرده، فکر می‌کنم برای شما نیز بسیار مفید باشد

– Smart and Gets Things Done: Joel Spolsky’s Concise Guide to Finding the Best Technical Talent

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

– How Would You Move Mount Fuji? Microsoft’s Cult of the Puzzle – How the World’s Smartest Company Selects the Most Creative Thinkers

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

– Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

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

– Peopleware: Productive Projects and Teams

این هم معروف‌ترین کتاب در حوزه مدیریت منابع انسانی در شرکت‌های کامپیوتری است. در واقع کتاب کلاسیک این زمینه محسوب می شود. نامش نیز بسیار جالب توجه است.

فکر می‌کنم با خواندن این کتاب‌ها اطلاعات پایه و بسیار خوبی درباره مدیریت منابع انسانی فرا بگیریم.

چگونه مدیر شویم ؟

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

ما فکر می‌کنیم چون مهندس کامپیوتر هستیم پس می‌توانیم شرکت کامپیوتری بزنیم و مدیر خوبی برای یک شرکت نرم‌افزاری خواهیم بود. این فکر به جز در موارد بسیار استثنا بسیار نادرست است.

اما اگر برای آینده خود برنامه‌ریزی کرده‌ایم و می‌خواهیم شرکتی را برپا کنیم چه کنیم:

۰- پیش از هر چیز باید بدانیم که آیا زمینه مدیر شدن را داریم یا خیر. من خود بر آنم که بسیاری از توانایی‌های مدیریتی اکتسابی است، اما شم مدیریتی هم مهم است. بسیاری از افراد برای مدیریت ساخته نشده‌اند یا آن را دوست ندارند اما چون هنوز آغاز نکرده‌اند این را نمی‌دانند. آزمون‌هایی برای این کار وجود دارد که بیشتر به نام آزمون‌های «کارآفرینی» یا «آزمون سنجش شخصیت کارآفرین» شناخته می‌شوند. در آنها توانایی‌های چون خطرپذیری و … سنجیده می‌شوند. آنها را برای خود بکار بگیرید.

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

۲- برای اینکه از خود مدیر بسازیم باید «زمان» و «پول» را هزینه کنیم.

۳- در دوره‌های ۷۲ ساعته که به دوره‌های کارآفرینی معروف هستند شرکت کنید. از آنجا که این دوره‌ها با کیفیت‌های مختلف برگزار می‌گردند، دقت کنید به موسسه‌ای بروید که این دوره را خیلی جدی برگزار می‌کند و مربیان خوبی را بکار می‌گیرد. هم‌زمان کتاب «عبور از طوفان: راهنمای کاربردی شرکت های نوپا در ایران» را بخوانید، کتاب بسیار مفید و کاربردی است و بسیاری از چیزهایی که برای برپایی یک شرکت نیاز است را یک‌جا آورده است. پس از این دوره اگر به این نتیجه رسیدید که هنوز می‌خواهید شرکتی برپا کنید باید به ۳ دوره‌ی حرفه‌ای‌تر بروید:

۴- در دوره‌های زیر شرکت کنید:

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

۶- دو ماهنامه «تدبیر» و «گزیده مدیریت» را آبونه شوید.

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

برزخ !

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


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

نگاهی اجمالی به تکنولوژی پنهان در مراسم افتتاحیه المپیک بیجینگ

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

صفحه نمایش LED لوله شده ای در میان زمین باز شد تا نمایش دهنده تمدن و فرهنگ ۵۰۰۰ ساله چین بر روی خود باشد، ابعادی معادل ۱۴۷ متر در ۲۲ متر داشت و بالغ بر ۴۴۰۰۰ LED بزرگ رنگی در آن به کار رفته بود که بین هر کدام از این LEDها ۶۰۰ میلیمتر فاصله بود.

جهت ایجاد یک محیط پندرسانه ای ایده ال، LEDهای بزرگ در تمامی مساحت ۲۰۰۰۰ متری محل برگزاری افتتاحیه (استادیوم آشیانه پرنده) نصب گردیده بودند.

سیستمهای مونیتورینگ و نظارتی پیشرفته برای اولین بار در تاریخ مراسم المپیک به کار گرفته شدند تا بتوان حرکات رقصنده ها و فاصله میان ۱۸۰۰۰ بازیگر کد گزاری شده را کنترل کرد.

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

مواد مصرف شده در تولید رول های کاغذ نقاشی توسط واحد هوا-فضای چین تهیه شده اند. بسیاری از تکنولوژی های مستتر در این مراسم توسط شرکت های داخلی توسعه یافته و به کار برده شدند.

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

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

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

مدیریت بی برقی

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

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

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

منبع : دوست خوبم رادمان

حالا بگوییم من مهندسم !

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

Milton C. Shaw در کتاب خود با عنوان ENGINEERING PROBLEM SOLVING : A CLASSICAL PERSPECTIVE مهندسی و مهندس را چنین تعریف می کند:


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

اگر فعالیتهای اصلی بشر را در سه شاخه کلی زیر تقسیم کنیم :
– ایده ها (Idea)
– طبیعت (Nature)
– اشخاص و اشیاء (People and Things)

فعالیتهای مرتبط با هر گروه را می توان چنین طبقه بندی کرد :

– نزدیک به شاخه ایده ها: علوم انسانی (Humanities) نظیر : ادبیات، هنر ، علوم دینی و موسیقی …
-نزدیک به شاخه طبیعت: علوم (Sciences) : مانند فیزیک ، شیمی، زیست شناسی، …
– نزدیک به اشخاص و اشیاء:کالا ها و خدمات (Goods and Services) : نظیر حمل و نقل، ارتباطات، کشاورزی، معدن، ساخت و تولید، علوم نظامی و …
– بین دو شاخه ایده ها و طبیعت: علوم انتزاعی ( The Abstract Sciences) : نظیر فلسفه طبیعی یا ریاضی
-بین دو شاخع طبیعت و اشخاص و اشیاء: علوم کاربردی (The Applied Sciences) : نظیر مهندسی، پزشکی، زمین شناسی، …
– بین دو شاخه اشخاص و اشیاء و ایده ها: علوم اجتماعی (The Social Sciences) : نظیر روانشناسی، معماری، حقوق، اقتصاد، تاریخ، روزنامه نگاری و …


واضح است که مهندسی در شاخه علوم کاربردی قرار می گیرد بنابراین فعالیتهای یک مهندس را می توان در طیف از “علوم” تا “کالاها و خدمات” قرارداد:
علوم
۱-اکتشاف
۲-تحلیل
۳-طراحی
۴- توسعه و پیاده سازی
۵- طراحی برای تولید
۶- تولید
۷-کنترل کیفیت
۸- عملیات
۹- نگهداری
۱۰-فروش و کاربردها
کالاها و خدمات
همانطور که مشخص است این طیف از دانش خالص (تحقیقات) تا مرحله فروش و ایجاد کاربردهای محصول دنبال می شود، مهندسی که بیشتر باید درگیر ارتباط با مردم و فراگیزی دانش های مرتبط نظیر روانشناسی و اقتصاد می شود.

هفت عامل برای تبدیل “قرارداد” از مبنایی برای تعاملات کاری به کاغذی برای قشنگی!

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

با وجود اینکه همگان اهمیت موافقت نامه یا قرارداد ها را می دانند چرا این اتفاق می افتد؟ هفت دلیل را اینجا ذکر می کنم:

۱-درست ننوشتن و نخواندن موافقت نامه: اغلب موافقت نامه ها به درستی نوشته نمی شوند و یا خوانده نمی شوند، طبیعتا درست هم اجرا نمی شود. به عبارت دیگر، موافقت نامه در هنگام نگارش تعریف کننده موراد لازم نیست و تازه کسی که آن را هم امضاء می کند، آن را درست مطالعه نمی کند که بداند به چه چیزی تعهد داده است. پس طبیعی است که در موقع اجرا، به آن عمل نشود.
۲- موافقت نامه های مبهم: وجود ابهام در موافقت نامه ها، بسیاری از موافقت نامه ها به عمد و یا به سهو دارای ابهاماتی است که باعث می شود نتوان در موارد بروز اختلاف، تصمیم گیری قاطعی در مورد آن داشت. داشتن ابهام، مساله ای است که همانگونه که گفتم به عمد توسط نویسندگان زرنگ موافت نامه ها ایجاد شده و به آن افتخار هم می کنند.
۳- قرارداد های یکطرفه: بسیار دیده ام که موافقت نامه کاملا یک طرفه و به سود یک طرف تنظیم می شود. در این شکل قراردادها، بیشتر از جانب کارفرما یا خریدار بند هایی به قرارداد اضافه می شود که کاملا به نفع خودش است و منافع طرف دیگر را نادیده گرفته و یا اجرای موافقت نامه را خارج از توان طرف دیگر می کند. عدم قبول تعهدات ساده برای خود در عین گذاشتن قیدهای خیلی سخت برای طرف دیگر از اینجمله است. معمولا به این قرارداد ها ترکمنچای می گویم و شده است که چنین موافقت نامه ای را امضاء نکنم، اگر چه برای توافق پیش از آن زحمت زیادی کشیده باشیم.
۴- عجله و یا خستگی ناشی از بازاریابی: معمولا عقد قرارداد به عنوان آخرین گام فروش نرم افزار و یا گرفتن سفارش پروژه است، لذا تیم های فروش گاهی آنقدر عجله می کنند تا حتما فروش را با هر شرایطی محقق کنند و یا آنقدر رفتن و آمدن ها و مذاکرات طولانی آنها را خسته کرده است که صرفا امضای یک قرارداد راضیشان می کند.
۵- عدم هماهنگی بین قرارداد و تخمین های پروژه: در برخی مواقع نویسنده، امضاء کننده و یا خواننده قرارداد متفاوت از تیم تولید یا نصب سیستم است (که اغلب اینگونه نیز هست) به همین دلیل ممکن است توافق کنندگان شرایطی را بپذیرند که عملا اجرای آن توسط تیم های پیاده ساز و یا راه اندازی آن توسط استفاده کننده اصلی در زمانبندی مقرر و یا با داشته های موجود غیر ممکن باشد، این مساله باعث می شود که قرارداد نرم افزاری از اجرایی شدن ساقط شود.
۶- رابطه دوستی بین کارفرما و پیمانکار: پیش می آید که پس از عقد موافقت نامه، یک رابطه نزدیک بین کارفرما و پیمانکار شکل می گیرد. این رابطه باعث می شود که دو طرف به نوعی با یکدیگر کنار بیایند و به عدم اجرای برخی تعهدات توجه نکنند. اگر چه در نگاه اول این کنار آمدن دوستانه بد نیست، اما چون همه رابطه بین دو طرف در نهایت بر اساس مسائل مالی و تجاری است، اگر مسائل به شکل غیر قابل تحمل در بیاید، باعث می شود همان دوستی اولیه نیز خراب شود. ضمن اینکه دو طرف چون ابتدا به شکل دوستانه به مساله نگاه کرده اند، در صورت شکست پروژه احساس خسران بیشتری داشته باشند.
۷- قراردادهای صوری: برخی مواقع، یک قراراداد فقط جنبه صوری و ظاهری دارد و توافقات بین دو طرف، همه بر اساس مسائل شفاهی صورت می گیرد و نوشتن قرارداد صرفا به دلیل رفع حساسیت های نظارتی است تا در صورت مراجعه بگویند که قرارداد خوبی دارند. اما در واقع به شکل دیگری عمل می کنند.
شاید بتوان ده ها دلیل دیگر نیز بر شمرد، اما نکته مهم آن است که به عنوان هر یک از طرفین قرارداد، نباید بگذارید که قرارداد صرفا در حد یک نوشته باقی بماند، باید به آن وفادار بود و تعهدات آن را جدی گرفت. چرا؟ در این مورد هم در آینده خواهم نوشت.

ابزار یا راهکار نرم افزاری، نیاز واقعی سازمانها کدامیک است؟

محصول یک پروژه نرم افزاری را از دیدگاه استفاده کننده می توان به دو  بخش تقسیم کرد:
– ابزار یا tools نهایی که بر اثر پروژه تولید می شود و یا با خرید یک بسته نرم افزاری و منطبق سازی احتمالی آن در اختیار سازمان قرار می گیرد. این ابزار برای یکی از نیازهای مشتری ساخته شده است و این مشتری است که استفاده کننده ابزار خواهد بود برای رفع نیاز خود.
– راهکار یا soloution که در آن یک ابزار به همراه دانش آن در اختیار مشتری قرار می گیرد. به عبارت دیگر با درک یک مشکل در سازمان خریدار یک محصول نرم افزاری، تولید کننده یک راهکار را که شامل یک نظام تفکر، نحوه انجام کار و نحوه اصلاح سیستم خواهد بود را در اختیار مشتری قرار خواهد داد. راهکاری که بخشی از آن را می تواند یک  یا چند ابزار پوشش دهد.
به عبارت دیگر در خرید ابزار یا سیستم نرم افزاری، مشتری می داند که نیاز کارش را با چه ابزاری پوشش می دهد. با خرید آن خود سیستم را راه اندازی می کند و خیر و شر نحوه استفاده از نرم افزار با خودش است. اما در اجرای یک راهکار، مشتری فقط می داند مشکل دارد و به یک مجموعه نرم افزاری اعتماد می کند تا با ارائه یک راه حل مبتنی بر فنآوری اطلاعات و ارتباطات، آن مشکل را برطرف کند. آن مجموعه نرم افزاری هم علاوه بر ساخت و یا تهیه ابزارهای مورد نیاز خود، به مشتری آموزش می دهند چطور با این ابزارها و با ایجاد تغییرات در فرآیند های جاری خود، مشکلش برطرف می شود. دست مشتری را می گیرند و خود به نیابت از وی، این راهکار را در سازمان عملیاتی می کنند، تا زمانیکه بدانند آنقدر این سیستم در مجموعه استوار باقیمانده است که بدون حضور وی نیز فعالیت می کند.
حال سازمانهای ما به کدامیک از محصولات زیر نیاز مند هستد، یک ابزار صرف، یا یک شیوه حل مساله که ابزار هم در کنار سایر خدمات تخصصی می تواند در آن نقش داشته باشد؟

به نظر من یک پاسخ قطعی برای همه سازمانها و برای همه مسائل آنها نمی توان ارائه کرد. اما به طور کلی:
– سازمانهایی که مدیریت قوی و با دانشی در زمینه فنآوری اطلاعات دارند، نیاز خود را در مورد یک مساله به خوبی می دانند و با داشتن یک بدنه کارشناسی قوی و یا جذب مشاوران کارآمد می توانند مختصات ابزار مورد نیاز خود را دارند و شهامت و استقامت لازم را برای راه اندازی و عملیاتی کردن آن ابزار در سیستم دارند بهتر است “ابزار” یا سیستم نرم افزاری خاص سفارش دهند. چرا؟ چون اولا خودشان مشکل خود را بهتر از دیگران می دانند و می توانند با داشتن آن ابزار، مشکل را برطرف کنند. طبیعتا هم هزینه کمتر زمانی و مالی باید بپردازند، هم نسبت به نتیجه کار اطمینان بیشتری دارند.
– در سازمانهای گسترده، مسائل پیچیده و یا تخصصی و یا در مواردی که سازمان به این نتیجه می رسد که خود تمایل و یا توانایی حل مشکل خود را ندارد، بایستی با انتخاب یک مجری فهیم و با عقل سلیم برای مشکل خود راه حلی بیابد و از صفر تا ۱۰۰ پیاده سازی راه حل را به وی بسپارد و خود زمانی مسؤولیت ادامه را بر عهده بگیرد که بر اساس شرایط موافقت نامه بداند سیستم کاملا راه اندازی و عملیاتی شده و مشکل برطرف شده است. طبیعتا هزینه انجام چنین کاری برای سازمانها بالاتر است و انتخاب مجری حساس تر. اما باید پذیرفت که در صورت پرداخت این هزینه و انتخاب درست، ادامه کار برایشان راحت تر است و درگیری کمتری خواهند داشت. نکته اینکه اجرای یک راهکار بدین معنی نیست که سازمان هیچ مسؤولیتی در قبال آن ندارد، بلکه مدیریت ارشد باید با حمایت همه جانبه و قاطع از مجری، وی را در انجام درست راه حل یاری دهد و شرایط کار را برایش مهیا کند.

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

وظایف و ویژگی های یک مشاور ICT

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

برخی مشخصات برجسته یک مشاور عبارت است از:

•صلاحیت حرفه‌ای
•قابلیت مدیریتی
•در دسترس داشتن منابع
•بیطرفی
•عادلانه بودن ساختار حق الزحمه
•امانت حرفه‌ای
•پیروی از اصول تضمین کیفیت

مشاوری با این مشخصات در رابطه با پروژه های نرم افزاری، وظایفی حرفه یی نیز به عهده دارد به شرح زیر:

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

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

۳- تهیه درخواست برای ارائه پیشنهاد (RFP)
چنانچه طرح یا پروژه مورد مشاوره، مورد تایید مشاور قرار گیرد، قدم بعدی کار در صورت نیاز، تهیه درخواست برای ارائه پیشنهاد (RFP) برای آن طرح یا پروژه، به منظور برگزاری مسابقه جهت انتخاب پیمانکار می باشد.


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

۵- انتخاب پیمانکار
چنانچه برای یک طرح یا پروژه نرم افزاری، مسابقه ای برای انتخاب پیمانکار اصلح برگزار شود، در تمامی مراحل برگزاری مسابقه اعم از بررسی پیشنهادها (Proposal) و انتخاب برنده مسابقه، مشاور نقشی تعیین کننده خواهد داشت.