powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разделение труда при разработке программ
24 сообщений из 24, страница 1 из 1
Разделение труда при разработке программ
    #37835400
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое бросающееся в голову разделение:

1) Аналитик - написал ТЗ, описал структуры, функции
2) Проектировщик БД - сделал структуру БД
3) Программист - написал код на структуру

Но, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы.

ВОЗМОЖНО, выход - DDD, который предлагает разработку без структуры. Но мне не понятна технология. Как можно писать программу когда база данных еще не существует.

Или же принять схему указанную выше в пунктах 1,2,3 но как то модифицировать ?
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37835788
Александр Пузаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogНо, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы.


Вот именно по этому каждый аналитик должен быть немного проектировщиком БД и немного программистом, каждый проектировщик БД должен быть немного аналитиком и немного программистом, а каждый программист должен быть немного аналитиком и немного проектировщиком БД :) Разделение труда разделением труда, но когда в одну команду собираются слабо понимающие друг друга люди, они тааакую ерунду ваяют...
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37835969
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogНо, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы.Вообще эти три роли существуют в команде до конца проекта, а не так, что аналитик написал ТЗ, уволился, Проектировщик сделал БД, уволился, а программист потом всё это расхлёбывает :-) Увидят какие то недоработки, поменяют БД, логику или что то ещё - все вместе, а не один программист.
AlexsalogНо мне не понятна технология. Как можно писать программу когда база данных еще не существует.Непонятно, что тут непонятного :-)

Обычное разделение приложения на слои, которые можно разрабатывать независимо. Интерфейсы то есть...
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37836203
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogНо мне не понятна технология. Как можно писать программу когда база данных еще не существует.
Для взаимодействия между модулями приложения должны быть определены интерфейсы. Реализация может быть заменена заглушками и значительно отставать. А интерфейсы в случае БД пишутся по сути по результатам работы аналитика.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37841539
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogСамое бросающееся в голову разделение:

1) Аналитик - написал ТЗ, описал структуры, функции
2) Проектировщик БД - сделал структуру БД
3) Программист - написал код на структуру

Но, структура БД может меняться по мере разработки кода потому что не были видны всякие нюансы.

Можно еще круче разделить: проектировщик таблиц, проектировщик представлений, программист хранимых процедур, программист интерфейса.
А если серьезно, то я бы выделил пять ролей -
0. Руководитель
1. Аналитик (ТЗ, логика работы, общение с постановщиками задачи),
2. Архитектор
3. Программист
4. Тестер.
Роли 0 и 2 или 2 и 3 могут совмещаться в одном человеке, это уже зависит от скиллов человека и размеров рабочей группы. А вот отделять "одно программирование от другого" неэффективно. Связь между разработчиками должна проходить по интерфейсам разрабатываемых ими модулей :) А если один программист пишет БД, второй над ней сооружает бизнес-логику, то они не смогут работать параллельно, второй будет ожидать первого, они постоянно будут между собой общаться, решать какие-то вопросы, которых в принципе не было бы, если и логику, и соответствующую ей схему данных вел бы один человек.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37841721
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошитель,

все очень просто
1. Аналитик + инструмент
2. Кодер + инструмент
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37841756
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДжекНепотрошительА если серьезно, то я бы выделил пять ролей -
0. Руководитель
1. Аналитик (ТЗ, логика работы, общение с постановщиками задачи ),
2. Архитектор
3. Программист
4. Тестер.

у вас же нет в списке выделенного, с кем общаться?
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843341
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__у вас же нет в списке выделенного, с кем общаться?
А должен? Постановщик задачи в общем случае к разработке программ никакого отношения иметь не обязан. Это некое лицо, которое хочет, чтобы компьютер чё-то делал. В хорошем случае он может это формально описать, в плохом - не может, но для этого как раз и нужен аналитик. Поговорить, понять и формализовать.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843366
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДжекНепотрошительiscrafm__у вас же нет в списке выделенного, с кем общаться?
А должен? Постановщик задачи в общем случае к разработке программ никакого отношения иметь не обязан. Это некое лицо, которое хочет, чтобы компьютер чё-то делал. В хорошем случае он может это формально описать, в плохом - не может, но для этого как раз и нужен аналитик. Поговорить, понять и формализовать.
постановщик - эта как раз тот человек, который переводит то, что "узнал" аналитик о задаче в структуры, понятные разработчику (программисту), т.е. "переводчик" с языка бизнеса, на котором говорит аналитик. Проектировщик, архитектор, образно.

на вскидку, из вакансий:

обязанностиОсновные рабочие процессы, выполняемые постановщиком задач:
-разработка общих проектных моделей (функциональных, информационных, технологических, компонентных и др.) автоматизированных систем или их составных частей;
-определение структуры функциональных программных компонентов, планирование их изготовления;
-полное проектирование функциональных программных компонентов: структур данных, алгоритмов, визуальных форм, программных интерфейсов;
-выдача заданий командам программистов;
-контроль процессов программной реализации; участие в функциональном тестировании;
-приемка результатов программной реализации и их передача в проектно-внедренческие центры для ввода в эксплуатацию, активное участие во внедрении и последующем сопровождении созданных программных изделий.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843390
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__постановщик - эта как раз тот человек, который переводит то, что "узнал" аналитик о задаче в структуры, понятные разработчику (программисту), т.е. "переводчик" с языка бизнеса, на котором говорит аналитик. Проектировщик, архитектор, образно.

Да ничего подобного. Постановщик задачи - это персона, олицетворяющая заказчика. Просто во многих специализированных разработческих конторах так называют аналитика/проектировщика, который пишет ТЗ. Это частный случай, и не нужно в него упираться. Ставить задачу может как компетентное в разработке лицо, так и некомпетентное, в обоих случаях он будет постановщиком.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843394
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__обязанностиОсновные рабочие процессы, выполняемые постановщиком задач:
-разработка общих проектных моделей (функциональных, информационных, технологических, компонентных и др.) автоматизированных систем или их составных частей;
-определение структуры функциональных программных компонентов, планирование их изготовления;
-полное проектирование функциональных программных компонентов: структур данных, алгоритмов, визуальных форм, программных интерфейсов;
-выдача заданий командам программистов;
-контроль процессов программной реализации; участие в функциональном тестировании;
-приемка результатов программной реализации и их передача в проектно-внедренческие центры для ввода в эксплуатацию, активное участие во внедрении и последующем сопровождении созданных программных изделий.
Кстати, это - вообще не постановщик. Это называется "руководитель проекта" :)
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843398
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДжекНепотрошительiscrafm__постановщик - эта как раз тот человек, который переводит то, что "узнал" аналитик о задаче в структуры, понятные разработчику (программисту), т.е. "переводчик" с языка бизнеса, на котором говорит аналитик. Проектировщик, архитектор, образно.

Да ничего подобного. Постановщик задачи - это персона, олицетворяющая заказчика. Просто во многих специализированных разработческих конторах так называют аналитика/проектировщика, который пишет ТЗ. Это частный случай, и не нужно в него упираться. Ставить задачу может как компетентное в разработке лицо, так и некомпетентное, в обоих случаях он будет постановщиком.
мне все же ближе классическое определение роли Постановщика (в предыдущем сообщении перечислены основные задачи, которые он решает). Никогда Постановщик не олицетворял заказчика, по крайней мере в моей практике. Да и в классике тоже.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843780
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДжекНепотрошительiscrafm__пропущено...

Кстати, это - вообще не постановщик. Это называется "руководитель проекта" :)
пропустил это сообщение... Руководитель проекта занимается руководством проектом, а не постановкой задачи. И уж точно не разрабатывает модели ПО, структуру, программные интерфейсы и т.д. из перечисленного в обязанностях. Это классические функции Постановщика, который "ставит задачу программистам"
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843832
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__пропустил это сообщение... Руководитель проекта занимается руководством проектом, а не постановкой задачи. И уж точно не разрабатывает модели ПО, структуру, программные интерфейсы и т.д. из перечисленного в обязанностях. Это классические функции Постановщика, который "ставит задачу программистам"

Вы, вероятно, знакомы только с одним (причем наиболее малочисленным) видом разработки ПО - с рабочими группами по сотне-другой разноплановых специалистов.
Ключевые обязанности здесь
"-выдача заданий командам программистов;
-контроль процессов программной реализации"
Выдача заданий и контроль - исключительно прерогатива руководителя, а не постановщика. А остальные задачи, и постановку, и разработку архитектуры он может выполнять опционально, в зависимости от размера рабочей группы и совмещения ответственности.
В остальном - это исключительно вопрос терминологии. Вы "постановщиком" называете человека, который делает техническое задание. Я называю этих людей "аналитиками" и "архитекторами". В моей практике процесс выглядит так:
Постановщик (заказчик) готовит постановку задачи (постановка задачи - это, по сути, заказ программы, а не частные подзадачи, которые раздаются инженерам в процессе их работы)
Аналитики, архитектор готовят техническое задание на основе постановки задачи и согласуют его с заказчиком
Рабочая группа выполняет работы по техзаданию. Их раздают и контролируют на микроуровне тимлиды, на макро - руководитель проекта.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843877
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДжекНепотрошительiscrafm__пропустил это сообщение... Руководитель проекта занимается руководством проектом, а не постановкой задачи. И уж точно не разрабатывает модели ПО, структуру, программные интерфейсы и т.д. из перечисленного в обязанностях. Это классические функции Постановщика, который "ставит задачу программистам"

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

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

ДжекНепотрошительВыдача заданий и контроль - исключительно прерогатива руководителя, а не постановщика. А остальные задачи, и постановку, и разработку архитектуры он может выполнять опционально, в зависимости от размера рабочей группы и совмещения ответственности.
В остальном - это исключительно вопрос терминологии. Вы "постановщиком" называете человека, который делает техническое задание. Я называю этих людей "аналитиками" и "архитекторами". В моей практике процесс выглядит так:
Постановщик (заказчик) готовит постановку задачи (постановка задачи - это, по сути, заказ программы, а не частные подзадачи, которые раздаются инженерам в процессе их работы)
Аналитики, архитектор готовят техническое задание на основе постановки задачи и согласуют его с заказчиком
Рабочая группа выполняет работы по техзаданию. Их раздают и контролируют на микроуровне тимлиды, на макро - руководитель проекта.
примерно так и происходит на непрофильных предприятиях, где разработка ПО - обслуживающий вспомогательный процесс. Мы просто о разных областях похоже говорим. Я все же основываюсь на профильных структурах, где разработка ПО - основное производство.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37843890
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__софтверные компании конечно можно назвать "наиболее малочисленным" видом разработки ПО, по сравнению с количеством отделов, групп, департаментов и т.п. на предприятиях, но это уже как-то слишком, имхо.

Крупные софтверные компании. На сотню крупных приходится десять тысяч мелких, где процесс организации работ не сильно отличается от ИТ-департаментов на предприятиях.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844125
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошитель,

постановщик всегда был чек, который формализовал задачу для прогера
в каждом ОАСУП была группа постановщиков
в их обязанностт входила
1. Сбор требований
2. фомализация задачи (на раннх периодах опускались до размера ячеек памяти и адресной арифметике)
3. согласование с заказчиком
4. и тестирование :)
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844156
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сахават,
тестирование все же "поверхностное", т.е. сравнение ожидаемого и результата. Детальным тестированием занимались тестеры, которые в качестве исходной информации используют ТЗ, выданное постановщиком.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844161
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__тестирование все же "поверхностное",
Безусловно. Постановщик (он же аналитик) должен участвовать в тестировании в основном чтобы дать вердикт "да, это именно то, что я имел в виду".
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844190
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerПостановщик (он же аналитик)
у нас это были разные люди, Аналитик - "клиенто-ориентированный" интерфейс, Постановщик - "системно-ориентированнный", образно
Хотя, в небольших конторах эти роли часто совмещаются.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844201
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__у нас это были разные люди,
У этой цепочки два конца, клиент и софт. А вот количество людей в ней может быть переменным, их названия и обязанности от случая к случаю различаются. Поэтому в таких "общих" разговорах я воспринимаю эту цепочку как единую сущность, предпочитаю не лезть глубже в детализацию.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844215
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,
Аналитик разговаривает на языке "бизнеса", Постановщик - на языке программы. Конечно эти роли можно объединить в одном человеке, если он знает хорошо и первое и второе.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844237
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm__Аналитик разговаривает на языке "бизнеса", Постановщик - на языке программы. Конечно эти роли можно объединить в одном человеке, если он знает хорошо и первое и второе.
А кто-то говорит, что есть "бизнес-аналитики", а есть "системные аналитики". А кто-то впендюривает в эту цепочку "архитектора". А ещё как минимум вокруг действительно должен бегать РП. Итдитп. У разных людей по-разному, и я давно принял для себя, что надо или детально смотреть, как в конкретном месте, или же "не опускаться на уровень деталей" и не использовать, например, слово "аналитик", которое в разных случаях подразумевает совсем разные, буквально непересекающиеся списки обязанностей.
...
Рейтинг: 0 / 0
Разделение труда при разработке программ
    #37844290
iscrafm__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwareriscrafm__Аналитик разговаривает на языке "бизнеса", Постановщик - на языке программы. Конечно эти роли можно объединить в одном человеке, если он знает хорошо и первое и второе.
А кто-то говорит, что есть "бизнес-аналитики", а есть "системные аналитики". А кто-то впендюривает в эту цепочку "архитектора". А ещё как минимум вокруг действительно должен бегать РП. Итдитп. У разных людей по-разному, и я давно принял для себя, что надо или детально смотреть, как в конкретном месте, или же "не опускаться на уровень деталей" и не использовать, например, слово "аналитик", которое в разных случаях подразумевает совсем разные, буквально непересекающиеся списки обязанностей.
в ИТ: системный аналитик = постановщик задач, перефразировано просто, Бизнес-аналитик - предоставляет требования к ПО со стороны бизнеса, часто в отрасли называют просто "аналитик". Просто это все не зафиксированные термины и в зависимости от отрасли интерпретируются как попало. Архитектор - "главный постановщик", который "видит" всю систему в целом.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разделение труда при разработке программ
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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