понедельник, 30 мая 2011 г.

Техники позитивных обсуждений

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

(мысли из/от подкастов Александра Орлова)
- "Да,и..." : соглашаешься с говорившим и добавляешь свои ПОЗИТИВНЫЕ моменты
- "Perfect Game" :
   1. Оценка по 10-ти бальной шкале
   2. Разница между 10 и моей оценкой - есть количество идей, которые я должен озвучить, как улучшить предложение выступающего
      (например, если я говорю, что моя оценка 7, то должен предложить ещё 3 улучшения)

Про книги о том КАК мыслить : Г.Альтшуллер. "Найти идею" (Введение в ТРИЗ — теорию решения изобретательских задач)

среда, 25 мая 2011 г.

Доступ к файлам журналов Log4j

Log4j позволяет записывать журналы логов в файлы. Настройка этих файлов (имена, каталоги, перезапись и т.п.) обычно происходит в конфигурационных log4j.properies или log4j.xml. Иногда требуется получить доступ к файлам журналов внутри самого приложения - например, чтобы по запросу взять их и передать куда-то вовне (допустим, с сервера на клиент). Приведённый пример показывает как получить доступ к таким журналам Log4j :

@Test

public void testLogFilesAccess() throws Exception {

    Logger logger = Logger.getRootLogger();

    //  все appender-ы

    Enumeration allAppEnumeration = logger.getAllAppenders();

    while (allAppEnumeration.hasMoreElements()) {

        Appender app = (Appender)allAppEnumeration.nextElement();

        // отбираем только те, что с файлами  

        if (app instanceof FileAppender) {

          System.out.println("Appended File="+((FileAppender)app).getFile());

        }

    }

}

вторник, 17 мая 2011 г.

Восемь правил хорошего управления от Google

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

1. Будьте хорошим наставником.
- Ваши оценки действий подчиненных должны быть конкретными и конструктивными.
- Соблюдайте баланс между критикой и похвалой.
- Регулярно встречайтесь с сотрудниками с глазу на глаз, предлагая решения проблем с учетом сильных сторон конкретного работника.
2. Доверяйте своей команде и не докучайте мелочной опекой.
– Давайте своим подчиненным свободу, но будьте доступны, чтобы к вам могли обратиться за советом.
- Доверяете подчиненным решение серьезных задач, чтобы они «росли над собой».
3. Проявляйте интерес к успехам сотрудников и их личному благополучию.
– Интересуйтесь, чем живут люди, в том числе и вне работы.
- Помогайте новичкам освоиться.
4. Не будьте «добряком». Будьте требовательным в достижении результата.
– Сосредоточьтесь на том, к каким коллективным результатам стремятся сотрудники и как они могут их достичь.
- Помогайте расставлять приоритеты и используйте власть для устранения препятствий.
5. Умейте слушать.
– Общение – двусторонний процесс: вы оба слушаете и делитесь информацией.
- Следите, чтобы общие собрания были направлены на достижение целей команды.
- Поощряйте открытое обсуждение и прислушивайтесь к тому, что волнует ваших сотрудников.
6. Способствуйте карьерному росту сотрудников.

7. Не забывайте о стратегии: всегда помните, «куда плывет пароход».
– Даже во время авралов не забываете о целях и стратегии.
- Привлекайте членов коллектива к формулированию целей и способов их достижения.
8. Овладейте основными техническими навыками, чтобы иметь возможность помочь, когда потребуется.
- Если нужно, подключайтесь к общей работе, засучив рукава.
- Разберитесь, какие трудности могут быть в той или иной конкретной работе.

Источник (перевод), где описывается как Google пришёл к таким результатам : http://www.rb.ru/career/knowledge/growth/2011/03/15/155843.html

пятница, 6 мая 2011 г.

О "нервной" обстановке в проекте ...

Байка от Вячеслава Панкратова :


