Bamdad Dashtban

Developer

Month: December, 2010

برنامه نویسی آیفون با بامداد دشت بان – قسمت اول (پروسه طراحی اپلیکیشن و محیط کاربری)

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

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

به طور کلی 4 مرحله اصلی برای ساخت یک  محیط کاربری قوی آیفون وجود داردطراحی محیط کاربری آیفون

  • مرحله  اول شالوده (Foundation) :
    در این مرحله تفاوت هایی که در استفاده از دستگاه های تاچ بوجود می آید را درک می کنیم و به راه های جدیدی در حل مسائل می اندیشیم.
  • · مرحله دوم – تعریف محصول (Product Definition) :
    اینجا می فهمیم آن چیزی که دست مشتری می دهیم چیست ؟
  • · مرحله سوم طراحی و نمونه سازی (Design & Prototyp) :
    درک می کنیم که طراحی محیط کاربری آیفون چگونه است و از کاغذ برای نمونه سازی استفاده می کنیم.
  • · مرحله چهارم پولیش و بهبود (Polish & Refine):
    مرحله ایست  که نرم افزار پایدار ولی معمولی را تبدیل به اپلیکییشن جذاب و عالی می کند.

در این جلسه به دو مرحله اول می پردازیم و در جلسه بعد به دو مرحلی باقی مانده خواهیم پرداخت.

مرحله  اول شالوده (Foundation) :

آیفون انقلابی

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

وقتی آیفون ارائه شد ، بسیاری از قوانین تغییر کرد. برای مثال در کامپیوتر های دسک تاپ دقت استفاده از ماوس 1 پیکس در 1 پیکسل بود و تنها یک بار در زمان رخ می داد، دقت در کامپیوترها تعریف شده بود ولی در آیفون که دستگاهی مالتی تاچ و دقت آن از 22 پیکسل  تا 55 پیکسل بسته به اندازه و نوع استفاده از انگشتان کاربر بر روی صفحه متغیر است . بر این اساس ما 5 ورودی همزمان داریم که باید آن ها را در یک زمان پیگیری کنیم.لمس در مقابل کلیک

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

  • اولین آن ها Scroll-Bar بود که بسیار کوچک بود و به سختی می توانستیم با آن ارتباط برقرار کنیم.و به طور کل آن ها حذف شد چراکه  دیگر با حرکات انگشتان می توانستیم کار آن ها را شبیه سازی کنیم و در اپلیکیشنContacts و یا مرور وب حتما جایگزین آن را دیده اید .
  • دومین آن ها Drop Down Menu ها بودند که به خوبی کار نمی کرند و در کار با انگشتان بسیار ضعیف بود. چندین جایگزین برای آن معرفی شد که Picker یکی از آن ها بود که بیشترین کاربرد را در داده های از پیش تعیین شده دارد.

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

  • دستکاری مستیقم (Direct Manipulation): برای مثال در یک بازی تیر اندازی وقتی تنها یک بار صفحه را لمس می کنید تا تیری شلیک شود
  • لمس پی درپی (Sequential Tapping): مثلا وقتی که در نرم افزار Mail پشت سر هم  از لحظه باز شدن برنامه صفحه را لمس می کنید تا به ایمیل مورد نظرتان برسید.
  • لمس و کشیدن(Tapping & Dragging): بیشترین شباهت به دنیای واقعی را دارد زیرا شما می توانید با لمس کردن نقاشی کنی , چیزی را تکان دهید و .. 90 درصد کاربران در هنگام کار با صفحه لمسی برای اولین بار لمس کردن و کشیدن را امتحان میکنند.

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

خوب بیایید به تغییراتی که در طراحی محیط کاربری ایجاد شده بپردازیم:

فهمیدن اینکه چیزی یک Button یا دکمه است بسیار ساده است و آن با نرم کردن گوشه های مربع قابل درک است. پس معمولا هر موقع دیدید دور چیزی نرم شده و همچنین درخشش خاصی دارد آن یک دکمه است. ولی در ToolBar  نمی توان اطراف همه دکمه ها را نرم کرد پس به جای آن می بینید که از تکنیک عمق دادن به دکمه استفاده شده که به آن یک Inner Shadow داده شده است و خود نوار هم درخشان یا Glossy  شده است که به کاربر یاد آوری می کند که قابل لمس شدن است.

دکمه های آیفون

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

مرحله دوم – تعریف محصول (Product Definition):چرخه تولید در آیفون

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

