МАСТЕРСКАЯ

ОБСЛУЖИВАНИЕ 1С УДАЛЕННО по Москве, СПб и всей России

ОБНОВЛЕНИЕ И ДОРАБОТКА КОНФИГУРАЦИЙ

КОНСУЛЬТАЦИИ ПО ВЕДЕНИЮ УЧЕТА В 1С


СТАТЬИ


Проектное управление

Всегда ли возможно планирование работ, сроков и бюджета при разработке программного обеспечения?

Виталий Роженюк
, 29 января 2008

Возможно ли точное планирование сроков и бюджета при разработке программного обеспечения? Возможно ли планировать работу программиста, если программирование – это творческий процесс?


В 2004-м достался мне в подчинение коллектив программистов-творцов. Вольных художников. Писали они тогда, когда приходило вдохновение.

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

Я попросил сотрудника по одной из задач оценить время, которое требуется на ее реализацию. Ответ запомнился очень хорошо: "Вы что! Это же творческий процесс, как можно его ставить во временные рамки!".

Вот какая получается интересная логическая цепочка. Программы мы пишем творчески. Единственный механизм творчества – свобода (это утверждение выдумал не я, оно принадлежит Николаю Бердяеву и было высказано лет 100 назад). Следовательно, в какие-либо рамки ставить программистов нельзя, нужна полная свобода. Значит никаких сроков и требований?

Так вот в то время писали программисты только тогда, когда приходило вдохновение. Но зарплату получали по графику. Промышленное предприятие, фиксированные оклады, нет критериев оценки качества и сроков, никаких договоров и планов. Куда торопиться?

Для меня (на тот момент – выходца из софтвейрной компании) казалось абсолютно очевидным, что такой режим работы не корректен. Однако четко оспорить вроде бы такой явный вопрос тогда я не смог. Именно неготовность коллектива оценивать сроки и работать по планам заставила систематизировать аргументы, чего же в программировании больше – творчества или трезвого расчета. Должен же я был давать четкий и аргументированный ответ, в котором был бы уверен!

Давайте попробуем определиться, что больше необходимо для профессионального разработчика программного обеспечения: полет фантазии, знания, опыт, методичность, ответственность или что-то еще? Чего в программировании больше: творчества или расчета? Что есть программирование – творчество или работа?

Программирование действительно процесс творческий. Ведь творчество - это процесс изобретения чего-то нового. Я привык в слово "программист" закладывать куда более широкий смысл, чем кодировщик. Поэтому поле для творчества в работе программиста мне видится огромным. Например, найти красивейший алгоритм или идеально его реализовать на каком-либо языке программирования, спроектировать интуитивно понятный и максимально информативный интерфейс (окно, отчет, меню, да что угодно!), предложить новую схему обработки информации, предложить красивый маркетинговый ход или эффективную управленческую схему, применение которых может быть доступно благодаря вашей разработке.

Конечно можно вместо десяти строк кода написать тысячу. Можно нарисовать такое окно или отчет, что без инструкции с ним пользователь не разберется. Формально чаще всего задача всё равно будет выполнена. Но давайте оценим последствия.

В большом количестве кода больше ошибок, дорабатывать такие программы также сложнее, т.е. дольше. На консультации пользователей как работать с "непонятными" программами или как трактовать данные в предоставленном отчете также уходит время. А время – это деньги. Кто должен его оплатить?

Для себя я определился с критерием оценки принадлежности процесса к творческому: если можно систематизировать и озвучить однозначные и четкие требования к резальтату, то главную роль в процессе играет не творчество. Например, при проектировании экранной формы такими критериями могут быть удобство использования, интуитивность, понятность и однозначность всех подсказок. При разработке кода – его минимальный объем, читаемость, скорость работы.

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

Творческий подход может повысить качество результата, ускорить поиск решения или сократить время на разработку. Но он не должен быть обоснованием невозможности планирования и необъятности бюджета проекта!

Если вы создаете персональный сайт без коммерческой подоплеки (например, про рыбалку, которая вам очень нравится), это, конечно же, чистое творчество. Ведь никаких графиков разработки не намечено, их срыв ничем не грозит, а затраты времени на разработку не важны, ведь вы занимаетесь любимым делом.

Но всё совсем не так, если работа ведется на заказчика или имеет коммерческую подоплёку. Тут уже творчество должно отойти на второй план. Но не пропасть полностью. Именно творческие идеи и неординарные решения позволят так решить задачу, чтобы работодатель начал ценить вас еще больше, чтобы заказчик попросил вас сделать что-либо еще или порекомендовал вас своим знакомым.

Работа программиста не просто может быть распланирована. Она должна быть распланирована!

По опыту схожих внедрений определяйте примерное время, которое ожидаете потратить на разработку программы. Страхуйтесь, в зависимости от бюджета проекта, важности заказчика и готовности коллектива к переработкам. Увеличивайте время так, чтобы минимизировать риски срыва сроков. По срокам оценивайте ожидаемые затраты. Пытайтесь вложиться в намеченный срок, а значит и в намеченый бюджет. При крайней необходимости может даже согласовывайте расширение сроков/бюджета проекта. Но не забирайте у заказчика его законное право осознавать затраты до начала внедрения!

Тэги для поиска:
  • Творчество
  • Программирование
  • Творческий процесс
  • Планирование
  • Вдохновение

По причине полной загрузки специалистов
до 07.10.2018 мы не принимаем заказов,
требующих оперативного выполнения.

Мы искренне благодарны нашим клиентам
за то, что обеспечивают нас непрерывным
потоком интересных заданий.

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