Come work in Estonia – the most advanced digital society. Many Ukrainians already know that Estonia is affordable – become one of them and check out the jobs available!
×Закрыть

Driven Development ABC, или Азбука управляемой разработки

ABC image via Shutterstock.

[Об авторе: Сергей Максюта — руководитель SQA Software Engineering Lab в компании Samsung Electronics, по совместительству — руководитель testclub.com.ua]

Всем привет!

Каждый айтишник не раз задавался вопросом, как улучшить программный продукт или процесс. Специалисты всё чаще обращаются к практикам TDD, ATDD и BDD. Но, как показывает жизненный опыт, иногда лучшее — враг хорошего.

Предлагаемая вашему вниманию азбука родилась у меня в голове после 11 лет опыта работы с различными проектами. Она поможет отделить зерна от плевел и с чувством юмора относиться к процессной части разработки и тестирования ПО. Прошу строго не судить :)

Итак:

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

Behavior DD — «кто девушку платит, тот ее танцует». Заказчик говорит, как жить и что делать, что выливается в мнимую приоритетность и прочный забитый болт на связующие звенья программного продукта. Лечится технической прокачкой заказчика.

Crush DD — «шеф, все пропало, гипс снимают, клиент уезжает!» И вроде делали все правильно, и новейшие подходы использованы, а в результате на демо все падает быстрее, чем российские акции на фондовых рынках. Полезно использовать для воспитания командного духа и выявления скрытых потенциалов.

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

Endeavor DD — «неважно, что ты делаешь и что в итоге получится, главное — стараться!» Типичный подход восточных IT коллег, где процветает кастовое деление, модель яНачальник — тыДурак и принцип правоты по старшинству и громкости звания.

Fish DD — «миллион забрасываний спиннинга, и результат придет». В опытных руках — отличный инструмент, который минимизирует количество выписываемых грузком парабол, обучит команду «включать окуня», и в итоге даст спокойствие внутри коллектива и отличный продукт заказчику.

Godzilla DD — противоречивый подход, основанный на понимании вездесущего хаоса и разрушения, которые в итоге приведут мир в состояние генератора лучей добра. В команде реализуется путем выбора сумасшедших, новых, проверенных технологий в кругу 5 новичков, которые впоследствии и будут теми самыми добропродюсерами.

Hero DD — даешь 16 часов работы в день, по выходным и праздникам, на Новый год и юбилей свадьбы. Результат — мораль понижается, качество уверенно обгоняет США на пути в пропасть, ну, и диплом героя на доске почета.

Idiot DD — порой сумасшедшие идеи и методы, неподвластные пониманию среднестатистическим умом, в умелой комбинации с ограничениями и предусловиями дают результат. Порой... А пока пойду рыбу в газету заверну.

Joint DD — редкое, но очень приятное явление взаимопонимания, отдачи, результата и вселенского счастья. Вздрогнем! До дна!

Knee DD — разработка на коленке, передача информации через третьи руки, эфемерные источники и курилки крупных корпораций. Два пути — либо в космос и вселенское призвание, либо стертые колени и эффект коврового ожога.

Love DD — этакий няшный подход, применяемый неопытными менеджерами с целью доказать, что мир, бог, жизнь, репозиторий и IDE есть любовь, а мы все братья и сестры, коммитеры и ревьюверы, Чуки и Геки современности.

Miracle DD — обычно идет в паре с Love DD, образуя порочный круг широко открытых глаз, безответственных персоналий в комплекте с отсутствием приоритетов, важных для заказчика. Чудо — оно такое неисследованное!

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

Oyster DD — о, а этот подход не каждый выдержит. Плотные ограничивающие рамки, среда обитания, похожая на комок соплей, и титанический труд для расширения и открытия. А ведь именно в таких условиях и вырастают жемчужины. Или на стол, с лимончиком.

PinaColada DD — новомодный тренд для непосед-профессионалов. И не важно, Австралия, Индия, Таиланд, берег океана в Калифорнии или кофишоп в Голландии — умение найти WiFi и близких по духу людей порождают команды, способные создавать простые и удобные в использовании программные продукты.

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

Roundeye DD — «это мы не проходили, это нам не задавали, парам-пам-пам». Срочная задача — нет, не слышал. Это правда нужно на вчера? Оопс. Сроки завалены, требования не реализованы, продукт не работает. Ой, так это же не наша вина)

SuperMario DD — проекты без видимой конечной цели, с серьезными сложностями, неожиданными скрытыми узкими местами, шоу стопперами, однако время позволяет все изучить, настроить и дойти до логического завершения. И, когда ты уже готов почивать на лаврах славы, падает exception «Sorry, Mario, but your princess is in another castle». Life is unpredictable, man.

Tongue DD — все на словах, ничего в действии. Языком болтать — не мешки ворочать. Главное — красиво описать, убедить всех в целесообразности, а потом все неудачи свалить на кого угодно, причем сделать это также красиво, как и начальную презентацию.

Unique DD — выбирается несведущая, малограмотная аудитория, для которой делается представление уже работающей, зарекомендовавшей себя технологии как суперновой, уникальной и неповторимой. Помните: все новое — это хорошо забытое старое. Используется для повышения ЧСВ, наряду с выбиваением бонусов.

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

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

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

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

Youtube DD — ведь все есть в видеоуроках, и я гуру обучения с видеорядом в голове. Фундаментальные знания ни к чему, все сделано до нас, и нужное видео или скачаем, или торрент.

Практикуйте Driven Development, и будет вам счастье!

3 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

StackOverflow DD забыли

Спасибо, Сергей, прикольная подборка :)

Подписаться на комментарии