باید بدانیم که در آیفون هدف آن است که یک راه حل تعریف کنیم نه اینکه مجموعه ای از ویژگی ها را کنار هم بگذاریم و نشان دهیم.
بهترین اپلیکیشن های آیفون آن هایی هستند که یک مشکل را برای کاربر حل می کنند.یکی از بهترین روش ها به رسیدن به این هدف تعریف کردن “شرح تعریف برنامه”  Application Definition Statement  یا ADS است .

ADS از 3 قسمت تشکیل شده است:

(تفاوت شما) ( راه حل شما) برای (مخاطب شما )

(Your Differentiator)(Your Solution) for (Your Audience)چرخه تولید پلت فرم ها غیر از آیفون

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

لمس کند برنامه را طراحی کنید.

این مرحله را با یک مثال جلو می رویم:در مک ما نرم افزاری به نام iPhotos  داریم که در iOS مشابه آن Aplication با نام Photos  است که همگی ما در آیفون برای مشاهده تصاویر استفاده کرده ایم.

ADS برنامه iPhotos  این است :

Easy to use , digital photo editing ,organizing & sharing for causal & amateur  photographers

تفاوت ما نسبت به سایر نرم افزار ها easy to use  بودن نرم افزار اس و می بینید که در اینجا 3 راه حل داریم :

1.     Digital Photo Editing

2.     Organizing

3.     Sharing

همچنین مخاطبین ما هم Causal & amateur photographers  هستند.

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

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

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

ولی به اشتراک گذاشتن یا Sharing کاری است که اکثر مردم آن را انجام می دهند چه از طریق نمایش Slide show برای اطرافیان چه از طریق ایمیل کردن یا آپلود کردن در وب سرور ها.

پس با توجه به مطالب گفته شده ADS برنامه Photos را اینگونه می نویسیم:

Easy to use digital photo sharing for casual iphone users

باید به مخاطب برنامه که در اینجا کاربران عمومی آیفون یاد شده هم توجه کرد که اگر عوض شود ، به طور کل ویژگی های برنامه نیز عوض می شود برای مثال ADS برنامه Apertureکه برنامه ای برای عکاسان حرفه ای است و کاملا متفاوت است به صورت زیر است:

Easy to use digital photo sharing for professional photographers

جمله ای معروف وجود دارد که می گوید :

Pick the few features

Most frequently used

By the majority of your users

Most appropriate for the mobile context

تنها چند ویژگی را انتخاب کنید

که بیشترین استفاده را داشته باشد

توسط اکثر کاربران بکار برده شوند

و مناسب برای دستگاهی قابل حمل باشند.

اگر به لیست ویژگی های iPhoto در مک نگاهی بیندازید می بینید که تنها قسمت کوچکی از ویژگی های آن برای نرم افزار Photos   آیفون پیاده سازی شده و همه با نرم افزار Photos کار کرده ایم.با  یک لیست از آلبوم ها شروع می کنیم و عکس مورد نظرتان را انتخاب می کنید , عکس تمام صفحه را می بینید و Toolbar در پایین کارهای مربوط به اشتراک گذاری را انجام می دهد. همان راه حلی که هدف ما ایجاد آن بود. می توانیم Slideshow  ببینیم ، عکس های بعدی و قبلی را ببینیم و به گالری mobileMe آپلود یا ایمیل کنیم.

با سادگی که این نرم افزار دارد ولی یکی از مهم ترین نرم افزار های آیفون است.پس هنگاهی که نرم افزاری را تهیه می کنید که نیاز ساده ای را براورده می کند تصور نکنید که نرم افزار شما برای کاربر بی ارزش است.

اگر شما به نرم افزار های موفق در App Store نگاهی بیندازین در خواهید یافت که بیش از 70 درصد آن ها وقتی برای نوشتنADS گذاشته اند.

ادامه در مطلب بعدی

خسته نباشید.

بامداد دشت بان

Advertisements

برنامه نویسی آیفون با بامداد دشت بان – قسمت 0

برنامه نویسی آیفون با بامداد دشت بان

سلام

از امروز می خواهم آموزش برنامه نویسی برای iOS را در بلاگم بگذارم. که با استفاده از اون می توانید برای آیفون و آیپد , آیپاد تاچ و سایر دستگاه های شرکت اپل که سیستم عامل آن ها iOS هستش برنامه بنویسید.

چند وقتی است که با کمک دوستانم در سایت i-Phone.ir برنامه نویسی آیفون می کنم و خوب خودم هم در حال یادگیری هستم ولی تلاش می کنم هرچیزی که بلدم را به بهترین نحو آموزش بدم.

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

این مطالب به  صورت همزمان در وبلاگ من , وب سایت i-Phone.ir و x-code.ir قرار می گیره و تلاش می کنم به سوالات در همه سایت ها پاسخ بدم.از سایر اساتید و دوستانی که تجربه دارند درخواست می کنم تا اشتباهات من را بگیرند تا از مسیر خارج نشیم.

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

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

  • ویدیو های آموزشی Lynda.com
  • ویدیو های آموزشی myCodeTeacher.com
  • ویدیو های کنفرانس های شرکت اپل در Word Wide Developer Center
  • ویدیو های آموزشی دانشگاه استنفورد
  • کتاب های انتشارات Apress
  • منابع مختلف آموزش زبان Objective-c

باید بگم چون خودم برای برنامه نویسی از آیفون استفاده می کنم از لغت “برنامه نویسی آیفون ” استفاده می کنم ولی شما می تونید آموزش های منو برای برنامه نویسی در کلیه دستگاه های آی او اسی استفاده کنید.

سوال : برای برنامه نویسی آیفون به چه چیز هایی احتیاج داریم؟

  • اول از همه باید یک کامپیوتر اپل مکنتاش که پردازنده اینتل داره داشته باشید . البته شما می توانید از نسخه هک شده سیستم عامل MacOS استفاده کنید که به نام OSx86 project معروفه و میشه از طریق اون روی pc های معمولی macOS x  رو نصب کرد.( البته این کار می تونه سخت باشه و خیلی وقت ها هم نشه روی هر سیستمی نصبش کرد کاملا به سخت افزار ربط داره )
  • دوم اینکه شما به یک اکانت developer اپل نیاز دارید تا بتونید نرم افزار های مورد نیازو دانلود کنید و برنامه خودتون رو توی باهاش بنویسید و روی appStore قرار دهید. هزینه این اکانت سالیانه 99 دلار است.( البته دوستان فایل های مورد نیاز برای توسعه رو برای دانلود در سایت های مختلف به صورت لینک مستقیم قرار داده اند ولی شما نمیتونید بدون داشتن اکانت برنامه رو روی دستگاه خودتون اجرا کنید و روی اپ استور بفروشیدش )

http://developer.apple.com

  • شما در صورتی که احتیاج به کار کردن با دوربین , بلوتوث ، جی پی اس, اکسلومتر و … دستگاه ندارید , احتیاج نیست آیفون یا آی پاد یا آی پد داشته باشیدو می تونید از شبیه ساز آن استفاده کنید. ولی کل حالِ برنامه نویسی آیفون اینه که برنامتونو روی دستگاه امتحان کنید. پس بهتره که یکی از این دستگاه هارو تهیه کنید ، اگه نمی خواهید زیاد خرج کنید می تونید با آیپاد تاچ شروع کنید ولی آیپاد تاچ دوربین نداره
  • دانلود SDK  آیفون برای برنامه نویسی از طریق همون اکانت دولوپر اپل ( یا اگه خواستید از طریق لینک های مختلفی که دوستان در فروم گذاشتند )

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

به زبان object-c است که توسط شرکت Next( بنیانگذارش استیو جابز بوده ) تولید شده و الآن توسط اپل توسعه پیدا می کنه , این زبان شبیه C است چون از سی گرفته شده ولی تفاوت های زیادی دارید و زبانی شی گرا ( بر خلاف سی ) است . با زبان هایی مثل Java و C++ بسیار تفاوت در سینتکس دارد ولی مفاهیم شی گرایی در اکثر زبان های شی گرا شبیه به هم است گرچه تفاوت هایی در پیاده سازی و برداشت از مفاهیم وجود دارد.

در مورد خودم هم باید اضافه کنم که دانشجوی ترم آخرم مهندسی  نرم افزار هستم و چند سالی است که برنامه نویسی می کنم از c شروع کردم و با PHP کار کردم  , در حال حاضر هم برنامه نویسی java  می کنم و کمتر از 6 ماه است که با برنامه نویسی آیفون از طریق دوستانم شایان و بشیر در i-phone.ir آشنا شدم.

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

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

 

برنامه ریزی استراتژیک شرکتهای نرم افزاری

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

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

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

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

