powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как правильно вести сложную разработку?
25 сообщений из 275, страница 1 из 11
Как правильно вести сложную разработку?
    #39110003
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажем - группой 10 программистов.

Считаем что:
1. Что количество программистов адекватно задаче. (+/-)
2. Что пользовательские истории зафиксированы.

Чего хочется:

Предсказуемость разработки.

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

Что имеем:

Первоначальное описание решения - является неким упражнением для писательского таланта. Ценность теряет ОЧЕНЬ быстро, потому что разработка очень быстро идет в сторону.

Зачастую из-за:

1. Пользователи говорят одно, думают другое, а нужно третье.
2. Архитектор перемудрил и решил сделать космолет, который должен рыть бассейны в условиях сверхгравитации и нехватки естественных осадков.
3. Программист неправильно понял, что нужно сделать - и убил три дня на неприменимую ерунду.
4. Программист решил написать свой мега-фреймворк, на который убил 95% времени, результата не достигнув.



Вопросы:

1. Каким образом получить исчерпывающее описание проекта, которое не придется выбрасывать в мусорку через месяц?

2. Каким образом технически запретить уходить в сторону? Штуки типа WWF? Быстрые прототипы? Лично я склоняюсь к прототипам.

Теперь к коду.

Следующая проблема - в системах типа 1С - любой программист имеет доступ к любой части кода. Сам себе архитектор. Когда их 10 человек - уследить за всеми нереально и трешовый код/решения потихоньку берут верх.

В .NET/JAVA я представляю что можно сделать - закрыть сборку с моделями и создать нужные интерфейсы, которые потом последовательно реализовывать, но что делать в той же 1С??
В 1С один кодер намутит треш, другой нагородит зауми, пытаясь сделать универсальную приладу, которая нужна всем (никому).


Иными словами - какой процесс обеспечит:

1. Разумное количество слоев управления разработкой (истории, требования,UI ,код )
2. Качество артефактов каждого слоя. Оно должно быть таким, чтобы с каждым низлежащим слоем мог работать специалист, не вовлеченный в этот проект прежде.
3. Каждый артефакт должен быть валидным и не противоречивым! Код понятно - он хотя бы должен работать, а как быть с описанием какого-то процесса?? Как убедиться, что процесс выдает ровно тот результат, который сможет принять на входе следующий процесс? Нужны четкие тиски, но какие тиски у Вордовского документа? Бумага всё стерпит.

Нужно качество превратить в количество.

Читаю истории, в которых над проектами трудятся люди из разных стран и часовых поясов - как их координировать?

Тогда как собственные сотрудники без стояния за спиной сразу же стремятся расползтись в стороны.

Как это может выглядеть? 1С case

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

Принято решение переписать всё нафиг на современных технологиях.

(Тут всё начинается).

Бесконечные совещания, на которых пользователи разных рангов рассказывают о своих фантазиях. Всё, что снилось - всё вываливают. Объяснения куцые, пальцы показывают замысловатые фигуры.

Составляется описание нового решения, страниц так на сто. Несмотря на картинки - его никто не читает, и также никто возражений не имеет.

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

Ну и в итоге разработка приобретает хаотичный характер.

Не думаю, что в случае технологий вида JAVA/.NET картина принципиально другая.
Единственно - больше времени нужно потратить на проектирование интерфейсов, но и программист-кодер в сторону не уйдёт.

Что НЕ хотелось бы тут обсуждать:
1. UI
2. UX
3. Назначенным со стороны клиента менеджерам - плевать на внедрение.
4. Назначенные со стороны клиента менеджеры - некомпетентны.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110022
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Правильное ТЗ - это уже половина успеха. Так что начинайте с ТЗ. Ну а кодить по подробному ТЗ - много ума не нужно. Если кто-то с этим не справляется - меняйте, т.к. незаменимых людей нет. Поэтому делайте запас в 20% времени на подобные ситуации и у вас все получится.

Читаю истории, в которых над проектами трудятся люди из разных стран и часовых поясов - как их координировать?
Тогда как собственные сотрудники без стояния за спиной сразу же стремятся расползтись в стороны.
Ну тут проблема либо в исполнителе, либо в ПМ. В любом случае никто кроме вас вам не поможет. У нас есть четкие требования к коду. Если излишне комментируешь - не проблема, значит программист решил что без этого сторонний читатель не поймет кода либо сути задачи по коду. А вот если комментарии отсутствуют, либо тестер не может понять - вам вернут на доработку. Если не уложились в срок (с учетом доработок) - не то что денег не получите, но еще с вас и снимут. Знаете, удар по кошельку чувствуется сильнее чем удар по печени. Так что пользуйте этот подход и эволюция пойдет по указанному вами пути.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110025
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Вы хотите "серебряную пулю".
Ее не существует!
А так:

1) Никак. Не надо боятся "выкинуть все в мусор".
2) Никаких "технических" способов не существует. Только "административные", каждое изменение должно быть зафиксировано и для него должно быть зарезервировано время. Никаких "тут делов на 5 минут".

А так близко у идеалу это Agile, но тут проблема в самодисциплине команды.
Т.е. дисциплина и мотивация должна поддерживаться самой командой.
Это сложно, т.к. "ёжик птица гордая, пока не пнешь не полетит"
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110028
sereginseregin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Невозможно контролировать всё и вся в одиночку. Напакостить могут всегда, а вылезет это в самый неподходящий момент.

Необходимо разделять между коллегам не только функции, но и ответственность, и улучшать взаимодействие между ними.
Если архитектор перемудрил, а программист решил написать свое - зачем Вы наняли архитектора, решениям которого не доверяете, да и каждый программисты у Вас может что угодно, свою систему с нуля написать.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110092
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sereginsereginЕсли архитектор перемудрил, а программист решил написать свое - зачем Вы наняли архитектора, решениям которого не доверяете, да и каждый программисты у Вас может что угодно, свою систему с нуля написать.
если архитектор типа перемудрил, а программист не понимая написал свое, то избавьтесь от программиста, который не слушает архитектора. Большое число программистов нужно уже тогда, когда ядро проекта работает в принципе, для облагораживания. Но не на начальном этапе
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110093
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочется конкретики.

Неужели вы начинаете проектировать на основании 100-страничного вордовского документа с невнятным мычанием?

Или вы трансформируете мычание в функциональные требования? Юзеры эти требования читают?

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

Какие артефакты у вас на выходе с каждого уровня?

Как вы описываете будущую систему на основнии ФТ? Насколько однозначно?
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110097
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueХочется конкретики.

Неужели вы начинаете проектировать на основании 100-страничного вордовского документа с невнятным мычанием?
к примеру, я начинаю проектировать с декомпозиции задачи и разложения какого-то "100-страничного вордовского документа" (правда этой ненужной субстанции обычно нет) на конкретные сервисы. Далее программист реализует эти сервисы в реальности, пусть не так "красочно" как требует релиз, но в работоспособном, хотя бы для проверки архитектуры виде. А уже далее все отдается команде программистов-кодировочников, которые наводят лоск.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110098
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm когда ядро проекта работает в принципе

Кстати, отлично что всплыло "ядро". А что под ним понимается?

Конфигуратор типа 1С?
Или некий движок предметной области?

И как объяснить заказчику, что ему нужно некое "ядро", ведь какого-то результата он не увидит в течении долгого времени - какой тут agile?

iscrafm то избавьтесь от программиста, который не слушает архитектора.

case - убираем одного, на его месте появляется другой - очень дорогой.
Ну или я предъявляю какие-то сверх-требования к программистам, требуя от них явно больше их обычных компетенций.

На собеседования приходит ТАКОЕ, что становится обидно за профессию.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110099
Monochromatique,

какая-то у вас не "группа программистов", а непонятное сборище.

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

