Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

суббота, 21 марта 2009 г.

С точки зрения калькулятора: что такое каждый раз делать иначе?

Недавно мне задали вопрос, который остался без ответа. Спешу ответить...

Дело было так. Было большое собрание. Одним из пунктов обсуждения было введение новой команды в компании. Команда архитекторов программного обеспечения. Цель - идти в ногу со временем и всегда быть на шаг впереди нежели рядовой разработчик. Кампания небольшая но уже доросла до того, чтобы думать про это.

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

Когда-то где-то я прочитал, что ученик какой-то-там школы (не помню ДАО ли это или еще что-то ненашинское) должен бросать инструмент как только начинает к нему привыкать.

Где-то год назад я на нашем форуме написал пост под названием "Отказ от тулзы во благо" вот его содержимое:
"Продолжая дискуссию про копи-паст, хотелось бы рассказать про что что сейчас проходит в стенах компании.

Где-то когда-то я прочитал что "дебаг это зло, дебаг это убийца времени, исправление ошибки занимает секунда, но ее поиск - вечность", сразу все стало как-то яснее. Решил для себя что буду стараться не пользоваться дебагом, даже когда сильно захочется. Со момента первой записи о том что не использую дебаг прошло 16 дней :).

Оказалось без дебага и вправду очень хорошо. Я начал находить инструменты, которые помогают мне избежать дебага в дальнейшем. Их сейчас я и укрепляю. Это: ТДД, это джава-ассерты, это логгирование, это инфортивные хЮнит-ассерты, в общем все что советуют для улучшения качества кода. Но раньше я думал что это поможет команде, тебе в будущем, сократит время разработки. А теперь я знаю почему это так. Качественный код исключает медлительный дебаг.

Немного подумав я пришел к выводу, что дебаг, это инструмент, который дает тебе комфорт, но! он удерживает тебя в этой зоне комфорта. Чтобы сделать рывок надо внести в эту зону стресс, для меня это была глава в книге "Совершенный код". Там писали, что дебаг это зло.

Как результат - принудительный отказ от него, после чего пришел рост. Я знаю что делать чтобы делать это быстрее.

То же, думаю, касается и других инструментов. Того же копи-паста.

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

В общем когда инструмент уже используется на автомате - самое время ее бросить и расти дальше.

Дебаг я люблю, но возвращаться к нему не собираюсь - есть вещи по круче."


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

Воспользовавшись этим (отказ во благо) инструментом еще пару раз я нашел еще более продвинутые инструменты, понять назначение которые сразу не дано. Только эволюционно.

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

Теперь с точки зрения калькулятора. Затраты на то чтобы отказаться от того, к чему привык есть. Назовем мы их -Х. Это не прибыльно, это можно назвать тратой, но я предпочитаю слово инвестиции. Вложив Х, которое на практике (в моей) чаще всего определялось одним двумя днями, ты имеешь несколько плюсов:
- ты вернулся на приемлемую скорость использую уже другой инструмент.
- твой новый инструмент позволяет тебе разгоняться дальше, а значит скоро Х будет возвращено назад.
- у тебя есть выбор пользоваться старым (который имеет свои преимущества) или новым (более быстрым) инструментом.

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

Привыкнув в такому инструменту я уже говорю про другой инструмент - делать каждое свое дело второй (уже привычный) раз другим способом. Тем самым не давая привычке устояться. А значит удешевляя затраты на избавление от привычки в ее зародыше.

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

Ищи все, что для тебя новое и изучай его а как только чувствуешь что все - иди дальше.

Конечно это не нужно для маленькой пекарни которая выпускает N булок хлеба и не хочет ничего менять - все и так хорошо. Но если пекарня хочет выпускать 100*N булок, либо сократить стоимость одной булки в 100 раз ей прийдется меняться, и лучше, если эти перемены будут растворены во времени. Задержанные во времени эти изменения будут стоить очень дорого, что скорее всего приведет к отказу от нововведения.

Вот и вся математика. Вот такой вот опыт на сегодня.

Комментариев нет:

Отправить комментарий