Pull to refresh
8
Karma
0
Rating
Сергей @webmaster

Продюсер

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development

Programming *System Analysis and Design *Perfect code *Designing and refactoring *ООP *

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



  • TDD — ну, это все знают, сначала пишем тесты, а потом остальной код.
  • BDD — что-то знакомое, вроде как, тоже тесты, но особенные.
  • TDD — снова? Так, стоп, тут речь уже не о тестах совсем. Но почему называется так же?
  • DDD — bound contexts, ubiquitous language, domain...
  • FDD — да сколько можно?
  • MDD — cерьезно, на основе диаграмм?
  • PDD — ...

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


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

Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Views 98K
Comments 65

Проверенный шаблон пользовательских историй

Ak Bars Digital corporate blog Project management *Agile *Product Management *

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

В IT шаблоны тоже есть, например, паттерны проектирования или алгоритмы — математические шаблоны. Шаблоны — полезная «вещь»: позволяют меньше писать, подставляя что-то в уже сформированные рамки. 

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

Читать далее
Total votes 13: ↑11 and ↓2 +9
Views 9.6K
Comments 6

Как вообще можно управлять отдельными людьми в команде разработки?

Skyeng corporate blog Personnel Management *IT career


Перформанс — это результативность команды. Начиная с этого места понятийный аппарат разваливается. Чтобы измерять результативность, нужно знать какую-то метрику. Метрика «строчки кода» определённо не подходит, а метрика «готовые фичи» измеряет продуктолога или команду, а не индивидуального разработчика. И вот этим «чем-то» ещё нужно управлять. Логика в том, чтобы разработчик разрабатывал нужное и с понятной скоростью, чтобы на него можно было полагаться в задачах.

Управлять можно, например:

  • Балансом между костылями и оверинжинирингом.
  • Балансом между тестированием кода и быстрой выкаткой на прод.
  • Балансом между техническим долгом и TTM.
  • Балансом между «пиши код» и «развивай своего джуна» и так далее.

Например, хорошие метрики, следующие из этого — это доступность сервиса, максимальное время ответа сервиса, размер техдолга (хотя его тоже сложно измерить), процент покрытия автотестами и так далее.

Но вы не управляете даже этим! Этим всем управляет сам разработчик. Вы же управляете тем, как он понимает текущую ситуацию с компанией, продуктом, командой и своим развитием.

Собственно, вот эта тонкая грань и есть перформанс-менеджмент.
Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Views 7.5K
Comments 6

Как тимлиду достоверно знать срок выполнения задач, не отвлекая подчиненных

Конференции Олега Бунина (Онтико) corporate blog Development Management *Project management *Agile *Personnel Management *

Тимлиду постоянно приходится отвечать на вопрос «когда сделаете?» или «когда будет готово?». И часто для ответа на этот вопрос нужно отвлечь от работы своего сотрудника, обсудить с ним задачу и только после этого дать ответ.

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

Недовольными, как правило, оказываются все. Тем не менее все постоянно играют в эту игру, и никто никому не верит.

Однако, если использовать исторические данные по сделанным ранее проектам и задачам, то можно узнать с 80% вероятностью срок исполнения задачи любого типа. Никакой магии. Просто математика и немного теории вероятностей :)) В этом суть Канбан-метода.

Читать далее
Total votes 31: ↑23 and ↓8 +15
Views 7.8K
Comments 26

Осел в колодце

Lumber room
Translation
Однажды осел одного фермера упал в колодец. Животное жалобно кричало в течение нескольких часов, пока фермер пытался придумать как его вытащить. В конце-концов он решил, что осел и так старый, что колодец и так надо было засыпать и что осел не стоит тех усилий, которые понадобятся для того чтобы ему помочь.
Итак он позвал всех своих соседей, чтобы они помогли ему. Все взялись за лопаты и начали засыпать колодец грязью. Осел понял, что происходит, и начал ужасно кричать. После чего, удивив всех этим, он затих.
Через некоторое время работы над засыпанием колодца, фермер взглянул вниз и был поражен тем, что он увидел.
Каждый раз, когд очередная порция грязи падала на спину ослу он делал что-то невероятное. Он стряхивал ее и делал шаг вверх. И соседи продолжили засыпать осла грязью, а он продолжал стряхивать ее и делать очередной шаг вверх. Достаточно скоро осел смог вылезть из колодца самостоятельно, хоть никто такого результата не ождал.

Мораль: жизнь не раз будет сыпать грязью на вас, в самых разных смыслах. Хитрость в том, чтобы стряхнуть ее и сделать очередной шаг вверх.
Total votes 103: ↑71 and ↓32 +39
Views 1.2K
Comments 55

Графики и диаграммы: часто задаваемые вопросы

Lumber room
Translation
Новичок в визуализации данных? Тогда держи ответы на часто задаваемые вопросы.

Что же такое диаграмма?

Просто открой глаза, и невероятные объемы данных проникнут в твой мозг в ту же секунду. Данные обрабатываются мгновенно и вот ты уже понимаешь окружающий мир. Появляется формы и структуры и ты уже можешь отделить мух от котлет.
Образно, график — отличный инструмент, преимущество которого в том, что ты можешь отразить числа в пространстве. Как только точки начнут выстраиваться одна за другой, ты увидишь схему, которую вряд ли бы обнаружил, просто разглядывая числа. При этом, когда ты создаешь диаграмму, главной твоей заботой должно быть упростить обнаружение этой схемы. Все остальное уже не нужно. Все остальное — просто маркетинг ;)

И зачем я должен использовать диаграммы?

Да потому что данные — это ценность, и ты должен добыть из них как можно больше. Потому что графики позволяют эффективно обрабатывать информацию. Потому что дают понять то, что ты не поймешь, используя другие способы. И просто потому что они берегут время.
Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Views 3.2K
Comments 13

Экономика Внимания. Введение

Lumber room
Translation
Примечание: ниже находится перевод статьи «The Attention Economy: An Overview», в которой рассматривается проблема экспоненциального роста объема информации и возможное ее решение в виде создания платформы для анализа пользовательских предпочтений.

Информационный бум



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

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 5K
Comments 24

Онлайн шоппинг, или одеваемся в Европе дёшево. Часть 1 — Начало.

Lumber room
Первая статья для нытиков (это те, которые постоянно ноют на хабре: «Ну по-че-мууу, по-че-мууу техника Apple в России в два раза дороже чем в Европе, а-а-а?») и просто здравомыслящих людей, который предпочтут купить качественные джинсы Levi's производства Мексики, сделанные для внутреннего рынка САСШ, за 40$ с доставкой, а не платить русским барыгам 4000р. за польское говно с лэйблом Levi's.

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

Начнём?
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 4.4K
Comments 318

Про Лебедева

Design
Хозяина Студии Артемия Лебедева стоит уважать и почитать не за его дизайнерские и творческие находки, а за то, что он является создателем и бессменным руководителем самой крупной студии дизайна в России уже более 10 лет. Если вы считаете, что это не круто, то попробуйте хотя бы пирожок на улице бабке продать. Стоит оценить и политику студии, заложенную Артемием, позволяющую выставлять цены на услуги, как минимум, вдвое выше рыночных. Причем данная политика была заложена изначально и не является производным от нынешней ситуации на рынке.
Читать дальше →
Total votes 188: ↑143 and ↓45 +98
Views 471
Comments 116

Как рекламироваться в Google Adwords

IT-companies
Мой опыт рекламы в Adwords. Будет полезен скорее новичкам, но, возможно, и опытные рекламодатели найдут что-то новое.

Что надо сделать до начала работы с Адвордс?
  • Завести карточку для оплаты в Интернет и узнать в банке ее CVV-код. Положить на нее некоторую сумму, например, $50.
  • Очень полезно почитать справку по Adwords.

Регистрация в Адвордс и настройка платежной информации

Зайдите на http://adwords.google.com и зарегистрируйтесь.

Если у Вас уже есть почтовый ящик на Gmail, то лучше указать его в качестве логина. Если нет — укажите любой другой действующий email.

Настройте платежную информацию. Зайдите на вкладку Оплата — Настройки платежных данных. Выберите основной способ оплаты (для Украины я выбираю постоплату по кредитной карте и пишу транслитом имя, фамилию, адрес в том виде, как они заполнены в банке при получении кредитки, дату окончания срока карты и ее CVV-код).

Подбор ключевых слов

Допустим, Вы занимаетесь страхованием автомобилей.

Продолжение статьи здесь
Total votes 102: ↑90 and ↓12 +78
Views 12K
Comments 35

Как корректно завершить процесс explorer.exe?

Lumber room
Илья Бирман рассказывает, как надо правильно завершать процесс explorer.exe:

Так уж вышло, что explorer.exe иногда падает… Мало кто знает, что корректно завершить процесс explorer.exe (и, таким образом, добиться сохранения всего) можно не перезагружаясь. Для этого нужно нажать Пуск — Завершение работы, а потом выбрать Отмену, удерживая Ctrl, Alt и Shift.

