IOSDEV Telegram 454
Декомпозиция задачи или почему добавить одно поле это приключение НЕ на одну минуту?

Допустим, вы пишете приложение (как неожиданно) и вам поступила задача отобразить номер телефона в профиле пользователя. Менеджер спросит, сколько это займёт, ожидая услышать ответ сразу же. Но вы отвечаете, что нужно подумать, и ваш менеджер пассивно-агрессивно спрашивает, что тут думать — это одно же поле.

«Вошли и вышли, приключение на 20 минут, Морти!»

К сожалению, зачастую это не так. Особенно если данные для этого поля не хранятся локально.

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

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

При постановке вопроса из примера мы должны перечислить следующие пункты:

— Реализовано ли это на сервере? Поверьте, зачастую бывают сложности коммуникации и загруженность у разных команд, парадоксально, разная. От ответа на этот вопрос оценка может взлететь по очевидной причине, ведь если фича не реализована, то пока что в прод выкатить её точно не получится.

— Насколько сложно будет изменить структуру в БД? Нужна ли миграция? Тут поможет опыт прошлых апдейтов.

— Нужна ли локализация этого поля? Заглушки, например. Здесь мы видим то, что как и с вопросом про реализацию на сервере не всё зависит от нас.

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

— Какой шрифт, какой цвет, как оформить вообще? Нужна ли анимация при переводе фокуса ввода?

От задачи к задаче подпункты могут быть разными, но постановка вопроса — половина решения.

В списке выше на самом деле можно выделить сразу два вида декомпозиции:

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

И горизональная для приложения: подзадача про валидацию, про оформление, про хранение.

Разработчик с опытом может выдать ответ быстро, если он 1 000 раз проводил подобную декомпозицию. Но вот ответ от него может различаться от ответа джуниора, готового лезть на амбразуру сразу же.

Декомпозиция нужна, чтобы:

— Понять последовательность выполнения задач.
— Оценить сроки.
— Упростить процесс тестирования.
— Помочь расставить приоритеты. В спринте, но по-хорошему, изначально в бэклоге.

Два небольших вывода:

1️⃣ Мы работаем на бизнес. Поэтому мы должны понимать, почему менеджер может быть недоволен медленной оценкой.

2️⃣ Хочется верить, что этот пост прочтут не только разработчики, но и проект-менеджеры. Профессионалы улыбнутся и скажут, что так и есть. Но те, кто начинает управлять командами — пожалуйста, прочтите этот пост ещё раз.

Специально для @iOS Dev
👍26🐳16❤‍🔥64



tgoop.com/iosdev/454
Create:
Last Update:

Декомпозиция задачи или почему добавить одно поле это приключение НЕ на одну минуту?

Допустим, вы пишете приложение (как неожиданно) и вам поступила задача отобразить номер телефона в профиле пользователя. Менеджер спросит, сколько это займёт, ожидая услышать ответ сразу же. Но вы отвечаете, что нужно подумать, и ваш менеджер пассивно-агрессивно спрашивает, что тут думать — это одно же поле.

«Вошли и вышли, приключение на 20 минут, Морти!»

К сожалению, зачастую это не так. Особенно если данные для этого поля не хранятся локально.

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

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

При постановке вопроса из примера мы должны перечислить следующие пункты:

— Реализовано ли это на сервере? Поверьте, зачастую бывают сложности коммуникации и загруженность у разных команд, парадоксально, разная. От ответа на этот вопрос оценка может взлететь по очевидной причине, ведь если фича не реализована, то пока что в прод выкатить её точно не получится.

— Насколько сложно будет изменить структуру в БД? Нужна ли миграция? Тут поможет опыт прошлых апдейтов.

— Нужна ли локализация этого поля? Заглушки, например. Здесь мы видим то, что как и с вопросом про реализацию на сервере не всё зависит от нас.

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

— Какой шрифт, какой цвет, как оформить вообще? Нужна ли анимация при переводе фокуса ввода?

От задачи к задаче подпункты могут быть разными, но постановка вопроса — половина решения.

В списке выше на самом деле можно выделить сразу два вида декомпозиции:

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

И горизональная для приложения: подзадача про валидацию, про оформление, про хранение.

Разработчик с опытом может выдать ответ быстро, если он 1 000 раз проводил подобную декомпозицию. Но вот ответ от него может различаться от ответа джуниора, готового лезть на амбразуру сразу же.

Декомпозиция нужна, чтобы:

— Понять последовательность выполнения задач.
— Оценить сроки.
— Упростить процесс тестирования.
— Помочь расставить приоритеты. В спринте, но по-хорошему, изначально в бэклоге.

Два небольших вывода:

1️⃣ Мы работаем на бизнес. Поэтому мы должны понимать, почему менеджер может быть недоволен медленной оценкой.

2️⃣ Хочется верить, что этот пост прочтут не только разработчики, но и проект-менеджеры. Профессионалы улыбнутся и скажут, что так и есть. Но те, кто начинает управлять командами — пожалуйста, прочтите этот пост ещё раз.

Специально для @iOS Dev

BY iOS Dev


Share with your friend now:
tgoop.com/iosdev/454

View MORE
Open in Telegram


Telegram News

Date: |

In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. Step-by-step tutorial on desktop: Matt Hussey, editorial director of NEAR Protocol (and former editor-in-chief of Decrypt) responded to the news of the Telegram group with “#meIRL.” Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up. As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces.
from us


Telegram iOS Dev
FROM American