аналитик отсутствует. требования не фиксируются. они выявляются. фиксируется пользовательский поток хотелок. там нет требований. там есть неформализованный набор истерик, обвинений, не имеющих никакого отношения к реальным потребностям фантазий. это работа аналитика _выявлять_ требования.
авторПользователи говорят одно, думают другое, а нужно третье.
естественно. это данность, с этим нужно работать. они в этом не виноваты, виноваты некомпетентные аналитики, PM'ы, руководители разработки.
автор2. Архитектор перемудрил и решил сделать космолет, который должен рыть бассейны в условиях сверхгравитации и нехватки естественных осадков.
3. Программист неправильно понял, что нужно сделать - и убил три дня на неприменимую ерунду.
4. Программист решил написать свой мега-фреймворк, на который убил 95% времени, результата не достигнув.
отсутствует руководитель, наняты непонятно кто, отсутствует руководитель, нет абсолютно никакой экспертизы, нет обмена знаний и критики, полная безответственность руководителя. "архитектор" не имеет опыта, не имеет полномочий или не хочет их осуществлять. как программист мог потратить черт знает сколько времени и налабать фреймворк? при том что есть руководитель? при том что есть архитектор? при том что есть сроки у задач? никого из них нет - единственный вывод.
автор1. Каким образом получить исчерпывающее описание проекта, которое не придется выбрасывать в мусорку через месяц?
это что? "заказчики, дайте мне всё"? а какие такие требования не подвержены изменений? что за глупости и наивняк?
автор2. Каким образом технически запретить уходить в сторону? Штуки типа WWF? Быстрые прототипы? Лично я склоняюсь к прототипам.
вы скорее всего один из тех "программистов", которые черт знает чем занимаются, у которых виноваты заказчики и пользователи, а они хоте ли бы "полное описание и чтобы оно не менялось", "чтобы сразу сказали что делать и что не делать, а то я же просто программист, а же могу начать делать фреймворк, а задачу могу так и не начать делать"

авторСледующая проблема - в системах типа 1С - любой программист имеет доступ к любой части кода. Сам себе архитектор. Когда их 10 человек - уследить за всеми нереально и трешовый код/решения потихоньку берут верх.
что за любая часть кода? как это невозможно уследить? вас там на самом деле двое и у каждого своя папочка с копией проекта?
автор1. Разумное количество слоев управления разработкой (истории, требования,UI ,код )
2. Качество артефактов каждого слоя. Оно должно быть таким, чтобы с каждым низлежащим слоем мог работать специалист, не вовлеченный в этот проект прежде.
3. Каждый артефакт должен быть валидным и не противоречивым! Код понятно - он хотя бы должен работать, а как быть с описанием какого-то процесса?? Как убедиться, что процесс выдает ровно тот результат, который сможет принять на входе следующий процесс? Нужны четкие тиски, но какие тиски у Вордовского документа? Бумага всё стерпит.
продолжение наивняка человека, не имеющего никакого отношения к организации процессов, к руководству группой. продолжение попыток обвинить всех вокруг, объяснить "им всем", что "они все" сделали неправильно. ведь именно поэтому он сделал то что сделал. потратил время на то, что потратил. а вы не уследили! не предусмотрели! не ввели рамок! не стояли за спиной! дали доступ! верили что я занимаюсь тем чем надо! а пользователи тупые! тз устарело! я узнал об этом когда сказали пользователи! аналитику я ничего не сказал, не сказал руководителю, не сказал архитектору, решил делать фреймворк! в этом во всем виноваты "вы все"! где метрика, позволяющая отследить, что мой процесс идет к тому, чтобы выдать нужный результат? вот! а как я должен по вашему узнать что это так или не так? вот и все! это все вы!

Проказница-Мартышка, Осел, Козел да косолапый Мишка затеяли создать ПО...
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110105
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хвост, залогинься.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110113
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatiqueiscrafm когда ядро проекта работает в принципе

Кстати, отлично что всплыло "ядро". А что под ним понимается?

Конфигуратор типа 1С?

зачем конфигуратор, если система не требует такого конфигурирования, к примеру. Это основа, которую уже можно расширять вширь, а не в глубину, образно
MonochromatiqueНу или я предъявляю какие-то сверх-требования к программистам, требуя от них явно больше их обычных компетенций.
разделяй требования к программистам и требования к кодировщикам. Все же это разные люди
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110115
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Да, пошел поток сознания от вас ... Может нужно начать с того что озвучить свое место в проекте? А то становится все страшнее и страшнее.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110116
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote смотрите кого нанимаете]Мутный поток сознания[/смотрите кого нанимаете]

Ну, кнопок ты понажимал нормально, но смысла в этом - зеро. Конкретики ноль, и ты знаешь почему.

