1. Учебный сценарий проекта: компания "Зеленые крыши"

1. Учебный сценарий проекта: компания "Зеленые крыши"

Всем привет,

как мы уже начали обсуждать этот вопрос в теме Final Challenge: become CTA, предлагаю вашему вниманию учебный сценарий проекта построение системы для компания "Зеленые крыши".

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

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

Компания Зеленые крыши

Обзор проекта

“Зеленые крыши” (ЗК) - глобальная компания, которая разрабатывает и планирует установку зеленых крыш [прим. от переводчика: речь идет о растительных, живых крышах] в больших городских зонах. Клиентами ЗК являются как индивидуальные домовладельцы, владеющие собственными домами, так и крупные компании, которые имеют здания во многих местах. ЗК уже выполнила более 200 тыс установок зеленых крыш в Европе для 150 тыс клиентов и ожидает увеличение бизнеса вдвое в связи с планируемым расширением в Канаду и США в следующем году.

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

ЗК работает с сетью из 5 тыс установщиков, ответственных за покупку растений и выполнения проектов.

ЗК имеет 10 региональных офисов по всей Европе, каждый представляет отдельную страну. Каждый региональный офис использует свою собственную СРМ со своими кастомизированными процессами и локализованных контентом. ЗК хочет заменить все эти СРМ Сейлсфорсом.

Есть 4 типа ЗК сотрудников, кто использует систему:

(1) Маркетологи, посещающие конференции и торговые шоу для презентации технологии. Маркетолог может быть назначен на более чем один регион. Маркетологи встречаются с потенциальными клиентами и собирают информацию о возможных проектах.

(2) Торговые представители, кто продает проекты зеленых крыш. Торговые представители назначаются на один, ориентированный на конкретную страну регион. ЗК также имеет Команду стратегических продаж, которая включает торговых представителей, которые работают для разных регионов для крупных стратегических клиентов.

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

(3-1) Как часть данного проекта, ЗК хочет создать программу поощрения (a recognition program) для дизайн- консультантов, основанную на их опыте внедрения проектов (количество успешных установок), завершенных учебных курсов и опыте [или специализации] (пермакультура, сукуленты, фрукты, овощи) [не ясно, перечисляются ли здесь реальные практические навыки у дизайнеров или это условные названия уровней опыта в планируемой системе поощрения, но вероятно, первое].

(4) ЗК менеджеры, кто управляет торговыми представителями и дизайн-консультантами. Каждый регион может иметь до пяти менеджеров.

ЗК также работает со следующими юзерами как внешними компаниями:

(1) Установщики, кто закупает растения и выполняет установку зеленых крыш. Они работают между регионами.
(2) Менеджеры установщиков, кто ими управляет в компаниях-установщиках.


ЗК хочет, что новая система была интегрирована со следующими системами:

(1) Системой оплаты (billing system): ЗК использует основанное на Оракл БД приложение, чтобы управлять инвойсами и данными оплат, и очень зависима от внутренней бухгалтерии и исполнительных процессов.

Эта система:
(1-1) Используется установщикамидля создания инвойсов.
(1-2) Хранит оплаченными и неоплаченные инвойсы.
(1-3) Получает оплаты от клиентов.
(1-4) Является текущей system of record для демографических данных всех клиентов. ЗК хотела бы изменить это, если позволит дизайн.
(1-5) Имеет http-based API.

(2) Система управления обучения. Дизайн-консультанты и установщики используют эту систему для получения доступа к обучающим материалам и учебным курсам.
(2-1) ЗК хотела быть иметь текущую информацию о том, кто из пользователей закончил какие курсы.

(3) Приложение для специализированных для зеленых крыш растений. Это созданное самой компанией приложение используется консультантами и позволяет им производить поиск по нескольким БД третьей стороны для проверки наличия специализированных растений. Это приложение поддерживает SAML и ЗК хочет быть уверенным, что все пользователи данного приложения являются активными пользователями в СФ системе.

(4) ЗК хочет внедрить single sign-on (SSO) для всех сотрудников и установщиков для всех систем и приложений. SSO решение должно:

(4-1) Использовать основанную на LDAP идентификацию пользователей, которая сейчас используется в ЗК.
(4-2) Позволять пользователям, кто залогился в корпоративную сеть, кликнуть на линк на корпоративной интранет странице и получить прямой доступ к Системе Оплат.
(4-3) Обеспечить для установщиков доступ к новому приложению и другим системам.


