
Добрый день, статья написана в качестве некоего продолжения данного опуса. Компания 1С довольно часто подвергается критике, нередко объективной, но я попытаюсь своим примером показать, что 1С предоставляет свободу выбора, что в нынешнее время как минимум заслуживает уважения. Также немного посчитаем деньги.
Пролог.
Основной вид деятельности нашей небольшой компании является IT аутсорсинг. Скорее в маркетингово-энтузиастских целях, мы создаем шаблоны решений, которые нам позволяют немного стандартизировать IT инфраструктуру подопечных, а клиенту получить и главное осознать экономию (если сам себя не похвалишь отчетом, то никто не заметит). Клиенты — небольшие компании от 20 до 200 человек. Одним из таких решений является реализация 1С сервера предприятий на свободной платформе Linux + Postgres SQL. В статье не будет очередной технической реализации, так как все давноразжевано и пережевано. Будет лишь сравнение стандартного предложения от 1С франчайзи и наш экономный вариант на май 2014.
Задача №1.
Осуществить переход базы с файлового режима работы на SQL-ный вариант с возможностью использования до 20 клиентов.
Расчет двух вариантов.
Мы не занимаемся сопровождением 1С, потому все рекомендации: о необходимости перехода с файловой базы на SQL, покупки лицензий, аппаратного комплекса клиент получает от сопровождающего его 1С франчайзи. Далее проходит консультация с нами, мы предлагаем альтернативное решение на связке 1С+Linux+Postgres SQL, сами же и внедряем.
Предложение на 20 пользователей.
Наименование | Стандартное предложение 1С франчайзи Windows + MSSQL (руб.) | Вариант здравомыслия Linux + Postgres SQL (руб.) |
---|---|---|
Лицензии 1С | ||
1С: Предприятие 8.3.Лицензия на сервер (x86-64) | - | 86400 |
1С: Предприятие 8.3.Лицензия на сервер (x86-64) (USB) | 103700 | - |
Клиентская лицензия на 20 рабочих мест 1С: Предприятие 8 (USB) | 97600 | - |
1С: Предприятие 8. Клиентская лицензия на 20 рабочих мест | - | 78000 |
Лицензии SQL | ||
Лицензия на сервер MS SQL Server Standard 2012 Runtime для пользователей 1С: Предприятие 8 | 13381 | 0 |
Клиентский доступ на 20 рабочих мест к MS SQL Server 2012 Runtime для 1С: Предприятие 8 | 117748 | 0 |
Итого | 332429 | 164400 |
Экономия | 168029 |
Пояснения и нюансы:
- Внедренцы 1С (во вселенной конечно же есть и другие, которые пытаются сэкономить клиенту, но нам такие не попадались) по умолчанию предлагают ключи варианта USB, они ощутимо дороже файловых лицензий. Естественно, выбор типа ключа никак не зависит от платформы реализации. Выходит в таблице сделано ухищрение в пользу Linux платформы. Все же напомню, что речь идет не о скрупулезной оценке предложений, а о свежем примере из практики. Объективности ради, должен уточнить, что на мой взгляд внедренцы склоняются в пользу USB ключей не в целях увеличить траты, а ради надежности применения и простоты дальнейшего обслуживания, «тем более» если речь идет о реализации на Linux + Postgres SQL.
- Часто, мы также для небольших компаний приобретаем ключ 1С: Предприятия x86, а не 64. При этом Postgres SQL используем 64 битный вариант, а 1С сервер предприятия 32 битный. Применение в масштабах организаций до 60 человек, считаем приемлемым, тезис субъективный.
- Не учтена стоимость работ. В нашем случае она включена в контракт обслуживания, потому для клиента равна нулю. Будем считать что внедрение и дальнейшее сопровождение, примерно одинаковы.
Итог.
Часто, экономия в рамках нашей страны губит любые добрые системные начинания. Мне кажется, что данный случай все же из другого разряда. Три года назад когда мы вводили 1С сервер предприятия на Linux за стандарт для наших компаний, мы действительно без ложной озабоченности выслушивали от внедренцев 1С, что они снимают с себя ответственность за работоспособность поддерживаемой конфигурации на подобной не «кошерной» связке Linux + Postgres SQL, при этом вводя и клиента в состояние паники.
Возможно, в приведенные мною расчеты можно пульнуть еще с десяток критических стрел, на объективность претендовать сложно, но хотелось донести общее представление финансовой составляющей вопроса.
UPD. from Thug21
клиентские программные и аппаратные лицензии расходуются по разному в клиент-серверном режиме.
-Программные расходуются на каждое подключение
-Аппаратные на компьютер.
UPD от sales@1c.ru
техническая возможность работать без ключа не ознячает юридического разрешения это делать. Закон о правовой защите информации для ЭВМ запрещает использовать любые программные продуктыв, правообладатель которых не декларирует их бесплатность (а мы нигде не объявляли этот сервер бесплатным).
С уважением, менеджер отдела продаж Виктор Быков
Убедительная просьба сохранять историю переписки при дальнейших обращениях.
Источник: habrahabr.ru
Как самостоятельно учиться веб-разработке

