Одиссей
Sergei AlekhinМы разработали заказной программный продукт, который внёдрён у заказчика и работает в режиме 24x7. В нём применяются сторонние разработки (почти весь современный софт так пишется - чужие библиотеки интегрируются между собой и настраиваются, покрываются бизнес-логикой - и вот вам готовый "наш" софт). Как работают библиотеки сторонних разработчиков - известно только в общих чертах, задействуется только внешний API, но в детали реализации никто не лезет. Всё держится на доверии; иногда реализация преподносит сюрпризы.
С самого начала разработчик использовал связку Java + Odysseus (de.odysseus.el). Одиссей - это библиотека для вычисления Unified Expression Language-выражений. А Java - это программная платформа, которую делает компания Oracle и выпускает для неё обновления. Оказывается, библиотека сваливается аккурат после установки обновления Java, которое происходит при работающей программе (удаляются старые файлы, появляются новые, меняются пути к файлам ресурсов/классов, о чём работающая программа не знает; а чтобы узнала, её нужно перезапустить). Таким образом, разработчик рекомендовал админу, осуществляющему сопровождение нашей программы в промышленной среде, перезагружать программу или весь сервак целиком после обновления Java.
Но Админ этого не делает, и программа сваливается. Это было уже несколько раз за год. Пользователь регистрирует неработоспособность и ругает всех айтишников.
Позиция Админа: я не виноват, т.к. моя обязанность обеспечивать функционирование системной среды RedHat, Tomcat, Oracle и т.д. А ваша программа должна работать в круглосуточном режиме, лишняя перезагрузка ни к чему. Лучше пусть разработчик доработает её так, чтобы не было ошибки.
Позиция разработчика: я не виноват, и таких проблем не возникает у админов с "прямыми" руками. Переделывать разработку на другой библиотеке - это серьёзная доработка, которая должна оплачиваться дополнительно. Проект был завершён, все тесты пройдены. При комплексном тестировании не делался тест работоспособности после обновления Java, т.к. такая гарантия предоставляется разработчиками платформы Java, а если такой гарантии нет - то проверять придётся кучу всего дополнительного, и это нерационально; ...виновата Java. И Одиссей, конечно, тоже виноват, т.к. сами могли бы проверить; стек был выбран мной т.к. она используется по всему миру, и таких проблем ранее не было отмечено. Ну и что, из-за несговорчивости админа менять стек?
Позиция пользователя: мы уже заплатили деньги за разработку, но программа валится раз в месяц. Пофиг кто виноват, просто сделайте так чтобы программа работала бесперебойно, но в рамках гарантии и без доп. бюджета.
Ваши идеи - как разруливать конфликт?