ابزارهای توسعه نرمافزار باعث سرعت گرفتن تیمها نمیشوند
ابزارها باعث سرعت گرفتن تیمها نمیشوند.
تیمها به دلیل افراد، شفافیت و فرآیندهایشان سریع حرکت میکنند. ابزارها نمیتوانند این موارد را خلق کنند.
ابزارهای درست تنها یک کار انجام میدهند: آنها مانع کند شدن تیمها میشوند.
بسیاری از تیمهای مهندسی یک چرخه اشتباه را دنبال میکنند. آنها احساس میکنند کند هستند. ابزارهای جدید میخرند. معیارها را ردیابی میکنند. نتایج متناقض است. نتیجه میگیرند که ابزارها اشتباه بودهاند و باز هم ابزار بیشتری میخرند.
این رویکرد اشتباه است. شما نباید به دنبال ابزارهایی برای افزودن سرعت باشید؛ بلکه باید به دنبال ابزارهایی برای حذف اصطکاک (friction) باشید.
اگر به دنبال سرعت باشید، ابزارهایی با ویژگیهای بسیار و بنچمارکهای بالا میخرید. این ابزارها اغلب پیچیده هستند. خودشان نیاز به تخصص دارند و اصطکاک جدیدی ایجاد میکنند.
اگر به دنبال حذف اصطکاک باشید، ابزارهای ساده و خستهکننده میخرید. به دنبال ابزارهایی میگردید که یک کار را به خوبی انجام دهند. آنها با پشته (stack) فعلی شما یکپارچه میشوند و نیاز به نگهداری کمی دارند.
گرانترین اصطکاک در IDE یا پلتفرم CI شما نیست؛ بلکه در شکافهای بین آنها نهفته است.
یک توسعهدهنده کد مینویسد. یک commit را push میکند. خط لوله (pipeline) CI اجرا میشود. نتیجه در یک اپلیکیشن چت ظاهر میشود. هر بار که یک انسان اطلاعات را بین این ابزارها جابهجا میکند، زمان از دست میرود.
از ارزیابی ابزارها به صورت مجزا دست بردارید. اصطکاک درون یک ابزار واحد نیست، بلکه بین آنهاست.
وقتی ابزاری را انتخاب میکنید، این چهار سوال را بپرسید:
- تیم دقیقاً کجا در حال از دست دادن زمان است؟
- حداقل ابزار مورد نیاز برای رفع آن اتلاف زمان خاص چیست؟
- آیا این ابزار با آنچه در حال حاضر استفاده میکنیم یکپارچه میشود؟
- با رشد سیستم ما، این ابزار چقدر نیاز به نگهداری خواهد داشت؟
از پراکندگی بیش از حد ابزارها (tool sprawl) خودداری کنید. داشتن ابزارهای بسیار زیاد برای حل یک مشکل مشابه، باعث ایجاد آشفتگی میشود. این کار فرآیند آنبوردینگ را دشوار کرده و سرعت پاسخگویی به حوادث را کاهش میدهد.
بهترین ابزارها نامرئی هستند. آنها اجرا میشوند، گزارش میدهند و از مسیر کنار میروند. اگر ابزاری برای اینکه فقط کارکرد خود را حفظ کند نیاز به توجه مداوم داشته باشد، به شما کمکی نمیکند.
خرید ویژگیها را متوقف کنید. حذف اصطکاک را شروع کنید.