После этого через Ctrl+Shift+Esc — Файл — Новая задача explorer.exe запускается обратно, и он всё помнит.
Total votes 63: ↑34 and ↓29 +5
Views 1.3K
Comments 40

Давид Ян: Йоси Варди назвал Cybiko самым крупным изобретением человечества после MP3

Lumber room
Оригинал и аудиозапись интервью вы найдете в этом блоге

На мои вопросы отвечает основатель компании ABBYY, компании Cybiko — не так давно нашумевшей в США со своей инновационной разработкой.
Его зовут Давид Ян и он один из самых знаменитых предпринимателей, работающих в IT-области в России. Его биография включена в американский справочник «Кто есть кто — 2001». Давид Ян является лауреатом премии Правительства России в области науки и техники.

Давид Ян — основатель ABBYY

Кроме IT-сферы, Давид еще занимается ресторанным бизнесом. В числе его проектов можно выделить FAQCafe и ARTEFAQ — заведения для встреч творческих людей и приятного времяпровождения. Но от IT далеко не уйти и поэтому Давид и Ко совсем недавно запустили новый проект под названием IIKO — систему управления ресторанным бизнесом.
Если вы хотите ближе познакомится с неординарной личностью Давида Яна — читайте интервью.

Читать дальше →
Total votes 54: ↑46 and ↓8 +38
Views 3.3K
Comments 37

Правила Джоша (для деловых людей)

Lumber room
Translation
Список советов от эксперта по базам данных и члена группы разработчиков Джоша Беркуса (Josh Berkus), на мой взгляд, может оказаться полезным не только консультантам в области баз данных. Приведённые советы относятся к сфере взаимоотношений с клиентами. Некоторые рекомендации, как мне кажется, являются актуальными и для разработчиков-фрилансеров.

Джош Беркус является членом ядра группы разработчиков PostgreSQL (PostgreSQL Core Team) с 2002-го года. В данный момент он работает на Sun Microsystems, входя в группу, занимающуюся открытыми СУБД. До работы над PostgreSQL он работал с различными другими приложениями и технологиями, включая OpenOffice.org, Microsoft SQL Server, Oracle PL/SQL, и (о, ужас!) COM+.

Я провёл восемь лет, работая консультантом по базам данных. Так как в данный момент я представляю собой нечто другое и скоро могу всё позабыть, думаю, надо записать несколько полезных уроков, выученных мной за это время.

1. Состояние данных отражает состояние бизнеса. Покажите мне клиента с хроническими проблемами в базе данных — и я покажу вам клиента с хроническими проблемами в области менеджмента.
2. Три вещи, с которыми вам не придется столкнуться никогда:
  • слишком мягкие временные рамки;
  • клиент, который платит слишком быстро;
  • точная и полная спецификация.

3. Решения, принимаемые по отношению к базе данных, «живут» очень долго («нет ничего более постоянного, чем временное»): среднее время жизни «временного, одноразового» приложения баз данных составляет 4 года. Некоторые такие кусочки кода датируются 1960-ми и работают и по сей день. Так что сразу рассчитывайте на долгосрочное использование.
4. Плохие клиенты погубят ваш бизнес: умение вовремя распознать плохого клиента и отказаться от него или вовремя расторгнуть контракт — это половина успеха. Будьте готовы сбежать в любую минуту.
Читать дальше →
Total votes 44: ↑43 and ↓1 +42
Views 1.3K
Comments 40

33 правила для увеличения Вашей продуктивности (Стив Павлина)

Lumber room
Translation
Оригинал: 33 Rules to Boost Your Productivity
Автор: Стив Павлина (Steve Pavlina)
Перевод: Евгений Ефремов

Эвристика — это набор правил, предназначенных для того, чтобы помочь решать вам свои задачи. Когда задача сложна или просто велика, а оптимальное решение неясно, применение эвристических методов поможет вам продвинуться в ее решении, даже если у вас нет четкого видения всего решения целиком.
Предположим, что вашей целью является покорение горы, но ни одна дорога не ведет к вершине. Примером эвристического решения может быть: Двигаться напрямую к вершине до тех пор, пока вы не встретите препятствие, которое не сможете преодолеть. Когда вы встретите подобное препятствие, следуйте вдоль него направо до тех пор, пока не сможете двигаться к вершине снова. Это не самый лучший или самый полный вариант применения эвристики, но во многих случаях он будет нормально работать, и вы достигните вершины.
Эвристика не гарантирует, что вы найдете оптимальное решение, более того, она не гарантирует, что вы найдете хоть какое-нибудь решение. Но для определенного типа задач эвристика бывает весьма полезна. Ее сила в том, что она помогает сдвинуться с мертвой точки, когда вы не можете принять решение, и приступить к действиям. Когда вы начинаете действовать, вы исследуете возможные варианты, что углубляет ваше понимание задачи. И получая больше информации о задаче, вы понемногу повышаете свои шансы найти ее решение. Если вы пытаетесь решить задачу, не зная точно, как это сделать, зачастую вы можете найти решение в процессе. Причем такое, до которого не смогли бы додуматься, не начав действовать. Особенно это справедливо для творческой деятельности, например для разработки программного обеспечения. Там вы часто не знаете, что вы хотите сделать, пока не начнете это делать.
Эвристика имеет множество приложений, одним из моих любимых является применение в личной продуктивности. Эвристика в задачах продуктивности — это набор поведенческих правил (иногда общих, иногда — ситуационных), которые помогают нам делать вещи более эффективно. Вот некоторые из мои любимых:
Читать дальше →
Total votes 35: ↑30 and ↓5 +25
Views 3.4K
Comments 29

SEO: взгляд со стороны клиента-блоггера

Lumber room
В ожидании пересчёта тИЦ
– Как ещё можно, не прибегая к весьма опосредованному анализу, получить конкретную оценку качества работы раскрутчика?
– Пока рынок SEO – это явно не тот рынок, который повернут лицом к клиенту, поэтому ТУТ вряд ли есть желающие разрабатывать такую методику – и без того неплохо живется.
(из обсуждения на forum.searchengines.ru)
Некоторое время назад мы решили немного потревожить сообщество SEO-оптимизаторов (для тех, кто не знает – эти люди профессионально занимаются раскруткой сайтов).
Мы задали им простой естественный вопрос: кто может взяться за раскрутку сайта и сколько за это возьмёт, если критерием оценки эффективности его работы будет не увеличение всяких там тИЦ или посетителей в день, а увеличение количества целевых посетителей. И предложили свой критерий для определения, целевой посетитель или нет.
Мы написали на основной форум, где SEO-оптимизаторы обсуждают свои далёкие от простых смертных владельцев маленьких сайтов проблемы.
Ниже приведена дискуссия по этой теме
Total votes 40: ↑28 and ↓12 +16
Views 1.3K
Comments 84

Про яркие события нашей жизни или история одного стартапа

Lumber room
Все началось банально. С аутсорса. Точнее с того, что нам надоело им заниматься. Захотелось создать что-то свое. И всё необходимое у нас было: хорошая команда, деньги, офис, отработанные на том же аутсорсе технологии.

И вот, не далее как прошлой осенью, у меня родилась идея проекта. Идея, в общем-то, простая: социальный календарь событий (web2.0 афиша). Т.е. сервис для поиска, создания, обсуждения и пиара самых различных событий. Начиная от концерта Мадонны в Москве, и заканчивая секретной сходкой хабраюзеров с целью устроить очередную Хабрареволюцию (sic!).

Идея в общем-то светлая и правильная: помочь людям вырваться из цепких лап Сети и больше времени тратить на «живое» общение.

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

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

Очевидно, что наш проект к такому типу не относился. Действительно, идея проекта не совсем тривиальная, ведь это не блог, не форум с фотогалереей, и даже не социальная сеть (по очередному объединению одноклассников)

всё остальное - под катом
Total votes 29: ↑23 and ↓6 +17
Views 504
Comments 107

Билл Гейтс — ботаник!

Lumber room
В Windows нельзя создать файл или папку под названием «Con», ибо у Билла Гейтса в детстве было такое прозвище, Con — ботаник. И он постарался чтобы в его системе отсутствовали такие файлы и папки.
Как не пытайся, а папку с именем «con», ты не создашь :)
Total votes 28: ↑7 and ↓21 -14
Views 1.5K
Comments 6

Как протестировать сайт в IE предыдущих версий если у вас IE7

Lumber room
Думаю многие, а особенно веб програмисты, ни раз сталкивались с проблемой мультиброузерности своего детища. У меня установлен IE7, но волею судеб, регулярно возникает необходимость посмотреть как сайт будет выглядет в IE6.
Немного погуглив я нашел достаточно полезную программу, которая позволяет запускать (standalone) на вашем компьютере аж пять версий IE, от 3.0 до 6.0.
Больше всего порадовал сайт самизнаетекого — он один из множества проверенных мною в IE3.0 был наиболее близок к оригиналу (google не в счет).

И да, возможно кому то еще будет полезно узнать как их сайт выглядит на маковском Safari (а за небольшие деньги так вообще в 11 броузерах).
Total votes 32: ↑28 and ↓4 +24
Views 458
Comments 27

Information

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