Эффективная методология разработки мобильной CRM-системы для малого бизнеса
Журнал: Научный журнал «Студенческий форум» выпуск №19(40)
Рубрика: Технические науки
Научный журнал «Студенческий форум» выпуск №19(40)
Эффективная методология разработки мобильной CRM-системы для малого бизнеса
Аннотация. В статье обоснована эффективность методологии RUP для разработки мобильной CRM-системы для малого бизнеса с целью повышения качества предоставляемых услуг и конкурентоспособности предприятия.
Ключевые слова: Методология разработки, RUP, CRM, мобильная система.
Системы управления взаимоотношениями с клиентами (CRM – системы) предназначены для автоматизации сбора и анализа данных по субъектам рынка (клиентам, партнерам, конкурентам, контактным лицам) и их взаимоотношениям с предприятием, интерактивного взаимодействия с ними, поддержки принятия решений по привлечению и удержанию наиболее прибыльных клиентов для получения устойчивого роста доходов предприятия [2].
В основе таких систем лежит соответствующая стратегия управления взаимоотношениями с клиентами CRM (Customers Relationship Management – управление взаимоотношениями с клиентами) – это стратегия, основанная на использовании управленческих и информационных технологий, с помощью которых компания выстраивает взаимовыгодные отношения со своими клиентами [2].
Мобильная CRM система – это специально разработанная программа под конкретную мобильную платформу (iOS, Android и т.д.), которая устанавливается на мобильные устройства и позволяет через них управлять взаимоотношениями с клиентами, предоставляя менеджерам своевременную и актуальную информацию в любое время.
Проектирование информационных систем (проектирование ИС) - это процесс преобразования входной информации (информация об объекте проектирования, методы проектирования, анализ систем аналогичного назначения) в соответствии с ГОСТом в проект ИС [2].
Методология проектирования - это совокупность принципов проектирования, реализуемых набором методов проектирования. Методология проектирования определяет основные отличительные технологические особенности [2].
В настоящее время большинство ведущих компаний, занимающихся разработкой технологий, программного обеспечения и/или корпоративных информационных систем, обладают собственными технологиями создания ПО. Выбор описанных ниже технологий объясняется их ведущими позициями на мировом и российском рынке.
Методология RUP
Rational Unified Process (RUP) – методология разработки программного обеспечения, в основе которой лежит спиральная модель жизненного цикла, а в качестве языка моделирования используется язык UML (Unified Modelling Language). Методологию RUP разработала компания Rational Software, которая до 2003 года была независимой, а в настоящее время поглощена корпорацией IBM [4].
По методологии RUP жизненный цикл системы разбивается на четыре стадии: Начальная стадия (Inception), Проектирование (Elaboration), Построение или Конструирование (Construction) и Внедрение.
Методология RUP уделяет большое внимание начальным стадиям разработки проекта – анализу и моделированию. Это призвано снизить риски проекта за счет идентификации и устранения возможных ошибок. Методология RUP использует прецеденты (варианты использования) – описание последовательностей действий, которые может осуществлять система, взаимодействуя с внешними действующими факторами. Прецеденты описываются при помощи UML, включают варианты правильного функционирования системы и ошибки (исключения). В процессе разработки возможно изменение проектных решений и требований.
Методологию RUP можно использовать в небольших проектах, где за счет отсутствия формализации требуется сократить время выполнения проекта и расходы.
Методология OUM (Oracle unified method)
Методология OUM – комплекс методов разработки программного обеспечения, в основе которой лежит итеративная модель жизненного цикла.
По методологии CDM жизненный цикл системы разбивается на шесть стадий: Стратегия, Анализ, Проектирование, Реализация, Внедрение, Эксплуатация.
Методология CDM представляет собой методическое руководство по разработке прикладного ПО с использованием инструментального комплекса Oracle Developer Suite, а сам процесс проектирования и разработки тесно связан с Oracle Designer и Oracle Forms [4].
Методология RAD
Rapid Application Development (RAD) – методология быстрой разработки программного обеспечения, в основе которой лежит спиральная модель жизненного цикла, является методологией прототипного проектирования [3].
По методологии RAD жизненный цикл системы разбивается на четыре стадии: Стадия анализа и планирования требований, Стадия проектирования, Стадия построения, Стадия внедрения.
Методологию RAD целесообразно использовать в случаях, когда конечному пользователю особенно важен интерфейс ИС – прототипы позволяют продемонстрировать интерфейс на ранних стадиях разработки. Методология RAD неприменима для разработки сложных расчетных программ и программ, от которых зависит жизнь и здоровье людей, так как прототипный подход предполагает, что первые прототипы не будут полностью работоспособны, что в данном случае исключается.
Методология MSF
Microsoft Solutions Framework (MSF) – методология разработки программного обеспечения, разработанная компанией Microsoft, в основе методологии лежит сочетание каскадной и спиральной моделей жизненного цикла. Благодаря своей гибкости может быть применена при разработке широкого круга проектов [6]
По методологии MSF жизненный цикл системы разбивается на пять стадий [7]: Идея, Планирование, Разработка, Стабилизация, Внедрение.
Процесс MSF ориентирован на «вехи» (milestones) – ключевые точки проекта, характеризующие достижение в его рамках какого-либо результата, причем этот результат может быть оценен и проанализирован. Модель процессов MSF учитывает постоянные изменения проектных требований. Разработка решения должна состоять из коротких циклов, реализующих поступательное движение от начальных версий системы к ее окончательному виду.
Гибкие методологии разработки информационных систем
Гибкие методологии разработки информационных систем – группа методологий, ориентированных на использование итеративной разработки, динамическое формирование требований и постоянно взаимодействие внутри рабочих групп, состоящих из специалистов различного профиля [5].
Agile-методы делают упор на непосредственное взаимодействие внутри команды-разработчика. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объем письменной документации по сравнению с другими методами.
Каждая из рассмотренных выше методологий обладает своими достоинствами и недостатками, не существует одной идеальной и универсальной методологии.
Большое количество методологий разработки ИС позволяет разработчику выбрать наиболее подходящую, основываясь на размере и сложности проекта, численности и квалификации разработчиков, требованиях заказчика системы. Выбор методологии разработки ИС – один из важнейших этапов в разработке информационной системы, т.к. правильно выбранная методология позволит участникам проекта четко понимать свои роли, цели разработки и задачи, которые необходимо выполнить для успешного завершения проекта, а также временные и финансовые ограничения.
Выбор методологии разработки ИС должен основываться на характеристиках конкретного проекта. Основными критериями, влияющими на выбор методологии разработки ИС, являются [1]:
· масштаб проекта – чем больше человек в команде проекта, тем более формализованным он должен быть;
· распределение участников - чем легче общаться членам команды проекта, тем менее формализованным он может быть;
· критичность проекта – если от проекта зависят здоровье и жизнь людей, то он должен разрабатывать максимально формально;
· новизна проекта – если разработчики мало знакомы с предметной областью, то следует более тщательно прорабатывать проектные решения;
· требования заказчика и взаимодействие с ним, в зависимости от того возможности изменений требований в ходе разработки и необходимо ли тесное взаимодействие с заказчиком, необходимо выбрать ту или иную методологию;
· скорость разработки.
Для выбора методологии разработки мобильной CRM-системы для малого бизнеса используется метод вариантных обоснований. Этот метод предполагает проставление значения каждому критерию из предложенных, а затем проставление баллов каждому из значений, исходя из значений сравниваемых объектов. Он состоит из следующих этапов:
1) определение критериев, по которым производится сравнение степени их важности;
2) каждый вариант оценивается по уровню наличия критерия;
3) проставление баллов каждому из критериев;
4) нахождение суммы баллов.
Для решения поставленной задачи использовался перечень характеристик, приведенный выше. Результаты приведены в таблице 1.1.
Таблица 1.1.
Сравнительный анализ методологий
|
Waterfall |
RUP |
RAD |
OUM |
MSF |
Agile |
---|---|---|---|---|---|---|
Команда |
Универсален |
Универсален |
Требует наличия специалистов |
Ориентирован на работу в большой команде |
Ориентирован на работу в большой команде |
Ориентирован на тесную работу в команде |
Распределение участников |
Универсален |
Универсален |
Универсален |
Необходимо тесное взаимодействие в команде |
Необходимо тесное взаимодействие в команде |
Необходимо тесное взаимодействие в команде |
Критичность проекта |
Подходит для критичных проектов |
Подходит для критичных проектов |
Не подходит для критичных проектов |
Подходит для критичных проектов |
Подходит для критичных проектов |
Не подходит для критичных проектов |
Изменение требований |
Необходимо долгое согласование изменений |
Ориентирован на изменяющиеся требования |
Ориентирован на изменяющиеся требования |
Приемлет изменяющиеся требования |
Ориентирован на изменяющиеся требования |
Ориентирован на изменяющиеся требования |
Взаимодействие с заказчиком |
Слабое |
Сильное |
Сильное |
Сильное |
Сильное |
Сильное |
Скорость работы |
Медленная |
Быстрая |
Быстрая |
В зависимости от подхода может быть быстрой и медленной |
Быстрая |
Быстрая |
Бюджет |
Большой |
Универсален |
Большой |
Большой |
Большой |
Универсален |
В таблице 1.2 расставим баллы по каждому из критериев. Для определения балла учитываем специфику разработки мобильной CRM-системы для малого бизнеса: небольшая команда (1-3 человека), тесное взаимодействие с заказчиком, некритичный проект (от ошибок не зависит жизнь и здоровье людей), небольшой бюджет. Далее определяем сумму критериев. В таблице баллов по критериям «0» балл определяется как наименьший показатель по выбранной характеристике, то есть это либо отсутствие критерия, либо наименьший показатель по выбранной характеристике. «4» балла – это наивысшая оценка по выбранной характеристике. Если характеристика имеет одинаковые показатели, либо не имеет степени сравнения, то ей проставляется балл «1».
Таблица 1.2.
Сравнительный анализ методологий
|
«Waterfall» |
RUP |
RAD |
OUM |
MSF |
Agile |
Команда |
5 |
5 |
2 |
2 |
2 |
4 |
Распределение участников |
1 |
1 |
1 |
1 |
1 |
1 |
Критичность проекта |
1 |
1 |
1 |
1 |
1 |
1 |
Изменение требований |
2 |
5 |
5 |
5 |
5 |
5 |
Взаимодействие с заказчиком |
1 |
5 |
5 |
5 |
5 |
5 |
Скорость работы |
2 |
5 |
5 |
3 |
5 |
5 |
Бюджет |
2 |
5 |
2 |
2 |
2 |
5 |
Итого |
14 |
27 |
21 |
19 |
21 |
26 |
Таким образом, в результате проведенного анализа определилось, что методология RUP – оптимальное средство реализации поставленной задачи с точки зрения разработчика.
Процедура разработки по RUP предполагает выпуск на первом большом этапе продукта в базовой функциональности, а затем уже последовательное добавление новых функций. Процесс продолжается до тех пор, пока не будет создана полная система.
Преимущества RUP [8]:
· Учитывает изменяющиеся требования. Как бы ни был хорош руководитель проекта, учесть всё в начале невозможно.
· Интеграция функций происходит постепенно, то есть каждая «деталь» проходит цикл разработки, проверки и внедрения в проект. Как следствие, снижаются риски и стоимость производства.
· Ранний выпуск продукта. ПО выходит с уменьшенной функциональностью, чтобы занять нишу на рынке и противостоять конкурентам, после чего обрастает «мясом».
· Повторное использование. При наращивании функциональности проще выделить типовые решения, которые сократят разработку.
· Постоянное обучение. Из-за частых итераций разработчики не имеют больших пауз между доработкой кода, поэтому профессиональный рост происходит плавно и безболезненно.
· Постоянное улучшение продукта. Итерации позволяют оценить проект не только с точки зрения соответствия плану и ТЗ, но и найти пути увеличения эффективности и качества продукта.