افسانه توسعه دهنده نرم افزار 10x

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