В возрасте двенадцати лет, после того, как я открыл для себя функцию «Сохранить как веб-страницу» в Microsoft Word, я начал осваивать веб-разработку. Вначале я изучил HTML, затем CSS и JavaScript, после чего нахватался по чуть-чуть из PHP и Rails (сегодня мне нравится Meteor). Все эти годы я подумывал о том, чтобы получить формальное образование, и я даже видел в этом некоторые плюсы, однако, в конце концов:
1. Это было слишком дорого.
2. Мне довольно сложно получать образование в формате учебной аудитории.
3. Я уже довольно многого добился на тот момент.
Но это не всегда было легко и просто. Я не просто учился тому, как писать код. Я учился тому, как учиться, и это и будет темой сегодняшнего обсуждения. Здесь я привел пять шагов того, как научиться веб-разработке.
1. Ограничить интересную для вас область веб-разработки
Нельзя просто взять и «стать веб-разработчиком», прочитав определенную книгу или посмотрев какое-то количество видеороликов. Веб-разработка – это обширная область, и попытки стать в ней мастером на все руки просто выжмут из вас все соки, оставят у разбитого корыта, и вы недалеко уйдете в освоении материала относительно места, где вы начинали.
Быть веб-программистом — это что-то вроде того, что быть ученым. Существуют основополагающие идеи, которые применяются во всех дисциплинах, однако вам крайне необходима специализация. Вы должны будете выбрать для себя одну область – намного проще осваивать новые сферы после того, как вы уже овладели какой-нибудь одной – но вы и не будете ограничены вашим выбором. Человек, глубоко знакомый с PHP, может сделать намного больше, чем кто-то, поверхностно знакомый с десятком самых современных веб-технологий.
С этой точки зрения, правда, нет универсального решения. После того, как вы познакомились с HTML и CSS, просто выберите то, что вам интереснее. Может быть, нужно узнать, при помощи чего созданы ваши любимые веб-сайты. Вы обнаружите, что почти повсеместно используется Rails, но и программная оболочка JavaScript укрепляет свои позиции. Я работаю с Meteor, так как мне нравятся ее свойства в реальном времени. Ваши соображения при этом не важны. Просто попробуйте следовать собственным интересам, так как лишь это будет поддерживать вашу мотивацию.
Если вас ничего особо не привлекает, остановитесь на наиболее популярных технологиях, таких как JavaScript и PHP. Для них существует такое количество обучающих материалов, что вы будете поражены изобилием доступной поддержки.
2. Игнорируйте большинство «руководств» от маститых веб-разработчиков
Многоопытные веб-разработчики часто с благими намерениями предлагают рекомендации для новичков, которые совершенно не имеют практического применения. Причины этому следующие:
1. Не забывайте, что вы – новичок.
2. От того, кто только начал схватывать основы, требуется слишком многое.
3. Могут присутствовать предпочтения, основанные на проблемах, с которыми вы можете никогда не столкнуться (например, масштабирование на миллионы пользователей).
Спросите, к примеру, какой язык вам стоит начать изучать, и дебаты, которые за этим последуют, не будут иметь никакого отношения к тому, что лучше именно для вас. Это будет спор, основанный на предвзятых мнениях, которые выработались у разработчиков за время работы.
А теперь о том, как я это вижу:
Не имеет значения, начнете ли вы изучать PHP, Rails или JavaScript, или что-нибудь еще. Почему? Потому, что переучиться с одного языка на другой совершенно ничего не значит по сравнению с пропастью между тем, чтобы не быть веб-разработчиком и быть веб-разработчиком.
Есть опытные веб-разработчики с прекрасными советами, однако, когда вам предлагают совет, спросите себя: «А действительно ли это наилучший способ для новичка изучить этот процесс? Или, быть может, это просто разработчик хочет, чтобы новички так научились?»
3. Задайте себе четкое (и выполнимое) задание
После изучения основ веб-разработки попробуйте создать что-нибудь без книг и учебников. В целом, это наиболее эффективный метод для того, чтобы:
1. Ощутить радость творения.
2. Обнаружить пробелы в своих знаниях.
3. Изучить действенные способы решения проблем.
Не имеет значения, что именно вы решите сделать, но старайтесь придерживаться как можно меньшего объема проекта. Если по вашим прикидкам вам потребуется потратить несколько недель для реализации данного проекта – он слишком велик. Сделайте его меньше. Вы же не хотите, чтобы проект длился мучительно долго.
Также убедитесь в том, что у проекта есть финальная точка. Какими свойствами он должен обладать, чтобы можно было сказать, что он «завершен»? Вам следует знать, когда можно будет расслабиться и наслаждаться выполненной работой (и это совершенно не означает, что проект готов быть представлен на суд общественности, т.к. как нет необходимости публиковать ваше творение).
В большинстве случаев любой проект, главной задачей которого является сбор каких-либо базовых данных – наилучший способ для новичка проверить свои знания.
4. Стремитесь к четкому дневному графику
Когда вы начинаете заниматься веб-разработкой, в некоторых областях вы делаете большие успехи, однако приходит время, когда ваш прогресс замедляется, и это тот момент, в который многие начинающие веб-разработчики опускают руки и предаются унынию.
Это происходит оттого, что новички обычно получают удовольствие от процесса обучения при достижении конкретных отметок. Причем эти отметки непредсказуемы. После получения базовых знаний можно неделями и месяцами не делать сколько-нибудь значительных успехов.
Существует, однако, альтернативный вариант:
Вместо концентрации на достижении определенных рубежей посвятите обучению и практике в веб-разработке строго определенное время каждый день. Двадцать минут минимум – хорошее время для начала, однако четких границ и требований нет. Просто прикиньте, сколько свободного времени вы можете определенно и постоянно тратить на это дело.
Фишка в том, чтобы соблюдать временной промежуток, заключается в удовольствии от того, что вы можете его постоянно соблюдать. Новые горизонты будут открываться перед вами как приятное дополнение, а не как непредсказуемая цель.
5. Запаситесь достаточным количеством учебных материалов
Возможно, вы видели видеоролик Айра Гласс (Ira Glass), посвященный написанию кода, в котором он заявляет, что люди «делают огромное количество работы».
Эта простая вера ведет к состоянию мастерства, а идея легко применима к веб-разработке. Для того чтобы стать веб-разработчиком, необходимо писать много кода, однако многие люди не осознают, что код не обязательно должен быть собственным. Огромное значение имеет следование коду, взятому из книг, учебных материалов и видеоуроков – например, как на сайте SitePoint и в книгах и курсах с сайтов вроде Learnable.
Вы должны запастись материалом – причем нужно осознавать смысл каждой строки кода при его написании – но даже если вы просто зубрите, обучение движется вперед.
Что не учитывает большинство людей:
Синтаксис – не самая сложная часть веб-разработки. Это главная беда новичков, но впоследствии большей загвоздкой становится определение образа мышления, который может помочь решить ту или иную проблему. Самая большая ирония в том, что зачастую новички часто предлагают более комплексное решение, чем профессионалы.
Учитывая сказанное выше, преимущество от следования указаниям в большом количестве учебных материалов заключается в том, что:
• Вы можете посмотреть, как разные разработчики решают разные задачи.
• Вы можете посмотреть, как разные разработчики решают одинаковые задачи.
Когда вы, наконец, сможете работать над собственным проектом, такой опыт даст вам нужные инструменты, необходимые для:
1. Определения ядра поставленной задачи.
2. Обрисовки в общих чертах того, что требуется для решения этой задачи.
Вы можете не иметь в запасе точных решений, но это не важно. Многие задачи в той или иной форме уже были кем-то решены ранее, и половина проблемы «выразить свою мысль в виде кода», заключается в том, чтобы понять, что вы пытаетесь сказать. После того, как вы преодолеете этот рубеж, синтаксис и всякие мелочи покажутся намного проще.
Вывод
Я лишь поделился пригоршней рекомендаций «в целом» о том, как заставить себя учиться веб-разработке, но это действительно те вещи, которые я хотел бы, чтобы мне рассказали, когда я начинал этим заниматься.
Источник: habrahabr.ru
Как сделать мобильное приложение самому

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

