Используете ли вы предварительное программное обеспечение для разработки коммерческих продуктов? - PullRequest
4 голосов
/ 03 апреля 2009

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

Например, вы, возможно, разработали веб-сайт с использованием Microsoft ASP.Net MVC (который только что вышел в RTM вчера) или создали программное обеспечение для SQL Server 2008 RC 1..etc

Если так ..

1. Какие шаги вы (или вы) предприняли, чтобы минимизировать риск возникновения проблем при выпуске предварительной версии продукта?

2. Дождитесь ли вы определенного периода времени (например, до тех пор, пока продукт не станет Кандидатом на выпуск), прежде чем работать с продуктом?

3. Каковы основные преимущества (по сравнению с риском) работы с предварительными версиями технологий?

Ответы [ 10 ]

6 голосов
/ 03 апреля 2009

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

Мы в основном оцениваем тестовое покрытие этих (в основном проектов с открытым исходным кодом) и предыдущий послужной список за то, что не делал глупостей.

Любая старая бета будет делать столько, сколько нам нужно;) Но обычно мы избегаем моментальных снимков после серьезных переписываний.

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

4 голосов
/ 03 апреля 2009

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

Для меня достаточно трудностей в проектировании / разработке систем, без необходимости совершенствовать инфраструктуру.

Очевидно, что если клиент внедряет более раннюю версию технологии, моя рука будет вынуждена.

1 голос
/ 03 апреля 2009

это зависит от того, насколько вы верите в это программное обеспечение - в основном оно будет решать проблемы вашего пользователя более эффективно, чем ваше текущее программное обеспечение. поэтому, когда asp.net 2.0 был впервые просмотрен, мы сразу приняли его (потому что думали, что это огромное улучшение по сравнению с asp.net 1.1)

но не так для asp.net mvc. Теперь, если мы решим принять программное обеспечение для предварительного просмотра ниже, мои ответы на ваши 3 вопроса:

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

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

относительно вашего третьего пункта -

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

риск - если программное обеспечение не используется массами - ваши потраченные время и деньги пойдут на ветер; -)

0 голосов
/ 03 апреля 2009

Иногда у вас нет другого выбора. Например, когда новая CTP-версия инструмента просто уничтожает существующие технологии.

Например:

Когда был выпущен Windows Workflow Foundation, существовало несколько альтернатив. Мы рассмотрели временные рамки цикла разработки (1 год +) и поняли, что было бы полезно рискнуть и начать исследования / разработку с версией CTp. Оказалось, что это оплачено в этом проекте.

Другим примером является новый Sync Framework. Он вышел только с поставщиками SQL CE, хотя нам требовались поставщики SQL EE / STD. Мы создали прототип с поставщиками CE и обновили его, когда был выпущен новый поставщик EE.

Нашим единственным вариантом было бы использовать репликацию слиянием SQL-сервера или аналогичную технологию. Тьфу!

0 голосов
/ 03 апреля 2009

Если ваш продукт поставляется или устанавливается на клиентские машины, будьте очень осторожны.

Для веб-систем (включая такие компоненты, как Silverlight) это возможно. Моя предыдущая компания развернула системы на основе бета-версии ASP.NET (до того, как она была официально выпущена).

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

Для меня я почти наверняка избежал бы этого, если бы не было крайней необходимости Спросите себя: почему вы используете бета-версию? Если это очень хороший ответ, просто подумайте о рисках. Иначе беги за своей машиной. ;)

0 голосов
/ 03 апреля 2009

Это зависит от ситуации. На предыдущей работе мы использовали ADO.NET Entity Framework, пока он еще находился в стадии бета-тестирования. Мы тщательно протестировали бета-версию, и мы использовали автоматические модульные тесты и анализ покрытия кода, чтобы убедиться, что мы тщательно. Бета прошла наши тесты.

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

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

0 голосов
/ 03 апреля 2009

Для меня это все, что нужно, чтобы вывести продукт за дверь. Я работаю в Silverlight, например. Некоторые функции, которые будут доступны в SL3, необходимы для следующей версии нашего программного обеспечения. Если мы хотим выпустить очень быстро после того, как SL3 станет RTW, тогда мы ДОЛЖНЫ развиваться против бета-версии. Мы не можем ждать так долго.

0 голосов
/ 03 апреля 2009

Иногда нам нужно, если есть исправление ошибки или улучшение производительности. Если FAE (полевой инженер приложений) скажет, что это стабильно, я готов попробовать.

0 голосов
/ 03 апреля 2009

Не знаю.

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

Я обнаружил, что в редких случаях, когда я нарушал это правило, оно создавало много ненужного стресса и давления на разработчиков для решения проблем.

0 голосов
/ 03 апреля 2009

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

Если вам нужно качество, вы должны строить на сильной основе.

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

Все зависит от риска, который вы готовы принять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...