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

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

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



1- بیش از حد بهینه کردن





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



2- شیوه نادرست تست کردن





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



3- این مشکل من نیست.





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



نتیجه گیری



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


تاریخ درج: 1395/11/02
دانلود مقاله