Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта
Как работают питерские программисты
На разработке программного обеспечения зарабатывает себе на жизнь значительное
число специалистов ИТ-индустрии Питера. Эту тему в КИ обсуждают уже более
10 лет. Все эти годы редакция КИ старалась, с одной стороны, показать истории
успешной деятельности в этой сфере питерских специалистов, а с другой выявить
и обозначить узкие, острые и прочие нерадостные стороны данного бизнес-процесса.
После январского совещания по вопросам развития информационных технологий с
президентом страны В. В. Путиным началась эпопея по созданию технопарков. Вот
редакция КИ и задалась вопросами: а как сейчас живут и работают фирмы, которые
без какой-либо государственной опеки фактически создали отрасль заказного ПО
и дали работу множеству специалистов?
Есть еще один момент: все вновь создаваемые фирмы рассчитывают где-то найти
себе работников, а как неоднократно отмечалось в публикациях в СМИ на эту тему,
программистов уже сейчас остро не хватает. Чтобы молодежь могла учиться на программиста,
надо, конечно, учителей для них набрать побольше, и зарплаты преподавательские
довести до мало-мальски приемлемого уровня. И надо как-то пропагандировать эту
специальность, чтобы молодежь вообще ПОШЛА.
Так что у данной серии интервью с руководителями ведущих организаций нашего
города, производящих программное обеспечение на заказ, изначально было две задачи:
1) показать профессиональный уровень работы фирм нашего города, и
2) пропагандировать труд программиста и менеджера в этой сфере среди молодого
поколения СПб.
Организации для серии интервью отбирались по базе данных редакции КИ, как
чисто российские, так и филиалы иностранных фирм.
Что ж, нам не дано предугадать, как наше слово отзовется, но надеемся, что
совместная работа авторов интервью и редакторов КИ будет полезна, в первую
очередь, студентам и абитуриентам.
Гл. редактор КИ Ольга Андронова, editor@ci.ru

