Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MO-2_Курсовая Журавлева М.Ю._Тактическое и опер....doc
Скачиваний:
8
Добавлен:
15.12.2018
Размер:
945.15 Кб
Скачать

II. Особенности сферы интернет приложений и проблемы разработки

2.1. Основные проблемы разработки интернет приложений

Стартап или стартап-компания — компания с короткой историей операционной деятельности. Как правило, такие компании созданы недавно, находятся в стадии развития или исследования перспективных рынков, хотя этот термин можно применять ко всем сферам деятельности, преимущественное распространение он получил в сфере IT и интернет проектов1.

Проблема стартапов в мировой экономике в том, что 80% всех стартапов терпят крах. Основными причинами краха являются:

  • Нехватка ресурсов

  • Неудачная идея

  • Не эффективная стратегия

  • Нерабочая бизнес модель

  • Плохое планирование

  • Плохая реализация

Это естественный отбор, существующий благодаря рыночному механизму, ненужные, неудачные и неэффективные предприятия закрываются, не выдержав проверку рынком. И интернет стартапы не исключение. За последние 15 лет в интернете было создано огромное количество стартапов, и большинство из них не были успешными. Ключевым фактором успеха интернет стартапа является его качество. Интернет приложение может быть успешным без маркетинга, без внешнего финансирования (8 из 10 самых успешных приложений Вконтакте создано без внешнего финансирования), без продуманной бизнес модели (Facebook, Twitter и многие другие супер успешные интернет проекты изначально не имели продуманной бизнес модели), но оно не может быть успешным, если не является качественным. Факт - компания "Вконтакте" вкладывает все средства только в разработку, и высокое качество ресурса позволило ему обойти конкурентов. Google, благодаря высокому качеству поисковых алгоритмов и бесперебойной работе, остался стандартом поисковых систем, даже когда появилось множество альтернативных поисковиков, есть множество подтверждений ключевого значения качества среди малых, и больших проектов. Качество приложения – важнейший критерий, по которому пользователь выбирает один проект, среди многих альтернатив, каждая из которых находится всего “в одном клике” от предыдущей.

Известный специалист по разработке интернет приложений Джоэль Сполски сравнивает качество интернет приложения с коэффициентом соотношения прибыли и маркетинговых усилий. Действительно, уровень осведомленности пользователей в интернете очень высок, и история показывает, что очень качественному приложению (Google, Facebook, Twitter, Вконтакте, Wikipedia) реклама практически не требуется, а низкокачественному приложению реклама не поможет стать успешным.

Конечно, успех новых интернет приложений предопределен самой идеей - без удачной идеи, заложенной в основу, проект никогда не станет успешным, какой бы качественной ни была реализация ненужного приложения. Но снова и снова проекты с очень хорошей идеей остаются недоделанными, неработоспособными, ненадежными, низкокачественными, неудобными, неэффективными и не становятся успешными. Согласно исследованиям Standish Group, приведенным в книге "Управление высокотехнологичными программами и проектами", 6 из 10 интернет приложений вообще остаются недоделанными. Таким образом, ключевым фактором успешности интернет приложения является качество.

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

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

  • Реализация несоответствующей функциональности (отсутствие четких требований/неверное определение проблемы)

  • Неверная разработка по одному из следующих пунктов:

    • бизнес правила

    • интерфейс

    • интернационализация

    • обработка ошибок

  • Уязвимости (возможность получить доступ к личным данным пользователей, либо исполнить вредоносный код на сервере)

  • Невозможность реализации архитектуры

  • Нехватка информации о внешних компонентах, определяющих окружение системы или вовлечённых в интеграцию.

  • Недостатки в работах, выполняемых внешними (по отношению к проекту) ресурсами.

  • Недостаточная производительность получаемой системы, нехватка ресурсов

  • Повторное использование кода

  • Повторное создание уже существующих инструментов в процессе работы ("изобретение велосипеда")

  • Неоправданно высокие издержки внесения изменений в приложение, например, если для внедрения новой функции требуется изменение и/или тестирование всех компонентов системы.

  • Низкое качество, наличие ошибок в коде, неработоспособность системы

  • Сложность, выходящая из под контроля – ситуация, когда программисты уже не понимают, как работает приложение, и не осознают, как отдельные изменения влияют на работу системы в целом.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]