3 заметки с тегом

итерация

Польза — движущая сила

Если проанализировать историю человечества, главной движущей силой была и остается польза. Моисей организовал исход из Древнего Египта; Колумб поплыл пошел в Индию и случайно открыл Америку; Джобс разработал Макинтош — всё ради пользы.

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

Мы можем многое, но не все. Прежде чем пообещать — изучаем задачу, считаем. Стоимость зависит от достижимости пользы, но стоит ли польза этих денег — решает клиент.

Польза и проект — не одно и тоже. Часто, чтобы реализовать проект нужно выполнить несколько итераций. Результат выполнения каждой итерации — пусть небольшая, но польза. Только так, иначе пропадает всякий смысл.

Флексить: зачем и как?

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

Николай Товеровский из Бюро Горбунова проделал большую работу — выделил и описал приёмы флекса (за что ему большое спасибо). Представляю «выжимку» из его работы со ссылками на статьи.


Виды флекса:

1. Зафиксировать

Часть системы делается статичной, её невозможно изменять или настраивать, поведение определяется заранее запрограммированным алгоритмом.
Подробнее

2. Снизить управляемость

Систему делают менее управляемой, но не жертвуют качеством и работоспособностью.
Подробнее

3. Уменьшить глубину проработки

Работа ведётся только над тем, что необходимо для решения задачи.
Подробнее

4. Рассогласовать

Изменяют только необходимую часть системы, игнорируя рассогласование с другими частями.
Подробнее

5. Убрать в гаражик

Неблаговидная часть системы прячется так, чтобы не портила вид.
Подробнее

6. Заменить решение

Если решение не подходит или его невозможно реализовать в срок, замените решение на другое.
Подробнее

7. Не выходить в надсистему

Решение не затрагивает других частей системы.
Подробнее

8. Отступить от идеала

Если реализовать идеальное решение невозможно или нерационально, отступите на шаг назад.
Подробнее

9. Перенести на следующую итерацию

Часть функций откладывают на потом.
Подробнее

Сделать говно

Сделать говно — это не пофлексить.
Подробнее

Флексить — больно. Если есть возможность обойтись без флекса — лучше её использовать. Если же поджимает время или ограничен бюджет, приходится флексить. Такова суровая реальность.

Лучше синица в руках, чем журавль в небе. Мы помним, что такой инструмент как флекс существует и умеем им пользоваться.

Итерационный подход

Проект нельзя реализовать только лишь усилием воли. Реализация зависит от конкретных действий живых людей. Если действие мотивировано — его не придется долго ждать. Благодаря итерационному подходу интерес к проекту не затухает у исполнителей. А заказчик точно знает за что платит и на каждом этапе получает ощутимую пользу.

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

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

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