Стоит ли делать мобильное приложение
Стоит. Если не верите на слово, вот несколько фактов:
- По данным Flurry Analytics и comScore, владельцы смартфонов и планшетов пользуются браузером только 14 % от общего времени работы с девайсом. А 86 % времени они тратят на разные приложения.
- Установленное приложение — ваш прямой канал связи с потребителем. Только подумайте: вам не нужно тратить деньги на рекламу или ждать, когда человек найдет вас с помощью «Яндекса». Остается поддерживать нужную пользователю функциональность и предоставлять ему релевантный контент.
- Число покупок, сделанных с помощью планшетов и смартфонов, растет как в интернете в целом, так и в рунете.По информации маркетингового агентства Criteo, уже в 2016 году более половины онлайн-транзакций в рунете будут совершаться с помощью мобильных девайсов.

Если хотите, приложение — это мобильный браузер, в котором открывается только ваш сайт. В каком случае пользователь установил бы такой интернет-обозреватель? Только в том, если он заинтересован вашим продуктом или информацией. Поэтому помните: установивший приложение клиент — лояльный и готовый покупать представитель целевой аудитории.
В таком случае, стоит ли рисковать и предлагать лояльным клиентам DIY-приложения, а не сделанные профессионалами штучные программы для Android и iOS? Давайте разбираться.
Когда можно делать приложение самостоятельно
Вы помните, что нужно посетителям сайтов? Они приходят из-за контента или функциональности ресурса. Люди хотят получить информацию, что-либо купить, посмотреть и прокомментировать фотографии друзей и так далее. Пользователям мобильных приложений нужно то же самое. Они ищут информацию или совершают какие-либо транзакции.
Вы помните, когда бизнесу можно самостоятельно сделать сайт? Правильно, когда денег на сотрудничество с профессионалами еще нет, а время и желание разобраться с WordPress или «Джумлой» есть. Такая же ситуация с приложениями. Созданные самостоятельно программы для iOS и Android можно условно сравнить с сайтами на «движках» с открытым кодом.
Речь вот о чем: вы можете сделать классный портал, интернет-магазин или корпоративный сайт на 1С-Битрикс или на «самописном движке». Эту же задачу можно решить с помощью Drupal, Joomla! или OpenCart. С приложениями так же: можно заплатить большие деньги топовым разработчикам, а можно удовлетворить потребности аудитории с помощью онлайн-конструкторов.
Попробуйте сделать приложение самостоятельно, если:
- Вы делаете первые шаги в бизнесе и придерживаетесь принципов бутстрэппинга. Аудитория простит несущественные недоработки начинающему предпринимателю, но заклюет из-за них крупное предприятие. Поэтому не делайте приложение самостоятельно, если владеете бизнесом масштабов «Евросети».
- Вашим клиентам необходима программа для смартфонов и планшетов с очень простой функциональностью. Например, можно обойтись без разработчиков, если вы хотите конвертировать сайт в приложение.
- Вас и вашу аудиторию устраивает шаблонный дизайн приложения. Этот пункт можно сформулировать так: если контент и функциональность программы на высоте, мало кто будет обращать внимание на дизайн.
- Успешный или неудачный запуск приложения не окажет немедленного и существенного влияния на бизнес. Например, если большую часть клиентов вы привлекаете и обслуживаете в офлайне, а приложение разрабатываете на перспективу, пространство для экспериментов есть.
- Вам уже вчера необходимо приложение. Здесь придется выбрать один из двух вариантов: заплатить разработчикам за уже готовый типовой код или воспользоваться конструктором.
- Вы не хотите зависеть от разработчиков. Если вы опасаетесь, что студия будет брать с вас слишком много за поддержку и обновления программы, используйте готовые решения. Только помните, что их тоже нужно поддерживать в актуальном состоянии.
Решили делать программу самостоятельно? Двигайтесь дальше.
Делаем приложение самостоятельно: с чего начать
Начать придется с теории. Вам нужно на базовом уровне понять анатомию мобильных приложений, а также запланировать базовую функциональность программы.
Что такое мобильное приложение
Мобильное приложение — это программа, работающая на планшетных ПК и смартфонах. С помощью программ владелец девайса решает практические задачи: соединяется с интернетом, публикует фотографии в соцсетях, редактирует текст или изображения, уничтожает виртуальных орков, слушает музыку.
Пользователи смартфонов и планшетов загружают приложения с сайтов разработчиков или из магазинов. Самые известные магазины — Google Play и App Store. Аудитория считает приложения из магазинов безопасными, так как модераторы проверяют программы перед публикацией.
Как конвертировать теоретические знания об анатомии мобильных приложений в практические действия? При выборе конструктора обратите внимание на две позиции. Первая: сервис должен обеспечивать хостинг приложения. Вторая: выбранный ресурс должен обеспечить возможность управления приложением и его публикацию в Google Play, App Store и других популярных магазинах.
Как определить необходимую функциональность приложения
На этом этапе необходимо сформулировать цель и задачи, которые решает приложение. Иначе говоря, нужно понять, зачем вы создаете программу для мобильных устройств. Обратите внимание, этот вопрос нужно рассматривать не с точки зрения бизнеса. Все знают, что за формулировками типа «повысить качество обслуживания» и «обеспечить комфорт владельцам смартфонов» прячется конкретная бизнес-цель: стимулировать продажи. Но она не поможет спланировать функциональность программы.
Рассмотрите цель и задачи приложения с позиции клиента. Определите, с какой целью представитель аудитории будет устанавливать и использовать приложение. Найдите задачи, которые обеспечивают достижение этой цели.