Требования по бизнес процессам

ЗК хотела бы включить следующие процессы и возможности:


Поиск проектов и процесс продаж

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

(1) Маркетологи посещают конференции и торговые шоу для презентации технологии и встречаются с потенциальными клиентами, обсуждая потенциальные проекты зеленых крыш. Они собирают такие детали, как местоположении объекта, бюджет, размер, и дата начала проекта.

(2) Маркетологи проверяют потенциальные проекты, убеждаясь что местоположение является подходящим для проекта и что бюджет достаточен, после чего помечают проект как верифицированный и передают его в отдел продаж.

(2-1) Потенциальные проекты с началом работ в течение ближайших 3 месяца или с бюджетом более 100 тыс евро помечаются как высоко приоритетные и торговые представители в регионах должны получить об этом уведомления.
(2-2) Потенциальные проекты с бюджетом более 500 тыс евро помечаются как стратегически-приоритетные и команда стратегических продаж должна быть уведомлена.
(2-3) Если торговые представители не начинают работу с высок- или стратегически-приоритетным проектом в течение 5 раб дней, их менеджер должен быть уведомлен.
(2-4) Если клиент уже работал с ЗК ранее, то в новом проекте ему должен быть назначен прежний торговый представитель.
(2-4-1) Торговый представитель должен быть уведомлен, что нужно сконтактировать клиента.

(3) Торговые представители начинают процесс продаж выбирая проекта из списка верифицированных проекта для их региона.

(4) Они звонят клиентам, чтобы подтвердить детали проекта и назначают визит на место работ.
(4-1) Когда представители выезжают на место работ, они должны сделать check-in этого места (на этом месте) используя мобильный девайс.
(4-2) Находясь на месте, представители должны собрать дополнительную информацию, использую мобильный девайс, сохранить GPS координаты локации, сделать фото и видео, и загрузить это все в новое приложение.

(5) Основываясь на информации, собранной на месте работ, торговые представители делают расчет стоимости дизайна крыш и отправляют заказчику. Когда заказчик одобряет расчеты, продажа считается закрытой (завершенной) и может начаться процесс установки.
(5-1) На этой стадии, ЗК хотела бы автоматически создавать запись проекта зеленой крыши и назначить свободного дизайн-консультанта в регионе, обладающего соответствующими навыками.
(5-2) Заказчик должен получить уведомление о том, что ему назначен дизайн-консультант.

Процесс выполнения проекта

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

(1) Дизайн-консультанты работают с клиентом, выбирая растения и идеи для дизайна. Они делятся рабочими версиями дизайна и чертежами с клиентом до того момета как дизайн утвержден.
(1-1) Планы и чертежи проекта имеют размеры 30-60 МБ и должны быть доступны как клиентам, так и установщикам.

(2) Дизайн-консультанты используют Приложение для специализированных растений для поиска требуемых растений и их резервирования для проектов.
(2-1) Растения уже зарезервированные для проектов не должны появляются в результатах последующих поисков.
(2-2) Каждый проект может зарезервировать до 50 видов растений. Каждое резервирование растений включает местоположение растения, количество, и рекомендуемое требуемое пространство.
(2-3) Если проект отменен, то зарезервированные растения должны вновь появится как доступные в приложении.

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

(4) Когда дизайн утвержден, консультант подает требуемые разрешительные документы в соответствующие органы страны, где будут установлены крыши. ЗК хотела бы использовать для этого процесса веб-сервисы, которые предоставляются государственными агенствами.
(4-1) Гос агентства обычно отвечают на запросы в течении недели.
(4-2) Заказчик должен получить емейл с ответом на запрос вместе с tracking number выпущенным гос агентством.

(5) Если разрешение на установку не было получено проект должен получить статус ON HOLD.
(5-1) Дизайн-консультант встречается с заказчик, чтобы обсудить дальнейшие шаги и возможно изменить дизайн и повторно подать запрос на разрешение, обязательно включив в него tracking number выпущенным гос агентством.

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

Процесс установки зеленых крыш

Процесс установки начинается, когда установщик назначается на проект и заканчивается, когда заказчик выполняет заключительную инспекцию.

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

