Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Питер_Гудлиф_Ремесло_программиста_Практика_написания_хорошего_кода.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
9.23 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

444m

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

.c

 

 

p

 

 

 

 

g

 

 

 

 

df

 

 

n

e

 

 

 

 

-xcha

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

Глава 17. Вместе мы – силаClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Глава 22. Рецепт программы

Методологии разработки: как команды взаимодействуют и совмест% но разрабатывают код.

План действий

Заполните анкету «План действий» и подумайте, как применить на практике то, что вы узнали.

Контрольные вопросы

Подробное обсуждение этих вопросов можно найти в разделе «Ответы и обсуждение» на стр. 659.

Вопросы для размышления

1.Почему программы пишут командами? В чем преимущества отно% сительно самостоятельной разработки?

2.Опишите симптомы хорошей и плохой групповой работы. Каковы необходимые условия хорошей работы и как проявляется плохая групповая работа?

3.Сравните групповую разработку программ и метафору строительст% ва (см. раздел «Действительно ли мы собираем программы?» на стр. 240). Позволяет ли она лучше понять групповую работу?

4.Какие факторы – внешние или внутренние – больше всего угрожа% ют эффективности команды разработчиков?

5.Как размер команды влияет на ее динамику?

6.Как защитить команду от проблем, создаваемых неопытными чле% нами?

Вопросы личного характера

1.Что представляет собой команда, в которой вы работаете в данное время? Какому из описанных стереотипов она более соответствует?

a.Создавалась ли она такой намеренно?

b.Это здоровая команда?

c.Требуются ли в ней перемены?

Какие факторы, по вашему мнению, мешают хорошей групповой работе?

Если вы еще не сделали этого, заполните «План действий». Разбе% ритесь, как можно улучшить вашу команду, и начните перемены.

2.Вы умеете работать в команде? Что вы можете сделать, чтобы ус% пешнее сотрудничать с коллегами и создавать лучшие программы?

3.Какие именно обязанности возлагаются на инженера%программи%

ста в вашей команде?

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

Контрольныеm

вопросы

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

445Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Групповая работа

План действий

Тщательно заполните форму. Отвечайте на вопросы честно.

Инфраструктура команды

Оцените использование в своей команде следующих инструментов. Поставьте + (если «да») и оценку от 1(очень плохо)

до 5 (очень хорошо).

Система контроля версий База ошибок Автоматизация групповой работы

Методология/процесс разработки План проекта Спецификации

* Если какой7то пункт не дает вклада в эффективность, то почему?

У нас есть (да/нет)

Для этого есть админи7 стратор (да/нет)

Мы умеем пользоваться им (да/нет)

Применять легко (1–5)

Активно применяем (1–5)

Повышает эффективность работы * (1–5)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Члены команды

Все необходимые роли закрыты

(см. раздел «Рост команды») и

 

Оцените каждое из следующих утверждений

Эти роли формально определены и признаны

от 1 (совершенно не согласен), 3 (безразлично)

Все члены команды достаточно компетентны

до 5 (полностью согласен).

Мы не справились бы без любого члена команды

 

У нас есть члены команды с большим диапазоном навыков

Никто не перегружен работой

Сменяемость кодировщиков низкая

В команде есть проблемы

(1– большие проблемы, 5 – никаких проблем)

Обеспечивается необходимое обучение

– Какие проблемы?

 

– Как их решить?

Структура команды и работа

О плане

Структура кода и структура команды

Существует план разработки

Все знают, где он лежит

Структура кода определяет структуру команды

Он обновляется

Структура команды определяет структуру кода

Все знают очередной крайний срок

(oбратный счет: 1 – полностью согласен, 5 – не согласен)

Крайние сроки реалистичны

 

Документация

Мы знаем свои цели

Документация доступна через систему контроля версий

Мы знаем, как их достичь

Мы записываем протоколы собраний и проектные решения

Здоровье команды

 

Рабочая практика

Команда мотивирована

У нас есть система наставничества

Команда растет (а надо?)

Мы программируем парами

Команда сокращается (а надо?)

Мы проводим инспекцию кода

Общение

Мы проводим инспекцию документации

Общение в команде эффективно

У нас нет «культуры владения кодом»

У нас хорошие совещания

У нас есть руководство по кодированию

Я знаю, чем занимаются остальные

 

Управление

Я знаю, кто отвечает за каждую область

Нами управляют хорошо

 

Мои потребности ценят, как и успех команды

 

Общая картина

Для каждой команды в организации оцените следующие утверждения от 1 (совершенно не согласен)

до 5 (полностью согласен).

Добавьте к списку прочие команды, с которыми вы работаете

Другие команды разработчиков Тестирование Маркетинг Менеджмент Заказчик

Оценка

Теперь просмотрите данные вами ответы.

Хорошая связь с

Хорошие отношения с

Эффективно работаем вместе

Знаем членов команды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Что говорят вам эти ответы о вашей команде? Какие оценки превалируют – высокие или низкие? Какими мерами можно поправить положение?

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha