metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2007-09-02 10:33 am

Управление разработкой ПО.

Сижу, пытаюсь вникнуть, как ведется управление проектами по разработке ПО в нормальных условиях, читаю про всякие SRS да SDD(там еще штук десять аббревиатур, кто во что горазд).
Интересное обсуждение здесь опять пришло к старой теме - "пока мы будем полгода заниматься планированием, клиентам наш продукт станет не нужен".
Похоже, что для простых проектов и планирование с документацией надо вести как-то упрощенно, чтобы не похоронить проект в бюрократии еще до начала разработки.

[identity profile] pascendi.livejournal.com 2007-09-02 08:53 am (UTC)(link)
Полноценное документрирование планирования и исполнения проекта необходимо, только если:
- в проекте занято более 10-15 человек (у исполнителя) или требуется координация нескольких подразделений с выраженно разными интересами;
- перечень работ проекта не умещается на трех листах А4 12 кеглем. :-)


[identity profile] vp.livejournal.com 2007-09-02 07:16 pm (UTC)(link)
А как понять степень необходимой полноценности?
А возможная смерть главного девелопера это сильный повод? :)

[identity profile] pascendi.livejournal.com 2007-09-02 07:22 pm (UTC)(link)
Здравый смысл поможет :-)

ИМХО, документирование проекта не должно занимать более 2-3% трудозатрат на сам проект.

[identity profile] beskov.livejournal.com 2007-09-02 10:18 am (UTC)(link)
В каком смысле "нормальных условвиях"? Цели какие?

[identity profile] metaclass.livejournal.com 2007-09-02 11:38 am (UTC)(link)
Нормальные - это когда есть время на документирование проекта, и есть, как минимум, отдельные люди для проектирования, разработки, тестирования, внедрения и поддержки.
А не так, что пользователи звонят человеку, ответственному за проект(который PM, аналитик, архитектор и ведущий разработчик в одном лице), со словами "законодательство поменялось, функция нужна вчера" и все кидаются ее экстренно реализовывать без проектирования. А потом одновременно тестирование, внедрение, поддержка и исправление ошибок :)

[identity profile] henu3detb.livejournal.com 2007-09-02 12:44 pm (UTC)(link)
Мда, а чего такая экономия?

[identity profile] metaclass.livejournal.com 2007-09-02 02:11 pm (UTC)(link)
Потому что промежуток между "ведем проекты от фонаря, как бог на душу положит силами одного-двух человек" до "ведем проекты силами вменяемых проект-менеджера и аналитика и десяти кодеров и инженеров по поддержке среднего уровня" сложно перескочить. Сложно отказаться от привычки "сделать все и сразу и вчера" у клиентов, работников и начальства.

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

Поэтому сижу и думаю, как бы это проекты документировать, чтобы работники новые вникнуть могли.

[identity profile] pascendi.livejournal.com 2007-09-02 07:24 pm (UTC)(link)
ИМХО, в проекте должно быть документировано:
- решения по архитектуре системы;
- прецеденты;
- информационные потоки;
- схемы данных;
- организация и взаимодействие модулей.

Остальное -- опционально.

[identity profile] beskov.livejournal.com 2007-09-02 12:57 pm (UTC)(link)
В таких условиях имхо надо обратить внимание на Agile, а не читать Брауде.

[identity profile] metaclass.livejournal.com 2007-09-02 02:02 pm (UTC)(link)
Это-то понятно, но документирование проекта все равно вести надо, каждого нового работника на словах обучать не станешь. Вот я и ищу какой-то более менее упрощенный шаблон для документирования разработки.

[identity profile] beskov.livejournal.com 2007-09-02 02:08 pm (UTC)(link)
Что именно документировать, вам должно быть понятно из опыта работы.
Как документировать - в принципе тоже, накидали структуру, выбрали способ описания - текст, таблицы, диаграммы.
С помощью чего - ну тут вряд ли есть что-то лучше вики.

Одни из самых простых шаблонов - в MSF.

[identity profile] vp.livejournal.com 2007-09-02 07:19 pm (UTC)(link)
Квалификация нанимаемых людей откровенно пугает. Есть шанс, что как ни документирую - все равно не поймут 99% ни в технологиях, ни в предметной области :(

[identity profile] pascendi.livejournal.com 2007-09-02 07:25 pm (UTC)(link)
А надо ли таких людей? :-)

[identity profile] vp.livejournal.com 2007-09-02 07:30 pm (UTC)(link)
Это объективная реальность с учетом качества сегодняшних кадров. Я некоторое время сидел на отборе HR, потому представление имею.

Выход один. Надо вести простые проекты ака "делать учебники на флеше", где действительно, ничего не надо знать и можно посадить любого дятла. Потому что кадров брать реально неоткуда :( Именно годных на творческую работу

[identity profile] metaclass.livejournal.com 2007-09-02 09:19 pm (UTC)(link)
Безальтернативно. Других просто нет, а проекты растут и скоро выйдут за пределы физических возможностей теперешних работников.

[identity profile] pascendi.livejournal.com 2007-09-03 02:46 am (UTC)(link)
Тогда, к сожалению, выход один: переходить на формализованные методологии, при которых происходит декомпозиция проекта до уровня спецификаций функций, по которым даже тупой кодер может быстро сделать требуемое.
Ну, или использовать что-то вроде IBM Rational Rose, если специфика разрабатываемой системы позволяет (для портальных решений эта штука, к сожалению, подходит не очень).

[identity profile] pascendi.livejournal.com 2007-09-02 07:25 pm (UTC)(link)
Про МСФ -- согласен на все сто.