4. دولتی ها متفاوت از خصوصی ها هستند: در مورد هرکدام از تقسیم بندی های بازار باید در همه بخشهای فروش و پشتیبانی و مالی رفتار متفاوتی داشته باشید. در بحث مالی هم رفتار خرید و رفتار پرداخت ها در دولتی ها و خصوصی ها با یکدیگر تفاوت دارد، برای اینکه خیالتان از پرداخت ها راحت باشد تلاش کنید حتی در فروش Package های آماده در دولتی ها قرارداد ببنید و در خصوصی ها فاکتور با پرداخت یک مرحله ای داشته باشید، حتی اگر در خصوصی ها مایل به عقد قرارداد هستید تلاش کنید برای همه مراحل پرداخت در همان زمان عقد قرارداد چک مدت دار دریافت کنید. به این ترتیب می توانید خیالتان نسبت به عدم سوخت و سوز پولتان اندکی راحت باشد.

5. مراقب ۸۰/۲۰ باشید. تئوری ۸۰/۲۰ در بحث مدیریت تقریبا در همه موارد دیده می شود، حواستان باشد ۸۰% مشتریانتان خوش حساب باشند و ۲۰% بدحساب، بنابراین در بخش فروش یا عقد پروژه با هر مشتری کار نکنید، حواستان باشد حداقل ۸۰% دریافت های مالی پروژه را تا قبل از تحویل نهایی پروژه دریافت کنید و حداکثر ۲۰% را به مرحله پرداخت آخر موکول کنید تا در صورت عدم موفقیت در دریافت ضرر مالی چندانی به شما وارد نشود، تلاش کنید قسط های اول پروژه حداقل ۸۰% هزینه های ثابت شما را پوشش دهند و از پرداخت های مراحل بعد، حداکثر ۲۰% صرف هزینه های پروژه گردد و بتوانید از باقیمانده روی سود و سرمایه گذاری حساب کنید. تلاش کنید ۲۰% مشتریانی که ۸۰% درآمد های شما از آنها تامین می شود را شناسایی کنید و روی آنها حساب ویژه باز کنید. از آن سو وقتی می دانید که اکثر هزینه های شرکت نرم افزاری شما (۸۰%) مربوط به نیروی انسانی است، چرا ۲۰% توجه خود را به آن معطوف کنید، شما باید به نیروی انسانیتان به عنوان یک سرمایه نگاه کنید و برای آن سرمایه گذاری کنید (توانمند سازی، آموزش،افزایش بهره وری(کارایی + اثر بخشی) فراهم کردن شرایط مناسب برای محیط کار و ….)

6. پشتیبانی یا فروش، سود در کدام است؟ ایده آل آن است که شما بتوانید از طریق پشتیبانی (یا همان جریان ثابت مالی مورد ۲) هزینه های شرکت را پوشش دهید و در آمدهای حاصل از فروش را به عنوان سود، سرمایه گذاری و یا توسعه محصول یا بازار کنار بگذارید. البته اینکار برای شرکتهای نوپا و یا با محصولات غیر حیاتی دشوار است و اینگونه شرکتها می توانند به صورت معکوس عمل کنند تا زمانیکه یک سهم قابل توجه از بازار بدست آوردند و نیاز مشتریان به نرم افزار آنها واقعی و اساسی باشد و به تدریج این روند را معکوس نمایند. در کنار این باید مراقب بود که فعالیت های فروش و خدمات پس از فروش خود به یک مرکز هزینه جدی که سود اقتصادی ندارد تبدیل نشود و منابع حاصل از فروش صرف آن نگردد. ایجاد یک نرم افزار درست از طریق تست های چند لایه متعدد، ساده سازی محصول، تهیه یک رویه سیلابس آموزشی استاندارد و مشخص، مستند سازی کامل و جامع نرم افزار، فروش یک نرم افزار مشخص به چندین مشتری و تقسیم هزینه بین آنها، توانمند سازی تیم پشتیبانی، ارانه خدمات به صورت راه دور و یا از طریق نمایندگی های محلی، کاهش زمان نصب از طریق ارائه زمانبندی دقیق برای انجام کار و معتقد بودن به آن، عینی سازی نرم افزار از طریق ایجاد الگوها (prototype) و مدل های مشخص و … تکنیک هایی برای کاهش هزینه های پشتیبانی است.

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

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

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

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

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

همین!

منبع : رادمان