Pull to refresh
16
0
Константин Ляшко @kokis

Руководитель продукта

Send message

Не держите людей за идиотов или почему человек с инженерным образованием может сжечь вышку сотовой связи (видео)

Reading time12 min
Views221K


Знаете что общего между ситуацией с уничтожением антенн сотовой связи и последней лентой Тарантино «Однажды в Голливуде»? Они оба делят людей на два противоположных лагеря.
Читать дальше →
Total votes 300: ↑272 and ↓28+244
Comments340

Code review — улучшаем процесс

Reading time7 min
Views16K
image

Представим команду, где не проводится Code review. Разработчики пишут код, и без проверок вносят все изменения в основную ветку. Спустя время расширяется функционал или находятся баги, они возвращаются к исходному коду, а там все переменные названы одной буквой, нет следования архитектуре, да и качество не самое лучшее. Этот некачественный код будет копиться и однажды наступит момент, когда, при любом мало-мальском нововведении, проект начнёт разваливаться: в лучшем случае – увеличится время разработки, в худшем – поддержка проекта станет невозможной. И это при том, что когда-то давно задача была выполнена и все хорошо работало.

Как этого можно избежать?
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments10

Что такое пространство-время на самом деле?

Reading time22 min
Views117K

Перевод поста Стивена Вольфрама "What Is Spacetime, Really?".
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.


Примечание: данный пост Стивена Вольфрама неразрывно связан с теорией клеточных автоматов и других смежных понятий, а также с его книгой A New Kind of Science (Новый вид науки), на которую из этой статьи идёт большое количество ссылок. Пост хорошо иллюстрирует применение программирования в научной сфере, в частности, Стивен показывает (код приводится в книге) множество примеров программирования на языке Wolfram Language в области физики, математики, теории вычислимости, дискретных систем и др.

Содержание


Простая теория всего?
Структура данных Вселенной
Пространство как граф
Может быть, нет ничего, кроме пространства
Что есть время?
Формирование сети
Вывод СТО
Вывод ОТО (Общей теории относительности)
Частицы, квантовая механика и прочее
В поисках вселенной
Ок, покажите мне Вселенную
Заниматься физикой или нет — вот в чем вопрос
Что требуется?
Но пришло ли время?
Сто лет назад Альберт Эйнштейн опубликовал общую теорию относительности — блестящую, элегантную теорию, которая пережила целый век и открыла единственный успешный путь к описанию пространства-времени (пространственно-временного континуума).

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

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

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

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

Во-первых, такой подход казался не слишком перспективным — хотя бы потому, что модели, которые я изучал (клеточные автоматы), казалось, работали так, что это полностью противоречило всему тому, что я знал из физики. Но где-то в 88-м году — в то время, когда вышла первая версия Mathematica, я начал понимать, что если бы я изменил свои представления о пространстве и времени, возможно, это к чему то бы меня привело.
Подробнее о пространственно-временном континууме...
Total votes 43: ↑39 and ↓4+35
Comments144

DevOps — автоматизируй всё

Reading time8 min
Views82K
Целью статьи является дать основные представления о DevOps и практиках, используемых при этой методологии. Тут не будет сложных терминов, конкретных продуктов и road map внедрения DevOps, но, надеюсь, будет интересно ознакомиться.


Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments13

Документирование требований: мелкие ошибки, порождающие крупные проблемы

Reading time6 min
Views15K
Статья предназначена для бизнес- и системных аналитиков, формирующих требования к информационным системам. Также эта информация будет полезна разработчикам и другим лицам, работающим в бизнесе производства программного обеспечения. В статье обсуждается формирование и документирование требований. В частности, рассматривается тот случай, когда аналитику говорят: «все ваши требования бесполезны, потому что никак не объясняют разработчику, что нужно сделать и, главное, зачем».

