Качество программного обеспечения

Качество ПО (в дальнейшем по тексту просто «качество») – это сложная интегральная функция, зависящая от времени. Качество характеризуется удовлетворенностью потребителя и производителя. Качество можно считать положительным или оно может стремиться к бесконечности, если средний потребитель ПО удовлетворен им «сегодня», «завтра» и «послезавтра», а производитель получает постоянный рост чистой прибыли. Т.е. качество можно измерять в деньгах. Часто можно опускать рост прибыли, поскольку между прибылью и удовлетворенностью потребителя есть прямая зависимость.

Читать далее →

Неявные признаки плохого кода

Ниже список неявных признаков плохого кода, который в контексте данного поста стоит воспринимать как эмпирические знания автора.

Если Вы нашли один из перечисленных ниже признаков в вашем проекте — это сигнал задуматься об improvement-ах!

Читать далее →

Аутсорсинг. Часть первая (уникальная архитектура)

Все события и персонажи вымышленные, а любые совпадения случайны ;).

В тот момент, когда проект становится по настоящему большим, а бюджет на з.п. программистам ещё больше, компания начинает задумываться об экономии бюджетов и реорганизации. У кого-то из менеджеров возникает мысль об аутсорсинге (при этом почему-то все забывают о «заветах» Фредерика Брукса, успокаивая себя тем, что якобы на support (MOL) закон Брукса не распространяется). Менеджеры некого звена начинают лоббировать аутсорсинг как панацею. И наконец-то компания зааутсорсила часть работ.

Чем отличается аутсорсинг от самостоятельной разработки (или как иногда говорят инсорсинга)? Для того чтобы увидеть отличия нужно взглянуть на одни и те же вещи с разных сторон. Рассмотрим на примере некого long term проекта.

Читать далее →