|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
Самое бросающееся в голову разделение: 1) Аналитик - написал ТЗ, описал структуры, функции 2) Проектировщик БД - сделал структуру БД 3) Программист - написал код на структуру Но, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы. ВОЗМОЖНО, выход - DDD, который предлагает разработку без структуры. Но мне не понятна технология. Как можно писать программу когда база данных еще не существует. Или же принять схему указанную выше в пунктах 1,2,3 но как то модифицировать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2012, 17:14 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
AlexsalogНо, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы. Вот именно по этому каждый аналитик должен быть немного проектировщиком БД и немного программистом, каждый проектировщик БД должен быть немного аналитиком и немного программистом, а каждый программист должен быть немного аналитиком и немного проектировщиком БД :) Разделение труда разделением труда, но когда в одну команду собираются слабо понимающие друг друга люди, они тааакую ерунду ваяют... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2012, 08:26 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
AlexsalogНо, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы.Вообще эти три роли существуют в команде до конца проекта, а не так, что аналитик написал ТЗ, уволился, Проектировщик сделал БД, уволился, а программист потом всё это расхлёбывает :-) Увидят какие то недоработки, поменяют БД, логику или что то ещё - все вместе, а не один программист. AlexsalogНо мне не понятна технология. Как можно писать программу когда база данных еще не существует.Непонятно, что тут непонятного :-) Обычное разделение приложения на слои, которые можно разрабатывать независимо. Интерфейсы то есть... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2012, 11:03 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
AlexsalogНо мне не понятна технология. Как можно писать программу когда база данных еще не существует. Для взаимодействия между модулями приложения должны быть определены интерфейсы. Реализация может быть заменена заглушками и значительно отставать. А интерфейсы в случае БД пишутся по сути по результатам работы аналитика. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2012, 12:55 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
AlexsalogСамое бросающееся в голову разделение: 1) Аналитик - написал ТЗ, описал структуры, функции 2) Проектировщик БД - сделал структуру БД 3) Программист - написал код на структуру Но, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы. Можно еще круче разделить: проектировщик таблиц, проектировщик представлений, программист хранимых процедур, программист интерфейса. А если серьезно, то я бы выделил пять ролей - 0. Руководитель 1. Аналитик (ТЗ, логика работы, общение с постановщиками задачи), 2. Архитектор 3. Программист 4. Тестер. Роли 0 и 2 или 2 и 3 могут совмещаться в одном человеке, это уже зависит от скиллов человека и размеров рабочей группы. А вот отделять "одно программирование от другого" неэффективно. Связь между разработчиками должна проходить по интерфейсам разрабатываемых ими модулей :) А если один программист пишет БД, второй над ней сооружает бизнес-логику, то они не смогут работать параллельно, второй будет ожидать первого, они постоянно будут между собой общаться, решать какие-то вопросы, которых в принципе не было бы, если и логику, и соответствующую ей схему данных вел бы один человек. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2012, 11:20 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
ДжекНепотрошитель, все очень просто 1. Аналитик + инструмент 2. Кодер + инструмент ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2012, 15:51 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
ДжекНепотрошительА если серьезно, то я бы выделил пять ролей - 0. Руководитель 1. Аналитик (ТЗ, логика работы, общение с постановщиками задачи ), 2. Архитектор 3. Программист 4. Тестер. у вас же нет в списке выделенного, с кем общаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2012, 16:20 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__у вас же нет в списке выделенного, с кем общаться? А должен? Постановщик задачи в общем случае к разработке программ никакого отношения иметь не обязан. Это некое лицо, которое хочет, чтобы компьютер чё-то делал. В хорошем случае он может это формально описать, в плохом - не может, но для этого как раз и нужен аналитик. Поговорить, понять и формализовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 22:04 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
ДжекНепотрошительiscrafm__у вас же нет в списке выделенного, с кем общаться? А должен? Постановщик задачи в общем случае к разработке программ никакого отношения иметь не обязан. Это некое лицо, которое хочет, чтобы компьютер чё-то делал. В хорошем случае он может это формально описать, в плохом - не может, но для этого как раз и нужен аналитик. Поговорить, понять и формализовать. постановщик - эта как раз тот человек, который переводит то, что "узнал" аналитик о задаче в структуры, понятные разработчику (программисту), т.е. "переводчик" с языка бизнеса, на котором говорит аналитик. Проектировщик, архитектор, образно. на вскидку, из вакансий: обязанностиОсновные рабочие процессы, выполняемые постановщиком задач: -разработка общих проектных моделей (функциональных, информационных, технологических, компонентных и др.) автоматизированных систем или их составных частей; -определение структуры функциональных программных компонентов, планирование их изготовления; -полное проектирование функциональных программных компонентов: структур данных, алгоритмов, визуальных форм, программных интерфейсов; -выдача заданий командам программистов; -контроль процессов программной реализации; участие в функциональном тестировании; -приемка результатов программной реализации и их передача в проектно-внедренческие центры для ввода в эксплуатацию, активное участие во внедрении и последующем сопровождении созданных программных изделий. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 22:38 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__постановщик - эта как раз тот человек, который переводит то, что "узнал" аналитик о задаче в структуры, понятные разработчику (программисту), т.е. "переводчик" с языка бизнеса, на котором говорит аналитик. Проектировщик, архитектор, образно. Да ничего подобного. Постановщик задачи - это персона, олицетворяющая заказчика. Просто во многих специализированных разработческих конторах так называют аналитика/проектировщика, который пишет ТЗ. Это частный случай, и не нужно в него упираться. Ставить задачу может как компетентное в разработке лицо, так и некомпетентное, в обоих случаях он будет постановщиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 23:02 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__обязанностиОсновные рабочие процессы, выполняемые постановщиком задач: -разработка общих проектных моделей (функциональных, информационных, технологических, компонентных и др.) автоматизированных систем или их составных частей; -определение структуры функциональных программных компонентов, планирование их изготовления; -полное проектирование функциональных программных компонентов: структур данных, алгоритмов, визуальных форм, программных интерфейсов; -выдача заданий командам программистов; -контроль процессов программной реализации; участие в функциональном тестировании; -приемка результатов программной реализации и их передача в проектно-внедренческие центры для ввода в эксплуатацию, активное участие во внедрении и последующем сопровождении созданных программных изделий. Кстати, это - вообще не постановщик. Это называется "руководитель проекта" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 23:05 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
ДжекНепотрошительiscrafm__постановщик - эта как раз тот человек, который переводит то, что "узнал" аналитик о задаче в структуры, понятные разработчику (программисту), т.е. "переводчик" с языка бизнеса, на котором говорит аналитик. Проектировщик, архитектор, образно. Да ничего подобного. Постановщик задачи - это персона, олицетворяющая заказчика. Просто во многих специализированных разработческих конторах так называют аналитика/проектировщика, который пишет ТЗ. Это частный случай, и не нужно в него упираться. Ставить задачу может как компетентное в разработке лицо, так и некомпетентное, в обоих случаях он будет постановщиком. мне все же ближе классическое определение роли Постановщика (в предыдущем сообщении перечислены основные задачи, которые он решает). Никогда Постановщик не олицетворял заказчика, по крайней мере в моей практике. Да и в классике тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 23:10 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
ДжекНепотрошительiscrafm__пропущено... Кстати, это - вообще не постановщик. Это называется "руководитель проекта" :) пропустил это сообщение... Руководитель проекта занимается руководством проектом, а не постановкой задачи. И уж точно не разрабатывает модели ПО, структуру, программные интерфейсы и т.д. из перечисленного в обязанностях. Это классические функции Постановщика, который "ставит задачу программистам" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 10:36 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__пропустил это сообщение... Руководитель проекта занимается руководством проектом, а не постановкой задачи. И уж точно не разрабатывает модели ПО, структуру, программные интерфейсы и т.д. из перечисленного в обязанностях. Это классические функции Постановщика, который "ставит задачу программистам" Вы, вероятно, знакомы только с одним (причем наиболее малочисленным) видом разработки ПО - с рабочими группами по сотне-другой разноплановых специалистов. Ключевые обязанности здесь "-выдача заданий командам программистов; -контроль процессов программной реализации" Выдача заданий и контроль - исключительно прерогатива руководителя, а не постановщика. А остальные задачи, и постановку, и разработку архитектуры он может выполнять опционально, в зависимости от размера рабочей группы и совмещения ответственности. В остальном - это исключительно вопрос терминологии. Вы "постановщиком" называете человека, который делает техническое задание. Я называю этих людей "аналитиками" и "архитекторами". В моей практике процесс выглядит так: Постановщик (заказчик) готовит постановку задачи (постановка задачи - это, по сути, заказ программы, а не частные подзадачи, которые раздаются инженерам в процессе их работы) Аналитики, архитектор готовят техническое задание на основе постановки задачи и согласуют его с заказчиком Рабочая группа выполняет работы по техзаданию. Их раздают и контролируют на микроуровне тимлиды, на макро - руководитель проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 11:04 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
ДжекНепотрошительiscrafm__пропустил это сообщение... Руководитель проекта занимается руководством проектом, а не постановкой задачи. И уж точно не разрабатывает модели ПО, структуру, программные интерфейсы и т.д. из перечисленного в обязанностях. Это классические функции Постановщика, который "ставит задачу программистам" Вы, вероятно, знакомы только с одним (причем наиболее малочисленным) видом разработки ПО - с рабочими группами по сотне-другой разноплановых специалистов. софтверные компании конечно можно назвать "наиболее малочисленным" видом разработки ПО, по сравнению с количеством отделов, групп, департаментов и т.п. на предприятиях, но это уже как-то слишком, имхо. ДжекНепотрошительВыдача заданий и контроль - исключительно прерогатива руководителя, а не постановщика. А остальные задачи, и постановку, и разработку архитектуры он может выполнять опционально, в зависимости от размера рабочей группы и совмещения ответственности. В остальном - это исключительно вопрос терминологии. Вы "постановщиком" называете человека, который делает техническое задание. Я называю этих людей "аналитиками" и "архитекторами". В моей практике процесс выглядит так: Постановщик (заказчик) готовит постановку задачи (постановка задачи - это, по сути, заказ программы, а не частные подзадачи, которые раздаются инженерам в процессе их работы) Аналитики, архитектор готовят техническое задание на основе постановки задачи и согласуют его с заказчиком Рабочая группа выполняет работы по техзаданию. Их раздают и контролируют на микроуровне тимлиды, на макро - руководитель проекта. примерно так и происходит на непрофильных предприятиях, где разработка ПО - обслуживающий вспомогательный процесс. Мы просто о разных областях похоже говорим. Я все же основываюсь на профильных структурах, где разработка ПО - основное производство. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 11:21 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__софтверные компании конечно можно назвать "наиболее малочисленным" видом разработки ПО, по сравнению с количеством отделов, групп, департаментов и т.п. на предприятиях, но это уже как-то слишком, имхо. Крупные софтверные компании. На сотню крупных приходится десять тысяч мелких, где процесс организации работ не сильно отличается от ИТ-департаментов на предприятиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 11:26 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
ДжекНепотрошитель, постановщик всегда был чек, который формализовал задачу для прогера в каждом ОАСУП была группа постановщиков в их обязанностт входила 1. Сбор требований 2. фомализация задачи (на раннх периодах опускались до размера ячеек памяти и адресной арифметике) 3. согласование с заказчиком 4. и тестирование :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 12:59 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
Сахават, тестирование все же "поверхностное", т.е. сравнение ожидаемого и результата. Детальным тестированием занимались тестеры, которые в качестве исходной информации используют ТЗ, выданное постановщиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:13 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__тестирование все же "поверхностное", Безусловно. Постановщик (он же аналитик) должен участвовать в тестировании в основном чтобы дать вердикт "да, это именно то, что я имел в виду". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:14 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
softwarerПостановщик (он же аналитик) у нас это были разные люди, Аналитик - "клиенто-ориентированный" интерфейс, Постановщик - "системно-ориентированнный", образно Хотя, в небольших конторах эти роли часто совмещаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:26 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__у нас это были разные люди, У этой цепочки два конца, клиент и софт. А вот количество людей в ней может быть переменным, их названия и обязанности от случая к случаю различаются. Поэтому в таких "общих" разговорах я воспринимаю эту цепочку как единую сущность, предпочитаю не лезть глубже в детализацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:30 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
softwarer, Аналитик разговаривает на языке "бизнеса", Постановщик - на языке программы. Конечно эти роли можно объединить в одном человеке, если он знает хорошо и первое и второе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:34 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
iscrafm__Аналитик разговаривает на языке "бизнеса", Постановщик - на языке программы. Конечно эти роли можно объединить в одном человеке, если он знает хорошо и первое и второе. А кто-то говорит, что есть "бизнес-аналитики", а есть "системные аналитики". А кто-то впендюривает в эту цепочку "архитектора". А ещё как минимум вокруг действительно должен бегать РП. Итдитп. У разных людей по-разному, и я давно принял для себя, что надо или детально смотреть, как в конкретном месте, или же "не опускаться на уровень деталей" и не использовать, например, слово "аналитик", которое в разных случаях подразумевает совсем разные, буквально непересекающиеся списки обязанностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:41 |
|
Разделение труда при разработке программ
|
|||
---|---|---|---|
#18+
softwareriscrafm__Аналитик разговаривает на языке "бизнеса", Постановщик - на языке программы. Конечно эти роли можно объединить в одном человеке, если он знает хорошо и первое и второе. А кто-то говорит, что есть "бизнес-аналитики", а есть "системные аналитики". А кто-то впендюривает в эту цепочку "архитектора". А ещё как минимум вокруг действительно должен бегать РП. Итдитп. У разных людей по-разному, и я давно принял для себя, что надо или детально смотреть, как в конкретном месте, или же "не опускаться на уровень деталей" и не использовать, например, слово "аналитик", которое в разных случаях подразумевает совсем разные, буквально непересекающиеся списки обязанностей. в ИТ: системный аналитик = постановщик задач, перефразировано просто, Бизнес-аналитик - предоставляет требования к ПО со стороны бизнеса, часто в отрасли называют просто "аналитик". Просто это все не зафиксированные термины и в зависимости от отрасли интерпретируются как попало. Архитектор - "главный постановщик", который "видит" всю систему в целом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 14:02 |
|
|
start [/forum/topic.php?fid=33&msg=37843398&tid=1547839]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 164ms |
0 / 0 |