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