Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/43: Рейтинг темы: голосов - 43, средняя оценка - 4.58
 Аватар для davian
4 / 4 / 2
Регистрация: 07.07.2009
Сообщений: 122

Как организовать работу группы программистов

12.10.2010, 16:28. Показов 8941. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Короче у нас тут такая ситуация... Есть 3 человека. Нам надо втроем работать над одним проектом...

Так вот у кого есть опыт работы в команде над крупным проектом?

В каком виде друг другу передавать куски кода, как организовать взаимодействие между классами....

Скажем, можно так: сделать некое ядро, отладить его, и потом передавать во все классы через конструктор указатель на этот некий ядровый класс...

Поделитесь опытом командной работы, короче...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2010, 16:28
Ответы с готовыми решениями:

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

Если бы водителей принимали на работу как программистов
Вакансия: Водитель. Требования: 1. Профессиональные навыки управления грузовыми и легковыми автомобилями, троллейбусами, трамваями,...

Как организовать группы из записей
Доброго дня! В общем ситуация такова: есть оборудование, например радиорелейка, которая состоит из блока приема-передачи, модема и блока...

15
Заблокирован
13.10.2010, 00:47
Нужно разработать четкую архитектуру и спецификацию под нее . Далее разделить задачи на программистов и начать работу . Все взаимодействие должно быть на уровне архитектуры , а не на уровне задачи .
1
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
15.10.2010, 17:28
Хм, проект на 3 человека я бы не назвал крупным....

Тебе приходилось раньше заниматься управлением проектами? Как организована разработка сейчас? Чего ты хочешь добиться, организовав "работу команды"?

Добавлено через 1 час 33 минуты
PS: совсем забыл самое главное уточнить - а какова твоя-то роль (должность, положение...) во всей этой петрушке?
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
15.10.2010, 17:49
система контроля версий нужна, система контроля багов, хотя проект видимо невелик
а так наверняка нужно составить функциональную спецификацию, тз
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
15.10.2010, 20:10
система контроля багов
Имеется ввиду баг-трекер?
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
15.10.2010, 22:02
insideone, ага, ну для трех человек это слишком продвинуто =)
0
 Аватар для davian
4 / 4 / 2
Регистрация: 07.07.2009
Сообщений: 122
15.10.2010, 22:10  [ТС]
Цитата Сообщение от CheshireCat Посмотреть сообщение
Хм, проект на 3 человека я бы не назвал крупным....

Тебе приходилось раньше заниматься управлением проектами? Как организована разработка сейчас? Чего ты хочешь добиться, организовав "работу команды"?

Добавлено через 1 час 33 минуты
PS: совсем забыл самое главное уточнить - а какова твоя-то роль (должность, положение...) во всей этой петрушке?
Не знаю, автоматизированная система врача-рентгенолога, - это не большой проект?... Может быть.. 3 человека, это потому что особо народу нету...

Моя роль - инженер-программист. Занимаюсь БД, получением снимка, логированием, обработкой изображения фильтрами + надо реализовать поддержку DICOM принтера и сервера. У нас часто функции пересекаются...

Проблема в том, что сложно сводить всё в кучу. Я предполагаю, и предлагаю вариант черного ящика: Т.е. мы разделили функции, которые будем реализовывать, и друг другу сказали: "Мне нужно от тебя получить то-то в таком-то виде... тебе даю такие-то входные данные"... Т.е. я не обязан в его код вдаваться, чтобы написать свой кусок... Я правильно понимаю?.. Мне бы хотелось послушать организацию такой работы на конкретном небольшом примере.

Добавлено через 1 минуту
Цитата Сообщение от alex_x_x Посмотреть сообщение
а так наверняка нужно составить функциональную спецификацию, тз
Можно взглянуть на пример, как должны выглядеть эти документы? Если есть такой, конечно...
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
15.10.2010, 22:35
Цитата Сообщение от davian Посмотреть сообщение
Моя роль - инженер-программист. Занимаюсь БД, получением снимка, логированием, обработкой изображения фильтрами + надо реализовать поддержку DICOM принтера и сервера.
Ага. Понятно. Тебе уже дали тут несколько полезных советов, и наверняка дадут еще не один.

Но, сугубо имхо, - ты сейчас полез не в свое дело. В смысле, пытаешься взять на себя функции и ответственность, за выполнение которых тебе не заплатят. То есть, ты просто облагодетельствуешь работодателя.... Даже пожалуй так: в случае успеха ты ничего не получишь, а в случае провала - получишь все тумаки, синяки и шишки сполна.
Описанные тобою функции - это прерогатива руководителя проекта (Менеджера проекта), но никак не инженера-программиста. Сам понимаешь, что материальная компенсация за труд руководителя проекта должна быть несколько выше, чем инженера-программиста.

Это все, конечно, сугубо имхо... Если я этим еще не отбил у тебя охоту к познанию - welcome, пробуй задавать конкретные вопросы....
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
16.10.2010, 17:12
CheshireCat, истину глаголишь, я всякие SVN так вообще сисадмин должен ставить и настраивать )

Кстати а кто пишет ТЗ? Программист?
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
16.10.2010, 19:56
Лучший ответ Сообщение было отмечено как решение

Решение

ТЗ ? Программист? Да ни в коем случае! (при этом мы сразу исключаем из рассмотрения фирмы, где единственный "программист"-универсал - он и швец, и жнец, и на дуде игрец, и сеть протягивает, и бумагу в принтер секретарше заправляет....)

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

(Тут не зря некоторые слова написаны с заглавной буквы - это роли участников проекта. Причем, некоторые роли могут совмещаться в одном человеке - например, допустимо совмещение ролей Руководителя проекта, Системного аналитика и Системного архитектора. Но, например, совмещение ролей Руководителя проекта, Программиста (Разработчика) и Тестировщика - крайне не рекомендуется, хотя оно сплошь и рядом встречается в сверхмаленьких командах.)
1
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
16.10.2010, 20:33
Цитата Сообщение от CheshireCat Посмотреть сообщение
Но, например, совмещение ролей Руководителя проекта, Программиста (Разработчика) и Тестировщика - крайне не рекомендуется, хотя оно сплошь и рядом встречается в сверхмаленьких командах.)
Встречается, встречается... А сверхмаленькая команда это сколько? Вот допустим штат в 17 человек на какой уровень тянет?

Тогда уж ещё вопрос встает - это все на опыте как-нибудь приходит иль специализрованная литература какая существует? Не в общем плане, а именно в сфере создания ПО...
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
16.10.2010, 21:01
Сверхмаленькая команда - это 1-2-3 человека. Тут, как правило, совмещение ролей просто неизбежно. Хорошо, когда хотя бы один из участников понимает, какие вообще роли существуют в разработке, каковы сферы ответственности, как их разделить и т.п. Плохо, когда разработка ведется хаотично; ну или по принципу "лебедь, рак да щука", что и понятно.....
17 человек, если все они работают над одним проектом - это, пожалуй, средний уровень..... тут структурирование их работы просто неизбежно.

Что же касается второй части вопроса, то существует аж целая дисциплина - Управление проектами. И литература на эту тему существует, и учебные центры (ажник выдающие соответствующие сертификаты) и т.п. Но, конечно, опыт - вещь нисколько не менее важная, а порой незаменимая.
Вот некоторый список литературы по управлению проектами (все существует в электронном виде, гугл в помощь) - не исчерпывающий, конечно... :
PMBoK 2004 rus.pdf
Анализ требований и создание архитектуры решений на основе Microsoft .NET..pdf
Архипенков Руководство командой разработчиков ПО.pdf
Архипенков Управление проектами.pdf
Берлинский Константин Набор серебряных пуль.pdf
Брукс Фредерик Мифический человеко-месяц.pdf
Вигерс Карл Разработка требований к программному обеспечению.pdf
ДеМарко Том Deadline.pdf
ДеМарко Том Вальсируя с медведями.pdf
ДеМарко Том Человеческий фактор.pdf
Йордон Эдвард Смертельный марш.pdf
Орлов Технологии разработки ПО.pdf
Панкаж Джалота - Управление программным проектом на практике.djvu
Рейнвотер Как пасти котов.djvu
Ройс Уолтер Управление проектами по созданию ПО.pdf
Салливэн Эд Время - деньги.pdf
Фатрелл Управление программными проектами.djvu

Наиболее важные (удачные?) с моей точки зрения книги выделены.
2
16.10.2010, 21:43

Не по теме:

CheshireCat, Отдельное спасибо за выделение, люблю читать в бумаге, однако всего не купишь :)

0
 Аватар для davian
4 / 4 / 2
Регистрация: 07.07.2009
Сообщений: 122
16.10.2010, 22:19  [ТС]
Цитата Сообщение от CheshireCat Посмотреть сообщение
Плохо, когда разработка ведется хаотично; ну или по принципу "лебедь, рак да щука"
Поэтому я и завел эту тему... У меня в университете по Технологии разработки ПО трояк был... У нас с "коллегой", очень часто возникают споры о том, как релизовать одну небольшую подзадачу, не говоря уже о структуре проекта в целом... Поэтому мне бы хотелось бы получить конкретные рекомендации по решению этого вопроса... Я бы тогда мог перед начальством какие-то условия поставить, поскольку у нас тендер на конец декабря, к этому сроку надо сдать софт, а мы только и занимаемся, что спорим о структуре...

Описанные тобою функции - это прерогатива руководителя проекта (Менеджера проекта), но никак не инженера-программиста.
Немного не понял... У кого есть опыт работы в нормально организованной группе программистов, поделитесь, что такое, в деталях, работа рядового программиста. Он получает задание в каком-то виде, сроки какие-то или что???
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
16.10.2010, 23:05
Вот именно. "Рядовой программистских войск" ((с) не мое) именно получает задание в более или менее подробном виде (как правило, это - функциональная спецификация модуля. То есть, специфицируется взаимодействие модуля с окружающей средой - входные и выходные интерфейсы, входные и выходные данные, но, как правило, не специфицируется его внутреннее устройство.), сроки. Уточняет, что неясно по содержанию этого задания, возможно, обсуждает и добивается коррекции сроков, и - выполняет. (При этом пишет юнит-тесты на все оговоренные интерфейсы и добивается успешного их прохождения.) Все.

Рядовой программист не несет ответственности за "у нас тендер на конец декабря, к этому сроку надо сдать софт". Будет ли сдан софт, не будет ли, да и будет ли вообще написан какой-либо софт - вообще не его головная боль. Равно как рядовой программист не занимается ни проектированием количества и взаимодействия этих модулей, согласованностью их интерфейсов, и прочими подробностями (а занимается этим - Архитектор или Тим-лидер).

Как в армии - рядовой получил четкий приказ и должен его выполнить. Все. Успех фронтовой операции в целом - вне его ответственности.
1
 Аватар для javasc
6 / 5 / 2
Регистрация: 08.11.2010
Сообщений: 192
23.11.2010, 06:28
Цитата Сообщение от davian Посмотреть сообщение
Короче у нас тут такая ситуация... Есть 3 человека. Нам надо втроем работать над одним проектом...

Так вот у кого есть опыт работы в команде над крупным проектом?

В каком виде друг другу передавать куски кода, как организовать взаимодействие между классами....

Скажем, можно так: сделать некое ядро, отладить его, и потом передавать во все классы через конструктор указатель на этот некий ядровый класс...

Поделитесь опытом командной работы, короче...
на сервер установить redmine, программисты подключаются к redmine (это как сайт, на php написан), смотрят задания и делают.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2010, 06:28
Помогаю со студенческими работами здесь

Как организовать работу?
помогите пожалуста как реализовать такое приложение на Visual C++ Оценка экспорта фирмы(используя класы фирма покупатель продовец...

Как организовать работу роутера за ПК?
Имеется ПК с двумя сетевыми картами и Windows 7. Имеется роутер Asus RT-N66U. Нужно сделать следующую схему: Компьютер - роутер. ...

1C как организовать работу сервера?
Здравствуйте уважаемые форумчане. В очередной раз прошу вашей помощи. В общем ситуация такая. Есть Сервер с системой Windows server 2003,...

Как организовать работу с базой?
Сама я еле-еле в программировании, один семестр только, но на работе, где некого спросить, поставили задачу организовать работу с базой в...

Как организовать корпоративную работу с Outlook ?
Народ !!! ПОмогите !!! КАк сделать Outlook с единой базой контактов и т.д. для всех пользоватеелй ? Чтобы изменения одним из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru