Арктический гектар, проба пера

Деревня Сояла, Пинежский район

Решил посмотреть, как работает программа «Гектар Арктики». Выбрал участок (на всю семью), подал заявление – процесс пошёл. Всё здорово.
На фото, за островом, видны наши будущие владения, целый берег реки. Правда, есть один нюанс. Река эта – Пинега!:) 178 километров от Архангельска в сторону Голубино. Девять человек жителей в ближайшей деревне.
Степень свободы зашкаливает:) Будем посмотреть...

Оценка историй в Scrum

Ряд Фибоначчи

В скраме используются относительные, а не абсолютные оценки. Абсолютные оценки — это оценки в часах, днях, человеко-днях и прочих единицах, которые так или иначе привязаны ко времени. В чем проблема с такими абсолютными оценками?

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

Например, для того чтобы продемонстрировать, в чем проблема с оценкой, расскажу вам такую историю. Сколько вам требуется времени, чтобы разгрузить машину? Ну два часа. Но это КамАЗ. Тогда, наверное, нужно четыре часа. Но это КамАЗ, который везет песок. Ну на разгрузку песка, наверное, нам потребуется восемь часов. Да, но у вас нет никаких инструментов, лопат или чего-то еще. У вас есть только руки. Тогда у нас, наверное, уйдет два дня. Представьте, что на улице при этом еще и −40.

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

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

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

Мы должны оценить все шарики в попугаях, как в популярном мультике. Например, три воробья, мы считаем, что они примерно по размеру как попугаи, и считаем, что они равны трем попугаям. А вот, например, один лебедь — это сорок попугаев или восемь голубей. У меня получилось примерно 97 попугаев всего. Теперь, поделив 97 на 2, потому что мы знаем, что двух попугаев мы надуваем за одну минуту, я могу предположить, что у меня на то, чтобы надуть все эти шарики, уйдет 48,5 минут.

В действительности, в скраме попугаи называются story points, или единицами историй. Story points отражают размер историй, а размер — это такой комплексный параметр, который включает в себя сложность, трудоемкость и возможные риски при реализации элемента бэклога. Для еще большего упрощения процедуры оценки для единиц историй выбирают специальную шкалу и при оценке используют только значения из этой шкалы.

Например, популярные шкалы для единиц историй — это степень двойки: 1, 2, 4, 8, 16, 32, 64 и так далее, и ряд Фибоначчи: 0, 1, 2, 3, 5, 8, 13, 21 и так далее. Я рекомендую вам использовать так называемый модифицированный ряд Фибоначчи, который очень удобен для скрам-команд: 0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40 и 100. В чем смысл использования такой нелинейной шкалы? Она предотвращает лишние споры в команде о том, в 10 раз этот элемент больше эталонного или в 11. На самом деле это совершенно, такая точность нам здесь не нужна. Мы должны выбрать просто из двух вариантов, к какому из значений по шкале этот элемент ближе, к 8 или к 13, например, если мы используем ряд Фибоначчи. Как показывает практика, для оценки такой точности более чем достаточно.

Также популярная ловушка начинающих команд — это то, что им сложно отказаться от оценки в часах или в человеко-часах. Или еще хуже, когда они начинают эти единицы историй каким-то образом, через какую-то формулу приравнивать так или иначе к часам. В таком случае можно вообще использовать практику, шкалу, которая называется Bucket Estimation, когда в качестве шкалы мы используем размеры одежды: XS, S, M, L, XL. В силу того, что она не числовая, ее сложно каким-то образом приравнять к часам.

Магия

NFLH угоняем полтысячи автомобилей

NFLH Управление авто с телефона NFLH Управление авто с телефона – 2

Примерно год назад обзавёлся китайской приблудой с кодовым названием "NFLH LH001". Если коротко, эта штука управляется через интернеты и эмулирует работу пульта автомобильной сигнализации. В принципе, идея богатая. Но, никто не мешает сделать ещё богаче. Например, интегрировать с Apple HomeKit и научить Siri заводить мою машину.

Для начала, разберёмся, как оно работает. Всё взаимодействие с устройством завязано на приложение для смартфона. С него и начнём. Запускаем Wireshark, пробегаемся по всем кнопкам, смотрим трафик.

HFLH Wireshark

Довольно просто:

  • авторизация /api/v1/user/login.json
  • получение версии программы /api/v1/pub/version.json?deviceType=ios
  • получение состояния девайса /api/v1/car/car_status.json?refresh=1&carid=500
  • счётчик сообщений /api/v1/msg/unread/count.json?carid=500
  • отправить действие /api/v1/car/ctrl.json?carid=500&type=6 (type – это кнопки открыть, закрыть и т.д.)

Пока этого достаточно. Уже можно разбирать коробку и начинать ковыряться в кишочках. Но. Остановимся на api и проверим китайцев на вшивость. Что будет, если в запросах, поменять carid?

А будет вот что.

Мы можем получить состояние любого устройства NFLH, включая местоположение.

NFLH Postman – 1

Можем, например, открыть любой автомобиль.

NFLH Postman – 2

Ну, и соответственно закрыть.

NFLH Postman – 3

Осталось посмотреть куда ехать за новой машиной.

NFLH Yandex Maps

Я так и не смог объяснить китайцам, что у них всё плохо с безопасностью (разговор слепого с глухим). Поэтому, идея прошить в поделку айпишник своего сервера кажется вполне себе адекватной:)

To Be Continued.

HomeKit Авто ГЛОНАСС

Церковь Покрова Пресвятой Богородицы в Ёлкино

Церковь Покрова Пресвятой Богородицы в Ёлкино – 1 Церковь Покрова Пресвятой Богородицы в Ёлкино – 2 Церковь Покрова Пресвятой Богородицы в Ёлкино – 3 Церковь Покрова Пресвятой Богородицы в Ёлкино – 4

Небольшая кирпичная церковь в псевдорусском стиле. Построена в 1857 на средства помещика В. Г. Шамшева. В трапезной был Екатерининский придел. Закрыта в 1930-х, сломаны колокольня и верхняя часть четверика. С 1997 ремонтируется, сооружён новый деревянный купол.

Попали сюда случайно, пока блуждали по фронтовым дорогам в сторону Старой Руссы.

22 апреля 2018 года

Хроники