Разберем процесс, как это обычно происходит. Аналитик получает запрос на изменение функционала в виде тикета из техподдержки, технического задания или прямой жалобы клиента. Суть запроса в том, что что-то там в системе плохо и нужно подумать, как это исправить. Или что нужно сделать вот тут на этом экране еще одну такую возможность. Или нужно, чтобы «у пользователя была возможность сделать вот это». Часто аналитик просто записывает требование в том виде как оно пришло: в виде нескольких предложений или user story, формирует из этого задачу на изменение (или несколько задач) и отправляет её разработчику. Далее происходит то, что описано в последнем предложении предыдущего абзаца. Разберемся почему.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments2

Как сохранить холодную голову, когда вокруг хаос

Reading time8 min
Views22K


В продолжении темы предыдущей статьи где говорилось о необходимости тренировки силы правоты (что необходимо что бы донести мнение о чем-то до собеседника), здесь речь пойдет о тренировке собственного прицела (в плане «умения составлять мнение о каком либо явлении»). В управлении проектами, особенно в попытке достичь гибкости, когда вокруг все непонятно и не гибко, вполне себе правильная задача.

Здесь казалось бы для того что бы составить мнение о чем-то необходимо подходить к процессу с «холодной головой» («если уж и совершать глупость то по здравому размышлению»).

Однако, из той же предыдущей статьи можно узнать, что мозг обслуживает эмоции, правильно объясняя нам что мы тут только что решили. И в таком «холоднорассудочном процессе» как познание действительности все тоже происходит через эмоции, а вовсе не доводы разума.

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments13

Как управлять гигантами: правила формирования команды и построения процессов в веб-разработке

Reading time10 min
Views18K
В России больше 5000 компаний занимаются заказной веб-разработкой (по данным аналитического агентства Тэглайн), однако, по моему мнению, наш рынок до сих пор находится в стадии своего зарождения. Многие digital-компании, веб-студии и интеграторы в реальности не готовы к качественному развитию и поддержке действительно крупных проектов. К нам в AGIMA часто обращаются компании, недовольные качеством выполнения работ своим текущим подрядчиком, которого они выбрали на тендере. За много лет работы с крупнейшими российскими компаниями у нас накопился огромный опыт в организации процессов разработки и развития крупных интернет-проектов, и я хочу им поделиться. В этой статье я расскажу, как правильно организовать инфраструктуру, выстроить коммуникации между командами и не забыть о важных составляющих агентского сервиса при работе с «гигантами».

image

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments14

Бесплатная электронная книга по гибким методологиям разработки

Reading time2 min
Views50K

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

Кроме классического Scrum, в книге также описываются и разнообразные лучшие практики, которые отлично интегрируются в данный управленческий фреймворк для управления продуктом, командой, для организации аналитики и тестирования.
Читать дальше →
Total votes 144: ↑136 and ↓8+128
Comments79

IT-атмосфера бизнеса: Google Apps for Work

Reading time11 min
Views18K
Мы живём среди гаджетов и они здорово облегчают нам жизнь: напоминают о делах, присылают письма, позволяют общаться на огромных расстояниях, покупать онлайн, прогуливаться по улицам далёких городов, не вставая с любимого дивана. Это наша, вполне сформированная, информационно-техническая атмосфера. Но стоит придти в офис, как зачастую нас встречает затертый ежедневник, обклеенный напоминалками-стикерами монитор, записка от коллеги на маркерной доске.

Несколько лет назад переход к электронной торговле, документообороту, CRM и ERP-системам, системам управления проектами был растущим трендом. В 2015 году – это объективная потребность большинства компаний всех секторов экономики. Корпоративное программное обеспечение прочно вошло в жизнь российского бизнеса и затронуло практически все бизнес-процессы. А как вам дышится в вашей IT-атмосфере?
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments8

Гибкие и не очень модели управления разработкой ПО. Как реализовать и комбинировать в Redmine

Reading time5 min
Views19K
В нашей компании, занимающейся разработкой софта по полному циклу (от сбора требований до внедрения и техподдержки), принят курс на максимальную оптимизацию ресурсов. Существуют проектные команды, отделы и службы, а сами сотрудники динамично «шарятся» между различными подразделениями. Выстраивание процесса управления ресурсами в такой обстановке, а тем более его автоматизация — нетривиальная задача.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments10

Долгострой в разработке ПО: о проблемах управления требованиями

Reading time9 min
Views16K
Чем грозит долгострой в разработке и с какими трудностями предстоит столкнуться на этом пути? Как бизнес-аналитик компании, которая 15 лет занимается разработкой и поддержкой одного продукта (СЭД), я решила поделиться своими мыслями и примерами из практики. Проблематика управления требованиями в любых программных продуктах с длительным периодом реализации – актуальный вопрос для аналитиков, руководителей проектов и владельцев продуктов. И, возможно, для непосредственных партнёров и заказчиков Docsvision, ожидающих выхода новых версий и заинтересованных в появлении новой функциональности.


Читать дальше →
Total votes 16: ↑11 and ↓5+6
Comments8

Должность — тимлид

Reading time11 min
Views211K
Тимлид (aka ведущий разработчик, team leader) — один из таких «специалистов», обязанности которого многие видят по-разному. Думаю, что складываются различные представления примерно так: поработал кто-то в команде под руководством тимлида, который хорошо справлялся с задачами проектирования системы, и считает теперь, что это именно то, что должен делать тимлид; в другой же команде тимлид плохо справлялся с планированием спринтов, а с другими обязанностями более или менее, и стали считать сотрудники, что планирование — не то, чем должен заниматься тимлид.

От разработчиков, проработавших долгое время в рамках одной компании или даже одной команды чаще услышишь четкое мнение о том, кто такой тимлид и в чем заключаются его обязанности. Повидавшие же разные проекты разработчики и менеджеры постепенно приходят к пониманию, что тимлид может заниматься много чем, какая-то деятельность лучше вписывается в его роль, какая-то хуже, и уже не готовы давать точное определение роли тимлида.
В чем же заключается должность тимлида?
Total votes 49: ↑44 and ↓5+39
Comments54

Прочь из моей головы. GTD в разработке

Reading time10 min
Views45K
Если на вашем столе стоит чашка остывшего желанного кофе или чая, значит, что-то не так. Во всяком случае, так наверняка подумал бы Дэвид Аллен, автор знаменитого метода GTD (Getting Things Done). Мы хватаемся за тысячу дел, пытаясь попутно не забыть про бытовые мелочи, часто забываем о цели, но помним о неотвратимо приближающихся дедлайнах. Порой страх перед лавиной задач буквально парализует мозг и наступают апатия, прокрастинация, депрессия. Работа в такие моменты движется медленно, кажется, даже курсор мыши еле ползёт по монитору. Такая ситуация тем опаснее, чем больше человек работает в команде, особенно, если речь идёт о команде разработчиков.


Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments6

Мастер-класс Бориса Вольфсона. Основы Agile

Reading time25 min
Views108K
image

Этот пост написан по мотивам мастер-класса Бориса Вольфсона (директора по развитию HeadHunter), посвященного (сюрприз!) основам Agile. Материал будет полезен всем, кто либо совсем не знаком с данной методологией разработки сложного ПО, либо имеет о ней смутное представление.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments13

Использование Канбана для подготовки Скрам-бэклога

Reading time4 min
Views14K
Предлагаю перевод небольшой статьи Андерса Абеля на волнующую меня в данный момент тему — качественный и формализованный процесс подготовки задач к передаче в разработку при условии, что разработка ведется по скраму. Если у кого-то есть опыт использования описанного данным автором подхода, итересно было бы, если бы вы поделились нюансами. Оригинал статьи: «Using Kanban for Scrum Backlog Grooming».

картинка по запросу grooming:


image

***

Поддержка бэклога в скрам-проектах – это важная задача. Он очень быстро разрастается до сотен задач, находящихся на разных стадиях готовности для включения в спринт. В моём текущем проекте мы подключили Канбан-доску для помощи в поддержке бэклога и повышения эффективности груминга.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments7

43 полезных сервиса для управления проектами. Без эпитетов

Reading time13 min
Views691K
Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

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

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

Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:

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




Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments46

Engineering Assessment: как измерить техническое состояние проекта?

Reading time6 min
Views7.8K
image

Улучшить можно то, что можно измерить. Это главный тезис измерения. Мы измеряем, чтобы улучшать. Мы хотим улучшать код, инженерку. Для этого нужно код измерять. Как?