Александр Пресняк,
CTO компании SoftDev SPb
В.: В области производства какого ПО специализируется ваша компания?
О.: SoftDev работает над проектами довольно широкого спектра,
однако примерно 70 % наших разработок имеет непосредственное отношение к CAD
(computer added design). Я стараюсь избегать термина САПР, поскольку он порой
слишком широко трактуется в отечественной литературе.
В.: Как вы разыскиваете себе заказы?
О.: Был момент в нашей деятельности, когда нам остро потребовались
новые заказы. Мы разослали тысячи писем IT-компаниям с предложением о сотрудничестве.
Итог этой акции был нулевым.
Каким же образом мы получаем заказы? Почти все наши новые проекты мы получили
от людей, которые ранее с нами работали, либо по рекомендациям таких людей.
Вывод однозначен: надо работу выполнять всегда так, чтобы клиент был доволен,
а люди, непосредственно работающие с вами, ценили ваш профессиональный уровень.
В.: Как организовано взаимодействие с заказчиком?
О.: Не бывает одинаковых проектов. Одни проекты предполагают разработку
с нуля, другие использование существующего кода, созданного неизвестно кем,
в качестве основы для выпуска новой версии продукта. В одних случаях предельно
ясно, что и как нужно делать, в других необходимо провести исследовательскую
работу с не очень предсказуемым результатом.
Не бывает также и одинаковых заказчиков. Одни заказчики предоставляют детальную
спецификацию, другие лишь общее видение. Многие заказчики предпочитают отдать
нам всю разработку, другие лишь небольшую часть большого проекта.
Тип проекта и стиль работы заказчика диктуют и организацию взаимодействия с
ним при реализации совместного проекта. Мы не диктуем заказчику, как он должен
с нами взаимодействовать. Скорее подстраиваемся под его стиль работы.
В.: Для выполнения проекта у вас организуется единая команда или на каждый
этап разработки и внедрения формируется отдельный коллектив?
О.: В основном схема следующая. Для работы с каждым заказчиком
по всем его проектам организуется группа разработчиков. Руководитель группы
отвечает за технические контакты с заказчиком, а старшие инженеры за отдельные
проекты. Имеются также две группы, общие для всех проектов: QA и Release Engineering,
отвечающие за тестирование и техническую работу по подготовке билдов, соответственно.
В.: Каким образом производится тестирование ПО?
О.: Ручное (70 %) и автоматическое (30 %) с предварительным согласованием
тест-планов (заказчик, группа разработки, группа тестирования).
В.: Каким образом нормируется труд программистов и других участников
проекта?
О.: Зачем его нормировать?
В.: Нормирование, как мне представляется, необходимо для составления
графика выполнения работ. А как ина-
че объективно определить, сколько в графике отвести на ту или иную задачу? Представь
себе диалог: работник утверждает месяц, а ты ему недели хватит. Ну, и кто
прав? Как-то этот вопрос в жизни решается, ведь не просто командным голосом?
О.: Слово нормировать я, видимо, понимаю иначе. Вспоминаются
нормировщицы, тонно-километры и прочая атрибутика недалекого прошлого.
Лет 15 назад труд программистов часто оценивался в кило-строках исходного кода.
Помню, что норма составляла порядка 1015 написанных и полностью отлаженных
строк в день. Вот это было нормирование! Потом китайские программисты освоили
метод copy-paste, и этот показатель потерял свою актуальность.
То, что ты называешь нормированием, мы называем оценкой трудоемкости. Очень
важно, что первым размер продолжительности работы называет работник. Если его
оценка месяц, а твоя неделя, то ты просто должен спросить, какие работник
видит трудности и на какие подзадачи он разбивает свою задачу. Общепринятым
подходом является введение ограничения на длительность нераскрытых подзадач.
Например, если ты считаешь, что некоторая работа займет у тебя больше недели,
то будь добр, разбей эту работу на более мелкие. Кстати, часто работник предлагает
слишком оптимистическую оценку. Это бывает в случае, когда он не совсем понял
задачу или включил в оценку только время, которое потребуется для получения
первого результата (программа работает в принципе, но далеко не во всех случаях).
Очень важно хранить первоначальные оценки для последующего анализа. Только в
этом случае можно надеяться, что работник будет раз от разу лучше оценивать
задачи.
Еще один важный момент. Решение задачи программистом состоит из двух этапов:
собственно разработка программы и ее отладка (bug fixing). Одни программисты
стремятся поскорее покончить с первым этапом и отдать ПО на тестирование, другие
предпочитают исправить все известные им дефекты, даже если сроки на разработку
превышены. Анализируя статистику (время, потраченное по отдельным задачам на
имплементацию и отладку), руководитель может легко понять who is who. Тех, кто
в итоге больше времени тратит на отладку своей программы, затыкая дыры заплатками,
надо вежливо попросить поискать себе другое место. А командный голос в нашем
деле не помощник!
В.: Каким образом осуществляется контроль за временными рамками проекта?
О.: Здесь путь один. Составляется и согласовывается с заказчиком
детальный график выполнения работ. Контроль выполняется путем сравнения еженедельных
отчетов группы с графиком. Основные проблемы возникают, когда по ходу выполнения
проекта у заказчика возникают новые идеи, или когда выясняется, что разработчики
и заказчики по-разному понимают отдельные пункты спецификации.
В.: Внедрение определенных программных продуктов у заказчика требует
обучения их специалистов. Каким образом у вас организован этот процесс?
О.: Наши заказчики не являются конечными пользователями разработанного
ПО. Являясь его владельцем, они его продают по своим каналам.
В.: Есть ли у вас единый стандарт на средства разработки и программные
платформы или для каждого проекта подбираются наиболее эффективные решения?
О.: Подбираются наиболее эффективные решения.
Данные о предприятии:
Год основания 1994.
Наиболее интересные выполненные заказы TurboCAD, FloorPlan, TurboProject,
OpenDWG, DWGDirect, FormTool, OrgPlus, etc.
Наличие сертификатов нет.

Дмитрий Ковригин,
начальник управления
разработки программного
обеспечения и аппаратных средств, компания Эврика
В.: В области производства какого ПО специализируется компания Эврика?
О.: В области ПО автоматизированных рабочих мест и автоматизированных
систем для решения задач заказчиков.
В.: Как компания Эврика разыскивает себе заказы?
О.: Первый заказ от нового заказчика находят коммерческие службы
нашей компании, а дальше часто бывают повторные заказы. Т. е., заказчик сам
обращается к нам, видя качество работы.
В.: Как организовано взаимодействие с заказчиком?
О.: В компании Эврика культура разработки ориентирована на потребности
заказчиков из министерства обороны России (МО РФ), так что все работы выполняются
либо в строгом соответствии с ГОСТами (для государственных заказчиков) либо
близко к ГОСТ (для коммерческих заказчиков).
В области программирования в России, как известно, применяются ГОСТы, входящие
в Единую систему программной документации (ЕСПД). В основном используются группы
ГОСТов 19 и 34.
Порядок работы над заказом таков: сначала формируется техническое задание (ТЗ),
далее осуществляется эскизное и/или техническое проектирование, потом ведется
собственно разработка программ и их тестирование. Готовая продукция последовательно
проходит следующие этапы: предварительные испытания, опытная эксплуатация, приемо-сдаточные
(Государственные) испытания.
Формально все взаимодействие с заказчиками реализуется через дополнения к ТЗ.
Конечно, для выполнения работ, особенно сложных, необходимы прямые неформальные
контакты разработчиков и заказчиков, и они организуются и поощряются.
В.: Для выполнения проекта у вас организуется единая команда или на каждый
этап разработки и внедрения формируется отдельный коллектив?
О.: Для выполнения всех этапов разработки организуется единая
команда (группа) во главе с менеджером проекта (ответственным исполнителем проекта).
Конечно, в зависимости от потребности, возможно подключение дополнительных специалистов
на этапе внедрения.
В.: Каким образом производится тестирование ПО?
О.: В отделе разработки ПО есть тестеры, которые занимаются только
тестированием. Тестеры включаются в группы проектов.
В.: Каким образом нормируется труд программистов и других участников
проекта?
О.: НОРМИРОВАНИЕ ТРУДА разработка нормы времени, требующегося
для выполнения конкретной производственной операции, какого-либо задания.
Если жестко следовать этому определению, то формального нормирования труда программистов
нет. Мы не считаем строки кода, функции, классы и т. п.
При подготовке плана выполнения проекта ответственный исполнитель проекта с
начальником отдела и другими специалистами дают экспертную оценку (иначе говоря,
определяют на глазок) длительности разработки подзадач проекта теми программистами,
которые включены в группу проекта.
Работа других членов группы тестеров, технических писателей привязана к
результатам работы программистов и планируется более жестко. Конечно, в ходе
проектов авралы бывают, но, в целом, планы исполняются.
В.: Каким образом осуществляется контроль за временными рамками проекта?
О.: Если говорить о мониторинге, то получением отчетов от членов
группы и отслеживанием по этим отчетам выполнения работ. Мы используем Microsoft
Project.
Если говорить об управляющих воздействиях, то тут, как в классическом контуре
управления, могут быть и корректировка процессов выполнения, т. е. изменение
мотивации, подключение дополнительных ресурсов, и даже авралы; и корректировка
целей от переноса сроков внутренних этапов до внесения дополнений в ТЗ.
В.: Внедрение определенных программных продуктов у заказчика требует
обучения их специалистов. Каким образом у вас организован этот процесс?
О.: В ЗАО Эврика есть учебный центр, и мы пользуемся его возможностями.
Это возможность обучить сотрудников заказчика общесистемному ПО (например, работе
c MS Windows и MS Office или администрированию Linux), а также возможность использовать
оборудованные учебные классы для проведения занятий по разработанным продуктам
(например, при внедрении информационной системы Диафарм-Поликлиника-ИД за
короткий период с 22 по 30 декабря 2004 года было проведено 18 занятий и
обучено около 240 сотрудников поликлиник Санкт-Петербурга).
В.: Есть ли у вас единый стандарт на средства разработки и программные
платформы или для каждого проекта подбираются наиболее эффективные решения?
О.: Единого стандарта нет, но метания из стороны в сторону тоже
нет. Для каждого проекта среда разработки выбирается с учетом знаний и опыта
сотрудников, особенностей проекта и изменения ситуации на рынке средств разработки.
Данные о предприятии:
Год основания 1990 г.
Штатная численность 280 чел.
Наиболее интересные выполненные заказы ИС Базикмед, выполненная в
интересах Главного Военно-медицинского управления МО РФ, прошла в 2005 году
Государственные испытания и в настоящее время находится в опытной эксплуатации.



Рубрики || Работа
|| Услуги || Поиск
|| Архив || Дни
рождения
О "КИ" || График
выхода || Карта сайта || Подписка
Рассылка анонсов газеты по электронной почте
Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов
без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.
Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru