|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Все давно известно, что группавая разработка сложнее. Но вот интересует на сколько? И есть ли какие-то метрики? Для примера. Есть проект 1 человеко/год. Но год разрабатывать это долго, поэтому принято решение, что в проекте будет учавствовать 3 человека. На сколько уменьшится/увеличится разработка? Пока по субъективным предварительным оценкам - ВРЕМЯ НЕ УМЕНЬШАЕТСЯ !!! Но имеем конечно другие плюсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 12:28 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Но имеем конечно другие плюсы. Это какие ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 12:45 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Ну как минимум отсутствие этого одного сотрудника становится не так критично. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 13:12 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Ну и есть подозрение, что один разработчик этот проект делал бы ТРИ ГОДА :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 13:13 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Фредерик П.Брукс. Мифический человеко-месяц ... http://lib.ru/CTOTOR/BRUKS/mithsoftware.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 13:19 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
tru55Фредерик П.Брукс. Мифический человеко-месяц ... http://lib.ru/CTOTOR/BRUKS/mithsoftware.txt Спасибо, да, знаю про такую книгу. Но хотел бы услышать практические советы, может быть кто сталкивался с такой ситуацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 13:36 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Но хотел бы услышать практические советы, может быть кто сталкивался с такой ситуацией. Сталкивался. Ничего лучше группы главного программиста по Бруксу не существует. Почему - можно объяснить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 14:01 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Ну и есть подозрение, что один разработчик этот проект делал бы ТРИ ГОДА :-) Согласно Дейкстре производительность труда двух хороших программеров может отличаться на два порядка - выводы делайте сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 14:03 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
_мод student2007Ну и есть подозрение, что один разработчик этот проект делал бы ТРИ ГОДА :-) Согласно Дейкстре производительность труда двух хороших программеров может отличаться на два порядка - выводы делайте сами. А можно чуть подробнее? Я правильно понял: 2 лучше чем 1, но 3 хуже чем 2 ? Причем команда из 2 лучше чем 1 в 100 раз ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 14:06 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Все будет зависеть от грамотности (таланта, опыта и т.п.) PM'а. Иначе - лебедь, рак и щука (как раз трое)... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 14:19 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007 _мод student2007Ну и есть подозрение, что один разработчик этот проект делал бы ТРИ ГОДА :-) Согласно Дейкстре производительность труда двух хороших программеров может отличаться на два порядка - выводы делайте сами. А можно чуть подробнее? Я правильно понял: 2 лучше чем 1, но 3 хуже чем 2 ? Причем команда из 2 лучше чем 1 в 100 раз ? Думаю, многое зависит от хорошей сработанности команды. Если люди в команде понимают друг друга с полуслова, и каждый выполняет свою часть работы и знает, что должно получиться в итоге, то здесь имхо и 2 лучше чем 1, и 3 лучше чем 2. В противном случае, чем больше народу, тем больше времени будет уходить на болтовню, договоры и переговоры между ними. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 14:22 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Причем команда из 2 лучше чем 1 в 100 раз ? Команда до 10 чел: состав: 1 главный - пишет почти весь код (д.б. с высокой производительностью) 2 помошник - знает весь код и кое-что пишет 3,4,5 ... технические помощники, тестеры и т.д ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 14:25 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
_мод student2007Причем команда из 2 лучше чем 1 в 100 раз ? Команда до 10 чел: состав: 1 главный - пишет почти весь код (д.б. с высокой производительностью) 2 помошник - знает весь код и кое-что пишет 3,4,5 ... технические помощники, тестеры и т.д Да, встречалось в книге про Миф. чел. месяц такая организация работ. А кто-нибудь реально в жизни применял? Ну чтобы ОДИН писал, а остальные 9 помогали (чай/кофе, массаж, за пивом сбегать :-) Что-то мне подсказывает, что для российкой действительности это не совсем подходит ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 15:03 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
_мод 1 главный - пишет почти весь код (д.б. с высокой производительностью) а оно ему надо? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 15:14 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Что-то мне подсказывает, что для российкой действительности это не совсем подходит Это верно (вопрос - почему) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 16:12 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007 tru55Фредерик П.Брукс. Мифический человеко-месяц ... http://lib.ru/CTOTOR/BRUKS/mithsoftware.txt Спасибо, да, знаю про такую книгу. Но хотел бы услышать практические советы, может быть кто сталкивался с такой ситуацией. Знаю или читал? Толковый практический совет не видя ситуации дать невозможно. Можно только диагноз поставить, который тут уже почти прозвучал: плохое руководство проектом. На 3 разработчиках вполне реально в большинстве случаев получить почти линейный рост производительности. Опишите чуть подробнее специфику работы, команду и то, как распределяется работа - тогда может что-то более определенное можно будет посоветовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 18:18 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Есть задача переписать уже работающую систему на новый лад с учетом 200 пожеланий и выявленных пользователями багов. Задачи разделили на 3-х программистов. Роли как таковые не распределены. Один в роли архитектор/программист 50/50, и двое программисты. На текущий момент вижу что архитектора 50% явно не хватает. Есть предложение вывести одного только на проектирование. Ну и два программиста. Тестеров как всегда нет, на завершающем этапе будут юзеры. Т.е. по времени максимум получим уменьшение сроков на 50%, ну а более реально на 30%. Т.е. проект 1 человеко/год ТРИ программиста будут делать 9 месяцев (субъективно). Уменьшение сроков линейно добавлением программистов мне кажется утопичной идеей. Я таких проектов не видел. Но видел проекты, которые заваливались от ИЗБЫТКА лишних людей. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 21:53 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
_мод student2007Что-то мне подсказывает, что для российкой действительности это не совсем подходит Это верно (вопрос - почему) Ну на самом деле причин много. Как одна из них у нас специалисты часто многофункциональны и мало кто любит заниматься узкой специализацией. Причем часто разница зарплат сказывается, поэтому часто бывает, что хоть и не умею программировать, но тестирование это ниже меня, поэтому все-равно будут программировать. Даже если и не получится - хоть кнопки понажимаю! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 22:13 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Три человека гут! Они стопудова проведут более полноценное планирование системы, и прочие подготовительные мероприятия, чем один. У одиночки больше вариантов свалиться на "щас напишу, потом исправлю, зато сразу чо-то будет". (в результате, к концу проекта, это "чо-то" представляет собой изяшно прозаплаченый кусок, простите за бедность речи, г-на, которое может быть использовано только девелопером, а не конечным пользователем, для которого все собственно делалось) В то время как три и более людей, это уже команда, т.е. будет взаимодействие, т.е. как минимум будет наличие планирования архитектуры и интерфейсов взаимодействия. А где Аэропорт я не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 22:58 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Ээээ.. я чот не понял... так чо, надо всего 200 функциональных требований реализовать да пофиксить? Кстати, кто их формализовывал? Блин, если среди программеров нет взаимодействия, задача сводится к типовой и 200/3 будет быстрее чем 200/1 student2007Есть задача переписать уже работающую систему на новый лад с учетом 200 пожеланий и выявленных пользователями багов. Задачи разделили на 3-х программистов. Роли как таковые не распределены. Один в роли архитектор/программист 50/50, и двое программисты. На текущий момент вижу что архитектора 50% явно не хватает. Есть предложение вывести одного только на проектирование. Ну и два программиста. Тестеров как всегда нет, на завершающем этапе будут юзеры. Т.е. по времени максимум получим уменьшение сроков на 50%, ну а более реально на 30%. Т.е. проект 1 человеко/год ТРИ программиста будут делать 9 месяцев (субъективно). Уменьшение сроков линейно добавлением программистов мне кажется утопичной идеей. Я таких проектов не видел. Но видел проекты, которые заваливались от ИЗБЫТКА лишних людей. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 23:03 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Все давно известно, что группавая разработка сложнее. Но вот интересует на сколько? И есть ли какие-то метрики? Для примера. Есть проект 1 человеко/год. Но год разрабатывать это долго, поэтому принято решение, что в проекте будет учавствовать 3 человека. На сколько уменьшится/увеличится разработка? Пока по субъективным предварительным оценкам - ВРЕМЯ НЕ УМЕНЬШАЕТСЯ !!! Но имеем конечно другие плюсы. Смотря, насколько сильно будут изменяться требования, как будет изначально создана архитектура, как распределена работа, насколько соответствуют навыки и способны договориться люди. По опыту, лучший результат получается, когда ведущему программисту самому дают подобрать себе с помощью HR'ов пару-тройку помощников, и раздать им рутинную часть своей работы. Но это бывает редко: берут либо тех, кто подешевле, либо "своих", а потом ПМ, чтобы оправдать свой высокий статус, старательно всеми управляет в стиле "партия, дай порулить!" ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2008, 23:58 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
AlexTheRaven По опыту, лучший результат получается, когда ведущему программисту самому дают подобрать себе с помощью HR'ов пару-тройку помощников, и раздать им рутинную часть своей работы. Но это бывает редко:... Обещают. Через год... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2008, 06:54 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
MedvichЭэээ.. я чот не понял... так чо, надо всего 200 функциональных требований реализовать да пофиксить? Кстати, кто их формализовывал? Блин, если среди программеров нет взаимодействия, задача сводится к типовой и 200/3 будет быстрее чем 200/1 Ну как пофиксить... В духе Дом 12-этажный построили, все хорошо, вот только потолки надо на 5см. повыше, некоторые стены перенести на 5 см, и окна пошире на 5 см. Вот вам Дом и 3 Бага. Фигня, там же всего на 5см. все сдвинуть. За неделю управитесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2008, 06:59 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
умножать, делить и получать полтора землекопа можно при наличии грамотного бизнес-аналитика, котрый знает предмет автоматизации. Т.к. программист в банковской сфере, это не программист в ГЕО-задачах. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2008, 14:48 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Согласен. + архитектора, тестера, писателя, саппорта. Но есть всего три. Вот три человека и делите все на них. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2008, 15:09 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Т.е. проект 1 человеко/год ТРИ программиста будут делать 9 месяцев (субъективно) Что-то не то с математикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2008, 17:36 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовЧто-то не то с математикой. Вот в том-то и беда, что многие только одну математику и принимают во внимание. По вашему правильней будет: один программист пишет 12 месяцев. три 4 месяца, а если взять 24 студента на практику, то они напишут за 2 недели? С точки зрения математики так получается? :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2008, 11:23 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Тогда как лучше распределить работу на троих? Ну вот представьте надо написать систему Х, есть 3 программиста. Какие роли лучше выделить? ВАРИАНТ 1 1 аналитик/архитектор - ни чего не пишет. 2-е пишут по спецификациям аналитика ВАРИАНТ 2 1 аналитик/архитектор/главный программист - делает 60% работы 2-е помогают в написании вспомогательных модулей ВАРИАНТ 3 Разбиваем на модули, каждый пишет свой модуль, потом пытаемся все соединить. Какой вариант наиболее жизнеспособный с точки зрения сроки/качество ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2008, 11:28 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Какой вариант наиболее жизнеспособный с точки зрения сроки/качество ? Ессно 2. В 1 работа архитектора пойдет в урну. В 3 замучаешься стыковать модули ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 09:13 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007 Ну вот представьте надо написать систему Х, есть 3 программиста. система уравнений не имеет решения. ЗЫ. Опиши конкретно задачу ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 09:14 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Petro123 ЗЫ. Опиши конкретно задачу Обычная такая задача. Есть ТЗ (хлам) надо написать систему, которая будет выполять ... (тут можно вставить все что угодно, не принципиально) ... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 10:46 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
_мод student2007Какой вариант наиболее жизнеспособный с точки зрения сроки/качество ? Ессно 2. В 1 работа архитектора пойдет в урну. В 3 замучаешься стыковать модули Точно? Пробовали в жизни? Работает? Почему-то обычно пытаются работать по правилу 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 10:49 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007 _мод student2007Какой вариант наиболее жизнеспособный с точки зрения сроки/качество ? Ессно 2. В 1 работа архитектора пойдет в урну. В 3 замучаешься стыковать модули Точно? Пробовали в жизни? Работает? Почему-то обычно пытаются работать по правилу 1. пытаются, только не в случае небольшого проекта и 3-х программистов ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 11:10 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
1 чел выкопает яму за 2 часа 2 чел - за 1 час 4 чел - за 30 минут а 10 чел, если будут вместе пытаться рыть - ничего не сделают ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 11:46 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Все давно известно, что группавая разработка сложнее. Но вот интересует на сколько? И есть ли какие-то метрики? Для примера. Есть проект 1 человеко/год. Но год разрабатывать это долго, поэтому принято решение, что в проекте будет учавствовать 3 человека. На сколько уменьшится/увеличится разработка? Пока по субъективным предварительным оценкам - ВРЕМЯ НЕ УМЕНЬШАЕТСЯ !!! Но имеем конечно другие плюсы. Эффективность работы группы программистов обратно пропорциональна их количеству ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 12:17 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Какой вариант наиболее жизнеспособный с точки зрения сроки/качество ? Варианты 1 или 3 Вариант 3 подойдёт, если работа очень хорошо делится на модули (вплоть до того, что каждый из модулей можно эксплуатировать независимо). Кроме того, нужен аналитик - хотя-бы бизнес-требования описать. На практике получается вариант 2, т.к. двоих программистов к архитектору берут совсем никаких :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 12:18 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
iscrafmпытаются, только не в случае небольшого проекта и 3-х программистов Согласен. В том-то и вся беда, что ситуация какая-то пограничная. 1---->> ----10, с одним вопросов нет, даже с двумя вопросов нет :-) а третьего куда девать? :-) ну с 10-ю тоже уже становится более менее понятно - можно разбить на роли: архитектор, дизайнер, программист, тестер и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 12:29 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
alexeyvgНа практике получается вариант 2, т.к. двоих программистов к архитектору берут совсем никаких :-) Это про что ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 12:30 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Точно? Пробовали в жизни? Работает? Почему-то обычно пытаются работать по правилу 1. 1 - Это для больших проектов, когда работа делится не между людьми а между группами. Для малых и средних проектов архитектор=главный программист - вариант 2. Я пробовал и 1 и 2. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 12:52 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007 1 аналитик/архитектор - ни чего не пишет. не аналитик, а бизнес-аналитик. Он не должен быть программистом (если бизнес-область не "учёт выхода сотрудников на работу"). 2. IMHO Функциональные обязанности: - бизнес-аналитик (непрограммист) - архитектор (можно совместить на четветь ставки с программистом) - программист-кодер :) Если пишем ИС "Калькулятор", то первого и третьего можно сократить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 13:35 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007 _мод student2007Какой вариант наиболее жизнеспособный с точки зрения сроки/качество ? Ессно 2. В 1 работа архитектора пойдет в урну. В 3 замучаешься стыковать модули Точно? Пробовали в жизни? Работает? Почему-то обычно пытаются работать по правилу 1. Правило 2 - рулит. Архитектор пишет скелет (+ документацию по нему), остальные - мясо. В результате во всей системе все сделано более-менее одинаково. Каждый знает, что ожидать от схожих процессов. А в схеме 1 происходит отделение "идей" от "реализации" и все идет в разнос. Делить на модули можно (схема 3), но тогда надо быть готовыми к тому, что одни и те же вещи будут реализованы по нескольку раз и всегда по-разному. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 13:40 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Тогда как лучше распределить работу на троих? ВАРИАНТ 2 1 аналитик/архитектор/главный программист - делает 60% работы 2-е помогают в написании вспомогательных модулей ВАРИАНТ 3 Разбиваем на модули, каждый пишет свой модуль, потом пытаемся все соединить.Пробовали работать по ВАРИАНТУ 4, который является комбинацией из 2 и 3. Был проект по созданию ПО для вещания метеосводок в аэропортах в атоматическом режиме. В команде было 3 человека. Распределение ролей в команде было сделано согласно квалификации и опыта (кто с чем справится). Один человек был архитектором внутреннего взаимодействия модулей в системе. Второй (руководитель проекта) - идеолог системы вцелом. Вся система была разбита на модули, все модули были закреплены за отдельным человеком (в т.ч. и за Архитекторами). Модули закреплялись за человеком исходя из оценки сложности модуля, трудоемкости, из квалификации человека. Человек, отвечающий за свой модуль, был главный в этом вопросе и сам определял внутреннюю архитектуру модуля и как он работал. В некоторых модулях надо было быть "бизнес аналитиком", например, там где речь касалась правил вещания сводок в эфир и правил разбора и обработки метеотелеграмм. Выделенного человека на тестировании не было, но 70% тестирования проводил один из нас. Проект был сделан успешно, система заработала и была установлена в несколько аэропортов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 14:04 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Спасибо. Немного начинает укладываться в голове. Тоже склоняюсь к варианту 2 - как наиболее стабильно работающий. Но, тогда мы не получаем принципиального сокращения СРОКОВ!!! На модули поделить можно, но они тесно связаны друг с другом, поэтому очень хлопотно их объединить. Было бы здорово выделить отдельного архитектора, который бы думал и писал спецификации, но тогда я считаю, что его не имеет смысла привлекать к программированию - будет или плохая архитектура или плохой код (а наверное и то и другое). А потом архитектор и программисты еще и подерутся. И опять склоямся к варианту 2. Так это что же? Получается мелкие/средние проги проще поручить ОДНОМУ программисту, чем команде? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 15:29 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007 На модули поделить можно, но они тесно связаны друг с другом, поэтому очень хлопотно их объединить. можно предположить, что это вопрос от НЕархитектора. student2007 Было бы здорово выделить отдельного архитектора, который бы думал и писал спецификации, но тогда я считаю, что его не имеет смысла привлекать к программированию - будет или плохая архитектура или плохой код (а наверное и то и другое). А потом архитектор и программисты еще и подерутся. вот найдите архитектора (как главного человека-спеца в проектировании ИС), и у него спросите. Будете влазить в его работу - загубите проект. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 15:38 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Так это что же? Получается мелкие/средние проги проще поручить ОДНОМУ программисту, чем команде? Проблема только его найти :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 15:54 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007ВАРИАНТ 3 Разбиваем на модули, каждый пишет свой модуль, потом пытаемся все соединить. Неэффективность этого подхода доказана в начале семидесятых годов прошлого века. Ключевые факторы, перечисляя по памяти: наиболее серьезные проблемы, в том числе архитектурные, вскрываются в самом конце работ и влекут за собой кучу переделок уже реализованного; большие затраты на тестирование и/или плохое качество оного в связи с невозможностью до последнего времени отлаживаться в реальной среде, затраты на подготовку тестовых данных; отсутствуют метрики, которые показывали бы степень реальной готовности проекта; поскольку до последнего момента вместо "программы" есть "куча модулей", заказчик не может пощупать промежуточные версии и оперативно уточнить задачу. Грубо говоря, представьте себе, что проектируя самолет, Вы сажаете несколько групп: одна "от балды" проектирует фюзеляж, другая - крылья, третья - начинку, а потом соединяете все вместе, решая проблемы наподобие "два ряда кресел из спроектированного пассажирского торчат из спроектированного фюзеляжа на три метра вбок". При этом, если выяснится, что требования к скорости (обусловившей узкий фюзеляж) и к пассажировместимости (обусловившей широкий салон) одновременно не реализуемы, то выяснится это в последний момент, когда все уже "сделано". student2007ВАРИАНТ 1 1 аналитик/архитектор - ни чего не пишет. 2-е пишут по спецификациям аналитика ВАРИАНТ 2 1 аналитик/архитектор/главный программист - делает 60% работы 2-е помогают в написании вспомогательных модулей Это по сути один вариант. Выбор деталей зависит от того, что за люди. Если команда до того вместе не работала, я бы посоветовал так: 1 аналитик/архитектор - проектирует, ставит задачи (спецификации или как - отдельный вопрос), делает review кода остальных, при необходимости реализует ключевые фрагменты (особо сложные итп). По мере того, как команда срабатывается, необходимость в review уменьшается, соответственно он может уделять больше времени другим вопросам, в том числе при желании - кодировать. 2-е - оппонируют идеям архитектора, выдвигают советы, реализуют порученные им задачи (возможно, в том числе, проектируют решения относительно мелких задач - на усмотрение архитектора). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 16:24 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Получается мелкие/средние проги проще поручить ОДНОМУ программисту, чем команде? Именно так. С одной поправкой: когда программа более-менее готова, стоит познакомить с ней одного-двух других программистов (например, поручая им сопровождение и мелкие доработки под надзором). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2008, 16:29 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
student2007Вот в том-то и беда, что многие только одну математику и принимают во внимание. По вашему правильней будет:.... С точки зрения математики так получается? :-) С моей точки зрения сложность проекта в человекогодах зависит от того, сколько человек реализуют проект. Очевидно, что с увеличением количество человек необходимо увеличивать время на согласование их работы и т.п. Поэтому с увеличением людей сложность проекта в человекогодах всегда увеличивается. Будет ли это увеличение нивелировано распараллеливанием работы - еще неизвестно. Ситуации, когда ускорение работы параллельных алгоритмов по сравнению с последовательными больше 1 - крайняя редкость. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2008, 13:02 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовСитуации, когда ускорение работы параллельных алгоритмов по сравнению с последовательными больше 1 - крайняя редкость.Ну-ну... тогда бы все компьютеры были бы однопроцессорными, а все фирмы разработчики - состояли из одного человека. PS: если вам не удается построить работу так как надо - это еще не значит, что ни у кого это не получалось и не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2008, 17:49 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Bely Сергей ВаскецовСитуации, когда ускорение работы параллельных алгоритмов по сравнению с последовательными больше 1 - крайняя редкость.Ну-ну... тогда бы все компьютеры были бы однопроцессорными, а все фирмы разработчики - состояли из одного человека. PS: если вам не удается построить работу так как надо - это еще не значит, что ни у кого это не получалось и не получится. Ускорение при анализе работы параллельных алгоритмов - это не просто отношение времен выполнения алгоритмов, а приведенное к количеству узлов. Если задача полностью распараллеливается, и 2 процессора ее выполняют вдвое быстрее, N процессоров - в N раз быстрее - ускорение равно 1. Оставляю в качестве домашнего задания придумать ситуацию, когда ускорение может превышать 1, это крайне нетривиальные случаи. Но начать рекомендую с матчасти. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2008, 17:56 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовУскорение при анализе работы параллельных алгоритмов - это не просто отношение времен выполнения алгоритмов, а приведенное к количеству узлов. Если задача полностью распараллеливается, и 2 процессора ее выполняют вдвое быстрее, N процессоров - в N раз быстрее - ускорение равно 1. Оставляю в качестве домашнего задания придумать ситуацию, когда ускорение может превышать 1, это крайне нетривиальные случаи. Но начать рекомендую с матчасти.Давайте лучше выполним другое домашнее задание. приведите пример, когда по ВАШЕМУ ОПРЕДЕЛЕНИЮ УСКОРЕНИЯ - задания при распараллеливании или выполнении на 1 одном процессоре - вобще будут иметь ускорение отличное от 1, при условии, что издержки на переключение задач отсутствуют. Кроме того, хочу заметить, что ваше "ускорение" имеет практический смысл только для подсчета издержек на переключение задач. Но это все лирика... Потому что весь мир за счет параллельного выполнения пытается сократить АБСОЛЮТНОЕ время выполнения суммы заданий, связанных друг с другом зависимостями. И использует для этого другие критерии успешности полученного результата. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2008, 18:12 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Belyприведите пример, когда по ВАШЕМУ ОПРЕДЕЛЕНИЮ УСКОРЕНИЯ - задания при распараллеливании или выполнении на 1 одном процессоре - вобще будут иметь ускорение отличное от 1, при условии, что издержки на переключение задач отсутствуют. Элементарно. Любой пример, где одна ветвь параллельного алгоритма будет ждать результатов от другой. Например, в случае решения уравнений матфизики с граничными условиями. BelyКроме того, хочу заметить, что ваше "ускорение" имеет практический смысл только для подсчета издержек на переключение задач. Ничего подобного. Это важнейшая характеристика, которая показывает как качество самого алгоритма распараллеливания задачи, так и позволяет экстраполировать оценку абсолютного времени выполнения в случае увеличения количества узлов при сохранении алгоритма и прочих условий. Как раз к времени переключения задач это не имеет никакого отношения, никто в здравом уме не запускает параллельные вычисления на одном процессоре, равно как никто в здравом уме не заставляет одного человека делать 10 дел одновременно. Belyвесь мир за счет параллельного выполнения пытается сократить АБСОЛЮТНОЕ время выполнения суммы заданий, связанных друг с другом зависимостями. И использует для этого другие критерии успешности полученного результата. В первом приближении это верно. Но существуют определенные граничные условия. В простейшем случае рытья ямы при наличии бесконечного количества денег можно ставить задачу, сколько надо землекопов, чтобы вырыть ее за минимальное время, и чтобы все землекопы не проставивали. В более сложных случаях даже топология схемы узлов может быть следствием структуры параллельного алгоритма. Так что я бы не был столь категоричен. Не всегда сделать быстрее будет выгоднее. По прежнему предлагаю Вам придумать ситуацию, когда 40 процессоров выполнят при одном и том же алгоритме задачу более чем в 2 раза быстрее, чем 20 тех же одинаковых процессоров (чтобы ускорение было больше 1), причем хитрость не в самом алгоритме, то есть, будем считать, что он распараллеливается как угодно оптимально для любой схемы. А то меня не покидает ощущение, что мы с Вами разговариваем на разных языках. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2008, 11:53 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Сергей Васкецов Belyприведите пример, когда по ВАШЕМУ ОПРЕДЕЛЕНИЮ УСКОРЕНИЯ - задания при распараллеливании или выполнении на 1 одном процессоре - вобще будут иметь ускорение отличное от 1, при условии, что издержки на переключение задач отсутствуют. Элементарно. Любой пример, где одна ветвь параллельного алгоритма будет ждать результатов от другой. Например, в случае решения уравнений матфизики с граничными условиями. Берем простой случай - две задачи, вторая задача ждет данные от первой. обе задачи выполняются по 1 минуте. Принципиально нераспараллеливающийся случай. Узлов в графе задач - два. Время выполнения (абсолютное) для одного процессора: t1 + t2 = 2 минуты. Время выполнения (абсолютное) для любого кол-ва процессоров: t1 + t2 = 2 минуты. Затраченное машинное время (для любого кол-ва процессоров) = t1 + t2 = 2 минуты. Ускорение: ((1+1)/2)/((1+1)/2)=1 Аналогично - две абсолютно независимые задача (полное распараллеливание). Узлов в графе задач - два. Время выполнения (абсолютное) для одного процессора: t1 + t2 = 2 минуты. Время выполнения (абсолютное) для 2 и более процессоров: = 1 минуты. Затраченное машинное время (для любого кол-ва процессоров) = t1 + t2 = 2 минуты. Ускорение: ((1+1)/2)/((1+1)/2)=1 Независимо от того на скольки процессорах выполнять задания - суммарное затраченное машинное время - не поменяется. Поменяться может только абсолютное время. Сергей Васкецов BelyКроме того, хочу заметить, что ваше "ускорение" имеет практический смысл только для подсчета издержек на переключение задач. Ничего подобного. Это важнейшая характеристика, которая показывает как качество самого алгоритма распараллеливания задачи, так и позволяет экстраполировать оценку абсолютного времени выполнения в случае увеличения количества узлов при сохранении алгоритма и прочих условий.Алгоритм распараллеливания - он-то здесь каким боком? Если у меня 10 задач по 1 минуте - как их не расставляй по процессорам, как они не завись друг от друга - 10 минут процессорного времени они займут. Ни меньше - ни больше. И еще раз повторюсь - для абсолютного времени - это не так. Сергей ВаскецовКак раз к времени переключения задач это не имеет никакого отношения, никто в здравом уме не запускает параллельные вычисления на одном процессоре, равно как никто в здравом уме не заставляет одного человека делать 10 дел одновременно.В теории расписаний есть целый класс алгоритмов предназначенных для построения расписаний с учетом издержек на переключение между задачами. Ао первых - жизнь такая, что переключение контекстов в компьютерном мире существует само по себе и его нельзя не учитывать. Да и не в компьютерном мире - это тоже есть (перенастройка поточной линии на новый продукт и пр.). При этом есть ситуации, когда задачи для выполнения имеют разные deadline-ы (максимальные сроки окончания). Вот в этом случае переключение с задачи на задачу недоконца ее выполнив - может позволить составить более оптимальное расписание, нежелине используя стратегию "поставил задачу на выполнение - выполняй до конца". Сергей ВаскецовТак что я бы не был столь категоричен. Не всегда сделать быстрее будет выгоднее.Если не брать в расчет "открытия опередившие время", то быстрее = выгоднее. Это можно считать аксиомой. Сергей ВаскецовПо прежнему предлагаю Вам придумать ситуацию, когда 40 процессоров выполнят при одном и том же алгоритме задачу более чем в 2 раза быстрее, чем 20 тех же одинаковых процессоров (чтобы ускорение было больше 1), причем хитрость не в самом алгоритме, то есть, будем считать, что он распараллеливается как угодно оптимально для любой схемы. А то меня не покидает ощущение, что мы с Вами разговариваем на разных языках.Меня тоже не покидает ощущение, что на разных языках говорим... А пример простой. 40 независимых задач по 1 минуте. 40 процессоров выполнят их все за 1 минуту (будет готов результат по всем 40 задачам). 20 процессоров - выполнят 40 этих же задач за 2 минуты. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2008, 15:54 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
BelyЕсли не брать в расчет "открытия опередившие время", то быстрее = выгоднее. Это можно считать аксиомой. Нет. Более быстрое выполнение может быть неоправдано дороже, чем чуть менее быстрое. Например, в случае использования 96-процессорной кластерной нерасширяемой системы ускорение работы может быть достигнуто либо перепроектированием (сиречь созданием заново) подобной системы, либо добавлением еще одной аналогичной системы, что фактически нереально. Bely Сергей ВаскецовПо прежнему предлагаю Вам придумать ситуацию, когда 40 процессоров выполнят при одном и том же алгоритме задачу более чем в 2 раза быстрее, чем 20 тех же одинаковых процессоров (чтобы ускорение было больше 1), причем хитрость не в самом алгоритме, то есть, будем считать, что он распараллеливается как угодно оптимально для любой схемы. А то меня не покидает ощущение, что мы с Вами разговариваем на разных языках.Меня тоже не покидает ощущение, что на разных языках говорим... А пример простой. 40 независимых задач по 1 минуте. 40 процессоров выполнят их все за 1 минуту (будет готов результат по всем 40 задачам). 20 процессоров - выполнят 40 этих же задач за 2 минуты. Внимательнее. Ускорение будет равно 1 (так как 40*T(40)/20*T(20)=1), так что ответ неверен (требуется найти ситуацию, чтобы ускорение было БОЛЬШЕ 1). Потому и все, что Вы написали выше, я опустил и не цитировал. Я уже подсказывал, что простых примеров Вам не удастся придумать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2008, 17:05 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
BelyБерем простой случай - две задачи, вторая задача ждет данные от первой. обе задачи выполняются по 1 минуте. Принципиально нераспараллеливающийся случай. Узлов в графе задач - два. Время выполнения (абсолютное) для одного процессора: t1 + t2 = 2 минуты. Время выполнения (абсолютное) для любого кол-ва процессоров: t1 + t2 = 2 минуты. Затраченное машинное время (для любого кол-ва процессоров) = t1 + t2 = 2 минуты. Это неверно. Время ожидания (простоя) также необходимо учитывать, а не чистое время работы процессора над задачей. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2008, 17:08 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовВнимательнее. Ускорение будет равно 1 (так как 40*T(40)/20*T(20)=1), так что ответ неверен (требуется найти ситуацию, чтобы ускорение было БОЛЬШЕ 1). Потому и все, что Вы написали выше, я опустил и не цитировал. Я уже подсказывал, что простых примеров Вам не удастся придумать.Если честно - я не знаю откуда вы взяли этот термин "ускорения". Можете привести ссылку на какю-нибудь литературу где оно есть? Мне физический смысл этой величины - вобще не понятен. Ну, пусть оно равно 1 - это хорошо или плохо? Оно вобще ПРО ЧТО? пока писал ответ - появилось следующее сообщение. Сергей ВаскецовЭто неверно. Время ожидания (простоя) также необходимо учитывать, а не чистое время работы процессора над задачей.Получается, что время о котором вы говорите - это (АБСОЛЮТНОЕ время для выполнения всех задач) * (кол-во процессоров). Тогда все становится понятно, с точки зрения вашего "ускорения". Но ускорений, как и средних - их множество разных. И не все варианты параллельного выполнения в компьютерах - применимы для аналогий с параллельной работой людей. 1) Быстрее у людей - это означает окончить раньше, а не затратить меньше человеко-дней. 2) Работа команды над проектом - она не делится просто на кол-во людей не потому, что кто-то от кого-то будет ждать готовности его модуля, а потому, что появляются дополнительные издержки на взаимодействие (совещания, согласование интерфейсов, стыковка). С одним человеком таких проблем меньше - самому с собой договариваться легче. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2008, 17:40 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
BelyЕсли честно - я не знаю откуда вы взяли этот термин "ускорения". В ВУЗе в свое время проходили. BelyМожете привести ссылку на какю-нибудь литературу где оно есть? Лень. Смысл его я описал достаточно. BelyМне физический смысл этой величины - вобще не понятен.Ну, пусть оно равно 1 - это хорошо или плохо? Оно вобще ПРО ЧТО? Выше уже я все расписал. Если ускорение равно 1 - задача распараллеливается полностью. Например, два человека выкопают две ямы вдвое быстрее, чем один будет копать обе ямы. Если ускорение меньше 1 - значит, есть какие-то временнЫе затраты, в наихудшем случае последовательного выполнения получим 1/N. Если больше 1 - значит не скажу что это значит, все же хочется, чтобы сам кто-то догадался до таких "нелинейных" ситуаций. Bely1) Быстрее у людей - это означает окончить раньше, а не затратить меньше человеко-дней. 2) Работа команды над проектом - она не делится просто на кол-во людей не потому, что кто-то от кого-то будет ждать готовности его модуля, а потому, что появляются дополнительные издержки на взаимодействие (совещания, согласование интерфейсов, стыковка). С одним человеком таких проблем меньше - самому с собой договариваться легче. Общие принципы те же самые. У ПМа так или иначе возникает задача, как максимально параллельно выполнять работу. Насчет размытости терминов "ускорение" и "быстрее", пожалуй, соглашусь, надо было сразу договориться об их смысле, приношу свои извинения, если запутал Вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2008, 17:54 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовОбщие принципы те же самые. У ПМа так или иначе возникает задача, как максимально параллельно выполнять работу.Только паралельностью проект не убыстрить, потому что есть еще много чего кроме "распаралелить по максимуму". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2008, 18:20 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Bely Сергей ВаскецовОбщие принципы те же самые. У ПМа так или иначе возникает задача, как максимально параллельно выполнять работу.Только паралельностью проект не убыстрить, потому что есть еще много чего кроме "распаралелить по максимуму". В жизни всякие коммуникации, которые замедляют выполнение проекта при увеличении количества его участников, полностью идентичны ситуациям, когда один вычислительный узел должен синхнонизировать свое состояние с другим(и). Общего в параллельных вычислениях и выполнении проектов намного больше, чем кажется на первый взгляд. Даже нетривиальная мысль, что параллельный алгоритм и схема вычислительных узлов сильно связаны в случае многопроцессорных параллельных вычислений, становится банальной, когда говорится о выполнении проектов. Ведь на конкретный проект набирают конкретных людей в конкретном количестве, исходя из граничных условий (бюджет, сроки, функциональность) и сущности проекта (архитекторы, тестеры и т.п.). Так что аналогий тут полно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2008, 10:46 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовВ жизни всякие коммуникации, которые замедляют выполнение проекта при увеличении количества его участников, полностью идентичны ситуациям, когда один вычислительный узел должен синхнонизировать свое состояние с другим(и). ... Так что аналогий тут полно.Аналогий полно, но при увеличении штата команды в два раза - нет механизма, который расчитал бы сколько издержек уйдет на коммуникации. А без этого - вся точная математика пасует. Для того, чтобы расчитать издержки на взаимодействие - надо ЗНАТЬ где они возникнут. А вот с этим всегда большие проблемы. Составить мат. модель работы команды - это тянет само по себе на диссертацию. Применить к этой модели теорию расписаний - тоже задача не самая простая. При этом, решать задачи "Сколько времени надо на написание программы" - приходится постоянно и всем. И все как-то решают их "на коленках" с переменным успехом. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2008, 11:34 |
|
Время затраченое одним и тремя, на сколько примерно отличается?
|
|||
---|---|---|---|
#18+
Belyнет механизма, который расчитал бы сколько издержек уйдет на коммуникации Верно. Фактически, нет идеального алгоритма, одна эвристика. Одно управление рисками чего стОит. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2008, 11:38 |
|
|
start [/forum/topic.php?all=1&fid=33&tid=1548743]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
4ms |
others: | 310ms |
total: | 576ms |
0 / 0 |