Я столкнулся с подобной проблемой. Мой проект в контексте - это динамический веб-проект (Java 8 + Tomcat 8), и ошибка для исключения драйвера PostgreSQL: Не найдено подходящего драйвера
. Он был разрешен путем добавления Class.forName("org.postgresql.Driver")
до вызов метода getConnection()
Вот мой пример кода:
try {
Connection conn = null;
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://" + host + ":" + port + "/?preferQueryMode="
+ sql_auth,sql_user , sql_password);
} catch (Exception e) {
System.out.println("Failed to create JDBC db connection " + e.toString() + e.getMessage());
}
Точные обстоятельства очевидно очень характерны для Вашего проекта (например, группа разработчиков, стиль управления, обработайте зрелость, трудность темы, и т.д.). Для обзора этого немного лучше, таким образом, мы можем говорить об этом в чем-либо кроме широких упрощений, я собираюсь вновь заявить вопросе:
, При каких обстоятельствах, если таковые имеются, может, добавляя членов команды к проекту разработки программного обеспечения, который выполняет последний результат в сокращении фактической даты поставки с уровнем качества, равного этому, если существующие команды были, позволяют работать до завершения?
существует много вещей, что я думаю, необходимы , но не достаточные, для этого для появления (без определенного порядка):
Одна из первых вещей, которые должны быть обсуждены, - может ли дата поставки быть подсунутой, могут ли функции быть сокращены, и если некоторые комбинации этих двух позволят Вам удовлетворять выпуск своим существующим штатом. Много раз это - пара функций, которые являются действительно hogging ресурсами команды, которая не поставит значение, равное инвестициям. Поэтому отдайте приоритеты своего проекта серьезный обзор перед чем-либо еще.
, Если результат вышеупомянутого абзаца не достаточен, то посетите список выше. При ловле промаха расписания рано добавление правильных членов команды в нужное время может сохранить выпуск. К сожалению, чем ближе Вы добираетесь до своей ожидаемой даты поставки, тем больше вещей может пойти не так, как надо с добавляющими людьми. Однажды, Вы пересечете "точку невозврата", где никакое количество изменения (кроме поставки текущего ответвления разработки) не может сохранить Ваш выпуск.
я мог продолжить и на, но я думаю, что поразил важные пункты. За пределами проекта и с точки зрения Вашей карьеры, будущего успеха компании, и т.д. одна из вещей, которые необходимо определенно сделать, выяснить, почему Вы опаздывали, если что-нибудь, возможно, было сделано предупреждение Вы ранее, и что измеряет Вас, должен взять для предотвращения его в будущем. Последний проект обычно происходит, потому что Вы были также:
Hope, которая помогает!
То, где команда уже привыкла к парному программированию, затем добавляя другого разработчика , кто уже квалифицирован в соединении , не может замедлить проект, особенно если разработка является продолжением стиля TDD.
новый разработчик будет медленно становиться более продуктивным, поскольку они понимают кодовую базу больше, и любые недоразумения будут пойманы очень рано или их парой, или набором тестов, который выполняется перед каждой регистрацией (и должна идеально быть регистрация, по крайней мере, через каждые десять минут).
Однако эффекты дополнительных коммуникационных издержек должны быть приняты во внимание. Важно не растворить имеющиеся знания проекта слишком много.
Просто помещенный. Это сводится к сравнению оставленного времени и производительность, которую Вы получите от кого-то, исключая количество времени, это берет дополнительные ресурсы, чтобы подойти к скорости и быть продуктивным и вычесть время, которое инвестируют в обучение их существующие ресурсы. Ключевые факторы (в порядке значения):
Если дополнительный ресурс дополнение Ваша существующая команда это может быть идеально. Например, если Вы собираетесь настроить свои производственные аппаратные средства и проверить, что база данных на самом деле настраивается в противоположность просто возврату хороших результатов (который Ваша команда знает как специалистов по проблемной области), заимствование времени от хорошего dba, кто продолжает работать, проект рядом с Вашим может убыстриться, команды без большого обучения стоят
Я думаю, добавляя, что люди команде могут ускорить проект больше, чем добавление их к самому проекту.
я часто сталкиваюсь с проблемой наличия слишком многих параллельных проектов. Любой из тех проектов мог быть завершен быстрее, если я мог бы сфокусироваться на одном только том проекте. Путем добавления членов команды я мог перейти от других проектов.
, Конечно, это предполагает найм способных, инициативных разработчиков которые в состоянии наследовать крупные проекты и учиться независимо.:-)
, Прежде всего, я думаю о вещах, которые позволяют им остаться вне пути в настоящее время разрабатывающих людей. Я действительно соглашаюсь с Мифическим Месяцем Человека, но я также думаю, что существуют исключения ко всему.
Я предполагаю, что добавляющие люди к концу работы могли ускорить вещи если:
работа может быть сделана параллельно.
сэкономленная сумма добавленными ресурсами является больше, чем количество времени, потерянное путем испытания людей с проектом, объясняет вещи тем, которые неопытны.
РЕДАКТИРОВАНИЕ: Я забыл упоминать, такого рода вещи не происходит слишком часто. Обычно это - довольно прямой материал, как администраторские экраны, которые делают простой CRUD к таблице. В эти дни эти типы инструментов могут быть главным образом автоматически сгенерированы так или иначе.
остерегаться менеджеров, которые полагаются на этот вид работы для передавания все же. Это звучит великолепно, но это в действительности обычно нет достаточного количества его, обрезают любое значительное свободное время проекта.
Очевидно, каждый проект отличается, но большинство заданий разработки можно гарантировать для имения определенного количества сотрудничества среди разработчиков. Где дело обстоит так мой опыт состоял в том, что новые ресурсы могут на самом деле неумышленно замедлить людей, на которых они полагаются, чтобы принести им до скорости, и в некоторых случаях это может быть Вашими ключевыми людьми (случайно, это - обычно 'ключевые' люди, которые не торопились бы для обучения newb). Когда они до скорости, нет никаких гарантий, что их работа впишется в установленные 'правила' или 'культуру работы' с остальной частью команды. Таким образом, снова это может принести больше вреда, чем пользы. Так, чтобы в стороне, они были обстоятельствами, где это могло бы быть выгодно:
1) новый ресурс имеет трудную задачу, которая требует минимума взаимодействия с другими разработчиками и набором навыков, это было уже продемонстрировано. (т.е. портирование существующего кода на новую платформу, внешне осуществляя рефакторинг мертвый модуль это в настоящее время блокируется вниз в существующей кодовой базе).
2) проектом управляют таким способом, которым другое время членов более основной команды может быть совместно использовано, чтобы помочь обеспечению newb до скорости и менторства их по пути гарантировать, что их работа совместима с тем, что было уже сделано.
3) другие члены команды очень терпеливы.
Только, когда у Вас есть на той поздней стадии некоторый независимый политик (почти 0%-е взаимодействие с другими частями проекта) задачи, которыми кто-либо не занимается все же, и можно навлечь команду кто-то, который является специалистом в том домене. Добавление члена команды должно минимизировать разрушение для остальной части команды.
Если существующие программисты полностью некомпетентны, то добавление компетентных программистов может помочь.
я могу вообразить ситуацию, где у Вас была очень модульная система, и существующий программист (программисты) не имел даже , запустился на очень изолированном модуле. В этом случае, присваиваясь просто, что часть проекта новому программисту могла бы помочь.
В основном Мифические ссылки Месяца Человека корректны, кроме изобретенных случаев как тот, который я составил. Г-н Brooks провел серьезное исследование, чтобы продемонстрировать, что после определенного момента, сети и затраты на коммуникацию добавления новых программистов к проекту перевесят любую выгоду, которую Вы получаете от их производительности.
Согласно Мифическому Месяцу Человека, главная причина люди добавления к последнему проекту делают, это позже - O (n^2) коммуникация наверху.
я испытал одно основное исключение к этому: если существуют [только 110] один человек на проекте, они почти всегда обрекаются. Добавление второго ускоряет его почти каждый раз. Поэтому коммуникация не служебная в этом случае - это - полезная возможность разъяснить Ваши мысли и сделать меньше глупых ошибок.
кроме того, поскольку Вы, очевидно, знали при регистрации вопроса совет с Мифического Месяца Человека только относится поздний проекты. Если Ваш проект не является уже поздним, довольно возможно, что добавление людей не сделает его позже. Принятие Вас делает это правильно, конечно.
Возможно, если следующие условия применяются:
я сообщу в первый раз, когда я вижу все их сразу.
Только помогает, есть ли у Вас управляемый ресурсом проект.
, Например, рассмотрите это:
необходимо нарисовать большой плакат, сказать 4 на 6 метров. Плакат, настолько большой, можно, вероятно, поместить двух или трех человек перед ним, и сделать, чтобы они нарисовали параллельно. Однако размещение 20 человек перед ним не будет работать. Кроме того, Вам будут нужны квалифицированные люди, если Вы не захотите дрянной плакат.
Однако, если Ваш проект состоит в том, чтобы наполнить конверты готово распечатанными буквами (как Вы, ВОЗМОЖНО, победили! ) тогда, чем больше людей Вы добавляете, тем быстрее это идет. Существуют немного служебные в скупо выдавании стопок работы, таким образом, Вы не можете извлечь пользу до точки, где у Вас есть один PR человека. конверт, но можно извлечь пользу из намного больше, чем всего 2 или 3 человека.
Поэтому, если Ваш проект может легко быть разделен на маленькие блоки, и если члены команды могут войти в курс дела быстро (как... мгновенно), то добавление большего количества людей заставит его пойти быстрее в какой-то степени.
К сожалению, не много проектов похожи на это в нашем мире, который является, почему подсказка docgnome о Мифической книге Месяца Человека является действительно хорошим советом.
Вместо того, чтобы добавлять программистов, можно думать о добавлении административной справки. Что-либо, что удалит отвлекающие факторы, улучшает фокус или улучшается, мотивация может быть полезной. Это включает и систему и администрирование, а также более прозаические вещи как получение ланчей.