Зачем ты парился - мне непонятно. Объяснишь?
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110117
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрМожет нужно начать с того что озвучить свое место в проекте?
справедливое замечание.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110120
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрMonochromatique,

Да, пошел поток сознания от вас ... Может нужно начать с того что озвучить свое место в проекте? А то становится все страшнее и страшнее.


А как поменяется ваш мессадж от моего ответа?

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

ЧЕТЧЕ!

Легко работать с классными парнями. Только на всех их не хватит.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110121
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmЗлой БобрМожет нужно начать с того что озвучить свое место в проекте?
справедливое замечание.

А что от этого поменяется?

Сейчас меня интересует роль PM-а, странно, что это не очевидно.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110123
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatiqueiscrafmпропущено...

справедливое замечание.

А что от этого поменяется?

Сейчас меня интересует роль PM-а, странно, что это не очевидно.

Как от моего места поменяется набор артефактов на неком уровне разработки ПО?
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110129
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatiqueiscrafmпропущено...

справедливое замечание.

А что от этого поменяется?

Сейчас меня интересует роль PM-а, странно, что это не очевидно.
если сантехник спрашивает как организовать коммуникации в многоквартирном доме, то это один уровень представления задачи, если такой же вопрос задается архитектором этого дома, то это другой уровень. Многое меняется, практически все.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110130
JE SUIS ЦК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatiqueiscrafmпропущено...

справедливое замечание.

А что от этого поменяется?

Сейчас меня интересует роль PM-а, странно, что это не очевидно.
По вопросам выше очевидно, что интересует роль тимлида, а не РП.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110134
JE SUIS ЦК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmMonochromatiqueпропущено...


А что от этого поменяется?

Сейчас меня интересует роль PM-а, странно, что это не очевидно.
если сантехник спрашивает как организовать коммуникации в многоквартирном доме, то это один уровень представления задачи, если такой же вопрос задается архитектором этого дома, то это другой уровень. Многое меняется, практически все.
+1
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110136
JE SUIS ЦК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique
Считаем что:
2. Что пользовательские истории зафиксированы.
...
Чего хочется:
Предсказуемость разработки.
...

Что имеем:
1. Пользователи говорят одно, думают другое, а нужно третье.


Предсказуемость разработки начинается с предсказуемости требований. То, что требования меняются по ходу разработки - это нормально, только процесс их изменения должен быть контролируемый и управляемый.
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110137
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmMonochromatiqueпропущено...


А что от этого поменяется?

Сейчас меня интересует роль PM-а, странно, что это не очевидно.
если сантехник спрашивает как организовать коммуникации в многоквартирном доме, то это один уровень представления задачи, если такой же вопрос задается архитектором этого дома, то это другой уровень. Многое меняется, практически все.

Я - отвечаю за проекты в целом и целиком. Со спецификой, свойственной конкретной организации, она есть везде.

Я ответил на вопрос?
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110140
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatiqueiscrafmпропущено...

если сантехник спрашивает как организовать коммуникации в многоквартирном доме, то это один уровень представления задачи, если такой же вопрос задается архитектором этого дома, то это другой уровень. Многое меняется, практически все.

Я - отвечаю за проекты в целом и целиком. Со спецификой, свойственной конкретной организации, она есть везде.

Я ответил на вопрос?
да, вполне
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110141
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JE SUIS ЦКтолько процесс их изменения должен быть контролируемый и управляемый.

Опять вода.

Парни, ну вы понимаете что ценности в этих словах - НОЛЬ. Ну что, кто-то скажет, что процесс изменений должен быть неуправляемый??

Чего вы воду толчете?
...
Рейтинг: 0 / 0
Как правильно вести сложную разработку?
    #39110149
JE SUIS ЦК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueJE SUIS ЦКтолько процесс их изменения должен быть контролируемый и управляемый.

Опять вода.

Парни, ну вы понимаете что ценности в этих словах - НОЛЬ. Ну что, кто-то скажет, что процесс изменений должен быть неуправляемый??

Чего вы воду толчете?

Это вы вопросы задаете "что делать?", а не я. В вашем описании ситуации требования неуправляемые. Что вы с этим собираетесь конкретно делать?
...
Рейтинг: 0 / 0
25 сообщений из 275, страница 1 из 11
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как правильно вести сложную разработку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]