Изменения

Перейти к: навигация, поиск

Как с нами работать

4345 байт добавлено, 23:24, 28 марта 2018
О системе
==О системе==
На сегодняшний день система «Курьерская служба» отметила своё четырнадцатилетние. За это время её положительно оценили и активно с нами сотрудничают более 300 компаний. Наши партнёры находятся в самых разных странах мира, таки как : Россия, Казахстан, Украина, Белоруссия, Киргизия, Латвия. С помощью нашего сервиса ежедневно 4,5 тысячи курьеров доставляют 60 тысяч отправлений от 11 тысяч клиентов.Сама созданная нами «Курьерская служба» состоит из 207 200 связанных друг с другом таблиц, в некоторых из которых встречается по 50 миллионов записей. Над Мы постоянно работаем над её совершенствованием трудиться целый штат высококлассных специалистов. « – Для чего они нужны?» – спросите Вы. Мир не стоит на месте, он меняется, и мы не отстаём от времени. Если завтра кто-то решит избежать пробок и доставлять корреспонденцию дронами – мы сможем адаптировать систему под его нужды. Если через десять лет откроют телепортацию и будут доставлять заказы с её помощью – мы сможем подстроиться и под этот метод доставкичтобы наши клиенты всегда были впереди конкурентов. Наша команда работает, что бы Вам было удобно!  
===Бизнес-модель===
Моя главная задача - эффективность использования всех ресурсов для получения максимальной отдачи для бизнеса наших клиентов на каждый потраченный рубль. Для этого я применяю все возможные подходы. У каждого из этих методов есть свои плюсы и минусы, поэтому я постараюсь их все здесь описать, чтобы Вы понимали, откуда берутся некоторые минусы в работе с нами, и что Вы получаете взамен.
====Команда====
Для эффективной работы команда должна быть компактной. Оптимальный размер команды для разработки ПО - 7-15 человек. Это тот объем, который позволяет руководителю дотянуться до каждого сотрудника, проконтролировать работу, объединить усилия всех сотрудников в единый организм и комплексно, целенаправленно решать стратегические задачи. Понятно, что написать Windows с такой командой невозможно, ее нужно сильно расширять. Однако это требует существенного расширения сопутствующего персонала. К сожалению, речь идет не только о найме проект-менеджера на каждую группу по 7 человек (зарплаты которых измеряются сотнями тысяч рублей), но и раздутии штата прочими сотрудниками, напрямую в процессе разработки/сопровождения не занятыми, поскольку работу групп нужно координировать, большую задачу нужно разбить на блоки, требования, функциональность, методы тестирования, интерфейсы взаимодействия которых нужно полностью задокументировать. Объем технической документации при "правильном" подходе занимает больше времени и стоит дороже, чем сам процесс разработки. После разработки каждого куска его надо тестировать отдельными штатными единицами, а потом пытаться склеить эти блоки вместе. В случае же с компактной командой ее можно просто собрать вместе, и сказать: "Давайте сделаем вот это. Ты делаешь это, а ты - вон то, через 2 дня собираемся вместе и проверяем". Поэтому я стараюсь удержать размер команды в оптимальном диапазоне. Пусть мы не можем такими силами взяться за какие-то глобальные мегапроекты, зато предельно эффективно решаем свои конкретные текущие задачи, которые ставят перед нами наши клиенты. Мы, конечно, разбираемся в предметной области. Я начинал свою карьеру с работы курьером еще в 2000-м году, потом в офисе курьерской службы. Коммерческий директор - обязательно с опытом руководящей работы в курьерской службе. Мы лично встречаемся, общаемся с клиентами. Остальные сотрудники обязательно начинают свою работу с изучения предметной области. Полное погружение в нее - обязательное условие нормальной работы каждого сотрудника. К сожалению, большинство разработчиков подходят к своей работе только с позиции "мы умеем писать код, нам заказчик скажет, что написать, мы сделаем". Лично сталкивался с "автоматизаторами", которые только от меня узнавали, что после распределения заказов по курьерам их нужно еще физически на складе сортировать, а не просто скинуть курьерам полученные списки. Поэтому мы прикладываем все усилия к тому, чтобы такими не быть.
====Задачи====
Естественно, сначала мы делаем задачи из первой категории, и по остаточному принципу - остальные (даже если в теме обращения написано "ОЧЕНЬ ВАЖНО!!!"). Такой подход приводит к тому, что некоторые задачи могут стоять в очереди вечно. Но их процент не очень большой, а сделать все и сразу попасть в светлое будущее, конечно, невозможно.
<====Экстремальное программирование====В своей работе в разной степени мы используем принципы [https://ru.wikipedia.org/wiki/Экстремальное_программирование экстремального программирования]. Мое самое любимое положение из него - код должен максимально быстро начинать приносить реальную пользу (прибыль!) нашим клиентам. При классическом подходе к разработке, как я уже писал, сначала пишется документация всей доработки, потом разбивается на подзадачи, реализуется, тестируется, отлаживается и т.д., на все это уходит куча времени и денег. Потом ее пытаются сдать заказчику, и тут оказывается, что задачу изначально не совсем так поняли. Чтобы этого всего избежать, мы сходу пишем небольшие куски, и сразу, даже без тестирования, отдаем заказчику. Да, при этом могут быть ошибки. Но заказчик сразу начинает пользоваться, решать свои бизнес--Мызадачи, т.е. экономить деньги. Ошибки, замечания, конечнопожелания, стараемся разбираться которые он обнаруживает уже в предметной областипромышленной эксплуатации, а на на примере [https://ru.wikipedia. Я начинал свою карьеру с работы курьером еще org/wiki/Научный_юмор#Сферический_конь_в_вакууме сферических коней в 2000-м годувакууме], как это делает тестировщик, потом в офисе курьерской службыреальном времени передаются разработчикам и так же быстро устраняются. Коммерческий директор В результате мы получаем огромный прирост эффективности - обязательно с опытом руководящей работы в курьерской служберазы, если не на порядки. Мы лично встречаемсяС одной стороны сильно сокращаются издержки на документирование, общаемся тестирование, случаи решения несуществующих задач, а с клиентамидругой стороны - клиент получает самую свежую функциональность со скоростью горячих пирожков и сразу начинает на этом зарабатывать. Остальные сотрудники Пусть эта функциональность и не обязательно начинают свою работу с изучения предметной областиполная или надежная - это лучше, чем ничего. Мы их обучаем Иногда задача даже может остаться не очень доделанной -главное, что она решает поставленную перед ней конкретную задачу на конкретных данных. Поэтому иногда бывает, что клиент пытается воспользоваться функцией, а она не работает, т.к. писалась для конкретной задачи. С точки зрения клиента это <rspoiler text="глюк">-Исправьте немедленно!!!</rspoiler>, а с нашей - это недофича, которой могло и не быть, и <rspoiler text="никто бы не узнал, что она могла быть">Если, конечно, она не заявлена в перечне функциональности системы: в этом случае мы должны обеспечить корректность ее работы в соответствии с документацией и/или здравым смыслом</rspoiler>.
====Экстремальное программирование====
В своей работе в разной степени мы используем принципы [https://ru.wikipedia.org/wiki/Экстремальное_программирование экстремального программирования]. Мое самое любимое положение из него - код должен максимально быстро начинать приносить реальную пользу (прибыль!) нашим клиентам. При классическом подходе к разработке, как я уже писал, сначала пишется документация всей доработки, потом разбивается на подзадачи, реализуется, тестируется, отлаживается и т.д., на все это уходит куча времени и денег. Потом ее пытаются сдать заказчику, и тут оказывается, что задачу изначально не совсем так поняли. Чтобы этого всего избежать, мы сходу пишем небольшие куски, и сразу, даже без тестирования, отдаем заказчику. Да, при этом могут быть ошибки. Но заказчик сразу начинает пользоваться, решать свои бизнес-задачи, т.е. экономить деньги. Ошибки, замечания, пожелания, которые он обнаруживает уже в промышленной эксплуатации, а на на примере [https://ru.wikipedia.org/wiki/Научный_юмор#Сферический_конь_в_вакууме сферических коней в вакууме], как это делает тестировщик, в реальном времени передаются разработчикам и так же быстро устраняются. В результате мы получаем огромный прирост эффективности - в разы, если не на порядки. С одной стороны сильно сокращаются издержки на документирование, тестирование, случаи решения несуществующих задач, а с другой стороны - клиент получает самую свежую функциональность со скоростью горячих пирожков и сразу начинает на этом зарабатывать. Пусть эта функциональность и не обязательно полная или надежная - это лучше, чем ничего. Иногда задача даже может остаться не очень доделанной - главное, что она решает поставленную перед ней конкретную задачу на конкретных данных. Поэтому иногда бывает, что клиент пытается воспользоваться функцией, а она не работает, т.к. писалась для конкретной задачи. С точки зрения клиента это <rspoiler text="глюк">исправьте немедленно!!!</rspoiler>, а с нашей - это недофича, которой могло и не быть, и <rspoiler text="никто бы не узнал, что она могла быть">Если, конечно, она не заявлена в перечне функциональности системы: в этом случае мы должны обеспечить корректность ее работы в соответствии с документацией и/или здравым смыслом</rspoiler>.
====Коммуникация====
Для оперативного решения задач необходимо всегда быть в тесном контакте. В рамках поддержки мы работаем на расстоянии телефонного звонка, многие вопросы решаются в реальном времени. Для руководителей компаний на 3-м тарифе поддержки мы предоставляем еще больший сервис: они могут звонить лично мне на мобильный, и получать консультации на максимально высоком уровне. Прямо в реальном времени, находясь, например, на встрече, можно подключить нашу компанию в моем лице к диалогу!
 
====Бюрократия====
 
====Поддержка====
Поддержка системы является крайне важным элементом ее совершенствования. Когда мы видим, что с каким-то вопросом к нам обращаются регулярно - мы понимаем, что что-то там сделано не идеально, и это нужно исправлять.
 
====Эволюция====
Наша компания, как и наша система, растет. Примерно на 30% в год. Есть плюсы:
*Скорее всего мы не закроемся :-)
*Система становится все более функциональной, и "из коробки" позволяет решать все больше задач.
*Мы совершенствуем свои процессы, их надежность и эффективность постоянно повышаются. <spoiler text="Примеры">
*Когда-то документы оформлялись вручную, и лицензионные ключи на аренду также делались вручную. Ключ после оплаты можно было ждать неделю, старожилы помнят.
*Мы разработали и внедрили тикетную систему. Уже через несколько месяцев мы задавались вопросом "а как же мы работали до этого?". Сейчас через нее проходят все обращения, задачи. Она позволяет нам не потерять ни одного вопроса или хотелки (хотя не скрою, некоторые вопросы у нас могут висеть и очень долго, т.к. решения их пока нет. Но все-равно мы о них помним!)
*Недавно мы сделали интерактивное [https://home.courierexe.ru/whatsnew средство отслеживания изменений] в системе. Теперь в реальном времени можно смотреть, что сделали программисты, по каким тикетам, в каких блоках.</spoiler>
Но есть и минусы:
*Система становится все сложнее, и любая доработка в ней требует все больше усилий. Это общая беда больших систем: по подсчетам Microsoft программисты тратят 90% времени на поиск места в коде их ERP-систем, куда нужно внести изменение, и только 10% - на написание этих изменений.
*Уменьшается объем личного присутствия. Еще 5 лет назад я лично приезжал к каждому клиенту в Москве, с ноутбуком, и что-то для них дописывал. Но это и хорошо: компания гораздо лучше работает, когда она выстроена как система, а не ручное управление одним человеком.
==Отказ от ответственности==

Навигация