ÐÑивеÑ, ХабÑ! ÐÐµÐ½Ñ Ð·Ð¾Ð²ÑÑ Ðвгений СабиÑов, Ñ ÑÐ°Ð·Ð²Ð¸Ð²Ð°Ñ ÑеÑÑиÑовÑиков в ТоÑка Ðанк. Ðного Ð»ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑÑ Ð¿Ð¾Ð´Ð³Ð¾Ñовкой докладÑиков к конÑеÑенÑиÑм, гÑейдиÑÑÑ Ð¸ ÑобеÑедÑÑ ÑеÑÑиÑовÑиков. Рза ÑÑо вÑÐµÐ¼Ñ Ð½Ðµ мог не замеÑиÑÑ, наÑколÑко ÑазмÑÑа зона оÑвеÑÑÑвенноÑÑи ÑÑой Ñоли: где-Ñо ÑеÑÑиÑовÑик оÑвеÑÐ°ÐµÑ Ð·Ð° коммÑникаÑÐ¸Ñ Ñ ÐºÐ»Ð¸ÐµÐ½Ñами и пÑоÑабоÑÐºÑ Ð´Ð¸Ð·Ð°Ð¹Ð½Ð°, где-Ñо â ÑолÑко за напиÑание авÑоÑеÑÑов, пÑи ÑÑом пÑо анализ ÑÑебований даже не вÑпоминаÑÑ. Ð¢Ð°ÐºÐ°Ñ ÑазмÑÑоÑÑÑ Ñама по Ñебе ноÑмалÑна: ÑазнÑм командам нÑÐ¶Ð½Ñ ÑазнÑе навÑки.
ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð½Ð°ÑинаÑÑÑÑ Ñогда, когда ÑеÑÑиÑовÑик менÑÐµÑ ÑабоÑÑ Ð¸Ð»Ð¸ ÑÑалкиваеÑÑÑ Ñ Ð³Ñейдами внÑÑÑи компании. То, ÑÑо ÑенилоÑÑ Ð² одной команде, Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð½ÐµÐ²Ð¾ÑÑÑебованнÑм в дÑÑгой. ÐÐ¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ ÐµÑÑеÑÑвеннÑй вопÑоÑ: какие Ð·Ð½Ð°Ð½Ð¸Ñ Ð¸ навÑки должен имеÑÑ ÑеÑÑиÑовÑик, ÑÑÐ¾Ð±Ñ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм в лÑбой более-менее Ñиповой команде?
Ð ÑÑой ÑÑаÑÑе Ñ Ð¿Ð¾Ð¿ÑобÑÑ Ð¾ÑеÑÑиÑÑ ÑÐ¾Ð»Ñ ÑеÑÑиÑовÑика, вÑделиÑÑ ÐµÑ ÐºÐ»ÑÑевÑе обÑзанноÑÑи и показаÑÑ, как ÑÑи акÑивноÑÑи впиÑÑваÑÑÑÑ Ð² пÑоÑеÑÑ ÑазÑабоÑки. ÐÑо Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ñамим ÑеÑÑиÑовÑикам ÑÑнее понимаÑÑ ÑенноÑÑÑ Ñвоей ÑабоÑÑ, а ÑÑководиÑелÑм â более ÑÑÑко ÑаÑпÑеделÑÑÑ Ð·Ð¾Ð½Ñ Ð¾ÑвеÑÑÑвенноÑÑи внÑÑÑи командÑ.

