Архив категории ‘Разработка ПО’
Я уже писал в заметке «Кто виноват?» о том, как следует реагировать на те ситуации, когда подчиненные не выполняют с должным качеством поставленные задачи. Сейчас я хочу осветить вопрос постановки задач. Зачастую, задачи для подчиненных ставятся «сверху» – руководство просто ставит исполнителя перед фактом – есть задача, есть сроки, должен быть такой результат и т.п. [...]
В последнее время в новостях постоянно слышу высказывания нашего текущего президента Медведева о том, что по возникшим проблемам «будут найдены виновные и сделаны соответствующие выводы». Мне кажется, что это не конструктивный метод реагирования на возникшие проблемы. Конструктивный метод, на мой взгляд, заключается в следующем: Необходимо проанализировать сложившуюся ситуацию и понять причины возникновения проблемы. Проблемы могут [...]
В статьях Проектирование бизнес-приложения: Анализ и Проектирование бизнес-приложения: Анализ 2 я показал подход к возможному способу анализа функциональности системы. Теперь следует более подробно осветить этот процесс на основе примера. Возьмем для примера интернет-магазин по продаже книг для небольшого издательства. От заказчика (коммерческого директора Василия) поступило следующее письмо: Уважаемые разработчики, наш отдел маркетинга предложил создать собственный [...]
Произвел небольшую реорганизацию на блоге. Теперь есть две рубрики – «О жизни» и «Разработка ПО», которые заимели свои поддомены http://life.usecase.ru/ и http://dev.usecase.ru/ соответственно. Основной http://www.usecase.ru/ будет содержать обе рубрики. В первой рубрике я буду публиковать то, что меня волнует, но не связано с работой. Во второй же буду писать исключительно о делах околопрограммистских – от разработки [...]
Итак, архитектура системы создана. Теперь необходимо воплощать полученные идеи в жизнь. Но торопиться здесь тоже не стоит. Первоначально необходимо определить последовательность реализации требований. Первыми пойдут требования для построения разработанной архитектуры – будем строить скелет системы. Далее должны идти требования от наиболее важных к наименее важным. Для каждого требования должны быть созданы задачи на реализацию, а [...]
Вот этот пост Андрея Колесова натолкнул меня на рассуждения о наших программистах. Я уже достаточно давно начал руководить разработкой, но начинал простым программистом. По прошествии многих лет все ощущения от работы как программиста и как руководителя успели систематизироваться. Думаю, что сейчас я готов поделиться ими. На самой заре 90-х прошлого века я занялся программированием как [...]
Постоянно сталкиваюсь с такой проблемой: разработчики очень часто придумывают дополнительные задания для поставленных задач зачастую «додумывая» что-то вместо заказчика. При этом на такие дополнительные работы уходит иногда приличная доля времени. Вот правила, которые я стараюсь донести до каждого члена команды разработки: Никогда не делайте работу сверх той, что определена заданием (я могу и не заплатить [...]
Очень часто я встречаю непонимание различий между командой и группой. В то же время эти различия принципиальны. Итак, что же такое группа? Группа – это некоторое количество людей, выделенных для решения какой-то одной задачи. В группе каждому исполнителю может ставиться индивидуальная или групповая подзадача, которая входит в основную. Зачастую, каждый член группы ощущает себя индивидуалом [...]
Построение архитектуры следует начинать с анализа базовой функциональности (базовых требований). На основе этого необходимо определить наиболее подходящую модель архитектуры (обычно N-уровневая – N-layer, часто распределенная – N-tier). При этом следует учитывать, что
Следующим шагом после анализа является фиксирование требований к системе и управление ими. Требования могут быть функциональные и нефункциональные. Нефункциональные требования фиксируют
