چطور بهرهوری یک برنامهنویس را اندازهگیری کنیم؟
آیا میتوان بهرهوری یک برنامهنویس را به طور مؤثری اندازهگیری کرد؟ یک وبلاگنویس به نام جیم برد (Jim Bird) در جمع مخالفان مدعی است که حداقل با روشهای پیشین امکانپذیر نیست. او میگوید:
“هیچ راه کوتاهی وجود ندارد که بتوان فهمید کدام برنامهنویس بهتر و سریعتر کار میکند و یا بتوان بهرهوری را در یک تیم مقایسه کرد. ما میدانیم چه کسانی ستارههای یک تیم هستند، روی چه کسانی میتوان هنگام تحویل محصول حساب کرد و چه کسی تلاش میکند. اما چطور میتوان ثابت کرد؟ چطور آن را کمیسازی کنیم؟”
برد تعداد خطوط کد را به عنوان معیار بهرهوری مطرح کرد و افزود بهترین برنامهنویسان با توجه به محدودیت زمان، کار بیشتری را با کد کمتر انجام میدهند. درحالیکه سایرین معتقدند، بهرهوری را براساس کیفیت محصول نهایی میتوان سنجید.
برد چند مورد پیشنهاد دارد:
• سرعت پیشرفت: سرعت(velocity) بدین منظور در یک تیم سنجیده میشود که بتوان فهمید که چه میزان کار انجام شده است تا تخمینها بررسی شده و برای کارهای آینده برنامهریزی شود. نباید برای مقایسه بهرهوری بین گروهها از معیار سرعت استفاده کرد و بر روی تغییرات داخل گروه مانند اضافه و یا حذف افراد هم باید حساب کرد.
• چرخه زمان(cycle time): محاسبه زمان تا رسیدن به محصول، نگاهی اجمالی از بهرهوری تیم را ارائه میکند. روش بهتر، جستجو و بهینهسازی زمانهای مهم و تلفشده ایست که منجر به طولانی شدن فرایند تولید محصول میشود. این معیار بر روی تفکر کوتاه مدت و بدون حاشیه متمرکز است چراکه سرعت مساوی پاداش است.
• کیفیت کد(code quality): برطرف کردن باگها هزینهبرتر از تست در فرایند توسعه نرمافزار است. راههای خوب بسیاری برای سنجش کیفیت کد وجود دارد. ولی آیا کیفیت کد مستقیما با بهرهوری برنامهنویس مرتبط است؟