(2) Установщик покупает стандартные и специализированные растения перед установкой и ведет учет растений, их цен и количество на каждый проект.
(2-1) все растению гарантируются (guaranteed) на 60 дней и должны трекаться для каждого проекта в новой системе. В течение обычного месяца установщики выполняют 400 проектов и каждая установка может включать до 5 тыс растений.

(3) Когда все растения установлены, заказчик проводит заключительную инспекцию и подписывает акт приемки проекта.
(3-1) в этот момент инвойс отправляется заказчику.
(3-2) ЗК хочет дать заказчику возможность использовать портал, чтобы заказчик мог оплатит инфойс он-лайн и видеть историю своих платежей.
(3-3) Заказчик также должен иметь возможность подавать заявку о проблемах с инсталяцией используя портал.

Требования к структуре и миграции данных

(1) ЗК хочет мигрировать данные с 10 СРМ в новое приложение.
(2) ЗК требуется рекомендации по построению system of record для демографических данных клиентов.
(3) Для проектов, включающих установки в разных местах, могут использоваться разные установщики для разных мест, поэтому на каждую локацию должен быть создан отдельный проект.

Accessibility/Visibility Requirements

(1) Торговые представители и дизайн-консультанты могут видеть потенциальные проекты и записи заказов только для их региона.

(2) Команда стратегических продаж может видеть потенциальные проекты и записи заказов для их региона и все потенциальные проекты отмеченные как Стратегически приоритетные.

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

(4) ЗК менеджеры должны иметь доступ ко всем клиентам и проектам для их региона.

(5) Установщики могут видит только тех заказчиков и проектные документы, которые назначены им.

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

(7) Все пользователи должны иметь возможность выбрать язык и иметь доступ к переведенным данным и емейл коммуникации.

(8) Заказчики должны иметь доступ к онлайн-порталу во время и после выполнения проекта.
(8-1) Заказчики должны видеть только их собственные проекты и соответсвующие документы.
(8-2) Заказчики должны иметь возможность использовать Facebook credentials, чтобы залогиться в портал.

Требования к отчетам

(1) Дизайн-консультанты должны видеть и настраивать отчеты по их регионах об установщиках, кто закончил определенные учебные курсы.

(2) ЗК менеджеры хотят видеть общую информации о приходе (revenue) для их региона и статусы связанных проектов.

(3) Установщики хотели бы иметь отчеты по растением, которые они зарезервировали для своих своих проектов.

Cпасибо тебе что ты здесь всё это пишешь,но я пока занят Интеграйшин Архитект.

Ох, интересно конечно наверное. Но что-то я осилил только половину текста и потом просто потерял мысль.
Все-таки бизнес архитектор из меня никакой.
Зовите меня когда надо будет код писать

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

Sergey Prishchepa
Cпасибо тебе что ты здесь всё это пишешь,но я пока занят Интеграйшин Архитект.

Как сдашь, отпишись.

wilder
Как сдашь, отпишись.

Ок, только это займет месяц или больше, мне много новых истин открылось в процессе подготовки.)

Люди, плиз, не стесняемся и не ленимся, читаем задание, делимся идеями. Этот сценарий не самые сложный, все основано на базовых вещах, за исключением мобильного решения и вот этого: "Использовать основанную на LDAP идентификацию пользователей", где просто нужно знать, что существует СФшный тул для LDAP интеграции.

Решать задачу я не собирался. По диагонали прочитал. Мысли что пришли в голову:

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

так же пришел к выводу что за всю свою СФ карьеру я знаком всего с двумя (2!) СФ оргами и знаю как 2 компании использовали СФ. В обеих оргах это уже была готовая имплементация когда меня взяли на работу. То есть мои знания по построению архитектуры с нуля сильно ограничены, знания по внедрению вообще отсутствуют. Я думаю чтобы такое сдать неплохо бы поработать какимто консультантом-архитектором чтоли.

Den Brown
Люди, плиз, не стесняемся и не ленимся,

Да какая лень. Времени нет вообще да еще и сертификация скоро.

wilder
Den Brown
Люди, плиз, не стесняемся и не ленимся,

Да какая лень. Времени нет вообще да еще и сертификация скоро.


Что сподвигло ? я думал ты и сертификация разные вещи.зачем тебе сертификаты ты и так всё знаешь.)

Sergey Prishchepa
зачем тебе сертификаты ты и так всё знаешь

Ну знаю я далеко не все А сертификаты, это не совсем мое желание

Но Дэну спасибо за содержательный и подробный обзор пути у вершине пирамиды :)

wilder
Sergey Prishchepa
зачем тебе сертификаты ты и так всё знаешь

Ну знаю я далеко не все А сертификаты, это не совсем мое желание

Но Дэну спасибо за содержательный и подробный обзор пути у вершине пирамиды :)


Дэну мой респект и уважуха за разбор), я об этом и говорил что твоим желанием сертификации овладела чужая воля:)

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

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

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

таким образом, если в начале спектакля на стене висит ружье (спросили про LDAP), то в конце оно должно выстрелить (у СФ уже есть интеграция с ним, нужно просто знать об этом)

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

А по поводу данного проекта. Чего тут мудрить. Садимся рисуем дата модель, мокапы страниц, утверждаем у клиента. Делаем MVP для демо. Если клиенту нравится дальше заморачиваемся всякими разграничениями прав доступа и авторизациями, доделками бизнес логики. Не забываем дергать клиента по каждой мелочи и закидываем отчетами о статусе проекта - доказываем или имитируем бурную деятельность.

Все страницы обязательно пилим на Ангуляр.
Все uploads храним на Amazon S3.
Поднимаем API сервер на Heroku для бизнес логики c базой данных для Data Storage и используем их напрямую из нашего Ангуляр приложения.
С ростом нагрузки и непомерным увеличением платы за Salesforce, c легкостью мигрируем на NO-Salesforce решение.

Dmitry Shnyrev
Все страницы обязательно пилим на Ангуляр.
Все uploads храним на Amazon S3.
Поднимаем API сервер на Heroku для бизнес логики c базой данных для Data Storage и используем их напрямую из нашего Ангуляр приложения.
С ростом нагрузки и непомерным увеличением платы за Salesforce, c легкостью мигрируем на NO-Salesforce решение.
:D

Maxim Elets
надо сделать возможность вставки видер с ютуба)

Макс, можешь менять ссылку на видос.

[youtube]your_magic_link_from_youtube_here[/youtube]

Dmitry Shnyrev
Кто-то же должен качественно делать техническую сторону проекта, а кто-то пудрить клиенту мозги

Эх, если б все упиралось просто в "запудрить мозги". Как правило:
1. Клиент сам не знает чего он хочет
2. Там уже немерено всякого г...а, с которым как-то надо жить
3. Никто толком не знает почему сейчас все есть как оно есть и что отвалится, есть в определенном месте тронуть.

Андрей
Я думаю чтобы такое сдать неплохо бы поработать какимто консультантом-архитектором чтоли.

Желательно высокого уровня, ну с нуля проектировать implementation для нескольких тысяч пользователей и уже налаженными бизнес процессами. Только вот кто нас туда пустит.

Mike V
1. Клиент сам не знает чего он хочет
2. Там уже немерено всякого г...а, с которым как-то надо жить
3. Никто толком не знает почему сейчас все есть как оно есть и что отвалится, есть в определенном месте тронуть.

да, у всех все одинаково

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

Как раз таки наоборот. Если занимаешься установкой Пакета на клиентские орги ты в шоколаде. Тебя волнует только твой пакет. Но вот если ты занимаешься кастомизациями и к тебе приходят клиенты, которые сначала дешево и успешно поработали с индусами и теперь дорого и успешно хотят чтобы ты все сделал красиво. Причем то что накодили индусы и на что списали уже огромный бюджет трогать нельзя

Dmitry Shnyrev
Причем то что накодили индусы и на что списали уже огромный бюджет трогать нельзя

Это, я вам скажу, боль!

Из совсем недавнего: делал кастомизацию, под пакет, на своем сандбоксе. Отдельно от меня работала команда индусов, на своем сандбоксе.

В итоге, когда пришло время все заливать на прод, получилось так что их код не работал: queueable limit.

Я им всячески намекал на строку и класс куда надо глянуть - 3 или 4 месяца примерно. В итоге мой заказчик просто сделал митинг, на котором индусы были публично "унижены" и тыкнуты в свое же дерьмо.

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

А! И самое интересное!
Трогать их код и классы ты не можешь! А вот запихнуть какое-то говнокодное дерьмо в твою ракету - это легко!

Интересная информация? Помогите сайту, разместите ссылку в социальных сетях..