Я хотел бы обновить от Java 5 до Java 6. Все мы знаем о технических преимуществах и преимуществах, но:
У меня есть проблема, которую крупный клиент отказывается обновлять от java 5 до java 6 из-за "рисков", и "нет/слишком мало извлекает выгоду для нас" (банковский сектор).
Чему можно ответить на нетехнический решающий блок в клиенте, что извлекает выгоду, он доберется от обновления - или иначе какие проблемы/последствия могут возникнуть, если он останется с java 5?
Это не "огонь, и забудьте" - продукт, это - activly, расширенный с помощью новой функциональности/функций - разработка и будет постоянно продолжаться - команда разработчиков определенно извлекла бы выгоду из jdk 6 функциям/инструментам.
Править: Достигнутый EOL Java 5 является актуальным вопросом действительно, но он не убеждает клиент, потому что он использует IBM JRE/JDK 5, который кажется, что еще не достиг своего конца жизни. И, около который клиент заявил: "Java 5 хорошо работает в течение многих лет и его маловероятного, что новые, невидимые проблемы возникают"
Со временем клиенту потребуется все больше обновлений по следующим причинам:
Но чем дольше клиент откладывает обновление, тем больше требуется скачка версии Java и больше работы (и, возможно, боли), которая будет задействована.
И чем дольше клиент откладывает, тем больше совокупные затраты на такие вещи, как выделение оборудования, затраты на разработчиков, отложенные проекты и так далее.
Для иллюстрации предположим, что вы ждали 10 лет, чтобы перейти с Java 1.1 на Java 1.2. Это означало бы, что вы потратили бы дополнительные 10 лет на разработку приложений, которые использовали Hashtable
и Vector
в качестве основных структур данных. И когда вы, наконец, обновитесь, у вас будет 10-летний дополнительный «устаревший» код, который будет труднее поддерживать, чем если бы он был написан с использованием коллекций Java 1.2.
Но суть в том, что если клиент настаивает на том, чтобы оставить старую версию Java, вам нужно либо согласиться с его пожеланиями (и убедиться, что вы несут дополнительные расходы!), Либо найти способ выйти ваши договорные отношения с клиентом.
1 - Даты окончания срока службы / окончания обслуживания варьируются от одного поставщика к другому, но, как мне кажется, все основные поставщики к настоящему времени имеют EOL'd Java 5. Действительно, у Oracle есть EOL Java 6 и Java 7.
Java 5 сейчас давно устарела . Sun / Oracle больше не будет выпускать для него общедоступные обновления.
Java SE 5.0 входит в состав технологии Java. Окончание срока службы (EOL) переходный период. Переходный период EOL начался в апреле. 8-го числа 2007 г. и завершится в октябре. 8-го числа 2009 г., когда Java SE 5.0 будет иметь достиг конца срока службы (EOSL).
Если вы сейчас обнаружите ошибку в Java5 (например, сбой точки доступа - они действительно случаются), вы облажались. Если у вас есть специальный контракт на поддержку с Sun / Oracle, который они предлагают тем, кто застрял на устаревших версиях, они могут исправить это за вас.
Вы можете возразить, что риск остаться на неподдерживаемой платформе больше, чем (более управляемый) риск миграции.
Из источника :
Q: Чем Java SE 6 отличается от предыдущая версия (J2SE 5.0): что улучшенные и обновленные области, такие как функциональность, безопасность, производительность?
A: Любой, у кого уже есть Java приложения, немедленно выиграют от производительности, надежности и Улучшения пользовательского интерфейса в Java SE 6. Связанный с расширенным мониторингом и возможности диагностики, встроенные в платформа, релиз предоставляет впечатляющие преимущества сразу после установки без каких-либо изменений кодировки или даже перекомпилировать необходимо. Просто бег существующие Java-приложения на этом последняя версия - это все, что нужно.
Больше по тому же вопросу (может быть полезно, чтобы уточнить детали для клиента):
Вместо того, чтобы убеждать его в отсутствии рисков, я бы предложил вместо этого работать с ним, чтобы разработать стратегию снижения рисков.
Другими словами, соглашаясь с тем, что, если вы сможете показать, что система, работающая под управлением Java 6, проходит тесты X, Y и Z, он будет рад обновиться.
Набор / удержание персонала становится проблемой, если приложение считается устаревшим. Разработчики обычно не хотят оставаться в стороне, если не видят прогресса.
Вкратце Java 6 более оптимизирована, лучше работает, надежна и поддерживается в настоящее время. Она также предоставляет дополнительные возможности, такие как диагностика, отладка и т.д.
Большинство технологий на базе Java уже перешли или переходят на Java 6. Даже они прекращают поддержку более ранних версий.
Просто скажите ему, что это незначительное обновление: покажите ему, что версия изменилась с 1.5 до 1.6 с помощью команды "- version"
. :)
У нас есть у клиента была эта проблема в прошлом году, и мы твердо заявили, что будущая разработка (против Java 1.4, как это происходит) будет как минимум значительно дороже в будущем, и со временем мы, возможно, даже не сможем это сделать с нас. Это был риск, но мы чувствовали, что оно того стоило, поскольку это позволило нам значительно снизить затраты на разработку. Очевидно, мы не были так откровенны, как следует из вступительной фразы. Мы показали клиенту все причины, по которым было бы значительно дороже оставаться в прежнем виде.
Поскольку вы, кажется, знаете обо всех очевидных преимуществах java 6, а у клиента есть веские причины для консервативности, остается только подчеркнуть, что отказ от перехода на java 6 затруднит разработку.
Разработка будет медленнее, потому что вы, несомненно, потратите время на реализацию функций, которые вы получаете бесплатно в новых выпусках . И, что, возможно, хуже всего, отсутствие обновления на регулярной основе делает обновление со временем более болезненным, вплоть до того, что оно становится практически невозможным .
Обычно просроченные обновления приводят к крайне непредсказуемому сценарию, что влечет за собой производственные потери всей компании в течение длительного периода времени. (при условии, что программное обеспечение влияет на достаточно большую базу пользователей внутри компании)
В прошлом году мы обновили 1.4 до 1.6. Это было огромным подспорьем для развития, но не без сбоев. Хотя это не было нашей мотивацией, сегодня от нас требуется «идти в ногу со временем» по PCI (требованиям к работе с кредитными картами). Ваше приложение может работать без сбоев, но я уверен, что в Java 1.5 есть некоторые дыры в безопасности, которые были исправлены в версии 1.6.
Я буду отвечать с точки зрения клиента.
Наш отдел разработки систем все еще использует Java 5. Чтобы перейти на Jave 6, мы должны протестировать все наше портфолио.
Когда мы переходили с Java 4 на Java 5, этот процесс занял 6 месяцев и включал некоторые изменения кода (в основном изменение имен переменных enum на enumerate).
На данный момент наш отдел разработки систем решил, что преимущества Java 6 не стоят боли от перехода,
Ваш банковский клиент чувствует то же самое. Они не перейдут на Java 6 до тех пор, пока их не заставят перейти на Java 6".