Планирование развития при академических исследованиях

11

Уважаемые коллеги-программисты!

как вы делаете «планирование программного обеспечения», когда участвуют академические исследования? И, на заметку, как вы убедите своего босса, что написание программного обеспечения - это не строительство дома, а написание романа ?

Кровавые подробности ниже.

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

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

Мой начальник попросил меня написать спецификации, требования и чертову диаграмму Ганта для всего проекта. Столкнувшись с тем фактом, что я не имею понятия об исследовательской части, и что такие исследования имеют основополагающее значение для программного обеспечения, он сказал: «делайте предположения». Для ясности аргумента он - профессор, доктор философии студенты должны придумать нужное нам исследование. И он исходит из чисто инженерного опыта: сначала спланируй все, запиши спецификации и только потом запиши код «это последняя часть».

Что я делаю сейчас:

  1. Я разбил продукт по возможностям; каждая «черта» де-факто является отдельным продуктом;
  2. Каждая функция построена поверх предыдущей;
  3. Как только у функции (A) есть рабочий прототип, команда может начать работать над следующей функцией (B), в то время как QA for выполняется для A (если позволяют деньги, можно привлечь больше людей и т. Д.);
  4. Функции, которые зависят от исследований, будут последними: к тому времени, надеюсь, исследовательская часть будет завершена ( когда все еще остается большой вопрос);

Также я поручил команде использовать SCRUM для разработки «версии 1.0 », которая должна состояться через несколько месяцев. Этот срок может быть установлен на основе разумных предположений: мы перечислили все необходимые функции, мы посчитали нашу доступность и дали разумную оценку.

Итак, мои вопросы, опять же:

  • Как сделать моего босса счастливым, и в то же время получить что-нибудь за дверью?
  • Как мне написать спецификации для чего-то, что мы, разработчики, понятия не имеем, возможно ли это сделать или нет? (Мы до сих пор не решили, какие библиотеки использовать для некоторых задач; мы сделаем это, когда потребуется)
  • Как мне получить требования для этого, учитывая, что пока нет ни клиентов, ни инвесторов, только много интересов и обещаний?
  • Как мне обрести покой в ​​мире?

Я уверен, что хотя бы на один из моих вопросов ответят :)

PS: Я пишу это анонимно, так как потенциальный инвестор может иметь неприятные последствия, если это будет обнаружено. Надеюсь, вы поймете. Однако я должен сказать, что мне не нравится этот менталитет «сокрытия правды»: эта программа, вероятно, принесет пользу многим, и неспособность открыто говорить об этом (с моим именем и моей репутацией) выглядит как цензура. Но, увы, сейчас я забочусь о ваших предложениях.

Другой анонимный пользователь
источник
Выступая в качестве бывшего аспиранта, который годами трудился над тем, что напоминало черную яму застоя и безвестности, я был бы весьма взволнован (и также напуган), узнав, что профессионалы стоят в ожидании, чтобы сделать что-то полезное с моей работой. Это было бы чрезвычайно мотивирующим. Я вижу, этот вопрос был задан почти год назад, но если ситуация останется прежней, мне было бы интересно узнать, как много у вас контактов со студентами. Может быть полезно сообщить им, что вы болеете за них!
2013 года

Ответы:

6

Я был в этой должности несколько раз, и, имея опыт, вы не можете рассчитывать на то, что аспирант проведет исследование, которое имеет отношение к делу, и вы, конечно же, не можете рассчитывать на то, что оно будет происходить в полезные сроки. Аспирантам специально разрешено идти туда, куда их интересуют их научные интересы, и может быть очень трудно оказаться вниз по течению, когда они вдруг начинают срываться на боковой дорожке, которая важна для них, но не для вас. Это основной источник риска для вашего проекта, поэтому вы должны использовать соответствующие стратегии по снижению риска в своем плане проекта.

Учитывая это, работайте, когда вам нужно выполнить (см. Исследовательский грант; это определяется вашим финансированием, а не чем-либо еще) и сколько времени потребуется, чтобы доставить, если исследование выполнено . Это займет несколько всемогущих догадок, но с этим ничего не поделаешь; сделать эти предположения явными в оценке времени . Позже, управляйте риском, оставаясь в достаточно тесном контакте со студентами PhD (например, сидя на их обучающих сессиях один раз в месяц), чтобы, если похоже, они не собирались предоставить то, что вам нужно вовремя, вы можете продумайте стратегии смягчения в деталях. Если вам повезет, игра окупится, и вы получите что-то полезное из исследования. Странные вещи произошли.

Все остальное будет следовать из знания того, кем будут ваши клиенты, и размышления о том, как вы хотите, чтобы они использовали конечный продукт (и как они будут его использовать). Если вы этого не знаете, вы никому не продадите. Но вы должны это знать или, по крайней мере, скоро это выяснить. (Если это определяется исследовательской частью, у вас большие проблемы! Исследовательские проекты, безусловно, могут дать отрицательные или частично отрицательные результаты; это происходит постоянно, даже если об этом не всегда сообщают широко).

В заключение, я думаю, это ужасно стыдно, что вы делаете это анонимно, так как все, что вы делаете, - это советуетесь с конкретным типом управления проектами. Вы не упоминаете, что является предметом исследования или кто его проводит, или кто-либо из ваших сотрудников, и не имеет значения для этого вопроса, Единственная причина, по которой это может быть проблемой, - это если вы искали финансирование, не связанное с НИОКР, до проведения исследования, но это потребовало бы либо раскрытия вами уровня риска (вероятно, вложения инвестиций!), Либо крайне нечестного; поскольку вы планируете быть честным, это не должно происходить, поскольку проект должен искать финансирование такого рода только после того, как риски станут более определенными. (Если вы - как группа - нечестно относитесь к потенциальным инвесторам, это проблема тут же, и она закончится слезами. Или судебными исками.)

Donal Fellows
источник
Донал, спасибо за твой ответ. Вы поднимаете несколько хороших моментов; особенно по управлению рисками. Что касается исследований, то да, они должны найти отрицательные результаты: вот как проводится исследование! Если вы уже знали, что вы получите, это не исследование, а реклама. О необходимости оставаться анонимным: это потому, что из моей учетной записи stackexchange вы можете видеть в моем профиле карьеры, кто я и где я работаю. Это может поставить под угрозу будущую зарплату моей команды (да, мы ищем внереализационное финансирование). Если бы это был только я, я был бы честен. Но это не мои деньги, они платят им сейчас, поэтому я должен быть осторожен.
один анонимный пользователь
1
Отличный ответ. Даже в тех видах коммерческой разработки программного обеспечения, которые я делал, есть неизвестные, где вам просто нужно сделать обоснованное предположение о спецификациях и графиках. Пока все знают, что это предположения и могут быть изменены, все в порядке. Одна вещь, которую вы можете сделать с предметами исследования, заключается в том, что для каждого числа, которое вы должны предоставить (даты, деньги и т. Д.), Угадайте и предоставьте хороший пример (10% вероятности, что все пройдет хорошо), ожидаемый (50%) и плохой регистр (90%) значений. Кроме того, для предотвращения неизвестных постарайтесь иметь «План B» (и в идеале планы C и D) в вашем виртуальном заднем кармане.
Боб Мерфи
Проблема зависимости от исследований заключается в том, что у вас есть большой шанс получить «однозначно отрицательный» ответ: то, что вы хотите для продукта, не просто требует чего-то неизвестного, но чего-то, что не может быть создано. Или что исследование никогда не дает ничего значимого (реальный риск для докторов наук). Смысл того, чтобы сделать большие инвестиции, заключается в том, чтобы получить небольшое подтверждение концепции, чтобы вы знали, по крайней мере, это можно сделать, и все, что вам нужно сделать, - это решить, как сделать его пригодным для использования и пригодным для продажи.
Донал Феллоуз
2

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

Будьте умны и добивайтесь успеха.

Как мне написать спецификации для чего-то, что мы, разработчики, понятия не имеем, возможно ли это сделать или нет? (Мы до сих пор не решили, какие библиотеки использовать для некоторых задач; мы сделаем это, когда потребуется)

Если вы не знаете, с чем собираетесь взаимодействовать, это проблема. Какие входные данные вы даете волшебный ящик? Какие выводы вы получаете от волшебной коробки? Это также поможет исследователям определить, что такое магия.

Если ваша академия была профинансирована за счет гранта, то он, вероятно, написал исследовательское предложение. Возьми это. Если это похоже на какое-либо из предложений о гранте на исследования, которые я видел (и написал), у него будет график и «спецификация» того, что они пытаются сделать.

Как мне получить требования для этого, учитывая, что пока нет ни клиентов, ни инвесторов, только много интересов и обещаний?

Требования - это то, что конечные пользователи алгоритма / вещь-ма-джиг. Посмотрите, можете ли вы взять у них интервью (или у потенциальных клиентов / клиентов).

В противном случае ешьте свою собачью еду.

Как мне обрести покой в ​​мире?

Не по теме :-)

Питер К.
источник
2

Я думаю, что при планировании научных исследований за один раз, и разработка tgen не очень хорошо работает. Я работаю в исследовательском институте, и мы работаем больше, используя быстрое прототипирование. Часто разработка прототипа дает представление о том, что именно нужно. Быстро создав прототип, вы можете получить обратную связь от вашего босса и исследователей и определить, было ли это то, чего они ожидали, а также посмотреть, работает ли ваш подход. После этого вы можете реорганизовать и улучшить свой код. Это то, что я вижу на практике в научно-исследовательских институтах, где я работал.

Пол Химстра
источник