Приходим. Ноуты, галстуки и прочая лабуда, которая, как мне тогда казалось, обязана присутствовать в облике консультанта. То что мне 25-26 лет и доверия как процессный консультант я не особо внушаю, видимо, должно было компенсироваться внушительным внешним обликом :)
Нас представили всему департаменту, разослали письма с нашими фотками, чтобы народ не шугался нашего появления и решили мы нарисовать стрелочками на большой бумаге как ходят задачи по департаменту, кто кому рапортует, какие системы где используются, что на входе, что на выходе, где какие цепочки явно затянуты ну и чего еще найдем.
Прихожу в группу тестирования, представляюсь, народ даже улыбается, кивают, мол «Слышали, читали». Подсаживаюсь к товарищу внушительного вида, знакомимся: его зовут Леша. Прошу рассказать и показать, кто ему ставит задачу, что он с ней делает, где чего лежит из документов. Леша без проблем начинает рассказывать и показывать.
В департаменте установлена система трекинга задач и ошибок + есть версионный контроль, в котором лежат и документы по тестированию и требования.
— Вот как раз упала задача от моего менеджера по тестированию Татьяны. Сейчас все и покажу.
Леша кликает на ссылку в почте, открывается страничка в системе учета задач, хорошее описание задачи, ссылка на последнюю версию тест-кейсов и на репозиторий с требованиями. Я отмечаю себе наличие самих систем, их провязку в систему постановки задач, тихо радуюсь. Леша тем временем говорит задаче «in progress», ставит в соотв. поле примерное время выполнения, открывает по ссылке в теле задачи документ с требованиями. При этом система запрашивает у него причину: отдельная формочка, в которую Леша вводит код задачи, а его имя уже подставлено автоматом. Открывает требования, читает, что-то отмечает в блокнотике. Открывает документ с тест-кейсами, аналогично отмечает в рамках какой задачи от к нему обращается. Что-то исправляет в одном из тест-кейсов. Я начинаю размякать: контроль на лицо, елки! :) В этот момент в аську кто-то стучится. Леша открывает аську и проговаривает:
— А вот как раз Татьяна, по поводу этой задачи.
Далее диалог из аськи:
— Леша, ты уже взялся за задачку #1234567?
— Конечно, разбираюсь, вроде есть один тест, который надо поправить и потом пойду по тестам.
— Давай ты ее пока отложи, а возьми лучше задачку #9876543.
— Не вопрос, Тань, сейчас сделаю.

Далее как в анекдоте про бабашку и кошелку. Леша сохраняет документ с требованиями, сохраняет документ с тест-кейсами заполняя поле «Изменения», чтобы хранилась история изменений. Заходит в задачу, ставит ей статус «Остановлено», пишет комментарий почему остановил задачу. Заходит в новую задачу, открывает ее, вникает, ставит «in progress», ставит в соотв. поле примерное время выполнения, открывает по ссылке в теле задачи документ с требованиями, открывает документ с тест-кейсами, начинает вникать в новый кусок функционала.
Звучит «о-оу», от аськи. Снова Татьяна:
— Леша, ты уже начал делать #9876543?
— Да, Таня.
— Я тут подумала, что она короткая и простая, я ее перекину Сереже, а ты вернись плз на задачу #1234567.
— Не вопрос, Таня, конечно.

При этом лицо Леши не выражает ничего. Глыба! На таких людях держится этот мир. Между тем, уже минут 20 на моих глазах один из специалистов открывает и закрывает документы, что-то куда-то вносит, стартует и останавливает задачи.
Шоу продолжается. Леша сохраняет документ с требованиями к задаче #9876543, сохраняет документ с тест-кейсами к задаче #9876543. Заходит в задачу #9876543, ставит ей статус «Остановлено», пишет комментарий, почему остановил задачу. Заходит обратно в задачу #1234567, открывает ее, ставит «in progress», ставит в соотв. поле примерное время, которое осталось на ее выполнение, открывает по ссылке в теле задачи документ с требованиями, открывает документ с тест-кейсами, начинает заново вникать в тот же кусок функционала, с которым он работал ранее.
Я понимаю, что это может быть просто случайность, прошу Лешу уделить мне 5 минут, говорю спасибо за демонстрацию работы с системами и уточняю насколько часто его перебрасывают с задачи на задачу. Выясняется, что Татьяна не единственный менеджер, который может его куда-то перекинуть, что иногда прибегают аналитики и тащат его на «срочный митинг с заказчиком», чтобы потом он мог быстрее вникнуть в новый функционал. Бывает, приходят лично или звонят менеджеры проектов, которые хоть и не являются его непосредственными шефами, но могут влиять на приоритеты задач в его списке.
Леша — один из ведущих специалистов по тестированию. Человек, который реально знает практически всю логику нескольких систем, которые разрабатывает и использует его компания. И он чертовски спокойный человек.
Возвращаемся к столу Леши, я прошу его аккуратно выяснить у Татьяны, почему, мол, мечемся. У меня в голове есть твердое убеждение, что менеджер просто так ведь ничего не делает. А если возникнут вопросы, то можно валить на меня, я пойду говорить дальше. Леша впервые за день улыбается и дословно вбивает мой вопрос в аську.
— Тань, слуш, а чего мы сегодня мечемся-то? Ну, с задачами этими?
Я аж записывать перестал, честно говоря. Леша человек спокойный и с интересным чувством юмора :)
Ответ менеджера появляется под барабанную дробь:
— Потому что у нас обстановка в проекте нервная!
Вопрос «Кто создает такую нервную обстановку в проекте?» повисает в воздухе.