Ð ÑÑм в ÑÑаÑÑе не бÑдем говоÑиÑÑ
РеÑÑ Ð² ÑÑом ÑекÑÑе пойдÑÑ ÑолÑко о конÑÑоле каÑеÑÑва. Ðб обеÑпеÑении каÑеÑÑва можно поговоÑиÑÑ Ð² дÑÑгой ÑÑаÑÑе. Ро Ñом, ÑÑо ÑабоÑа ÑеÑÑиÑовÑика (конÑÑÐ¾Ð»Ñ ÐºÐ°ÑеÑÑва) и обеÑпеÑение каÑеÑÑва â ÑазнÑе веÑи, Ñ Ð³Ð¾Ð²Ð¾ÑÑ Ð·Ð´ÐµÑÑ Ð¸ здеÑÑ.
Ð¦ÐµÐ»Ñ ÑеÑÑиÑованиÑ
ÐаÑаÑÑ Ð¸Ð¼ÐµÐµÑ ÑмÑÑл Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ â Ñели ÑеÑÑиÑованиÑ. ÐаÑÑÑÑ Ð½ÐµÑ ÐµÑÑÑ Ð½ÐµÑколÑко ÑипиÑнÑÑ Ð·Ð°Ð±Ð»Ñждений, Ð²Ð¾Ñ ÑамÑе попÑлÑÑнÑе из ÑÐµÑ , ÑÑо ÑлÑÑал: Â
-
Ð¦ÐµÐ»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ â вÑпÑÑÑиÑÑ ÐºÐ°ÑеÑÑвеннÑй пÑодÑкÑ.
ÐÑо задаÑа вÑей командÑ, а не ÑолÑко ÑеÑÑиÑованиÑ. -
Ð¦ÐµÐ»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ â найÑи деÑекÑÑ.
СмÑÑл ÑÑой ÑоÑмÑлиÑовки ÑазбиваеÑÑÑ Ð¾Ð± вопÑоÑ: «ÐÑли на ÑеÑÑиÑовании не Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð´ÐµÑекÑÑ, Ñо ÑÐµÐ»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ вÑполнена?» -
Ð¦ÐµÐ»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ â не допÑÑÑиÑÑ Ñелиза Ñ Ð´ÐµÑекÑами.
ÐÑÑÑÐµÑ Ð¼Ð½ÐµÐ½Ð¸Ðµ, ÑÑо еÑли ÑеÑÑиÑовÑик наÑел деÑекÑ, Ñо он должен пÑедпÑинÑÑÑ Ð²Ñе возможнÑе дейÑÑвиÑ, ÑÑÐ¾Ð±Ñ Ð½Ðµ пÑÑÑиÑÑ Ñелиз в пÑод. Ðднако, деÑÐµÐºÑ Ð´ÐµÑекÑÑ ÑознÑ, и Ñ Ð½ÐµÐºÐ¾ÑоÑÑми из Ð½Ð¸Ñ ÑелизиÑÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ и даже нÑжно. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑеÑÑиÑовÑик не Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð´Ð¾ÑÑаÑоÑной инÑоÑмаÑией о Ñом, Ñ ÐºÐ°ÐºÐ¸Ð¼Ð¸ деÑекÑами можно ÑелизиÑÑÑÑ, а Ñ ÐºÐ°ÐºÐ¸Ð¼Ð¸ неÑ.Â
Ð ÑÑм же Ñогда ÑÐµÐ»Ñ ÑеÑÑиÑованиÑ?
Ðна заклÑÑаеÑÑÑ Ð² пÑедоÑÑавлении команде и бизнеÑÑ â лиÑам, пÑинимаÑÑим ÑеÑÐµÐ½Ð¸Ñ Ð¾ вÑпÑÑке â инÑоÑмаÑии о каÑеÑÑве пÑодÑкÑа. Ðод каÑеÑÑвом в данном ÑлÑÑае подÑазÑмеваеÑÑÑ ÑÑÐµÐ¿ÐµÐ½Ñ ÑооÑвеÑÑÑÐ²Ð¸Ñ Ð´ÐµÐ¹ÑÑвиÑелÑного ÑезÑлÑÑаÑа запланиÑованномÑ. РазвÑÑнÑÑÐ°Ñ ÑоÑмÑлиÑовка звÑÑÐ¸Ñ Ñак:Â
Ð¦ÐµÐ»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ â инÑоÑмиÑование оÑвеÑÑÑвеннÑÑ Ð·Ð° вÑпÑÑк ÐРо ÑооÑвеÑÑÑвии пÑодÑкÑа пÑедÑÑвлÑемÑм ÑÑебованиÑм.
ХоÑоÑий ÑеÑÑиÑовÑик должен ÑокÑÑиÑоваÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ на ÑÑой Ñели и Ð´Ð»Ñ ÐµÐµ доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð´ÐµÐ»Ð°ÑÑ ÑледÑÑÑее:Â
-
ТеÑÑиÑоваÑÑ Ð½Ð¾Ð²ÑÑ ÑÑнкÑионалÑноÑÑÑ.
-
ÐÑовеÑÑÑÑ, ÑÑо не ÑломалиÑÑ ÑÑнкÑионалÑноÑÑи, ÑабоÑавÑие ÑанÑÑе.
-
СообÑаÑÑ Ð¾ ÑезÑлÑÑаÑÐ°Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¸Ð½ÑеÑеÑованнÑм лиÑам â команде, пÑодакÑÑ, лидам.
Ð ÑепеÑÑ ÑазбеÑÑм подÑобнее Ð¾Ñ Ð¿ÑоÑÑого к ÑложномÑ. Ðо ÑекÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ даже оÑÑледиÑÑ ÑоÑÑ Ð¾ÑвеÑÑÑвенноÑÑи ÑеÑÑиÑовÑика Ð¾Ñ Ð¼Ð»Ð°Ð´ÑÐ¸Ñ Ðº ÑÑаÑÑим гÑейдам.
ТеÑÑиÑование новой ÑÑнкÑионалÑноÑÑи
ЧÑÐ¾Ð±Ñ ÐºÐ°ÑеÑÑвенно пÑоÑеÑÑиÑоваÑÑ Ð½Ð¾Ð²ÑÑ ÑÑнкÑионалÑноÑÑÑ, Ñ Ð¾ÑоÑий ÑеÑÑиÑовÑик
-
ÐиÑÐµÑ ÑеÑÑ-кейÑÑ:
-
полÑзÑеÑÑÑ ÑÐµÑ Ð½Ð¸ÐºÐ°Ð¼Ð¸ ÑеÑÑ-дизайна;
-
ÑоÑÑавлÑÐµÑ ÑеÑÑовÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ (опÑеделÑеÑ, где, ÑÑо и каким обÑазом пÑовеÑÑÑÑ).
-
-
ÐÑполнÑÐµÑ Ð¿ÑовеÑки по ÑеÑÑ-кейÑам:
-
знаеÑ, Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ Ð¿ÑовеÑок какой инÑÑÑÑÐ¼ÐµÐ½Ñ Ð¸ÑполÑзоваÑÑ: напÑимеÑ, Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ API â Postman, а Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ UI â PixelPerfect или DevTools.
-
ÑÐ¼ÐµÐµÑ Ð¿Ð¾Ð»ÑзоваÑÑÑÑ ÑÑими инÑÑÑÑменÑами;
-
знаеÑ, как опÑималÑно ÑеÑаÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¿ÑовеÑки â напÑимеÑ, полÑзÑеÑÑÑ Ð¿ÐµÑеменнÑми и ÑкÑипÑами в Postman, знаеÑ, на ÑÑо обÑаÑаÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ пÑи пÑоÑмоÑÑе запÑоÑов в DevTools и Ñ.д.
-
ÐÑо Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñй минимÑм Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÐºÐ°ÑеÑÑвенно вÑполнÑÑÑ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ ÐºÐ°ÑеÑÑва. Ðо ÑÑÐ¾Ñ Ð¿ÑоÑеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполнÑÑÑ ÐµÑÑ Ð¸ опÑималÑно, Ð´Ð»Ñ ÑÑого Ñ Ð¾ÑоÑий ÑеÑÑиÑовÑик:
-
ТеÑÑиÑÑÐµÑ ÑÑебованиÑ.
-
ÐиÑÐµÑ ÑеÑÑ-кейÑÑ Ð´Ð¾ ÑазÑабоÑки.
-
СÑÑемиÑÑÑ Ðº ÑомÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÑаÑÐ½Ð°Ñ ÑвÑÐ·Ñ Ð¾Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±Ñла макÑималÑно бÑÑÑÑой â напÑимеÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°Ð²ÑоÑеÑÑов, коÑоÑÑе напиÑÐ°Ð½Ñ Ð´Ð¾ или паÑаллелÑно Ñ ÑазÑабоÑкой ÑиÑи.
РегÑеÑÑионное ÑеÑÑиÑованиеÂ
Релиз без ÑегÑеÑÑа â ÑÑо лоÑеÑеÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¿ÐµÑед каждÑм Ñелизом нÑжно пÑоводиÑÑ ÑегÑеÑÑионное ÑеÑÑиÑование, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо внеÑение изменений в код не Ñломало Ñо, ÑÑо ÑабоÑало ÑанÑÑе. ÐаÑеÑÑвенное ÑеÑÑиÑование не пÑоводиÑÑÑ Â«Ð¿Ð¾ памÑÑи», поÑÑÐ¾Ð¼Ñ Ñ Ð¾ÑоÑий ÑеÑÑиÑовÑик:
ÐÐ»Ñ Ð¿ÑогнозиÑÑемоÑÑи ÑÑоимоÑÑи и вÑемени ÑазÑабоÑки еÑÑ Ð½Ð° ÑÑапе планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑеализаÑии какой-либо ÑÑнкÑионалÑноÑÑи команда Ñже должна знаÑÑ, в каком обÑÑме поÑÑебÑеÑÑÑ ÑегÑеÑÑ Ð¸ ÑколÑко вÑемени он займÑÑ. Ð ÑожалениÑ, оÑÐµÐ½Ñ ÑаÑÑо ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿Ñо ÑÑо забÑваÑÑ Ð¸ пеÑед Ñелизом либо жеÑÑвÑÑÑ ÑегÑеÑÑионнÑм ÑеÑÑиÑованием, либо вÑнÑÐ¶Ð´ÐµÐ½Ñ Ð¾ÑкладÑваÑÑ Ñелиз.Â
ÐÑли говоÑиÑÑ Ð½Ðµ ÑолÑко о каÑеÑÑве, но и о ÑкоÑоÑÑи ÑеÑÑиÑованиÑ, Ñо нелÑÐ·Ñ Ð½Ðµ ÑпомÑнÑÑÑ Ð¿Ñо Ñо, ÑÑо Ñ Ð¾ÑоÑий ÑеÑÑиÑовÑик:
-
ÐниÑииÑÑÐµÑ Ð°Ð²ÑомаÑизаÑÐ¸Ñ ÑегÑеÑÑионного ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñам, где ÑÑо ÑенÑабелÑно
ФоÑмÑлиÑовка неÑлÑÑайно вÑбÑана именно ÑакаÑ, Ð²ÐµÐ´Ñ Ð²Ð°Ð¶Ð½Ð¾ помниÑÑ, ÑÑо авÑомаÑизаÑией ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑÑÑ Ð½Ðµ ÑолÑко ÑеÑÑиÑовÑик. ЧеÑÑно говоÑÑ, Ñеловек, коÑоÑÑй ÑÐ¼ÐµÐµÑ Ð¿Ð¸ÑаÑÑ ÐºÐ¾Ð´ (пÑогÑаммиÑÑ), ÑпÑавлÑеÑÑÑ Ñ Ð·Ð°Ð´Ð°Ñей авÑомаÑизаÑии ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÑда лÑÑÑе, Ñем ÑеÑÑиÑовÑик.
ЧÑо каÑаеÑÑÑ Ñлова «ÑенÑабелÑно» â важно помниÑÑ, ÑÑо не вÑегда авÑомаÑизаÑÐ¸Ñ Ð¿ÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑдеÑÐµÐ²Ð»ÐµÐ½Ð¸Ñ ÑеÑÑиÑованиÑ. Ðомимо заÑÑÐ°Ñ Ð½Ð° Ñоздание авÑоÑеÑÑов, нÑжно помниÑÑ Ð¸ о заÑÑаÑÐ°Ñ Ð½Ð° Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкÑ. ÐиÑаÑÑ Ð°Ð²ÑоÑеÑÑÑ Ð½Ð° ÑÑнкÑионалÑноÑÑÑ, в коÑоÑой планиÑÑÑÑÑÑ ÑаÑÑÑе ÑÑнкÑионалÑнÑе изменениÑ, веÑоÑÑнее вÑего, Ð¿Ð»Ð¾Ñ Ð°Ñ Ð¸Ð´ÐµÑ.Â
ÐоÑÑÐ¾Ð¼Ñ Ñак важно ÑÑавниваÑÑ ÑÑоимоÑÑÑ ÑÑÑного ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ ÑаÑÑ Ð¾Ð´Ð°Ð¼Ð¸ на авÑомаÑизаÑиÑ, ÑÑиÑаÑÑ ROI авÑомаÑизаÑии ÑеÑÑиÑованиÑ.
Ðомимо авÑомаÑизаÑии заÑÑаÑÑ Ð½Ð° ÑегÑеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ опÑимизиÑоваÑÑ Ð¸ дÑÑгими ÑпоÑобами â напÑимеÑ, пÑÐ¾Ð²Ð¾Ð´Ñ Ð¸Ð¼Ð¿Ð°ÐºÑ-анализ или ÑоÑаÑÐ¸Ñ ÑеÑÑ-кейÑов.
ÐÑÑÑÑ Ð¾ ÑезÑлÑÑаÑÐ°Ñ ÑеÑÑиÑованиÑÂ
ÐÑÐ¾Ñ Ð¿ÑÐ½ÐºÑ Ð¾Ð±ÑзанноÑÑей ÑеÑÑиÑовÑика пÑÑÑÑ Ð¸ ÑоÑмалÑнÑй, но оÑÐµÐ½Ñ Ð²Ð°Ð¶Ð½Ñй. ÐÐ»Ñ Ð½Ð°Ñала ÑеÑÑиÑовÑÐ¸ÐºÑ Ð½Ñжно знаÑÑ Ð¾ÑвеÑÑ ÐºÐ°Ðº минимÑм на два вопÑоÑа â ÐºÐ¾Ð¼Ñ Ð¿ÑедоÑÑавлÑÑÑ Ð¾ÑÑÑÑ Ð¾ ÑезÑлÑÑаÑÐ°Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÐºÐ°ÐºÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð² нÑм должна бÑÑÑ.
Я ÑекомендÑÑ Ð²ÐºÐ»ÑÑаÑÑ Ð² оÑÑÑÑ Ð¾ ÑеÑÑиÑовании ÑледÑÑÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ:Â
-
ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ вÑполненнÑÑ ÑÑебованиÑÑ (зелÑнÑе ÑеÑÑÑ);
-
инÑоÑмаÑÐ¸Ñ Ð¾Ð± обнаÑÑженнÑÑ Ð´ÐµÑекÑÐ°Ñ (кÑаÑнÑе ÑеÑÑÑ);
-
даннÑе о ÑÑебованиÑÑ , вÑполнение коÑоÑÑÑ Ð½Ðµ ÑдалоÑÑ Ð¿Ð¾Ð´ÑвеÑдиÑÑ (непÑоведÑннÑе ÑеÑÑÑ).
Чем ÑеÑÑиÑовÑик ÐРдолжен занимаÑÑÑÑ
ÐеÑвое и Ñамое важное â ÑеÑÑиÑовÑик не должен ÑеÑаÑÑ, как должна ÑабоÑаÑÑ ÑÑнкÑионалÑноÑÑÑ. Ðго задаÑа â пÑовеÑиÑÑ, ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ð»Ð¸ ÑеалÑнÑй ÑезÑлÑÑÐ°Ñ Ñ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ñм. Ð ÑÐ¾Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ, когда ÑеÑÑиÑовÑик Ñам пÑидÑмÑваеÑ, каким должен бÑÑÑ ÑезÑлÑÑаÑ, он пеÑеÑÑаÑÑ Ð±ÑÑÑ ÑеÑÑиÑовÑиком и пÑевÑаÑаеÑÑÑ Ð² пÑодакÑа или аналиÑика. Ð ÑÑÑ Ð²Ð°Ð¶Ð½Ð¾, ÑÑÐ¾Ð±Ñ Ñеловек, коÑоÑÑй дейÑÑвиÑелÑно вÑполнÑÐµÑ ÑÑи Ñоли, обладал нÑжнÑми Ð´Ð»Ñ ÑÑого навÑками.
ÐÑоÑое, не менее важное â ÑеÑÑиÑовÑик не пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑеÑÐµÐ½Ð¸Ñ Ð¾ Ñом, можно ли ÑелизиÑÑÑÑ. ÐидеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÐµÑекладÑваÑÑ ÑÑÑ Ð¾ÑвеÑÑÑвенноÑÑÑ Ð½Ð° ÑеÑÑиÑовÑика. Ðа, внÑÑÑи ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ об ÑÑом договоÑиÑÑÑÑ, но, как и в пÑедÑдÑÑем пÑнкÑе, пÑинимаÑÑ ÑеÑение должен ÑоÑ, Ñ ÐºÐ¾Ð³Ð¾ еÑÑÑ Ð¸ нÑжнÑе компеÑенÑии, и доÑÑаÑоÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ. РболÑÑинÑÑве ÑлÑÑаев ÑеÑÑиÑовÑик не ÑаÑÐ¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ Ð½Ð¸ Ñем, ни дÑÑгим. РпÑодÑкÑовÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ Ð»Ð¾Ð³Ð¸Ñнее вÑего, еÑли ÑеÑение о Ñелизе Ñ Ð´ÐµÑекÑами пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Product Owner â именно он лÑÑÑе вÑÐµÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ, пÑинеÑÑÑ Ð»Ð¸ ÑиÑа болÑÑе полÑзÑ, Ñем вÑеда Ð¾Ñ Ð´ÐµÑекÑа.
Ðз ÑÑого логиÑно вÑÑÐµÐºÐ°ÐµÑ ÑледÑÑвие: ÑеÑÑиÑовÑик не должен ÑаÑÑÑавлÑÑÑ Ð¿ÑиоÑиÑеÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð´ÐµÑекÑами â какие важнее, а какие можно подождаÑÑ. РазвоÑаÑиваÑÑ ÑÐµÐ¼Ñ Ð½Ðµ бÑдÑ, пÑÐµÐ´Ð»Ð°Ð³Ð°Ñ Ð¾Ð±ÑÑдиÑÑ ÑÑо в комменÑаÑиÑÑ .
ÐÑого
ÐÑ ÑазобÑали оÑновнÑе акÑивноÑÑи ÑеÑÑиÑовÑика: пÑовеÑÐºÑ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑнкÑионалÑноÑÑи, ÑегÑеÑÑионное ÑеÑÑиÑование и пÑедоÑÑавление пÑозÑаÑной инÑоÑмаÑии о ÑезÑлÑÑаÑÐ°Ñ . ÐÑÑ ÑÑо ÑводиÑÑÑ Ðº одной клÑÑевой Ñели â даÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ðµ и бизнеÑÑ Ð´Ð¾ÑÑовеÑнÑÑ ÐºÐ°ÑÑÐ¸Ð½Ñ ÐºÐ°ÑеÑÑва пÑодÑкÑа, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ могли пÑинимаÑÑ Ð¾ÑознаннÑе ÑеÑÐµÐ½Ð¸Ñ Ð¾ Ñелизе.
Ðажно помниÑÑ: ÑеÑÑиÑовÑик не «ÑÑоÑож Ñелиза» и не «поÑÑавÑик багов». Ðго задаÑа â бÑÑÑ Ð¸ÑÑоÑником инÑоÑмаÑии, коÑоÑÑй Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð´ÐµÐ»Ð°ÑÑ ÑазÑабоÑÐºÑ Ð¿ÑедÑказÑемой, деÑÑвой и бÑÑÑÑой.
ÐдеалÑнÑй пÑоÑеÑÑ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ñ ÐºÐ°ÑеÑÑва ÑÑÑоиÑÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ вокÑÑг ÑÑого:
-
ТÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑиÑÑÑÑÑÑ ÐµÑÑ Ð´Ð¾ ÑазÑабоÑки.
-
ÐÑовеÑки новÑÑ ÑÑнкÑий пÑоводÑÑÑÑ Ð±ÑÑÑÑо и макÑималÑно Ñано.
-
РегÑеÑÑионное ÑеÑÑиÑование пÑогнозиÑÑемо по вÑемени и ÑÑилиÑм, опÑимизиÑÑеÑÑÑ Ð·Ð° ÑÑÑÑ Ð°Ð²ÑомаÑизаÑии и импакÑ-анализа.
-
ÐÑÑÑÑ Ð¾ ÑеÑÑиÑовании полезен Ð´Ð»Ñ Ñолей, пÑинимаÑÑÐ¸Ñ ÑеÑение о Ñелизе.
ÐÑли команда и Ñам ÑеÑÑиÑовÑик деÑÐ¶Ð°Ñ Ð² ÑокÑÑе именно ÑÑи пÑинÑипÑ, пÑоÑеÑÑ ÑазÑабоÑки ÑÑановиÑÑÑ ÑÑÑойÑивÑм: менÑÑе ÑÑÑпÑизов, менÑÑе задеÑжек, болÑÑе ÑвеÑенноÑÑи в ÑÐµÐ»Ð¸Ð·Ð°Ñ .
ÐодгоÑовка и пÑоведение ÑеÑÑ-кейÑов
РазÑебем, ÑÑо важно ÑÑеÑÑÑ Ð¿Ñи подгоÑовки и пÑоведении ÑеÑÑ-кейÑов.Â
-
ÐÐ»Ñ Ð¾Ð¿ÑималÑного ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑнкÑионалÑноÑÑи Ñебе бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ ÑÑаÑÑвоваÑÑ Ð² ÑеÑÑиÑовании ÑÑебований. Ðо-пеÑвÑÑ , ÑÑо Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¿Ð¾Ð½ÑÑÑ, ÑÑо ÑеÑÑиÑоваÑÑ Ð² бÑдÑÑем Ñелизе и как. Ðо-вÑоÑÑÑ , Ñак ÑÑ ÑможеÑÑ Ð²ÑÑвиÑÑ ÑÑзвимоÑÑи или неÑооÑвеÑÑÑÐ²Ð¸Ñ Ð² ÑÑебованиÑÑ ÐµÑе до ÑÑапа ÑазÑабоÑки. ÐÑ Ð¸ по ÑÑим же ÑамÑм ÑÑебованиÑм ÑÑ ÑможеÑÑ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑÑ ÑеÑÑ-кейÑÑ ÐµÑе до Ñого, как ÑазÑабоÑка наÑнеÑÑÑ.Â
-
Ðажно ÑÑеÑÑÑ, ÑÑÐ¾Ð±Ñ ÑеÑÑ-кейÑÑ Ñ ÑÐµÐ±Ñ Ð±Ñли гоÑÐ¾Ð²Ñ Ð´Ð¾ Ñого, как задаÑа пеÑÐµÐ¹Ð´ÐµÑ Ð² ÑеÑÑиÑование. ÐнаÑе вÑемÑ, заложенное на ÑеÑÑиÑование, ÑÑ Ð¿Ð¾ÑÑаÑиÑÑ Ð½Ð° Ñоздание ÑеÑÑов, а ÑÑо заÑоÑÐ¼Ð¾Ð·Ð¸Ñ Ð¿ÑоÑеÑÑ.Â
-
РпÑоÑеÑÑе ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ забÑвай бÑÑÑÑо даваÑÑ Ð¾Ð±ÑаÑнÑÑ ÑвÑзÑ. РазÑабоÑÑик, коÑоÑÑй полÑÑÐ¸Ñ Ð±Ð°Ð³ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле завеÑÑÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (пока конÑекÑÑ Ñвеж), иÑпÑÐ°Ð²Ð¸Ñ ÐµÐ³Ð¾ гоÑаздо бÑÑÑÑее, Ñем поÑле пеÑеклÑÑÐµÐ½Ð¸Ñ Ð½Ð° новÑÑ Ð·Ð°Ð´Ð°ÑÑ.Â
-
Ðе забÑвай иÑполÑзоваÑÑ corner-кейÑÑ. ÐÑли ÑÑ Ð¸Ñ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑÑ Ð¸ оÑдаÑÑ ÑазÑабоÑки еÑе до Ñого, как они возÑмÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð² ÑабоÑÑ, ÑÑо ÑилÑно Ð¸Ñ ÑÑкоÑиÑ. ÐлÑÐ´Ñ Ð½Ð° Ñакие ÑеÑÑÑ ÑазÑабоÑÑики бÑдÑÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑ, ÑÑо именно им нÑжно ÑÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð³Ð¾ÑовÑе ÑеÑÑÑ ÑоÑно пÑоÑли.Â
-
Ðо-Ñ Ð¾ÑоÑемÑ, вмеÑÑо напиÑÐ°Ð½Ð¸Ñ ÑÑÑнÑÑ ÑеÑÑ-кейÑов â или паÑаллелÑно Ñ Ð½Ð¸Ð¼Ð¸ â можно ÑÑÐ°Ð·Ñ Ð¿Ð¸ÑаÑÑ Ð°Ð²ÑоÑеÑÑÑ. ÐÑедÑÑавÑ: к завеÑÑÐµÐ½Ð¸Ñ ÑазÑабоÑки Ñ ÑÐµÐ±Ñ Ñже гоÑÐ¾Ð²Ñ Ð°Ð²ÑоÑеÑÑÑ, пÑовеÑÑÑÑие напиÑаннÑй пÑогÑаммиÑÑом код. Ð¡Ñ ÐµÐ¼Ð° ÑабоÑÐ°ÐµÑ ÑледÑÑÑим обÑазом: ÑÑнкÑионалÑноÑÑÑ Ð¸ авÑоÑеÑÑÑ Ð´Ð»Ñ Ð½ÐµÑ ÑоздаÑÑÑÑ Ð¿Ð°ÑаллелÑно. Ðогда ÑазÑабоÑка оконÑена, код пÑÑÐ°Ñ Ð² main-веÑкÑ, запÑÑкаÑÑ Ð°Ð²ÑоÑеÑÑÑ, и, еÑли они пÑÐ¾Ñ Ð¾Ð´ÑÑ, â Ñелиз можно деплоиÑÑ. ÐÑо и еÑÑÑ Continuous Delivery/Continuous Deployment. Так Ð²Ñ Ð²Ð¾Ð¾Ð±Ñе избежиÑе ÑÑÑного ÑеÑÑиÑованиÑ: вÑÑ Ð±ÑÐ´ÐµÑ Ð¿Ð¾ÐºÑÑÑо авÑоÑеÑÑами, коÑоÑÑе поÑÑоÑнно запÑÑкаÑÑÑÑ Ð½Ð° акÑÑалÑном коде и гаÑанÑиÑÑÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑнÑй деплой.
Ðак оÑганизоваÑÑ Ð¿ÑоÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð²ÑÑиÑÑ ÑеÑкоÑÑÑ Ð¸ пÑозÑаÑноÑÑÑ Ñвоей ÑабоÑÑ
ЧаÑÑо ÑлÑÑаеÑÑÑ, ÑÑо каÑеÑÑвенно вÑполнÑÑÑ ÑабоÑÑ Ð¼ÐµÑаÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ ÑложноÑÑи в пÑоÑеÑÑÐ°Ñ . ÐоÑÑÐ¾Ð¼Ñ ÑекомендÑÑ Ð¾Ð±ÑаÑаÑÑÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ на ÑледÑÑÑие моменÑÑ Ð¸ главное â донеÑÑи Ð¸Ñ Ð·Ð½Ð°ÑимоÑÑÑ Ð´Ð¾ ÑÑководиÑелÑ.Â
ÐеÑвое â ÑÑебованиÑ
Ð ÑожалениÑ, Ñ Ð¾ÑоÑие ÑиÑÑемнÑе аналиÑики â лÑди Ñедкие, поÑÑÐ¾Ð¼Ñ ÑаÑÑо ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº новой ÑÑнкÑионалÑноÑÑи полÑÑаÑÑÑÑ ÑкÑпÑми и не вÑегда понÑÑнÑми Ð´Ð»Ñ ÑеÑÑиÑовÑиков. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑÐ°ÐºÐ¸Ñ Ð¿Ñоблем, пÑоÑи, ÑÑÐ¾Ð±Ñ ÑÐµÐ±Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑили к пÑоÑеÑÑÑ ÐµÑе на ÑÑапе ÑоÑмÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑиÑи: либо на заклÑÑиÑелÑнÑÑ ÑÑадиÑÑ Ð°Ð½Ð°Ð»Ð¸Ñики, либо когда ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ñже гоÑÐ¾Ð²Ñ â ÑÑÐ¾Ð±Ñ ÑÑ Ñмог Ð¸Ñ Ð¾ÑениÑÑ. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ñебе, во-пеÑвÑÑ , пÑовеÑиÑÑ ÑÑебованиÑ, Ð¸Ñ Ð¿Ð¾Ð½ÑÑноÑÑÑ Ð¸ пÑозÑаÑноÑÑÑ, во-вÑоÑÑÑ , ÑÑÐ°Ð·Ñ Ð·Ð°Ð½ÑÑÑÑÑ Ð¿Ð¾Ð´Ð³Ð¾Ñовкой corner- и ÑеÑÑ-кейÑов.
ÐÑоÑое â вÑÐµÐ¼Ñ Ð½Ð° напиÑание ÑеÑÑ-кейÑов
ÐÑÑе Ñ Ñже говоÑил о Ñом, как важно пиÑаÑÑ ÑеÑÑ-кейÑÑ Ð´Ð¾ моменÑа ÑÑаÑÑа ÑеÑÑиÑованиÑ. ÐбÑзаÑелÑно пÑоконÑÑолиÑÑй ÑÑÐ¾Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿Ñи ÑаÑпÑеделении задаÑ. ÐÑли Ñ ÑÐµÐ±Ñ Ð½Ðµ бÑÐ´ÐµÑ ÑеÑÑ-кейÑов, ÑÑо негаÑивно повлиÑÐµÑ Ð½Ð° каÑеÑÑво и ÑкоÑоÑÑÑ ÑеÑÑиÑованиÑ. Ð ÑÐ¾Ð¼Ñ Ð¶Ðµ, оÑÑÑÑÑÑвие понÑÑнÑÑ Ð°Ð»Ð³Ð¾ÑиÑмов ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´ÐµÐ»Ð°ÐµÑ Ð¿ÑоÑеÑÑ Ð½ÐµÐ¿ÑозÑаÑнÑм, Ð·Ð½Ð°Ð½Ð¸Ñ Ð¾ Ñом, ÑÑо нÑжно ÑеÑÑиÑоваÑÑ Ð¸ как, оÑÑаÑÑÑÑ ÑолÑко Ñ ÑÐµÐ±Ñ Ð² голове. ÐоÑÑÐ¾Ð¼Ñ Ð¾Ð±ÑзаÑелÑно пÑоÑи вÑделиÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° Ñоздание ÑеÑÑ-кейÑов до или паÑаллелÑно Ñ ÑазÑабоÑкой.Â
ТÑеÑÑе â ÑегÑеÑÑ
Ðа него нÑжно обÑзаÑелÑно закладÑваÑÑ Ð²ÑемÑ. Ð¢Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ пÑовеÑÑÑÑ Ð½Ðµ ÑолÑко новÑй код, но и вÑе, напиÑанное Ñанее. РзавиÑимоÑÑи Ð¾Ñ Ñого, какÑÑ ÑÑнкÑионалÑноÑÑÑ ÑеÑила пÑовеÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° на ÑегÑеÑÑионном ÑеÑÑиÑовании, ÑообÑай, ÑколÑко вÑемени поÑÑебÑÑÑÑÑ Ð½Ð° пÑовеÑкÑ.Â
ЧеÑвеÑÑое â ÑÑиÑÑвай вÑÐµÐ¼Ñ Ð½Ð° деÑекÑÑ ÐºÐ°Ðº в новом ÑÑнкÑионале, Ñак и в ÑегÑеÑÑе
ÐоÑле Ñого, как ÑазÑабоÑÑики попÑавили найденнÑе баги, из нÑжно пÑоÑеÑÑиÑоваÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾. Ðа ÑÑо нÑжно вÑемÑ. ÐÑли его не закладÑваÑÑ, Ð¿Ð»Ð°Ð½Ñ ÑдвинÑÑÑÑ: Ñебе пÑидеÑÑÑ Ð´Ð¾Ð´ÐµÐ»ÑваÑÑ Ð¿ÑоÑлÑй ÑпÑинÑ, а команда ÑÑаÑÑоваÑÑ Ð½Ð¾Ð²Ñй.
ÐÑÑое â оÑÑеÑноÑÑÑ
ÐоговоÑиÑÑ Ð¾ Ñом, комÑ, когда и в каком виде ÑÑ ÑообÑаеÑÑ Ð¾ ÑезÑлÑÑаÑÐ°Ñ Ð¸ помни, ÑÑо ÑÑ, как ÑеÑÑиÑовÑик, ÑолÑко в кÑайне ÑÐµÐ´ÐºÐ¸Ñ ÑлÑÑаÑÑ Ð¼Ð¾Ð¶ÐµÑÑ Ð¿ÑинимаÑÑ ÑеÑение о Ñелизе â напÑимеÑ, когда Ñ ÑÐµÐ±Ñ ÐµÑÑÑ ÑеÑкие кÑиÑеÑии. РобÑем, ÑÑ Ð¼Ð¾Ð¶ÐµÑÑ Ð¿ÑинимаÑÑ ÑеÑение о блокиÑовке Ñелиза, но ÑолÑко по пÑавилам, ÑозданнÑм дÑÑгими. ÐÑли Ñвой ÑÑководиÑÐµÐ»Ñ Ñ Ð¾ÑеÑ, ÑÑÐ¾Ð±Ñ ÑÑ Ð¿Ñинимал ÑеÑение о Ñелизе, попÑоÑи его ÑÑоÑмÑлиÑоваÑÑ Ð¿Ñавила. РпÑоÑивном ÑлÑÑае, ÑеÑение должен пÑинимаÑÑ Ñимлид или пÑодакÑ.Â
ÐÑводÑÂ
ÐÐ»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑималÑной пÑозÑаÑноÑÑи и ÑезÑлÑÑаÑивноÑÑи Ñвоей ÑабоÑÑ Ð½Ñжно:
-
ЧÑÑко понимаÑÑ ÑелÑ: ÑÐ²Ð¾Ñ ÑÐ¾Ð»Ñ â инÑоÑмиÑоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸ лиÑ, пÑинимаÑÑÐ¸Ñ ÑеÑÐµÐ½Ð¸Ñ (ÐÐÐ ), о ÑеалÑном ÑоÑÑоÑнии пÑодÑкÑа.
-
СиÑÑемаÑизиÑоваÑÑ Ð¿ÑоÑеÑÑÑ:
-
акÑивно ÑÑаÑÑвоваÑÑ Ð² анализе ÑÑебований на ÑÐ°Ð½Ð½Ð¸Ñ ÑÑÐ°Ð¿Ð°Ñ ;
-
гоÑовиÑÑ ÑеÑÑ-кейÑÑ Ð´Ð¾ наÑала ÑазÑабоÑки/ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (вклÑÑÐ°Ñ corner-кейÑÑ);
-
планиÑоваÑÑ Ð¸ опÑимизиÑоваÑÑ ÑегÑеÑÑионное ÑеÑÑиÑование (импакÑ-анализ, авÑомаÑизаÑиÑ);
-
ÑÑÑко планиÑоваÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° ÑегÑеÑÑ, пеÑеÑеÑÑÑ Ð¸ оÑÑÑÑноÑÑÑ.
-
-
ÐбеÑпеÑиваÑÑ Ð¿ÑозÑаÑноÑÑÑ:
-
ÐÑедоÑÑавлÑÑÑ Ð¿Ð¾Ð½ÑÑнÑе и ÑвоевÑеменнÑе оÑÑеÑÑ ÐÐРо ÑезÑлÑÑаÑÐ°Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (ÑÑаÑÑÑ ÑÑебований, найденнÑе деÑекÑÑ, ÑиÑки).
-
ФоÑмиÑоваÑÑ ÑÑÑкие баг-ÑепоÑÑÑ.
-
ÐокÑменÑиÑоваÑÑ Ð¿ÑоÑеÑÑÑ (ÑеÑÑ-кейÑÑ, ÑеÑÑ-план ÑегÑеÑÑа).Â
-
-
ÐоговаÑиваÑÑÑÑ Ð¾ пÑÐ°Ð²Ð¸Ð»Ð°Ñ : ÑеÑко опÑеделÑÑÑ, кÑо и на ÐºÐ°ÐºÐ¸Ñ Ð¾ÑнованиÑÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑеÑение о Ñелизе. Ð¢Ð²Ð¾Ñ ÑÐ¾Ð»Ñ Ð² ÑÑом â пÑедоÑÑавиÑÑ Ð´Ð°Ð½Ð½Ñе, а не пÑинимаÑÑ ÑеÑение (еÑли Ð½ÐµÑ ÑвнÑÑ , ÑоглаÑованнÑÑ Ð¿Ñавил блокиÑовки).
ÐадеÑÑÑ, ÑÑо маÑÑ-Ñ ÑÐ²Ñ Ð¸Ð· ÑÑаÑÑи помогÑÑ Ñебе ÑлÑÑÑиÑÑ ÐºÐ°ÑеÑÑво Ñвоей ÑабоÑÑ Ð¸ ÑделаÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð° бÑла понÑÑной Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ.
ЧÑо должен делаÑÑ Ð²Ð°Ñ ÑеÑÑиÑовÑик / Habr


