Методика разработки крупных проектов

ZN

Новичок
мне кажется проблема автора в том, что он пытается сразу изобразить структуру всего проекта до мельчайших деталей, собственно в этом и заключается "монолитность" (в то время как прогрессивная общественность использует нисходящее проектирование, скажем та же методология IDEF0/IDEF3 есть хороший тому пример, хотя она и является структурной, а не объектной)
вобще давно было опытным путём установлено, что проектирование "одним махом", а потом такая же разработка "за один присест" неэффективна. гораздо эффективнее даже такая простая концепция, как waterfall. посмотрите, как ведётся разработка в rational unified process с применением итераций.
а то, что "UML - дело вкуса" - это да, точнее не вкуса, а случая - в том смысле, что UML есть инструмент, и применять его нужно в соответствующих ситуациях по назначению
насчёт принципиальных отличий в проектировании web и gui приложений - конечно, отличия есть, но совсем не в той степени. о которой говорит автор. "Есть ли возможность с помощью схем/диаграм/чего-либо еще визуализировать взаимосвязи между разными скриптами, обращения к БД, передачу данных в сессиях и т.п. ?" - а почему нет? вы же находите возможность визуализовать всё то же самое для gui (ну только поставьте вместо "скриптами" слово "исходниками"), чем web хуже?
и потом не надо пытаться решить проблему архитектуры приложения силами только программистов (тем более одного програмиста). есть специальные люди: архитекторы, аналитики и т.д., которые тоже должны работать. а программисты... не то, чтобы они тупые печатные машинки, но им скорее стоит заниматься более прикладными вещами - написанием реализаций, оптимизацией... а структуру приложения продумывают немного другие люди (ну, по крайней мере, не самолично программисты)

Solid
видимо, имеется ввиду JSON - JavaScript Object Notation
 

Alexandre

PHPПенсионер
очевидно опечатка http://gggeek.altervista.org/sw/article_20061113.html
http://devzone.zend.com/node/view/id/1409
http://json.org/

-~{}~ 28.12.06 12:28:

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

boombick

boombick.org
функции
- менеджера по работе с клиентами
порой лучше, чтоб программисты общались с клиентами... Или хотя бы им предоставляли такую возможность. А то "менеджер" порой такого нагородит, что аж страшно становится... Клиент вроде доволен, руководство довольно, а программеры вешаются!
 

legend

Новичок
boombick
+1
недавно еще раз в этом убедилась) как только начала сама работать с клиентом все стало ясно + упростилось раза в два и клиент, кстати, классный...
Но не всегда так, иногда с клиентом сложно разговаривать на одном языке. Так что все зависит от ситуации.

ЗЫ: ИМХО, главное, чтобы при разработке крупных проектов команда классная была... Остальное можно решить и методику свою наладить)
 

Alexandre

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

Когда оперативное решение вопроса стало подходить в тупик, я уже сказал - давайте контакты программиста, мы с ним утрясем все тех. вопросы...

Если менеджер не сможет утрясти орг-тех вопросы, то это не менеджер.
Хорошего менеджера надо так же выращивать, как и хорошего программиста. Конечно, у нас были менеджеры с педагогическим образованием, но их функции это "девочки на телефоне..." и не более.
Менеджер - это нечто большее, чем поиск и сопровождение клиентов.

Кто-то должен еще
- сделать оценку трудозатрат
- осуществить финансовую оценку проекта
- составить план-график работ
- подготовить Соглашение или договор
- подготовить техзадание

иногда это все сваливается на голову бедного менеджера.
 

ZN

Новичок
Alexandre
подождите, вы говорили о "крупных проектах" и методах их ведения (перечитайте сабж)... а теперь выясняется, что "большинство проектов либо слишком мелкие, либо наше Руководство слишком жадное" - вы определитесь, крупные у вас проекты или мелкие. а если у вас версткой, дизайном, разработкой и ещё и документами с финансами занимается один и тот же человек - это, извините, не проект - это пионеры так по 100$ сайты клепают ("пишу на пхп за еду").

legend
хорошая команда - это, конечно, хорошо, но недостаточно. это командой кто-то должен руководить, кто-то должен ставить перед ней задачи. нет, конечно, существуют методологии, в которых команда разработчиков считается достаточно самостоятельной для самоорганизации и не нуждается в начальниках (например, SCRUM, и то там обязательно есть Scrum Master), но так или иначе кто-то должен донести до прогаммистов, чего хочет клиент. а непосредственное общение заказчика с программистом хорошо до некоторых пор и в сравнительно небольших проектах.
>Остальное можно решить и методику свою наладить
Нельзя. Почитайте, как создавалась атомная бомба в США (проект "Манхэттен") - классический пример. Набрали лучших учёных, отличных специалистов, руководил которыми гениальный Фейнман. Но до тех пор, пока люди не знали, чем они на самом деле занимаются - прогресс составлял "в час по чайной ложке".
boombick
>А то "менеджер" порой такого нагородит
какой смысл решать проблемы плохого управления привлечением к нему людей (программистов), не предназначенных для этого? у вас плохие менеджеры - ну так ищите хороших, а то вы предлагаете этих плохих оставить, а программисты пусть ещё и сами с клиентом общаются...

и ещё добавлю, насчёт личного общения программиста с клиентом: меня бесят клиенты, которые звонят тебе по телефону и начинают рассказывать, что "они сами программировали 128 лет, они такие умные и так хорошо в этом разбираются, и лучше тебя знают, что и как делается, поэтому надо отказаться от применения смарти и библиотеки gd (они же опенсорс, там наверняка куча багов! нас из-за них сломают!) и писать всё с нуля, причём обязательно пользоваться SSI". потому и нужны менеджеры, аналитки и много ещё кто, чтобы обеспечить программисту нормальное представление требований к разработке и продукту.
 

legend

Новичок
ZN
Написав команда, я не имела в виду команду исключительно программистов. :) Безусловно руководители нужны и хорошие менеджеры это прекрасно. Все зависит от ситуации, но очень важно, чтобы люди, работающие над проектом хорошо понимали друг-друга. Если программист и менеджер не понимают друг друга толку от связки: клиент-менеджер-программист? Это испорченный телефон получится.
 

Alexandre

PHPПенсионер
подождите, вы говорили о "крупных проектах" и методах их ведения
ZN ну что тебе ответить...
работал я в разных копманиях, есть с чем стравнивать... так что это опыт - друг мой. К сожалению, большинство последних проектов - бюджетом 10-30К... хотелось бы большего, но начальство действительно жадное, и многие функции приходится совмещать.
 
Сверху