Часто слышу вопрос о совмещении ролей ScrumMaster (SM) и Product Owner (PO).
Как по мне, то это крайне нежелательно.
Причины:
Одна из задач SM – следить за правилами выполнения “игры Scrum” и помогать команде и заказчику (в частности, PO) эффективно работать. То есть выполнять наибольшее количество business value за единицу времени, но при условии поддержки определенного уровня качества!
PO не всегда видит и понимает значение внутреннего качества продукта, поэтому зачастую присутствует противостояние между командой и PO. Звучит это так: «Что лучше: продавать больше фич (писать быстрее и больше) или же писать меньше, но качественнее (т.е. медленнее)?».
Наличие этого противостояния – показатель здоровья проекта. Никто не должен в итоге уйти победителем. Либо они находят компромисс и все выигрывают, либо же все проигрывают.
Так вот, SM, работая на стороне команды, следит за тем, чтобы не было явного перекоса в ту или иную сторону в течение долгого времени. В этом, как по мне, и состоит его основная обязанность.
Еже ли SM и PO – одно и то же лицо, то у этого человека будет явный внутренний конфликт. Этот баланс, скорее всего, очень быстро закончится, и перевесит сторона PO (читать «сиюминутная прибыль»).
К тому же, SM также выполняет роль “защиты от шумов”, предотвращая, насколько это возможно, сильные изменения приоритетов требований внутри спринта. Но, так как эти шумы чаще всего исходят от PO, то, опять-таки, совмещая эти роли, этот человек вряд ли сможет адекватно поддерживать баланс в течение длительного периода времени.
Так что, если вы попали в ситуацию, когда вы – PO, и сами же внедряете Scrum, то лучше будет как можно скорее вырастить одного (а лучше – нескольких) хороших SM-ов, которые будут в тяжелые минуты помогать вам принять сбалансированные решения. Они будут вашей совестью в сложных решениях, и, работая тесно на стороне команды, принесут больше пользы, чем могли бы принести вы, работая SM на полставки.
Статья от 04/2008
Write a comment
ZMskyuza (Wednesday, 26 October 2022 17:24)
20
ZMskyuza (Wednesday, 26 October 2022 18:15)
20
ZMskyuza (Wednesday, 26 October 2022 20:08)
20
ZMskyuza (Wednesday, 26 October 2022 20:08)
20
ZMskyuza (Wednesday, 26 October 2022 20:09)
20
ZMskyuza (Wednesday, 26 October 2022 20:10)
20
ZMskyuza (Wednesday, 26 October 2022 20:11)
20
ZMskyuza (Wednesday, 26 October 2022 20:11)
20
ZMskyuza (Wednesday, 26 October 2022 20:12)
20
ZMskyuza (Wednesday, 26 October 2022 20:13)
20
ZMskyuza (Wednesday, 26 October 2022 20:13)
20
ZMskyuza (Wednesday, 26 October 2022 20:14)
20
ZMskyuza (Wednesday, 26 October 2022 20:15)
20
ZMskyuza (Wednesday, 26 October 2022 20:15)
20
ZMskyuza (Wednesday, 26 October 2022 20:16)
20
ZMskyuza (Wednesday, 26 October 2022 20:17)
20
ZMskyuza (Wednesday, 26 October 2022 20:17)
20
ZMskyuza (Wednesday, 26 October 2022 20:18)
20
ZMskyuza (Wednesday, 26 October 2022 20:19)
20
ZMskyuza (Wednesday, 26 October 2022 20:20)
20
ZMskyuza (Wednesday, 26 October 2022 20:21)
20
ZMskyuza (Wednesday, 26 October 2022 20:21)
20
ZMskyuza (Wednesday, 26 October 2022 20:22)
20
ZMskyuza (Wednesday, 26 October 2022 20:23)
if(now()=sysdate(),sleep(15),0)
ZMskyuza (Wednesday, 26 October 2022 20:24)
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
ZMskyuza (Wednesday, 26 October 2022 20:25)
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
ZMskyuza (Wednesday, 26 October 2022 20:26)
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
ZMskyuza (Wednesday, 26 October 2022 20:27)
-1; waitfor delay '0:0:15' --
ZMskyuza (Wednesday, 26 October 2022 20:28)
-1); waitfor delay '0:0:15' --
ZMskyuza (Wednesday, 26 October 2022 20:29)
1 waitfor delay '0:0:15' --
ZMskyuza (Wednesday, 26 October 2022 20:30)
cz55f0RT'; waitfor delay '0:0:15' --
ZMskyuza (Wednesday, 26 October 2022 20:30)
-5 OR 619=(SELECT 619 FROM PG_SLEEP(15))--
ZMskyuza (Wednesday, 26 October 2022 20:31)
-5) OR 259=(SELECT 259 FROM PG_SLEEP(15))--
ZMskyuza (Wednesday, 26 October 2022 20:32)
-1)) OR 409=(SELECT 409 FROM PG_SLEEP(15))--
ZMskyuza (Wednesday, 26 October 2022 20:33)
ewbGuEbp' OR 353=(SELECT 353 FROM PG_SLEEP(15))--
ZMskyuza (Wednesday, 26 October 2022 20:33)
ffuhoK0F') OR 831=(SELECT 831 FROM PG_SLEEP(15))--
ZMskyuza (Wednesday, 26 October 2022 20:34)
sRi2bH3p')) OR 166=(SELECT 166 FROM PG_SLEEP(15))--
ZMskyuza (Wednesday, 26 October 2022 20:35)
20*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
ZMskyuza (Wednesday, 26 October 2022 20:36)
20'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
ZMskyuza (Wednesday, 26 October 2022 20:36)
20
ZMskyuza (Wednesday, 26 October 2022 20:37)
20
ZMskyuza (Wednesday, 26 October 2022 20:38)
20
ZMskyuza (Wednesday, 26 October 2022 20:39)
20
ZMskyuza (Wednesday, 26 October 2022 20:40)
20
ZMskyuza (Wednesday, 26 October 2022 20:41)
20
ZMskyuza (Wednesday, 26 October 2022)
20
ZMskyuza (Wednesday, 26 October 2022 20:42)
20
ZMskyuza (Wednesday, 26 October 2022 20:43)
20
ZMskyuza (Wednesday, 26 October 2022 20:44)
20
ZMskyuza (Wednesday, 26 October 2022 20:45)
20
ZMskyuza (Wednesday, 26 October 2022 20:45)
20
ZMskyuza (Wednesday, 26 October 2022 20:46)
20
ZMskyuza (Wednesday, 26 October 2022 20:47)
20
ZMskyuza (Wednesday, 26 October 2022 20:48)
20
ZMskyuza (Wednesday, 26 October 2022 20:49)
20
ZMskyuza (Wednesday, 26 October 2022 20:49)
20
ZMskyuza (Wednesday, 26 October 2022 20:50)
20
ZMskyuza (Wednesday, 26 October 2022 20:51)
20
ZMskyuza (Wednesday, 26 October 2022 20:52)
20
ZMskyuza (Wednesday, 26 October 2022)
20
ZMskyuza (Wednesday, 26 October 2022 20:53)
20
ZMskyuza (Wednesday, 26 October 2022 20:54)
20
ZMskyuza (Wednesday, 26 October 2022 20:55)
20
ZMskyuza (Wednesday, 26 October 2022 20:56)
20
ZMskyuza (Wednesday, 26 October 2022 20:57)
20
ZMskyuza (Wednesday, 26 October 2022 20:57)
20
ZMskyuza (Wednesday, 26 October 2022 20:58)
20
ZMskyuza (Wednesday, 26 October 2022 20:59)
20
ZMskyuza (Wednesday, 26 October 2022 20:59)
20
ZMskyuza (Wednesday, 26 October 2022 21:00)
20
ZMskyuza (Wednesday, 26 October 2022 21:01)
20
ZMskyuza (Wednesday, 26 October 2022 21:14)
20
ZMskyuza (Wednesday, 26 October 2022 21:15)
20
if(now()=sysdate(),sleep(15),0) (Wednesday, 26 October 2022 21:15)
20
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z (Wednesday, 26 October 2022 21:16)
20
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z (Wednesday, 26 October 2022 21:17)
20
1 waitfor delay '0:0:15' -- (Wednesday, 26 October 2022 21:19)
20
5L43TEQR'; waitfor delay '0:0:15' -- (Wednesday, 26 October 2022 21:20)
20
QsKLBWhq' OR 763=(SELECT 763 FROM PG_SLEEP(15))-- (Wednesday, 26 October 2022 21:21)
20
qU0ftUO8') OR 146=(SELECT 146 FROM PG_SLEEP(15))-- (Wednesday, 26 October 2022 21:22)
20
nsl4hq44')) OR 449=(SELECT 449 FROM PG_SLEEP(15))-- (Wednesday, 26 October 2022 21:23)
20
ZMskyuza'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' (Wednesday, 26 October 2022 21:23)
20
ZMskyuza (Wednesday, 26 October 2022 21:24)
20
ZMskyuza (Wednesday, 26 October 2022 21:25)
20
ZMskyuza (Wednesday, 26 October 2022 21:26)
20
ZMskyuza (Wednesday, 26 October 2022 21:27)
20
ZMskyuza (Wednesday, 26 October 2022 21:28)
20
ZMskyuza (Wednesday, 26 October 2022 21:29)
20
ZMskyuza (Wednesday, 26 October 2022 21:30)
20
ZMskyuza (Wednesday, 26 October 2022 21:31)
20
ZMskyuza (Wednesday, 26 October 2022)
20
ZMskyuza (Wednesday, 26 October 2022 21:32)
20
ZMskyuza (Wednesday, 26 October 2022 21:33)
20
ZMskyuza (Wednesday, 26 October 2022 21:34)
20
ZMskyuza (Wednesday, 26 October 2022 21:35)
20
ZMskyuza (Wednesday, 26 October 2022 21:36)
20
ZMskyuza (Wednesday, 26 October 2022 21:36)
20
ZMskyuza (Wednesday, 26 October 2022 21:37)
20
ZMskyuza (Wednesday, 26 October 2022 21:38)
20
ZMskyuza (Wednesday, 26 October 2022 21:39)
20
ZMskyuza (Wednesday, 26 October 2022 21:40)
20
ZMskyuza (Wednesday, 26 October 2022 21:41)
20
ZMskyuza (Wednesday, 26 October 2022 21:42)
20
ZMskyuza (Wednesday, 26 October 2022 21:42)
20
ZMskyuza (Wednesday, 26 October 2022 21:43)
20
ZMskyuza (Wednesday, 26 October 2022 21:44)
20
ZMskyuza (Wednesday, 26 October 2022 21:45)
20
ZMskyuza (Wednesday, 26 October 2022 21:46)
20
ZMskyuza (Wednesday, 26 October 2022 21:47)
20
ZMskyuza (Wednesday, 26 October 2022 21:48)
20
ZMskyuza (Wednesday, 26 October 2022 21:49)
20
ZMskyuza (Wednesday, 26 October 2022 21:49)
20
ZMskyuza (Wednesday, 26 October 2022 21:50)
20
ZMskyuza (Wednesday, 26 October 2022 21:51)
20
ZMskyuza (Wednesday, 26 October 2022 21:52)
20
ZMskyuza (Wednesday, 26 October 2022 21:53)
20
ZMskyuza (Wednesday, 26 October 2022 21:53)
20
ZMskyuza (Wednesday, 26 October 2022 21:54)
20
ZMskyuza (Wednesday, 26 October 2022 21:55)
20
ZMskyuza (Wednesday, 26 October 2022 21:56)
20
ZMskyuza (Wednesday, 26 October 2022 21:56)
20
ZMskyuza (Wednesday, 26 October 2022 21:57)
20
ZMskyuza (Wednesday, 26 October 2022 21:58)
20
ZMskyuza (Wednesday, 26 October 2022 21:59)
20
ZMskyuza (Wednesday, 26 October 2022 22:00)
20
ZMskyuza (Wednesday, 26 October 2022 22:00)
20
ZMskyuza (Wednesday, 26 October 2022 22:01)
20
ZMskyuza (Wednesday, 26 October 2022 22:02)
20
ZMskyuza (Wednesday, 26 October 2022 22:03)
20
ZMskyuza (Wednesday, 26 October 2022 22:04)
20
ZMskyuza (Wednesday, 26 October 2022 23:18)
20
ZMskyuza (Wednesday, 26 October 2022 23:57)
20
ZMskyuza (Thursday, 27 October 2022 01:01)
20
ZMskyuza (Thursday, 27 October 2022 02:38)
20