Например, если у вас интернет-магазин, цель мобильного приложения можно сформулировать так: обеспечить клиентам возможность выбирать и покупать товары со смартфона или планшета. Достижение цели должны обеспечить следующие задачи:
- В приложении должна быть удобная навигация. Клиент должен иметь возможность искать продукты по категориям, заданным параметрам, производителям.
- Программа должна иметь удобный блок оформления покупок: корзину, систему оплаты, отслеживание статуса заказа.
- В приложении нужен личный кабинет. В нем будут разделы «История покупок», «Желания», «Избранное».
- С помощью push-уведомлений клиент будет получать сообщения о новых поступлениях товаров и акциях.
- В разделе «Информация» пользователь сможет прочитать новости и обзоры.
Вы уже догадались, что формулирование цели и задач определяет функциональность будущего приложения? Кстати, не тратьте время на измеримость и достижимость цели. В данный момент вы планируете функции программы, а не занимаетесь SMART-анализом.
Также не тратьте время на планирование дизайна, внешнего вида иконок и кнопок, макетирование экранов. Вы будете использовать шаблонные решения. Конструкторы приложений позволяют выбрать один из готовых макетов и наполнить его контентом.
Как пользоваться конструкторами для создания мобильных приложений
С помощью мобильных конструкторов можно создать приложения с разной функциональностью. Вы можете выбрать универсальных сервис или конструктор, заточенный для создания приложений определенного типа. Например, если вы развиваете интернет-магазин…
… сделайте ecommerce-приложение с помощью конструктора MobiCart
Сервис MobiCart предназначен для создания ecommerce-приложений. Вы можете сделать программу, которая заменит сайт интернет-магазина для мобильных пользователей. Также вы сможете сделать полноценный мобильный интернет-магазин, если у вас нет сайта.
MobiCart поддерживает русский язык. В конструкторе реализована оплата через PayPal. Также есть опция наличного расчета после получения товаров. Сервис платный, но начинающие предприниматели могут воспользоваться бесплатным тарифом с ограниченной функциональностью. Главное ограничение — вы можете добавить на витрину не более 10 товаров.
После регистрации вы попадете в личный кабинет пользователя. Чтобы создать приложение, выберите опцию Create Application.

Загрузите логотип магазина с помощью функции Upload logo. Выберите и сохраните цвет оформления приложения.

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

Перейдите в раздел настроек магазина. Для этого выберите раздел Store Settings. На вкладке Store укажите название магазина, электронный адрес администратора. С помощью выпадающего меню выберите валюту. Если хотите использовать в приложении Google Карты, зарегистрируйте ключ API и укажите его в соответствующем поле.
При необходимости активируйте опцию бесплатной доставки и отметьте ее условия. В поле Cash On Delivery укажите величину надбавки при выборе клиентом наложенного платежа. Вы должны указать десятичную дробь. Например, величина Cash On Delivery 1,07 значит, что при наложенном платеже стоимость товара увеличивается на 7 %.

На вкладке Shipping с помощью выпадающего меню выберите страну и регион доставки. Укажите стоимость доставки одного или нескольких товаров. Обратите внимание, стоимость доставки для каждого региона придется указывать вручную.

На вкладке Tax отметьте флажком опцию Prices to include tax. В отличие от международных, отечественные ритейлеры всегда указывают цену с НДС.

На вкладке Payments Gateway укажите данные платежных систем, через которые вы принимаете платежи. Обязательно включите опцию наложенного платежа, так как MobiCart не поддерживает популярные в РФ платежные системы, например, «Яндекс.Деньги».
Настройте язык приложения в разделе Languges. Конструктор не поддерживает русский язык по умолчанию, поэтому текст сообщений придется ввести вручную. После добавления русского текста обязательно сохраните информацию.
Обратите внимание, чтобы изменить текст мобильного приложения, достаточно указать новые значения команд на вкладке Mobile. Чтобы изменить язык электронных сообщений и административного раздела, выберите соответствующие вкладки и отредактируйте информацию.

В разделе App Vital укажите название приложение, выберите страну или страны, жители которых смогут пользоваться программой.

На вкладке Images загрузите изображения, которые будут использоваться в качестве иконок в магазинах приложений и на устройстве пользователя.
В разделе Home Gallery добавьте фото, которое будет отображаться на главном экране приложения. В разделе Store Builder добавьте информацию о продуктах. Выберите подходящий способ:
- Добавьте информацию о категориях товаров и продуктах вручную с помощью формы в личном кабинете.
- Используйте плагин MobiCart для синхронизации приложения и сайта интернет-магазина.
- Загрузите сведения о продуктах с помощью файла в формате CSV.
Чтобы добавить информацию о разделах и продуктах вручную, воспользуйтесь вкладками Departments и Products.

Чтобы добавить продукт, выберите соответствующую вкладку. Нажмите кнопку Add Product. На открывшейся странице с помощью редактора добавьте информацию о продукте. Сохраните изменения.

В разделе More Pages отредактируйте информацию, которая будет отображаться на страницах приложения.

В разделе Push Notification можно создавать push-уведомления. Введите название и текст сообщения. Выберите варианты доставки уведомления. Вы можете отправить его всем клиентам, пользователям, находящимся на определенном расстоянии от вашего офиса, а также людям, находящимся в определенном регионе. Местоположение пользователей определяется по ZIP-коду или почтовому индексу. Чтобы отправить уведомление, нажмите кнопку Send Notification.

В разделе News Tab вы можете подключить RSS-ленты и аккаунты в Twitter, публикации
5 классных вещей в процессах американской компании

Хочу поделиться интересными и полезными приемами в организации процессов компании в США. Я 9 лет работала в одной продуктовой компании, с момента окончания института, там было много хорошего, но мне с какого-то момента стало интересно «а как у других?». Примерно 8 месяцев назад мне постучался HR и позвал на собеседование в проектную компанию на позицию DBA для работы на компанию из США. В этот момент я работала на позиции заместителя технического директора. Такое предложение было довольно неожиданным, я не отнеслась к нему серьезно – посмотреть как у других хотелось, но не с таким резким снижением в карьере. Но, я согласилась прийти на собеседование – интересен был процесс.
- С ведущим разработчиком проекта в компании-нанимателе
- С ведущим разработчиком из компании-заказчика (уже на английском)
- С архитектором в компании-заказчика
В процессе собеседования выяснилось, что компания очень крупная, разработка ведется с использованием тех же инструментов, что и в первой компании. Все очень близко. Много задач по базе данных. Мне понравилось насколько подробно выспрашивали о технологиях, видно было, что уровень специалистов высокий и проект интересный.
Я решила принять предложение и прийти в компанию – поработать над интересной задачей и посмотреть как организованы процессы в американской компании. Надо здесь оговориться, что у меня были розовые очки. Я считала, что если компания в Америке, то все процессы у нее внутри налажены, руководители работают по принципам Стивена Кови и Ицхака Адизеса. К моему удивлению, это оказалось не так. Розовые очки были сняты, но нашлось много полезного и нового в работе компании.
1. Scrum
Сама методология с ее плюсами и минусами заслуживает отдельной статьи. Пока только скажу, что разработка делится на «спринты». Каждый спринт 2 недели. Предполагается, что все задачи будут закрыты за этот срок. Если вдруг, кто-то быстрее справится со своими задачами на спринт, то он подключится и поможет тем, кто не успевает. Оценка сложности задачи, на мой взгляд, очень полезная штука, проводится коллективно. Есть созвон 1 раз в неделю, в течение которого команда обсуждает еще неоцененные задачи и присваивает сложность – на закрытом голосовании. Потом, когда все проголосовали, уже видно, кто и сколько поставил, если есть большие расхождения в оценке — люди, которые оценили задачу, высказываются и обсуждают. В итоге группа приходит к общей оценке задачи. Штука длительная (редко занимает меньше 2-х часов), но, на мой взгляд, полезная. Во-первых, все в курсе основных задач. Во-вторых, такой метод позволяет более объективно оценить сложность и объем задачи.
2. Demo для руководства каждый спринт
Не знаю, насколько часто встречается проблема, когда руководство компании не понимает, что делают программисты. В моей первой компании это был наболевший вопрос. Мы пробовали всякие отчеты, которые в итоге руководство не читало, в итоге вопрос повис, а непонимание осталось. А было такое простое решение. Презентация — раз в 2 недели (здесь по окончанию каждого спринта) с кратким обзором того, что было сделано понятным для бизнес-людей языком. Это дает руководству понимание, чем заняты люди и возможность понять туда ли движется проект.
3. All hands meeting
Вот это уже demo для сотрудников от руководства. С описанием основных приоритетов развития компании, достижений, и направления дальнейшего развития. На мой взгляд, замечательная штука. Она дает, во-первых, понимание людям какие задачи решает руководство и над чем оно работает. Во-вторых, это дает возможность соотнести свои приоритеты и принципы развития с приоритетами и принципами развития компании – так можно все время проверять, а по пути ли вам?
На таком «созвоне» обычно присутствует вся компания. И у всех есть возможность задать вопрос в эфире. Длится примерно 1 час. Проводится 1 раз в месяц или в квартал, в зависимости от компании.
4. Code review
Это больше техническая часть, но тоже очень полезная. Организация применения изменений в первой компании была следующая: разработчик вносил изменения, тестировал, отдавал тестировщику, затем следовала обязательная часть с подробным code review со стороны руководителя. Далее руководитель уже применял изменения к работающей системе. Мы не могли придумать как избавится от части с просмотром кода. А решение очень простое – code review должны делать сами разработчики. Только не тот, который писал код, а 2-3 других человека. Все их комментарии и замечания должны быть внимательно изучены и применены, либо автор-разработчик должен убедить своих коллег, что его решение лучше. Один момент – разработчики должны быть мотивированы делать code review. Иногда ожидание получения отзыва от других занимает столько же времени, сколько сама задача, а потом возвращаться к уже написанному коду и править его неудобно.
5. Bridge call во время проблемы
Если случается какая-то непредвиденная ситуация, например, загрузка ЦПУ на рабочем сервере возрастает до 90% и не удается в течение 5 минут устранить эту проблему, организуется Bridge call специалистов компании. Присутствуют DBA и ведущие разработчики.
Сначала я была довольно скептически настроена к таким «созвонам». Мне казалось, это должно скорее мешать решению проблемы. Однако я вижу эффективность этого метода – решение обычно находится и проблема разрешается. Такая совместная работа позволяет найти причину, благодаря тому, что несколько людей выдвигают предположения и занимаются поиском проблемы и ее решения.
Надеюсь, мой опыт будет вам полезен.
Источник: https://habrahabr.ru/post/306238/