Мы документируем процесс разработки программного обеспечения. Для технических людей это довольно легко: итеративное развитие с внутренними вехами каждые четыре недели, внешние каждые 3 месяца.
Однако цель этого упражнения - разоблачить вещи для нашего управления проектами в терминах, которые они могут понять. В частности, эти нетехнические менеджеры нуждаются в метриках, которые они могут понять.
Я хорошо разбираюсь в наших вариантах для показателей и предложил целый набор (требования и фактические затраты по сравнению с бюджетными расходами - это два из моих фаворитов). Тем не менее, у нас есть некоторые старые руки, и они склонны висеть на таких показателях, как SLOC.
Я понимаю соблазн SLOC: кажется, что люди, не являющиеся программными, понятны, и это похоже на самый близкий аналог физической вещи (это точно так же, как подсчет перфокарт в старые времена!).
Итак, вот вопрос: как я могу объяснить опасности SLOC для нетехнического человека?
Вот некоторая конкретная мотивация: мы работаем над довольно зрелой развернутой системой, у которой есть годы истории. По мере добавления функций SLOC имеет тенденцию оставаться примерно на уровне или даже уменьшаться (рефакторинг удаляет старый/мертвый код, новые функции на самом деле просто корректируют существующие и т.д.). Для менеджера, не являющегося программистом, невозрастающий SLOC в проекте разработки сбивает с толку в лучшем случае....
Уточнение в ответ на недавний ответ ниже: помните, я утверждаю, что SLOC является плохой метрикой для целей измерения прогресса проекта. Я не утверждаю, что это номер, который не стоит собирать. Для этого требуется обширный контекст, чтобы делать с ним что-нибудь полезное, и большинство менеджеров программ не имеют этого контекста.