Сегодня я расскажу о метриках на самом низком уровне создания IT-продуктов. О тех метриках, которые находятся на уровне инженерки, на уровне программистов и QA. Упор сделан на те метрики, которые зависят от человеческого фактора, которые не измерить автоматическими инструментами. Работая над несколькими проектами и наблюдая за десятком других как Agile-тренеры, мы выработали 9 метрик, которые описывают текущее состояние системы с точки зрения инженерки. В динамике они помогают мгновенно реагировать, если что-то идет не так.

Если тема заинтересовала, добро пожаловать под кат.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments10

Почему стоит нанимать джуниоров

Reading time10 min
Views42K
image

Когда я начинал как разработчик на Rails, я постоянно ковырялся с фреймворками все свое свободное время, которого, однако, у меня было достаточно. Я не был женат, работал в Coles и подрабатывал на фрилансе, выполняя заказы на PHP и Rails.

Как-то я услышал о проводимом в городе Аделаида Ruby Meetup. Сразу после работы я рванул на поезд и отправился на это мероприятие. Когда я туда попал, несколько человек спросили меня, чем я занимаюсь. Я рассказал о работе в Coles, о PHP и Rails, на что мне ответили «ты не должен больше работать в Coles» и трое из них протянули мне свои визитные карточки, сказав, чтобы я подал им резюме. Я отправил заявку в Sealink и меня взяли.

В Sealink я попал в подмастерья команды Rails-разработчиков, которые имели кучу терпения для того, чтобы мириться с моими 19-летними выходками. Я очень благодарен им за то время, что они потратили на мое обучение и, как я считаю, именно их наставничество заложило основу моей карьеры и всего того, что я делал следующие десять лет.

В Мельбурне есть много джуниоров, посещающих Ruby Meetup'ы. Я знаю это наверняка, так как помогал организовывать ночные хакатоны, на которые они тоже ходят. И вот представьте, если бы какой-нибудь новичок на митапе сказал бы вам, что он активно ищет работу, вы бы его наняли? Возможно, нет. Создается впечатление, что на таких мероприятиях царит атмосфера отвращения к найму джуниоров, ведь потому, что они, джуниоры, отнимают столь драгоценное время команды, которое могло быть потрачено на разработку, на их обучение.
Читать дальше →
Total votes 48: ↑41 and ↓7+34
Comments64

Шесть мифов разработки продукта

Reading time14 min
Views21K
image

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

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

Неспособность видеть эти различия приводит к ошибкам, мешающим планировать, исполнять и оценивать проекты по разработке программ. Авторы этого текста в сумме провели более 50 лет за изучением и консультированием компаний, занимающихся разработкой, и мы часто встречали подобные ошибки в совершенно разных областях — включая полупроводники, автомобили, потребительскую электронику, медицинские устройства, софт и финансы. В этой статье мы опишем эти заблуждения и способы обхода создаваемых ими проблем.
Читать дальше →
Total votes 37: ↑26 and ↓11+15
Comments4

Простой способ организовать требования на этапе сбора требований (или первый шаг к формированию уютного бэклога)

Reading time6 min
Views8.9K

Зачем, кому это нужно, чем это сделать


Не раз задавалась вопросом: как бы так комфортно организовать входящие требования к системе — на этапе, когда требования только собираются, когда формируются вопросы и озвучиваются ответы, а ещё всё постоянно меняется и пересматривается, а ещё когда в реализации задействовано несколько систем, а ещё, а ещё…
При этом очень бы хотелось:
  • видеть связь: требование➝вопрос➝изменение в требовании➝новое требование;
  • избежать дублирования требований/вопросов;
  • отследить задействованные в реализации системы (от обратного: чтобы представитель каждой системы видел требования, реализация которых хоть как-то касается его системы);
  • получать подтверждение по каждому требованию — что да, требование понято и зафиксировано верно, что реализация возможна;
  • проследить связь с требованиями другого, очень похожего на наш проект проекта — чтобы иметь знание, что вот это уже там реализовано, и мы будем просто использовать сделанные наработки;
Да и вообще.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments7

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity