Monday, October 8, 2018

CASINO WEBSITE PROJECT


როგორ დავგეგმეთ და განვახორციელეთ კაზინოს ვებ-გვერდის განახლების პროექტი


პროექტის თავდაპირველი ინფორმაცია ასეთი სახის იყო: "განვაახლოთ არსებული ვებ-გვერდი რომ შეესაბამებოდეს თანამედროვე მოთხოვნებს და გათვალისწინებული იყოს როგორც მარკეტინგის გუნდის ასევე პროგრამისტების გუნდის მოთხოვნები"

შედგა შეხვედრა კლიენტთან რომ დაგვეზუსტებინა კლიენტის მოთხოვნები და სურვილები.
შეხვედრაზე ჩვენი მხრიდან წარმოდგენილი იყო საკვანძო პირები:

  • პროექტის მენეჯერი
  • პროგრამისტების უფროსი
  • მთავარი დიზაინერი. 

ხოლო დამკვეთის მხრიდან წარმოდგენილი იყო:

  • CEO
  • პროექტზე პასუხისმგებელი პირი
  • მარკეტინგის მენეჯერი
  • პროგრამისტი
  • დიზაინერი. 
ამ შეხვედრის მიზანს წარმოადგენდა :
  • ყველა ფუნქციონალის გაგება და ჩაწერა, რაც უნდოდათ რომ განეახლებინათ ან/და დაემატებინათ არსებულ ვებ-გვერდზე. 
  • მათი მოთხოვნები სხვადასხვა DEVICE-ბიდან საიტის გახსნასთან დაკავშირებით. 
  • ორ მხარეს შორის პროგრამული უზრუნველყოფის კუთხით კომუნიკაციების დამყარება და გარკვევა იმისა თო რომელ პროგრამულ ენას გამოვიყენებდით ამ პროექტის ფარგლებში და როგორ დამყარდებოდა მათ API-სთან კავშირი და ინფორმაციის გაცვლა/გამოცვლა. 
  • განგვეხილა ვინ იქნებოდა ორივე მხრიდან წარმომადგენელი რომ კომუნიკაციის პრობლემა არ ყოფილიყო
  • რა პერიოდულობით და რომელ დღეებში მოხდებოდა პროექტის შუალედული ციკლების და ეტაპების წარდგენა/ჩვენება დამკვეთისათვის
  • გადაწყდა რომ პროექტი დაგვეყო 2  მსხვილ ნაწილად, რომელიც ასევე კონტრაქტში ჰპოვებდა ასახვას: დიზაინის ნაწილი, პროგრამული უზრუნველყოფის ნაწილი
  • დიზაინის ნაწილი თავის მხრივ კიდევ დაიყო რამოდენიმე ეტაპად, რომელშიც მთავარ ნაწილს საიტის პირველი გვერდის დიზაინზე მუშაობა და შეთანხმება წარმოადგენდა და ავუხსენით დამკვეთს რომ ეს იყო ამოსავალი წერტილი დიზაინზე და პროექტზე მუშაობისას, ვინაიდან დიზაინის პირველი გვერდი ახდენს გავლენას მთელი პროექტის დიზაინებზე. 
  • განვიხილეთ და ვურჩიეთ სხვადასხვა მიმართულებით როგორ ჯობდა პროექტის განხორციელება და წარმართვა, მაგალითად SEO-ს კუთხით მივეცით რჩევები კომპანიას რომ თითოეულ თამაშს ჯობდა ჰქონოდა ცალ-ცალკე გვერდი, რომელიც ოპტიმიზაციის დროს გათვალისწინებული უნდა ყოფილიყო.
  • ჩავიწერეთ კლიენტის მხრიდან ყველა საკვანძო პიროვნების პირადი მონაცემები:
    • სახელი, გვარი, ტელ-ნომერი, ელ-ფოსტა
  • ჩავინიშნეთ შემდგომში განსახილველი საკითხები, რომლებიც ვერ განვიხილეთ ამ შეხვედრაზე და შევთანხმდით რომ ეს ინფორმაცია 1 კვირის განმავლობაში უნდა მოეწოდებინათ:
    • მთავარი მენიუს პუნქტები
    • რეგისტრაციის ველები
    • ავტორიზაციის ველები
    • საიტის ენობრივობა
    • მოვითხოვეთ კომპანიის BRANDBOOK-ი. 
    • მოვთხოვეთ კომპანიას SEO-სთვის საჭირო KEYWORD-ების ჩამონათვალი. 
შეხვედრის შემდეგ მოხდა ამ ინფორმაციის გავლა ჩვენს შიდა გუნდში, რომ გაგვეკეთებინა ანალიზი რა ტიპის პროფესიონალები დაგვჭირდებოდა გუნდში. 
შიდა შეხვედრაზე გადაწყდა რამოდენიმე საკითხი,  კერძოდ: 
  • რომელ პროგრამულ ენაებში დავწერდით ჩვენ მხარეს 
  • გადაწყდა რომ დაგვემატებინა დიზაინერები outsource-დან რომ გაგვეკეთებინა რამოდენიმე დამოუკიდებელი დიზაინი პირველი გვერდისა და ასარჩევად წარგვედგინა დამკვეთისთვის
  • შეგვეკრა ტესტერების გუნდი, რათა პროექტის სატესტო ეტაპებზე გაგვეკეთებინა ფუნქციონალის ტესტირება წინასწარ შექმნილი ტესტირების შაბლონების მიხედვით.
  • ჩამოვაყალიბეთ SITEMAP-ი
  • პროექტის ტექნიკური დავალება (რომელიც კონტრაქტთან ერთად იქნა ხელმოწერილი ორივე მხარის მიერ)

ამის შემდეგ ჩამოვაყალიბეთ პროექტის პროცესი და შუალედური ჩასაბარებელი ეტაპები:
  1. დიზაინის პირველი გვერდი
  2. დიზაინის პირველი გვერდის დამტკიცება
  3. შიდა გვერდების დახატვა
  4. შიდა გვერდების დამტკიცება დამკვეთის მხრიდან
  5. დიზაინის პირველი გვერდის აწყობა CSS/HTML_ში
  6. დიზაინის შიდა  გვერდების აწყობა CSS/HTML_ში
  7. პროგრამული მოდულების შემუშავება:
    1. რეგისტრაციის  მოდული
    2. USER -ის პირადი მონაცემების მოდული
    3. SEO-ს მოდული
    4. თამაშების მოდული
    5. ბანერების მოდული
    6. ენების მოდული(IP-ების მიხედვით დამახსოვრება და შესაბამისი ენების ჩვენების ფუნქციით)
    7. სიახლეების მოდული
    8. კონტაქტის მოდული
  8. პროგრამული მოდულები პირველი გვერდისთვის
  9. დიზაინის დანარჩენი გვერდები
  10. USER/INFO რეგისტრაციის მოდული რომელიც გულისხმობდა დამკვეთის API_სთან ურთიერთქმედებას და ინფორმაციის მიმოცვლას
  11. USER/INFO  რეგისტრაციის მოდულის ტესტირება
  12. ჩამოვაყალიბეთ დამოკიდებულების სტრუქტურა, თუ რა ეტაპები იყო საკვანძო და რომელ ეტაპზე იყო პროექტის გაგრძელება დამოკიდებული. 
  13. ყველა მოდულის პროგრამული  დამთავრება 

დამკვეთის მხრიდან ყველა ჩვენთვის საჭირო ინფორმაციის მიღების შემდეგ:
  •  შევადგინეთ პროექტის გეგმა
  • ჩამოვწერეთ ტასკები და ამ ტასკების შესრულებაზე პასუხისმგებელ ტიპებს მივანიჭეთ
  • მივანიჭეთ ტასკებს დაწყების და დამთავრების დროები
  • აღვწერეთ ტასკები ძალიან დეტალურად რომ გამოჩენილიყო რას ნიშნავდა კონკრეტული ტასკის დამთავრება და ამისათვის გავიარეთ თითოეული ტასკი და კონკრეტულ საკვანძო ტასკებს დავუდგინეთ ტესტირების პარამეტრები
  • ჩამოვაყალიბეთ ტასკების ურთიერთდამოკიდებულების სქემა

შემდეგ ეტაპზე ეს ჩვენს მიერ ჩამოყალიბებული პროექტი წარვუდგინეთ:
  • ჩვენს შიდა გუნდს
  • დამკვეთებს
  • განვიხილეთ შეხვედრებზე ვინმე თუ იქნებოდა პროექტის მიმდინარეობისას შვებულებაში ან ჩვენი მხრიდან ან კლიენტების მხრიდან და გავითვალისწინეთ პროექტში აღნიშნული საკითხები
  • დავამტკიცეთ აღნიშნული გეგმა
ამის შემდეგ შევუდექით პროექტის განხორციელებას:
  • კვირაში ერთხელ გვქონდა განხილვა გუნდის შიგნით პროექტის მიმდინარეობის(თუმცა პროექტის მიმდინარეობისასაც სულ საქმის კურსში ვიქნებით)
  • კვირაში ერთხელ ვუგზავნიდით რეპორტს კლიენტის მხრიდან წარმომადგენელს(ამ შემთხვევაში რამოდენიმე ადამიანი იყო, მათ შორის CEO
  • ვიღებდით მათგან FEEDBACK-ს და ვითვალისწინებდით პროექტში. 

ჩვენი მხრიდან პროექტში ჩართული იყვნენ შემდეგი პირები:
  1. პროექტის მენეჯერი - პროექტებზე მუშაობის 
  2. მთავარი პროგრამისტი - 9 წლიანი გამოცდილებით პროგრამირებაში: PHP, CSS/HTML, AJAX, JAVASCRIPT
  3. CSS/HTML პროგრამისტი - 3 წლიანი სტაჟით
  4. მთავარი დიზაინერი - 8 წლიანი დიზაინერობის გამოცდილებით
    1. მეორე დიზაინერი - 8 წლიანი გამოცდილებით
    2. მესამე დიზაინერი - 10+ წლიანი გამოცდილებით
    3. UX/UI დიზაინერი - 7 წლიანი გამოცდილებით
  5. ტესტერების ჯგუფის უფროსი - ტესტირების 3 წლიანი გამოცდილებით
    1. ტესტერი #1 - დამწყები, გამოცდილების გარეშე
    2. ტესტერი #2 - დამწყები, გამოცდილების გარეშე
  6. SEO მენეჯერი - 3 წლიანი გამოცდილებით





Wednesday, September 19, 2018

AGILE -ს მანიფესტი ქართულად


მოგეხსენებათ თავად AGILE არის ფილოსოფია რომელსაც გააჩნია გარკვეული პრინციპები  რომელიც სრულად თანხვედრაშია აღნიშნულ ფილოსოფიასთან.

თავდაპირველად წადმოვადგინოთ თავად მანიფესტი და შემდეგ გავშალოთ იგი პრინციპების დონეზე.


Agile პროგრამირების მანიფესტი


ჩვენ ვიღწვით პროგრამული უზრუნველყოფის შექმნის უკეთესი გზების აღმოსაჩენად,
ვქმნით თავად პროგრამულ უზრუნველყოფას და ვეხმარებით ამაში სხვებს.
ამ მოღვაწეობის შედეგად მივედით ღირებულებების შემდეგ სისტემამდე:

პიროვნებებსა და ურთიერთქმედებებს ვამჯობინებთ პროცესებსა და ინსტრუმენტებს
მომუშავე პროგრამულ უზრუნველყოფას ვამჯობინებთ ამომწურავ დოკუმენტაციას
დამკვეთთან თანამშრომლობას ვამჯობინებთ კონტრაქტის პირობების შეთანხმებას
ცვლილებაზე რეაგირებას ვამჯობინებთ გეგმის ზედმიწევნით დაცვას
ამიტომაც, მიუხედავად იმისა, რომ ვაფასებთ მარჯვენა მხარეს მდგომ
ღირებულებებს, უპირატესობას ვანიჭებთ მარცხნივ მდგომებს.



განვიხილოთ აღნიშნული ფილოსოფია და მივალთ იმ პრინციპებამდე რომელიც ასევე მანიფესტის ვებ-გვერდზეა ჩამოყალიბებული. 

პიროვნებებსა და ურთიერთქმედებები უფრო პრიორიტეტულია ვიდრე პროცესები და ინსტრუმენტები. ეს ნიშნავს იმას რომ დღევანდელ ცვალებად გარემოში სულ უფრო ხშირად არის საჭირო პიროვნებების კონტაქტი ერთმანეთთან რომ გადაწყვეტილება მიიღონ.  რადგან პროესები და ინსტრუმენტები ხშირ შემთხვევაში ბოლომდე მორგებული არ არის ხოლმე ცვალებადი გარემოს მიმართ, ამიტომ სანამ ინსტრუმენტებს და პროცესების ცვლილებას დავიწყებთ მანამდე შეგვიძლია უბრალოდ გავარკვიოთ ერთმანეთში საჭირბოროტო საკითხები. 
მომუშავე პროგრამულ უზრუნველყოფა უფრო პრიორიტეტულია ვიდრე ამომწურავი დოკუმენტაცია. ეს ხდება ისევ და ისევ იმის გამო რომ რეალურ ცვალებად სამყაროში ფასობს ის რაც უკვე გაკეთებულია და არა გეგმები. თუ სწრაფად შეგიძლია მომხმარებელს ან დამკვეთს აჩვენო პროდუქტის ინკრემენტი უნდა აჩვენო. 

დამკვეთთან თანამშრომლობა უფრო პრიორიტეტულია ვიდრე კონტრაქტის პირობების შეთანხმებას. ეს ხდება იქიდან გამომდინარე, რომ თუნდაც ჩემი გამოცდილებიდან დამკვეთის სურვილები ხშირად იცვლება და ხშირად დამინახავს როგორ იცვლება დამკვეთის სახე იმის მოსმენისას რომ კონტრაქტის მიხედვით რამე არ არის გაწერილი რაც მას ამჟამად თავში მოუვიდა და უნდა რომ განახორციელოს. დამკვეთთან თანამშრომლობისთვის პრიორიტეტის მინიჭება ნიშნავს მეტ მოქნილობას ნებისმიერ დროს დამდგარი საჭიროების შესრულების მიმართ, იქნება ეს ახალი მოდული, ახალი ფუნქციონალი თუ სხვა. 

ცვლილებაზე რეაგირება  უფრო პრიორიტეტულია ვიდრე გეგმის ზედმიწევნით დაცვა. რატომ? იმიტომ რომ გეგმები ხშირად იცვლება და გეგმის ზედმიწევნით დაცვამ ხშირ შემთხვევაში შეიძლება ისეთი პროდუქტის ფუნქციონალის შექმნამდე მიგვიყვანოს, რომელიც უკვე მისი დასრულების დროს აღარ იყოს ბაზრის მოთხოვნებთან ან ბიზნესის ინტერესებთან თანხვედრაში და ამგვარად წყალში გადაყრილი შრომა აღმოჩნდეს. ცვლილებებზე რეაგირება ბიზნესისთვის ძალიან ხელსაყრელი და მოსახერხებელია, ვინაიდან იძლევა საშუალებას სწრაფად მოხდეს სასურველი ცვლილებები განხორციელება და შესაბამისად უფრო კონკურენტუნარიანები ვიყოთ ბაზარზე. 


ახლა მოგიყვანთ 11 პრინციპს რომელიც AGILE მანიფესტის ვებ-გვერდზეც დევს. 

Agile მანიფესტის ძირეული პრინციპები


ჩვენ მივდევთ შემდეგ პრინციპებს:
  1. ჩვენთვის უმაღლესი პრიორიტეტი აქვს დამკვეთის კმაყოფილებას ღირებული პროგრამული უზრუნველყოფის დროული და უწყვეტი მიწოდების გზით.
  2. მივესალმებით მოთხოვნების ცვლილებებს პროგრამული უზრუნველყოფის შექმნის გვიან ეტაპზეც კი. Agile პროცესი ხელს უწყობს დამკვეთის კონკურენტული უპირატესობის უზრუნველსაყოფად საჭირო ცვლილებების განხორციელებას.
  3. მუშა პროგრამული უზრუნველყოფის მიწოდება უნდა მოხდეს ხშირად, რამდენიმე კვირიდან რამდენიმე თვემდე ვადაში.  მოკლე ვადებს უნდა მიენიჭოს უპირატესობა.
  4. ბიზნესის წარმომადგენლები და პროგრამისტები ერთად უნდა მუშაობდნენ ყოველ დღე, მთელი პროექტის განმავლობაში.
  5. ააგეთ პროექტები მოტივირებული პიროვნებების ირგვლივ. უზრუნველყავით ისინი საჭირო გარემოთი და მხარდაჭერით, ანდეთ მათ საქმის დასრულება.
  6. გუნდის შიგნით და გუნდისათვის ინფორმაციის გადაცემის ყველაზე ქმედით და ეფექტურ მეთოდს პირადი საუბარი წარმოადგენს.
  7. მუშა პროგრამული უზრუნველყოფა წარმოადგენს წინსვლის უპირველეს საზომს.
  8. ინვესტორს, პროგრამისტსა და მომხმარებელს უნდა შესწევდეთ უნარი, განუსაზღვრელი დროის განმავლობაში შეინარჩუნონ აღებული ტემპი. Agile პროცესები ხელს უწყობენ ამგვარ მდგრად განვითარებას.
  9. ტექნიკური სრულყოფისა და კარგი დიზაინის მიმართ მუდმივი ყურადღება აუმჯობესებს მოქნილობას.
  10. სიმარტივე--ზედმეტი სამუშაოს რაოდენობის მინიმიზაციის ხელოვნება--არსებითია.
  11. საუკეთესო არქიტექტურა, მოთხოვნები და დიზაინი იქმნება თვით-ორგანიზებული გუნდების მიერ.
  12. გუნდი რეგულარულად განიხილავს ეფექტურობის გაზრდის საშუალებებს, და შესაბამისად ცვლის და აკორექტირებს საკუთარ ქცევას.

Tuesday, September 18, 2018

SCRUM GUIDE ON GEORGIAN - სქრამის სახელმძღვანელო ქართულ ენაზე


განსაზღვრული გიდი SCRUM-ისთვის: თამაშის წესები


ჩამოყალიბებული  და მხარდაჭერილია:KEN    SCHWABER-ის და  Jeff Sutherland-ის მიერ

  1. Scrum-ის სახელმძღვანელოს დანიშნულება
  2. Scrum-ის განსაზღვრება
  3. SCRUM-ის გამოყენება
  4. SCRUM-ის თეორია
  5. SCRUM-ის ღირებულებები
  6. SCRUM-ის გუნდი
    • პროდუქტის მფლობელი
    • დეველოპერების გუნდი
    • SCRUM-ის ოსტატი
  7. SCRUM-ის ღონისძიებები
    • სპრინტის დაგეგმვა
    • დღიური SCRUM-ი
    • სპრინტის განხილვა
    • სპრინტის რეტროსპექტივა
  8. SCRUM-ის არტეფაქტები
    • პროდუქტის ბექლოგი
    • სპრინტის ბექლოგი
    • ინკრემენტი
  9. არტეფაქტების გამჭვრირვალეობა
  10. „გაკეთებულია“-ს განსაზღვრება





Scrum-ის სახელმძღვანელოს დანიშნულება


Scrum-ი არის ფრეიმვორკი რომლის დანიშნულებაა კომპლექსური პროდუქტების დეველოპმენტი, ჩაბარება და შენარჩუნება. ეს სახელმძღვანელო შეიცავს scrum-ის განსაზღვრებას. ეს განსაზღვრება შედგება SCRUM-ის როლების, ღონისძიებების, არტეფაქტებისა და წესებისგან რომელიც კრავს ამ ყველაფერს ერთად. Ken Schwaber და Jeff Sutherland-მა შექმნეს Scrum-ი; Scrum-ის სახელმძღვანელო დაწერილია და წარმოდგენილია მათ მიერ. ერთად ისინი დგანან Scrum-ის სახელმძღვანელოს უკან.

Scrum-ის განსაზღვრება 

Scrum-ი(n): ფრეიმვორკი რომლის შიგნითაც ადამიანებს შეუძლიათ შეეჭიდონ კომპლექსურ ადაპტირებად პრობლემებს, რომლის დროსაც კრეატიულად ჩააბარებენ პროდუქტებს, მაქსიმალური შესაძლებელი ღირებულებით. 
Scrum-ი არის:
  • მსუბუქი 
  • მარტივად გასაგები
  • რთულად დასაოსტატებელი

Scrum-ი არის პროცესის ფრეიმვორკი რომელიც გამოიყენება კომპლექსური პროდუქტებზე სამუშაოს მართვისთვის 1990-ი წლიდან მოყოლებული. Scrum-ი არ არის პროცესი, ტექნიკა ან განსაზღვრული მეთოდი. ის უფრო ფრეიმვორკია რომლის შიგნითაც თქვენ შეგიძლიათ გამოიყენოთ სხვადასხვა პროცესები და ტექნიკები. Scrum-ი უზრუნველყოფს გამჭვირვალეობას  თქვენი პროდუქტის მენეჯმენტის ფარდობითი ეფექტიანობისა  და სამუშაოს ტექნიკებისა, ისე რომ თქვენ შეგიძლიათ განგრძობითად გააუმჯობესოთ პროდუქტი , გუნდი და სამუშაო გარემო.  
Scrum-ის ფრეიმვორკი შედგება Scrum-ის გუნდისგან და მასთან ასოცირებული როლებისგან, ღონისძიებებისგან , არტეფაქტებისგან და წესებისგან. ყოველი კომპონენტი ფრეიმვორკის შიგნით, ემსახურება სპეცოფიურ დანიშნულებას და არის არსებითი Scrum-ის გამოყენებისა და წარმატებისთვის. 
Scrum-ის წესები აკავშირებს როლებს, ღონისძიებებს და არტიფაქტებს, ხელმძღვანელობას უწევს მათ შორის კავშირს და ინტერაქციას. SCRUM-ის წესები არის აღწერილი ამ დოკუმენტის შიგთავსში.
Scrum-ის ფრეიმვორკის გამოყენების სპეციფიური ტაქტიკები ცვალებადია და აღწერილია სხვა ადგილას. 

SCRUM_ის გამოყენება

Scrum თავდაპირველად განვითარდა  პროდუქტების მართვის და განვითარებისთვის. 1990 წლიდან მოყოლებული Scrum-ი გამოიყენება მსოფლიოს მასშტაბით, რომ:

  1. გამოიკვლიოს და განსაზღვროს  სისოცხლისუნარიანი ბაზრები, ტექნოლოგიები და პროდუქტის შესაძლებლობები.  
  2. განავითაროს პროდუქტები და გაუმჯობესებები. 
  3. გამოუშვას პროდუქტები და გაუმჯობესებები, ისე ხშირად როგორც რამოდენიმეჯერ დღის განმავლობაში. 
  4. განავითაროს და მხარი დაუჭიროს ქლაუდ (ონლაინ, დაცულ, მოთხოვნისამებრ) და სხვა ოპერაციულ გარემოს პროდუქტის გამოყენებისთვის და
  5. მხარი დაუჭიროს და განაახლოს პროდუქტები
Scrum-ი გამოიყენება  შემდეგი ჩამონათვალის განვითარებისთვის:  პროგრამული უზრუნველყოფის, აპარატურის, ჩაშენებული პროგრამული უზრუნველყოფის, ქსელების და დაკავშირებული ფუნქციების, ავტონომიური მანქანების, სკოლების, სახელმწიფო სტრუქტურების,  მარკეტინგის, ორგანიზაციის ოპერაციების მართვისთვის და  თითქმის ყველაფრისთვის რასაც ჩვენ ვიყენებთ ყოველდღიურ ცხოვრებაში, როგორც ინდივიდები და საზოგადოებები.

რაც ტექნოლოგია, ბაზარი და ეკოლოგიური სირთულეები და მათი ურთიერთქმედება მნიშვნელოვნად გაიზარდა, SCRUM-ის  სარგებლობა კომპლექსურობასთან ბრძოლაში ყოველდღე მტკიცდება. 

Scrum- ი განსაკუთრებით ეფექტური აღმოჩნდა იტერაციული და მზარდი ცოდნის ტრანსფერისთვის. Scrum-ი დღეს ფართოდ გამოიყენება პროდუქტების, სერვისების და მშობელი ორგანიზაციის მენეჯმენტში. 

Scrum-ის არსი არის ადამიანების მცირე გუნდში.  ინდივიდუალური გუნდი არის ძალზედ მოქნილი და ადაპტირებადი.  ეს სიძლიერეები აგრძელებენ არსებობას  ინდივიდუალური, რამოდენიმე, ბევრი და ქსელური გუნდებისთვის, რომლებიც ავითარებენ, უშვებენ, ოპერირებენ და მხარს უჭერენ მუშაობას და მუშა პროდუქტებს ათასობით ადამიანისთვის. ისინი ურთიერთქმედებენ და თანამშრომლობენ  განხორციელების რთული  არქიტექტურის პირობებში და განსაზღვრულია გამომშვები(რელიზური) გარემოსთვის. 

როდესაც გამოყენებულია სიტყვები „განვითარება“ და „შექმნა“ Scrum-ის სახელმძღვანელოში, ისინი ეხება კომპლექსურ სამუშაოებს, ისეთს როგორც ზემოთ ჩამოთვლილი სახეები.

Scrum-ის თეორია

Scrum-ი დაფუძნებულია ემპირიული პროცესის კონტროლის თეორიაზე, ან ემპირიციზმზე. ემპირიციზმი ამტკიცებს რომ ცოდნა მოდის გამოცდილებიდან და გადაწყვეტილებები მიიღება იმაზე დაყრდნობით რაც ვიცით. Scrum  მუშაობს იტერაციულ, ინკრემენტულ მიდგომაზე რომ  მოახდინოს პროგნოზირებადობის ოპტიმიზირება და აკონტროლოს რისკები. 
სამი სვეტი ემპირიული პროცესის ყველა იმპლემენტაციას უზრუნველყოფს, ესენია:
  • გამჭვირვალეობა
  • შემოწმება(ინსპექტირება) და 
  • ადაპტაცია. 



 გამჭვირვალეობა

პროცესის მნიშვნელოვანი ასპექტები უნდა იყოს ნათელი(ჩვენებადი) იმათთვის ვინც შედეგზეა პასუხისგებელი. გამჭვირვალეობა მოითხოვს ამ ასპექტების განსაზღვრას ერთიანი სტანდარტით და ამ სახით დამკვირვებლები იზიარებენ საერთო გაგებას იმისა თუ რასაც ხედავენ. 
მაგალითად : 
  • საერთო ენა, რომელიც დაკავშირებულია პროცესთან უნდა იყოს გაზიარებული ყველა მონაწილის მიერ; და 
  • განმახორციელებლები და ინკრემენტის შემმოწმებლები უნდა იზიარებდნენ საერთო განსაზღვრებას სიტყვის „დასრულებულია“


შემოწმება

SCRUM-ის მომხმარებლები ხშირად უნდა ამოწმებდნენ SCRUM_ის არტეფაქტებს და პროგრესს სპრინტის მიზანთან მიმართებაში, რათა დაადგინონ არასასურველი გადახრები. მათი ინსპექტირება არ უნდა იყოს ისეთი ხშირი რომ ინსპექტირებამ ხელი შეუშალოს მუშაობას. ინსპექტირებები არის ყველაზე მარგებელი როცა გულდასმით არის შესრულებული გამოცდილი ინსპექტორების მიერ სამუშაო ადგილზე. 

ადაპტაცია

თუ ინსპექტორი აღმოაჩენს რომ ერთი ან მეტი ასპექტები პროცესისა გადაცდენილია დაშვებულ ლიმიტებს, და რეზულტატში პროდუქტი არ იქნება მისაღები, პროცესი ან მატერიალი რომელიც გატარებულია პროცესში საჭიროებს დაზუსტებას. დაზუსტება უნდა განხორციელდეს რაც შეიძლება სწრაფად რომ მინიმიზება მოახდინოს მომავალი გადაცდენის. 

SCRUM-ი აღწერს ოთხ ფორმალურ ღონისძიებას ინსპექტირბისა და ადაპტაციისა, როგორც აღწერიალია SCRUM-ის ღონისძიებების სექციაში ამ დოკუმენტში: 
  • სპრინდის დაგეგმვა 
  • დღური SCRUM
  • სპრინტის განხილვა
  • სპრინტის რეტროსპექტივა


SCRUM-ი ღირებულებები

როცა ისეთი ღირებულებები როგორიცაა ვალდებულება(პასუხისმგებლობა), გამბედაობა, ფოკუსირება, გახსნილობა და პატივისცემა არის შესისხლხორცებული და SCRUM-ის გუნდის მიერ მხარდაჭერილია, SCRUM-ის სვეტები, როგორიცაა : გამჭვირვალეობა, ინსპექცია და ადაპტაცია ცოცხლობს და აშენებს ნდობას ყველასთვის. SCRUM_ის გუნდის წევრები სწავლობენ და აღმოაჩენენ ამ ღირებულებებს მაშინ როცა ისინი იმუშავებენ SCRUM_ის როლებში, ღონისძიებებში და არტიფაქტებში. 

SCRUM-ის წარმატებული გამოყენება დამოკიდებულია იმაზე, რომ ადამიანები გახდებიან უფრო გამოცდილები ამ ხუთი ფასეულობებით ცხოვრებით. ადამიანები პირადად იღებენ მონაწილეობას SCRUM ის გუნდის მიზნების მიღწევაში. SCRUM-ის გუნდის წევრებს აქვთ გამბედაობა რომ აკეთონ სწორად საქმეები და იმუშაონ რთულ პრობლემებზე.  ყველა ფოკუსირდება სპრინტის სამუშაოზე  და SCRUM-ის გუნდის მიზნებზე. SCRUM_ის გუნდი და მისი მეწილეები თანხმდებიან რომ იქნებიან გახსნილები ყველა სახის სამუშაოზე და სამუშაოს შესრულების გამოწვევებზე.  SCRUM_ის გუნდის წევრები აფასებენ ერთმანეთს როგორც უნარიან, საქმის გამკეთებელ, დამოუკიდებელ ადამიანებს.




SCRUM_ის გუნდი

SCRUM_ის გუნდი შედგება პროდუქტის მფლობელისგან, დეველოპერების გუნდისგან და SCRUM_ის ოსტატისგან. SCRUM-ის გუნდი არის თვითორგანიზებადი და კროს-ფუნქციური. თვითორგანიზებადი გუნდები ირჩევენ თუ როგორ შეასრულონ საუკეთესო გზით საკუთარი სამუშაო, ვიდრე გუნდის გარედან სხვების მხრიდან მიიღონ დირექტივები. კროს-ფუნქციურ გუნდებს აქვთ ყველა კომპეტენციები რაც საჭიროა რომ შეასრულონ საქმე, და არ იყვნენ დამოკიდებულები ისეთ ადამიანებზე რომლებიც გუნდის წევრები არ არიან. გუნდის მოდელი SCRUM_ში განკუთვნილია  იმისათვის რომ ოპტიმიზირება მოახდინონ მოქნილობის, კრეატიულობის და პროდუქტიულობის. SCRUM_ის გუნდმა თავის მხრივ დაამტკიცა რომ განვითარებადად ეფექტურები ყველა ადრეული განსაზღვრული გამოყენებისთვის და ნებისმიერი კომპლექსური სამუშაოსთვის. 

SCRUM-ის გუნდი აბარებს პროდუქტებს იტერაციულად და ინკრემენტალურად, მაქსიმიზირებას უკეთებს რა შესაძლებლობებს შეფასებისთვის. ინკრემენტალური ჩაბარებები „დასრულებული“ პროდუქტებისა უზრუნველყოფს იმას, რომ პოტენციურად გამოყენებად ვერსია მუშა პროდუქტისა არის ყოველთვის ხელმისაწვდომი. 

პროდუქტის მფლობელი

პროდუქტის მფლობელი არის პასუხისმგებელი პროდუქტის ღირებულების მაქსიმიზირებაზე დეველოპერების გუნდის მხრიდან შესრულებულ სამუშაოზე. როგორ  შეიძლება ეს იყოს მიღწეული ფართოდ ვარირებს ორგანიზაციების, SCRUM გუნდების და ინდივიდების მიხედვით. 
პროდუქტის მფლობელი არის პირი რომელიც პასუხისმგებელია პროდუქტის ბექლოგის მართვაზე. პროდუქტის ბექლოგის  მართვა შეიცავს: 
  • ნათლად გამოხატოს პროდუქტის ბექლოგის ელემენტები.
  • ალაგებს ელემენტებს პროდუქტის ბექლოგში რომ საუკეთესოდ მიაღწიოს მიზნებს და მისიას. 
  • ოპტიმიზებას უკეთებს  დეველოპერების გუნდის მიერ შესრულებული სამუშაოს ღირებულებას. 
  • უზრუნველყოფს რომ პროდუქტის ბექლოგი ჩანდეს, იყოს გამჭვირვალე და გასაგები ყველასთვის, და აჩვენებს რაზეც იმუშავებს SCRUM_ის გუნდი შემდეგში და
  • უზრუნველყოფს რომ დეველოპერების გუნდმა გაიგოს ელემენტები პროდუქტის ბექლოგში იმ დონეზე რაც საჭიროა. 


პროდუქტის მფლობელს შეუძლია შეასრულოს ზემოთხსენებული სამუშაო, ან ჰყავს დეველოპერების გუნდი ამისათვის. ერთი სიტყვით პროდუქტის მფლობელი რჩება ანგარიშვალდებული. 

პროდუქტის მფლობელი არის ერთი ადამიანი, არა კომიტეტი. პროდუქტის მფლობელს შეუძლია წარმოადგინოს კომიტეტის სურვილები პროდუქტის ბექლოგში, მაგრამ მათ თუ უნდათ რომ შეცვალონ პროდუქტის ბექლოგის ელემენტების პრიორიტეტი, მათ უნდა მიმართონ პროდუქტის მფლობელს.

იმისათვის რომ პროდუქტის მფლობელი იყოს წარმატებული, მთელი ორგანიზაცია უნდა აფასებდეს მის გადაწყვეტილებებს. პროდუქტის მფლობელის გადაწყვეტილებები ჩანს  კონტენტში და პროდუქტის ბექლოგის დალაგებაში. არავის შეუძლია ძალა დაატანოს დეველოპერების გუნდს რომ იმუშაოს მოთხოვნების სხვა წყებაზე. 

დეველოპერების გუნდი

დეველოპერების გუნდი  შედგება პროფესიონალებისგან, რომლებიც მუშაობენ სამუშაოზე, კერძოდ პროდუქტის პოტენციურად გაშვებად  „დასრულებულ“ ინკრემენტზე  ყოველი სპრინტის ბოლოს. ინკრემენტი „დასრულებულია“  არის მოთხოვნილი სპრინტის განხილვისას. მხოლოდ დეველოპერების გუნდის წევრები ქმნიან ამ ინკრემენტს. 

დეველოპერების გუნდი არის სტრუქტურიებული და უფლებამოსული ორგანიზაციის მხრიდან რომ ორგანიზება და მართვა გაუწიოს საკუთარ სამუშაოს. რეზულტატში დამდგარი სინერგია დეველოპერების გუნდის საერთო ეფექტიანობის და ეფექტურობის ოპტიმიზებას ახდენს. 

დეველოპერების გუნდს აქვს შემდეგი თვისებები:

  • ისინი არიან თვით ორგანიზებადი. არავინ (თავად SCRUM-ის ოსტატიც კი) ეუბნება დეველოპერების გუნდს თუ როგორ უნდა გადააქციონ პროდუქტის ბექლოგი პოტენციურად გაშვებადი ფუნციონალის ინკრემენტად.
  • დეველოპერების გუნდი არის კროს-ფუნქციური, ყველა საჭირო უნარებით აღჭურვილი  რაც გუნდს სჭირდება იმისათვის რომ შექმნას პროდუქტის ინკრემენტი. 
  • SCRUM-ში არ შეიმჩნევა რაიმე ტიპის სახელწოდებები დეველოპერები გუნდის წევრებისთვის, მიუხედავად  სამუშაოსი, რომელსაც პიროვნებები ასრულებენ. 
  • SCRUM-ში არ შეიმჩნევა ქვე გუნდები დეველოპერების გუნდის შიგნით, მიუხედავად ისეთი სახელწოდების სამუშაოებისა როგორიცაა ტესტირება, არქიტექტურა, ოპერაციები ან ბიზნეს ანალიზი და
  • ინდივიდუალური დეველოპერების გუნდის წევრებს შეუძლიათ იყვნენ სპეციალიზებული უნარების მქონე და ფოკუსირებული რაიმე კონკრეტულზე, მაგრამ პასუხისმგებლობა მთლიანად დეველოპერების გუნდს ეკისრება როგორც მთლიანს.  


დეველოპერების გუნდის ზომა

დეველოპერების გუნდის ოპტიმალური ზომა საკმარისად პატარაა იმისათვის,  რომ იყოს მოხერხებული და საკმარისად დიდი იმისათვის რომ დაასრულოს მნიშვნელოვანი საქმე სპრინტის ფარგლებში. 3-ზე ნაკლები ზომე დეველოპერების გუნდში ამცირებს ინტერაქციას და რეზულტატში პატარა პროდუქტიულობას აღწევს. პატარა დეველოპერების გუნდები შეიძლება  დაეჯახონ უნარების სიმცირეს სპრინტის დროს, რაც შედეგში გამოიწვევს იმას რომ დეველოპერების გუნდი იქნება  უუნარო რომ ჩააბაროს პოტენციურად გასაშვები ინკრემენტი. 9-ზე მეტი ადამიანი საჭიროებს ძალიან ბევრ კოორდინაციას. დიდი დეველოპერების გუნდი აგენერირებს ძალიან ბევრ კომპლექსურობას ემპირიული პროცესის სარგებლიანობისთვის. პროდუქტის მფლობელი და SCRUM_ის ოსტატის როლები არ გაითვალისწინება ამ რიცხვში , თუ ისინი ასევე არ ასრულებენ სამუშაოს სპრინტის ბექლოგიდან. 

SCRUM-ის ოსტატი

SCRUM-ის ოსტატი არის პასუხისმგებელი რომ ხელი შეუწყოს და დაეხმაროს SCRUM-ს როგორც აღწერიალია SCRUM-ის სახელმძღვანელოში. SCRUM_ის ოსტატები აკეთებენ ამას,  ეხმარებიან რა ყველას რომ გაიგონ SCRUM_ის თეორია, პრაქტიკები, წესები და ღირებულებები. 

SCRUM_ის ოსტატი არის მომსახურე-ლიდერი scrum_ის გუნდისთვის. SCRUM-ის ოსტატი ეხმარება SCRUM_ის გუნდის გარეთ მყოფებს რომ გაიგონ, თუ რა ტიპის ინტერაქციები იქნება სასარგებლო SCRUM_ის გუნდთან  და რომელი არა. SCRUM_ის ოსტატი ეხმარება ყველას რომ შეცვალონ ეს ინტერაქციები იმისათვის რომ მაქსიმიზირება გაუკეთოს ღირებულება რომელიც შექმნილია SCRUM_ის გუნდის მიერ. 
SCRUM-ის ოსტატის მომსახურება პროდუქტის მფლობელისთვის
SCRUM-ის ოსტატი ემსახურება პროდუქტის მფლობელს რამოდენიმე გზით, მათ შორის: 

  • უზრუნველყოს რომ მიზნები, ზომა და პროდუქტის დომენი მაქსიმალური შესაძლო გზით არის გაგებული ყველას მიერ SCRUM_ის გუნდში. 
  • იპოვოს ტექნიკები პროდუქტის ბექლოგის ეფექტური მენეჯმენტისთვის
  • დაეხმაროს SCRUM_ის გუნდს რომ გაიგოს პროდუქტის ბექლოგის ელემენტებს ნათლად და მოკლედ წადმოდგენის საჭიროება. 
  • გაიგოს პროდუქტის დაგეგმვა  ემპირიულ გარემოში. 
  • უზრუნველყოს რომ პროდუქტის მფლობელმა იცის როგორ დაალაგოს პროდუქტის ბექლოგი, მაქსიმალური ღირებულების მისაღწევად. 
  • გაიგოს და გამოსცადოს მოქნილობა და 
  • ხელი შეუწყოს SCRUM-ის ღონისძიებებს ჩატარებას  როგორც მოითხოვება და საჭიროა. 


SCRUM-ის ოსტატის სამსახური დეველოპერების გუნდის მიმართ

SCRUM-ის ოსტატი ემსახურება დეველოპერების გუნდს რამოდენიმე გზით, მათ შორის: 
  • წვრთნის დეველოპერების გუნდს თვით-ორგანიზებაში და კროს ფუნქციონალურობაში
  • ეხმარება დეველოპერების გუნდს რომ შექმნას მაღალი ღირებულების პროდუქტები
  • აშორებს ხელის შემშლელ ფაქტორებს  დეველოპერების გუნდის პროგრესის გზაზე
  • ამარტივებს  SCRUM-ის ღონისძიებებს მოთხოვნის და საჭიროების შემთხვევაში; და 
  • წვრთნის დეველოპერების გუნდს ორგანიზაციულ გარემოში რომელშიც SCRUM-ი ჯერ არ არის ბოლომდე გააზრებული და შეთვისებული


SCRUM_ის ოსტატის მომსახურება ორგანიზაციის მიმართ

SCRUM_ის ოსტატი ემსახურება ორგანიზაციას რამოდენიმე გზით, მათ შორის: 
  • უძღვება და წვრთნის ორგანიზაციას SCRUM_ის შეთვისების კუთხით
  • გეგმავს SCRUM-ის იმპლემენტაციებს ორგანიზაციის შიგნით. 
  • ეხმარება დაქირავებულებს და მეწილეებს გაიგონ და აამოგმედონ SCRUM_ი და პროდუქტის განვითარების ემპირიულობა. 
  • იწვევს ცვლილებას, რაც ზრდის SCRUM_ის გუნდის პროდუქტიულობას; და
  • მუშაობს სხვა SCRUM_ის ოსტატებთან რომ გაზარდოს SCRUM_ის გამოყენების ეფექტურობა ორგანიზაციის შიგნით. 

SCRUM_ის ღონისძიებები

განსაზღვრული ღონისძიებები არის გამოყენებული SCRUM_ში რომ უზრუნველყოს რეგულარულობა და მინიმიზირება მოახდინოს  შეხვედრებისა, რომელიც არ არის აღწერილი SCRUM_ში. ყველა ღონისძიება არის დროში შეზღუდული ღონისძიება, ისე რომ ყოველ ღონისძიებას გააჩნია ხანგრძლივობის მაქსიმუმი. მას შემდეგ რაც სპრინტი დაიწყება, მისი ხანგრძლივობა არის ფიქსირებული და არ შეიძლება შემოკლდეს ან შეიცვალოს ზომაში. დარჩენილი ღონისძიებები შეიძლება დამთავრდეს მას შემდეგ რაც ღონისძიების მიზანი მიღწეული იქნება, იმის უზრუნველსაყობად რომ საჭირო დრო არის დახარჯული, და დროის ტყუილი ხარჯვას არ ჰქონდეს ადგილი. 

გარდა თავად სპრინტისა, რომელიც არის ყველა ღონისძიების კონტეინერი, ყველა ივენთი SCRUM_ში არის ფორმალური შესაძლებლობა რომ ინსპექტირება და ადაპტირება მოხდეს რამისა. ეს ღონისძიებები არის სპეციფიურად შექმნილი იმისათვის,  რომ შესაძლებელი გახადოს  კრიტიკული გამჭვირვალეობა და ინსპექცია.  რომელიმე ამ ღონისძიების განუხორციელებლობა  გამოიწვევს გამჭვირვალეობის შემცირებას და არის დაკარგული შესაძლებლობა ინსპექტირებისა და ადაპტაციისთვის. 


სპრინტი

SCRUM_ის გული არის სპრინტი, დროში ზემოდან შეზღუდული ერთი თვით ან ნაკლებით, რომლის ფარგლებშიც „დასრულებული“,  გამოყენებადი და პოტენციურად გაშვებადი პროდუქტის ინკრემენტი იქმნება. სპრინტებს აქვთ მყარი ხანგრძლივობა განვითარების პროცესში. ახალი სპრინტი იწყება ეგრევე, რაც მოხდება წინა სპრინტზე დასკვნის გამოტანა.
სპრინტი შეიცავს და შედგება სპრინტის დაგეგმვისგან, დღიური SCRUM-ისგან, დეველოპმენტის სამუშაოსგან, სპრინტის განხილვისგან და სპრინტის რეტროსპექტივისგან. 
სპრინტის დროს:
  • არანაირი ცვლილებები არ უნდა განხორციელდეს რაც შეიძლება საფრთხის შემცველი იყოს სპრინტის მიზნისთვის
  • ხარისხის მიზნები არ მცირდება ; და
  • შეიძლება დაზუსტდეს და გადახედილ იქნეს  მოცულობა  პროდუქტის მფლობელის და დეველოპერების გუნდის მიერ, ვინაიდან მეტი ცოდნაა მიღებული. 

ყოველი სპრინტი შეიძლება განხილული იქნეს როგორც პროექტი რომელიც არის მაქსიმუმ 1 თვიანი ხანგრძლივობის. როგორც პროექტები, სპრინტები გამოიყენება რომ მიიღწეს რაიმე. ყოველ სპრინტს აქვს მიზანი თუ რა უნდა აშენდეს,  პროექტი  და მოქნილი გეგმა რაც უხელმძღვანელებს მის აშენებას, სამუშაოს, და რეზულტატში მიიღწევა პროდუქტის ინკრემენტი. 

სპრინტები არის შეზღუდული ერთი კალენდარული თვით. როცა სპრინტის ჰორიზონტი არის ძალიან გრძელი, განსაზღვრება იმისა თუ რა კეთდება შეიძლება შეიცვალოს, კომპლექსურობა შეიძლება წამოვიდეს წინა პლანზე და რისკი  გაიზარდოს. სპრინტები საშუალებას იძლევა პროგნოზირებადობადობის, უზრუნველყოფს რა ინსპექციას და პროგრესის ადაპტაციას სპრინტის მიზნის მიმართ მაქსიმუმ ერთი კალენდარული თვის განმავლობაში. სპრინტები ასევე ამცირებს ღირებულებას ერთი კალენდარული თვის ფარგლებში.

სპრინტის გაუქმება

სპრინტი შეიძლება გაუქმნდეს სანამ სპრინტის თაიმ ბოქსი მორჩება. მხოლოდ პროდუქტის მფლობელს აქვს სპრინტის გაუქმების უფლება, ამასთან მან ეს შეიძლება გააკეთოს ბიზნესის მფლობელების, დეველოპერების გუნდის ან SCRUM-ის ოსტატის გავლენის საფუძველზე.

სპრინტი შეიძლება გაუქმნდეს თუ სპრინტის მიზანი გახდება მოძველებული(ანუ არააქტუალური). ეს შეიძლება მოხდეს თუ კომპანია ცვლის მიმართლებას ან ბაზრის და ტექნოლოგიის მდგომარეობა შეიცვლება. ზოგადად , სპრინტი შეიძლება გაუქმდეს თუ ის აღარ არის აქტუალური მოცემულ მდგომარეობაში. მაგრამ, სპრინტის მოკლე ხანგრძლივობის გამო, გაუქმება თითქმის არ ცვლის მდგომარეობას. 

როცა სპრინტი გაუქმებულია, ნებისმიერი მორჩენილი და „დასრულებული“ პროდუქტის ბექლოგის ელემენტები არის გადახედილი. თუ საქმის ნაწილი არის პოტენციურად გაშვებადი, პროდუქტის მფლობელი როგორც წესი ადასტურებს მათ. ყველა მოურჩენელი პროდუქტის ბექლოგის ელემენტები არის თავიდან შეფასებული(გადახედილი) და უკან დაბრუნებული პროდუქტის ბექლოგში.  სამუშაო რომელიც განხორციელდა მათზე, განიცდის ცვეთას სწრაფად და უნდა იყოს ხშირად თავიდან შეფასებული. 

სპრინტის გაუქმება მოითხოვს რესურსებს, რადგან ყველა გადაჯგუფდება სხვა სპრინტის დაგეგმის პირობებში რომ დაიწყოს ახალი სპრინტი. სპრინტის გაუქმება ხშირდა არის ტრავმული მოქმედება სქრამის გუნდისთვის, და არის ძალიან იშვიათი. 

სპრინტის დაგეგმვა 

სპრინტის ფარგლებში შესასრულებელი სამუშაო უნდა დაიგეგმოს სპრინტის დაგეგმვის ღონისძიების დროს. ეს გეგმა დგება მთლიანი სქრამის გუნდის მიერ ერთობლივი  მუშაობის დროს. 
სპრინტის დაგეგმვა არის დროში შეზღუდული და შეადგენს 8 საათს ერთ თვიანი სპრინტის პირობებში. უფრო ნაკლები დროის სპრინტის დროს, ღონისძიება როგორც წესი არის ნაკლები დროის. სქრამის ოსტატი უზრუნველყოფს რომ ეს ღონისძიება ჩატარდეს და დამსწრეებმა გაიგონ მისი მიზანი. სქრამის ოსტატი ასწავლის SCRUM-ის გუნდს რომ იმ დროში ჩაეტიონ რაც დაწესებულია ამ ღონისძიებისთვის. 

სპრინტის დაგეგმვა პასუხობს შემდეგ კითხვებს:
  • რა უნდა ჩაბარდეს  რომ რეზულტატში ინკრემენტის რეზულტატი მივიღოთ მიმდინარე სპრინტის ფარგლებში?
  • როგორ უნდა ჩატარედეს სამუშაოები რომ ინკრემენტის ჩაბარება მოხდეს?
ნაწილი პირველი: რა შეიძლება გაკეთდეს ამ სპრინტის როს?

 დეველოპერების გუნდი მუშაობს რომ შეაფასოს ფუნქციონალი, რომელიც სპრინტის დროს უნდა გაკეთდეს. პროდუქტის მფლობელი განიხილავს მიზანს რაც სპრინტის დროს უნდა იყოს მიღწეული და პროდუქტის ბექლოგის ელემენტებს რაც, თუ შესრულდება სპრინტის შიგნით, დაეხმარება სპრინტის მიზნის მიღწევაში. მთელი SCRUM_ის გუნდი თანამშრომლობს ერთმანეთში და გაიგებს სპრინტის სამუშაოს. 
ამ შეხვედრის ამოსავალი წერტილები არის პროდუქტის ბექლოგი, პროდუქტის ბოლო ინკრემენტი, დეველოპერების გუნდის მიერ  დაგეგმილი მოცულობა სპრინტის ფარგლებში და დეველოპერების გუნდის წარსული პროდუქტიულობა. ელემენტების რაოდენობა რომელიც არჩეულია პროდუქტის ბექლოგიდან სპრინტისათვის არის ბოლომდე დეველოპერების გუნდის გასაკეთებელი. მხოლოდ დეველოპერების გუნდს შეუძლია თქვას რა შეიძლება იყოს გაკეთებული მოსალოდნელი სპრინტის დროს. 

სპრინტის დაგეგმვის დროს SCRUM_ის გუნდი ახელოვნებს სპრინტის მიზანს. სპრინტის მიზანი არის ამოცანა რომელიც უნდა მიიღწეს სპრინტის პირობებეში, პროდუქტის ბექლოგის იმპლემენტაციის გზით და იგი წარმოადგენს სახელმძღვანელოს დეველოპერების გუნდისათვის იმის გასარკვევად თუ  რატომ აშენებენ ისინი ინკრემენტს. 

ნაწილი მეორე:  როგორ უნდა გაკეთდეს არჩეული სამუშაო?
განსაზღვრავენ რა სპრინტის მიზანს და აირჩევენ რა პროდუქტის ბექლოგის ელემენტებს სპრინტისათვის, დეველოპერების გუნდი წყვეტს როგორ უნდა გააკეთონ აღნიშნული ფუნქციონალი ისე რომ „გაკეთებული“ პროდუქტის ინკრემენტი მიიღონ სპრინტის ფარგლებში.  სპრინტის პირობებში არჩეულ  პროდუქტის ბექლოგის ელემენტებს დამატებული გეგმა რომლითაც უნდა ჩაბარდეს აღნიშნული ელემენტები ეწოდება სპრინტის ბექლოგი.
დეველოპერების გუნდი როგორც წესი იწყებს სისტემის  და სამუშაოს პროექტირებას რომ გადააქციონ პროდუქტის ბექლოგის ელემენტები მუშა პროდუქტის ინკრემენტად. სამუშაო შეიძლება იცვლებოდეს ზომაში, ან განხორციელებულ ძალისხმევაში. ერთი სიტყვით, საკმარისი სამუშაოები უნდა ჩატარდეს სპრინტის დაგეგმვის დროს დეველოპერების გუნდის მხრიდან რომ შეაფასონ ის ძალისხმევა რომელიც მათი აზრით უნდა განხორციელდეს მომავალი სპრინტის დროს.სამუშაო რომელიც დაგეგმილია სპრინტის პირველი დღეების დროს, აღნიშნული შეხვედრის ბოლოსკენ უნდა დაიყოს ისეთ სამუშაოებზე რომელსაც გასაკეთებლად ესაჭიროება დღე ან ნაკლები. ორივე შემთხვევაში, სპრინტის დეგეგმვისას და  საჭიროების შემთხვევაში სპრინტის დროსაც. დეველოპერების გუნდი თვით ორგანიზებას აკეთებს რომ შეასრულოს სამუშაო პროდუქტის ბექლოგიდან. 
პროდუქტის მფლობელს შეუძლია დაეხმაროს რომ განმარტოს პროდუქტის ბექლოგის ელემენტები და მოახდინოს გაცვლები(ივაჭროს პრიორიტეტებით). თუ დეველოპერების გუნდი გადაწყვეტს რომ მას გააჩნია ძალიან ბევრი ან ძალიან ცოტა სამუშაო, მას შეუძლია გადახედოს არჩეული პროდუქტის ბექლოგის ელემენტებს პროდუქტის მფლობელთან ერთად. დეველოპერების გუნდს ასევე შეუძლია მოიწვიოს სხვა ადამიანები რომ დაესწრონ და წარმოადგინონ ტექნიკური ან სხვა ტიპის რჩევები. 
სპრინტის დაგეგმვის დასასრულს, დეველოეპრების გუნდს უნდა შეეძლოს რომ აუხსნას პროდუქტის მფლობელს და SCRUM_ის ოსტატს თუ როგორ    აპირებს მუშაობას როგორც თვითორგანიზებადი გუნდი რომ მიაღწიოს სპრინტის მიზანს და შექმნას მოსალოდნელი ინკრემენტი. 


სპრინტის მიზანი


სპრინტის მიზანი არის ამოცანების კრებული სპრინტისათვის, რაც შეიძლება მიღწეული იქნას პროდუქტის ბექლოგის იმპლემენტაციის პირობებში. იგი წარმოადგენს სახელმძღვანელოს დეველოპერების გუნდისათვის იმის თაობაზე თუ რატომ აშენებს იგი ინკრემენტს. ის იქმნება სპრინტის დაგეგმვის შეხვედრაზე. სპრინტის მიზანი აძლევს დეველოპერების გუნდს გარკვეული სახის მოქნილობას, ფუნქიონალობბის განხორციელებაზე სპრინტის შიგნით. არჩეული პროდუქტის ბექლოგის ელემენტები აბარებს ერთ მომდევნო ფუნქციას, რომელიც შეიძლება იყოს სპრინტის მიზანი. სპრინტის მიზანი შეილება იყოს ნებისმიერი თანმიმდევრულობა რაც გამოიწვევს დეველოპერების გუნდის მხრიდან ერთად მუშაობას, და არა ცალკეულ ინიციატივებს. 
როცა დეველოპერების გუნდი მუშაობს, ის ინახავს გონებაში სპრინტის მიზანს. სპრინტის მიზანის დასაკმაყოფილებლად, იგი იმპლემენტაციას უკეთებს ფუნცქციონალს და ტექნოლოგიას. თუ სამუშაო აღმოჩნდება განსხვავებული ვიდრე დეველოპერების გუნდს წარმოედგინა, ისინი ურთიერთობენ პროდუქტის მფლობელთან რომ განიხილონ სპრინტის ბექლოგის მოცულობა სპრინტის ფარგლებში. 

დღიური SCRUM_ი.
დღიური SCRUM_ი არის 15 წუთიანი დროში შეზღდუდული ღონისძიება დეველოპერების გუნდისთვის. დღიური სქრამი იმართება ყოველი სპრინტის დღეს(ანუ იმ დღეს როცა სპრინტზე მუშაობა მიმდინარეობს. უქმე დღეებში არ იმართება). მასზე, დეველოპმენტის გუნდი გეგმავს სამუშაოებს შემდეგი 24 საათისთვის. ეს ოპტიმიზირებას უკეთებს გუნდის ურთიერთქმედებას და შედეგიანობას , რადგან ამოწმებს წინა  SCRUM-ის დროს შესრულებულ სამუშაოს და მომავალში პროგრნოზირებას უკეთებს  მოსალოდნელი სპრინტის სამუშაოს. დღიური SCRUM ყოველთვის ერთიდაიგივე ადგილზე და დროს იმართება რომ შეამციროს ამ გზით სირთულეები.

დეველოპერების გუნდი იყენებს დღიურ SCRUM-ს რომ შეამოწმოს პროგრესი სპრინტის მიზანთან მიმართებაში და რომ შეამოწმოს როგორი ტრენდი აქვს პროგრესს სპრინტის ბექლოგში წარმოდგენილ საქმესთან მიმართებაში.  დღიური SCRUM-ი ოპტიმიზებას უკეთებს იმის ალბათობას რომ დეველოპერების გუნდმა მიაღწიოს სპრინტის მიზანს. ყოველდღე, დეველოპერების გუნდმა უნდა გაიგოს როგორ მუშაობს თვითორგანიზებადი გუნდი სპრინტის მიზნის მისაღწევად და განსაზღვრული ინკრემენტის შესაქმნელად სპრინტის ბოლომდე.
   
შეხვედრის სტრუქტურა არის დადგენილი დეველოპერების გუნდის მიერ და შეიძლება ჩატარდეს სხვადასხვა გზით, თუ ის სპრინტის მიზნის მიღწევის პროგრესზე ფოკუსირდება. ზოგ დეველოპერთა გუნდები იყენებენ კითხვებს, ზოგი უფრო დისკუსიაზე ორიენტირებულია. ქვემოთ მოყვანილია მაგალითები, აღნიშნული რაში შეიძლება იყოს გამოყენებული:
  • რა გავაკეთე გუშინ, რაც დაეხმარა დეველოპერების გუნდს სპრინტის მიზნის მიღწევაში?
  • რას გავაკეთებ დღს რომ დავეხმარო დეველოპერების გუნდს სპრინტის მიზნის მიღწევაში?
  • ვხედავ რამე ხელის შემშლელ ფაქტორებს რომელსაც შეუძლიათ შეაჩერონ მე ან დეველოპერების გუნდი  სპრინტის მიზნის მიღწევაში?

დეველოპერების გუნდი ან მისი წევრები ხშირად ხვდებიან დღიური სქრამის შემდეგ დეტალური დისკუსიებისთვის, რომ ადაპტაცია, გადაგეგმვა მოახდინონ სპრინტის სამუშაოს დარჩენილი ნაწილისა.

სქრამის ოსტატი რწმუნდება რომ დეველოპერების გუნდს ატარებს შეხვედრას, მაგრამ დეველოპერების გუნდის წევრები არიან პასუხისმგებლები დღიური SCRUM-ის ჩატარებაზე.

SCRUM_ის ოსტატი ასწავლის დეველოპერების გუნდს თუ როგორ ჩატიონ დღიური SCRUM-ი 15 წუთიან ინტერვალში. 

დღიური SCRUM_ი არის შიდა შეხვედრა დეველოპერების გუნდისთვის. თუ სხვები ესწრებიან, SCRUM-ის ოსტატი უზრუნველყოფს იმას რომ მათ არ ჩაშალონ შეხვედრა. 
დღიური SCRUM-ები აუმჯობესებს კომუნიკაციას, ამცირებს სხვა შეხვედრების საჭიროებას, აღმოაჩენს შემაფერხებენ გარემოებებს დეველოპმენტისთვის რომ აღმოფხვრას, მონიშნოს და წაახალისოს სწრაფად გადაწყვეტილების მიღება და გააუმჯობესოს დეველოპმენტის გუნდის ცოდნის დონე. ეს არის საკვანძო  „ინსპექტირების და ადაპტაციის„ შეხვედრა. 

სპრინტის განხილვა

სპრინტის განხილვა ხდება ყოველი სპრინტის ბოლოს რომ შემოწმდეს ინკრემენტი და ადაპტირება მოვახდინოთ პროდუქტის ბექლოგისა, საჭიროების შემთხვევაში. სპრინტის განხივლის დროს, SCRUM_ის გუნდი და მეწილეები ურთიერთობენ იმის თაობაზე თუ რა იყო გაკეთებული სპრინტის დროს. ამაზე დაყრდნობით და ნებისმიერი ცვლილებისას პროდუქტის ბექლოგში სპრინტის მიმდინარეობისას, დამსწრეები ურთიერთბენ შემდგომ საკითხებზე რა შეიძლება გაკეთდეს რომ ღირებულების ოპტიმიზება ოხდეს. ეს არის არაფორმალური შეხვედრა, არა სტატუს შეხვედრა და ინკრემენტის პრეზენტაცია ხდება რომ უკუკავშირი გამოიწვიოს და კოლაბორაცის შეუწყოს ხელი. 

ეს არის ყველაზე ხშირად ოთხ საათიანი შეხვედრა ერთ თვიანი სპრინტებისთვის. მოკლე სპრინტებისთვის აღნიშნული ღონისძიება უფრო ნაკლები დროისაა. SCRUM-ის ოსტატი უზრუნველყოფს იმას რომ ღონისძიება ჩატარდეს და დამსწრეებმა გაიგონ მისი დანიშნულება. SCRUM-ის ოსტატი ყველას  ჩართულ პირს ასწავლის როგორ ჩაეტიონ შეზღუდულ დროში. 
სპრინტის განხილვა შეიცავს შემდეგ ელემენტებს: 
  • დამსწრეებს შეადგენენ SCRUM_ის გუნდი და საკვანძო მეწილეები, რომელიც მოწვეულია პროდუქტის მფლობელის მიერ
  • პროდუქტის მფლობელი აღწერს რომელი პროდუქტის ბექლოგის ელემენტები „გაკეთდა“ და რა არ „გაკეთდა“. 
  • დეველოპერების გუნდი განიხილავს რა მიდიოდა კარგად სპრინტის მიმდინარეობისას, რა პრობლემები არსებობდა და როგორ გადაწყდა აღნიშნული პრობლემები. 
  • დეველოპერების გუნდი ადემონსტრირებს „გაკეთებულ“ სამუშაოს და პასუხობს კითხვებს ინკრემენტის გარშემო. 
  • პროდუქტის მფლობელი განიხილავს პროდუქტის ბექლოგს . იგი გეგმავს მისაღებ(მოსაწონ) მიზანს და ჩაბარების დროს,  არსებულ თარიღში მიღწეულ პროგრესზე დაყრდნობით. 
  • მთლიანი გუნდი ურთიერთქმედებს იმაზე თუ რა უნდა გაკეთდეს შემდეგი, ასე რომ სპრინტის განხილვა უზრუნველყოფს ღირებულ შენატანს მომდევნო სპრინტის დაგეგმვისთვის. 
  • განიხილავს თუ როგორ შეიცვალა  ბაზრის სიტუაცია ან პოტენციური გამოყენება, შესაბამისად რა არის ყველაზე ღირებული რამე, რაც შემდეგში უნდა გაკეთდეს; და ,
  • განიხილოს თაიმლაინი, ბიუჯეტი, პოტენციური შესაძლებლობები  და ბაზრის მოცემულობა პროდუქტის შემდეგი   ფუნქციონალისა და შესაძლებლობების დაგეგმილი რელიზებისთვის.



სპრინტის განხილვის რეზულტატი არის გადამოწმებული პროდუქტის ბექლოგი რაც განსაზღვრავს შესაძლო ბექლოგის ელემენტებს შემდეგი სპრინტისთვის. პროდუქტის ბექლოგი შეიძლება ასევე დაზუსტდეს მთლიანობაში რომ ახალ შესაძლებლობებს მიეგებონ. 

სპრინტის რეტროსპექტივა

სპრინტის რეტროსპექტივა არის შესაძლებლობა SCRUM_ი გუნდისთვის რომ შეამოწმოს საკუთარი თავი და შექმნან გეგმა შემდეგი სპრინტის დროს გამოსასწორებელი საქმეებისა. 

სპრინტის რეტროსპექტივას ადგილი აქვს სპრინტის განხილვის შემდეგ და შემდეგი სპრინტის დაგეგმვის დაწყებამდე შუალედში.  ეს არის უმეტესად 3 საათიანი შეხვედრა ერთ თვიანი სპრინტებისთვის. უფრო მოკლე სპრინტებისთვის, ღონისძიება როგორც წესი უფრო მოკლეა. SCRUM-ის ოსტატი უზრუნველყოფს რომ ღონისძება ტარდება და დამსწრეებს ესმით მისი მნიშვნელობა. 
  
SCRUM_ის ოსტატი უზუნველყოფს რომ შეხვედრა პოზიტიური და პროდუქტიული იყოს. SCRUM-ის ოსტატი ასწავლის ყველას რომ ჩაეტიონ გამოყოფილ დროში. SCRUM-ის ოსტატი მონაწილეობს როგორც ყველა ცალკეული გუნდის წევრი  რათა აღრიცხული იყოს SCRUM-ის პროცესი. 

სპრინტის რეტროსპექტივის მიზანი არის რომ:
  • გამოიკვლიოს(შეამოწმოს) ბოლო  სპრინტის მიმდინარეობა, ხალხთან, ურთიერთობების კუთხით, პროცესთან და ხელსაწყოებთან მიმართებაში. 
  • გამოავლინოს და დაალაგოს მთავარი ელემენტები, რაც კარგად წავიდა და პოტენციური გაუმჯობესებები; და
  • შექმნას გეგმა  გასაუმჯობესებელი  საკითხების  შესრულების ისე, როგორც SCRUM_ის გუნდი აკეთებს ამ საქმეს. 

SCRUM-ის ოსტატი ახალისებს SCRUM-ის გუნდს რომ გააუმჯობესონ SCRUM-ის პროცესი ფრეიმვორკის შიგნით, მისი შესრულების პროცესი და რომ შემდეგი სპრინტისთვის უფრო ეფექტური და სახალისო  გახადოს მისი განხორციელების პრაქტიკები.  ყოველი სპრინტის რეტროსპექტივის დროს, SCRUM_ის გუნდი გეგმავს სხვადასხვა გზებს რომ გაზარდონ პროდუქტის ხარისხი სამუშაო პროცესის გაუმჯობესების გზით ან ადაპტაცია მოახდინონ „გაკეთებულია“-ს განსაზღვრების, თუ შესაბამისი და პროდუქტთან ან ორგანიზაციულ სტანდარტთან  კომფლიქტში  მყოფი არ არის. 

სპრინტის რეტროსპექტივის ბოლოში, SCRUM-ის გუნდს უნდა ჰქონდეს იდენტიფიცირებული გაუმჯობესებები რომელსაც იგი განახორციელებს შემდეგი სპრინტის დროს. ამ გაუმჯობესებების გამოსწორება შემდეგ სპრინტში არის SCRUM_ის გუნდის მიერ შემოწმების მიმართ ადაპტაცია. ამასთან გაუმჯობესებები შეიძლება განხორციელდეს ნებისმიერ დროს, სპრინტის რეტროსპექტივა წარმოადგენს ფორმალურ შესაძლებლობას რომ ჩვენი ფოკუსი მივმართოთ შემოწმებისა  და ადაპტაციისკენ. 

SCRUM_ის არტეფაქტები

SCRUM_ის არტეფაქტები წარმოადგენს სამუშაოს ან ღირებულებას რომ განახორციელოს(უზრუნველყოს)  გამჭვირვალეობა და შესაძლებლობები შემოწმებისა და  ადაპტაციისთვის. SCRUM-ში  განსაზღვრული არტეფაქტები არის სპეციფიურად  შექმნილი რომ მაქსიმალური გამჭვირვალეობა მოხდეს საკვანძო ინფორმაციისა, ისე რომ ყველას ჰქონდეს აღნიშნული არტეფაქტის ერთნაირი გაგება. 

 პროდუქტის ბექლოგი

პროდუქტის ბექლოგი არის დალაგებული სია ყველაფრისა რაც ვიცით რომ გასაკეთებელია პროდუქტში. ეს არის ერთადერთი წყარო მოთხოვნებისა პროდუქტზე განსახორციელებელი ნებისმიერი ცვლილებისთვის.  პროდუქტის მფლობელი პასუხისმგებელია პროდუქტის ბექლოგზე, მათ შორის მის კონტენტზე, დალაგებაზე და ხელმისაწვდომოაზე. 

პროდუქტის ბექლოგი არასოდეს არის დასრულებული. მისი ადრეული დეველოპმენტი ეფუძნება საწყისად ცნობილ და საუკეთესოდ გაგებულ მოთხოვნებს. პროდუქტის ბექლოგი ვითარდება ისე როგორც პროდუქტი და ის გარემო ვითარდება,  სადაც იგი შეიძლება გამოიყენონ.  პროდუქტის ბექლოგი არის დინამიური; იგი მუდმივად იცვლება რომ განსაზღვროს რა სჭირდება პროდუქტს რომ იყოს მისაღები, ანგარიშგასაწევი(კონკურენტუნარიანი) და საჭირო. თუ პროდუქტი არსებობს, მისი ბექლოგიც არსებობს ამავდროულად. 

პროდუქტის ბექლოგი შეიცავს ყველა ფუნქციონალს, ფუნქციებს, მოთხოვნებს, გაუმჯობესებებს, და გამოსწორებებს რაც  წარმოადგენს იმ ცვლილებებს რაც უნდა განხორციელდეს პროდუქტზე მომდევნო რელიზებისას. პროდუქტის ბექლოგის ელემენტებს აქვს შემდეგი ატრიბუტები: განსაზღვრება(აღწერა), დალაგება(ადგილი სიაში), შეფასება და ღირებულება. პროდუქტის ბექლოგის ელემენტები ხშირად შეიცავენ სატესტო განსაზღვრებებს(აღწერებს) რაც კიდევ ერთხელ დაამტკიცებს მის დასრულებას როცა „დასრულდება“(ანუ ტესტის გავლის შემდეგ უფრო გასაგები ხდება თუ რაც უნდა ნიშნავდეს სიტყვა „დასრულებული“). 

რადგანაც პროდუქტი გამოიყენება და იპოვებს ღირებულებას და ბაზარი იძლევა უკუკავშირს, პროდუქტის ბექლოგი გამოდის უფრო დიდი და დამღლელი სია. მოთხოვნების ცვლილებები არ ჩერდება, ასე რომ პროდუქტის ბექლოგი არის ცოცხალი არტიფაქტი. ცვლილებებმა ბიზნესის მოთხოვნებში, ბაზრის მდგომარეობაში ან ტექნოლოგიებში შეიძლება გავლენა იქონიოს პროდუქტის ბექლოგის ცვლილებაზე. 
რამოდენიმე SCRUM-ის გუნდები ხშირად მუშაობენ ერთად ერთიდაიგივე პროდუქტზე. ერთი პროდუქტის ბექლოგი გამოიყენება პროდუქტზე ჩასატარებელი სამუშაოების აღწერისთვის.  პროდუქტის ბექლოგი იმის იმას გვაჩვენებს რომ ეს ელემენტები შეიძლება დაჯგუფდეს. 

პროდუქტის ბექლოგის დახვეწა არის დეტალების, შეფასების და დალაგების დამატების აქტი პროდუქტის ბექლოგში. ეს არის მიმდინარე პროცესი, რომელშიც პროდუქტის მფლობელი და დეველოპერების გუნდი ურთიერთობს პროდუქტის ბექლოგის ელემენტების დეტალებზე. პროდუქტის ბექლოგის დახვეწის დროს, ელემენტები არის გადახედილი და განახლებული. SCRUM-ის გუნდი წყვეტს, თუ რა და როგორ უნდა დაიხვეწოს. დახვეწა ხშირად იკავებს არაუმეტეს 10%(ათი პროცენტი)-სა დეველოპერების გუნდის მოცულობის(შესაძლებლობების). ერთი სიტყვით, პროდუქტის ბექლოგის ელემენტები შეიძლება განახლდეს ნებისმიერ დროს პროდუქტის მფლობელის მიერ  ან მისი შეხედულებით. 

მაღლა დალაგებული პროდუქტის ბექლოგის ელემენტები როგორც წესი უფრო ნათელია და მეტად დეტალიზებული, ვიდრე დაბლა დალაგებული ელემენტები. მეტი სიზუსტით ხორციელდება დროში განსაზღვრა, რადგან დაფუძნებულია  მეტ სიცხადეზე და დეტალების გაზრდაზე. რაც უფრო დაბლაა პროდუქტის ბექლოგის ელემენტი მით უფრო ნაკლებ დეტალიზებულია.  პროდუქტის ბექლოგის ელემენტები რომელიც დეველოპერების გუნდს თავზე ახვევია მომდევნო სპრინდის დროს არის დაზუსტებული ისე, რომ ნებისმიერი  ელემენტი შეიძლება  გონივრულად „გაკეთებულია“ იყოს სპრინტის თაიმ ბოქსის დროს. პროდუქტის ბექლოგის ელემენტები რაც შეიძლება იყოს „გაკეთებული“ დეველოპმენტის გუნდის მიერ ერთი სპრინტის დროს ითვლება „მზად“არჩევისას სპრინტის დაგეგმვის დროს. პროდუტის ბექლოგის ელემენტები როგორც წესი გახდება ხოლმე ამ დრონის გამჭვირვალე ზემოთ აღწერილი დაზუსტების მოქმედებების შედეგად. 

დეველოპერების გუნდი პასუხისმგებელია ყველა შეფასებაზე. პროდუქტის მფლობელი შეიძლება დაეხმაროს რომ გააგებინოს დეველოპერების გუნდის წევრებს გააცნობიერონ  და აირჩიონ გაცვლები, მაგრამ ვინც სამუშაო უნდა შეასრულოს, მანვე უნდა განსაზვღოს სამუშაოს საბოლოო შეფასება. 

მიზნებთან მიმართებაში პროგრესის მონიტორინგი

ნებისმიერ დროს, შესაძლებელია მიზნის მიღწევამდე დარჩენილი სამუშაოების დაჯამება. პროდუქტის მფლობელი აღრიცხავს ამ მთლიანი დარჩენილ სამუშაოს, როგორც მინიმუმ ყოველი სპრინტის განხილვის დროს. პროდუქტის მფლობელი ადარებს ამ რაოდენობას  წინა სპრინტის განხილვების დროს დარჩენილ  სამუშაოებს რომ შეაფასოს პროგრესი დასასრულებელი დაგეგმილი სამუშაოებისა  მიზნისათვის მისაღებ დროსთან მიმართებაში.  ეს ინფორმაცია არის გამჭვირვალე ყველა მეწილისთვის. 
სხვადასხვა შეფასების პრაქტიკები არსებობს პროგრესის განსაზღვრისთვის, როგორც ჩაწვა(burndown), აწვა(burn-ups) ან თვითმყოფადი დინებები. ამათ დაამტკიცეს საკუთარი სარგებლობა. ერთ სიტყვით, ესენი არ ცვლიან ემპირიციზმის საჭიროებას. კომპლექსურ გარემოებში, რა შეიძლება მოხდეს, უცნობია. მხოლოდ რაც უკვე მოხდა შეიძლება გამოიყენებული იყოს მომავალში გადაწყვეტილების მიღებისთვის. 

სპრინტის ბექლოგი

სპრინტის ბექლოგი არის პროდუქტის ბექლოგის გარკვეული ელემენტების ერთობლიობა, რომელიც არჩეულია სპრინტისთვის, დამატებული  პროდუქტის ინკრემენტის ჩაბარების და სპრინტის მიზნის მიღწევის გეგმა. სპრინტის ბექლოგი არის დეველოპერების გუნდის მიერ გაკეთებული შეფასება, იმის თაობაზე თუ რა ფუნქციონალობა იქნება შემდეგ ინკრემენტში და რა სამუშაოები იქნება საჭირო რომ გადაიქცეს  ფუნციონალობა „გაკეთებულ“-ს ინკრემენტად.  
სპრინტის ბექლოგი ხილულს ხდის ყველა სამუშაოს,  რასაც დეველოპერების გუნდი აღმოაჩენს რომ საჭიროა სპრინტის მიზნის მისაღწევად. რომ უზრუნველყოს განგრძობადი გაუმჯობესება, ის შეიცავს მინიმუმ ერთ  მაღალი პრიორიტეტულობის პროცესის გაუმჯობესებას, რომელიც  წინა რეტროსპექტივის შეხვედრის დროს არის აღმოჩენილი. 

სპრინტის ბექლოგი არის გეგმა საკმარისად დეტალიზებული იმისათვის რომ პროგრესში ცვლილებები  გაგებული იყოს დღიურ SCRUM-ში.  დეველოპერების გუნდი ცვლის სპრინტის ბექლოგს სპრინტის განმავლობაში და სპრინტის ბექლოგი წარმოიშვება ხოლმე სპრინტის დროს. ახლის წარმოშობის საჭიროება ჩნდება მაშინ, როცა დეველოპერების გუნდი მუშაობს გეგმის მიხედვით და მეტს სწავლობს სამუშაოს შესახებ რომ სპრინტის მიზანს მიაღწიოს. 

მას მერე რაც  ახალი სამუშაოს საჭიროება დგება, დეველოპერების გუნდი ამატებს მას სპრინტის ბექლოგში. თუ სამუშაო შესრულებული ან დასრულებულია, შეფასებული დარჩენილი სამუშაო განახლებულია. როცა გეგმის ელემენტები ითვლება არასაჭიროდ, ისინი მოცილებულია. მხოლოდ დევლოპერების გუნდს შეუძლია მისი სპრინტის ბექლოგი სპრინტის მიმდინარეობისას. სპრინტის ბექლოგი არის მაღალი დონის ჩვენებადი, რეალური დროის სურათი იმ სამუშაოსი, რაც დეველოპერების გუნდის მიერ დაგეგმილია რომ შეასრულებს სპრინტის დროს, და ის მთლიანად ეკუთვნის დეველოპერების გუნდს. 

სპრინტის პროგრესის მონიტორინგი

სპრინტის მიმდინარეობისას ნებისმიერ მომენტში, სპრინტის ბექლოგში დარჩენილი სამუშაო უნდა დაჯამდეს. დეველოეპრების გუნდი აკონტროლებს დარჩენილ სამუშაოს მინიმუმ ყოველდღიური SCRUM-ისთვის რომ დაგეგმოს შესრულების რეალურობა სპრინტის მიზნის მისაღწევად. იმის გამო რომ აკონტროლებენ დარჩენილ სამუშაოს სპრინტის მიმდინარეობისას, დეველოპერების გუნდს შეუძლია მართოს მისი პროგრესი.  

ინკრემენტი

ინკრემენტი არის მთლიანი პროდუქტის ბექლოგის ელემენტების ჯამი, შესრულებული სპრინტის დროს და ღირებულება ყველა წინა ინკრემენტები ყველა წინა სპრინტის დროს.  სპრინტის ბოლოს, ახალი ინკრემენტი უნდა იყოს „გაკეთებული“, რაც ნიშნავს რომ იგი უნდა იყოს გამოსაყენებ მდგომარეობაში და ასახავდეს SCRUM-ის გუნდის განსაზღვრებას „გაკეთებულია“-ს თაობაზე.  ინკრემენტი არის სხეული, შემმოწმებადი, გაკეთებული საქმისა რომელიც მხარს უჭერს ემპირიციზმს პრინტის დასრულებისას. ინკრემენტი არის ნაბიჯი წინ მიზნისკენ ან მისიისკენ. ინკრემენტი უნდა იყოს გამოყენებად მდგომარეობაში მიუხედავად იმისა პროდუქტის მფლობელი გადაწყვეტს თუ არა მის გაშვებას. 

არტეფაქტების გამჭვირვალეობა

SCRUM_ი ემყარება გამჭვირვალეობას. გადაწყვეტილებები ღირებულების ოპტიმიზების კუთხით და რისკის კონტროლი დაფუძნებულია არტეფაქტების აღქმად მდგომარეობაზე. იმ შემთხვევაში თუ  გამჭვირვალეობა არის სრული, ამ  გადაწყვეტილებებს აქვთ ხმის ბაზისი.  იმ შემთხვევაში თუ ეს არტეფაქტები შეიძლება ბოლომდე გამჭვირვალე არ არის, ეს გადაწყვეტილებები შეიძლება  ყალბი იყოს, ღირებულება შეიძლება შემცირებული ჰქონდეს და რისკი შეიძლება გაიზარდოს.  

 SCRUM-ის ოსტატმა უნდა იმუშაოს პროდუქტის მფლობელთან,  დეველოპერებთან ერთად და სხვა ჩართულ მხარეებთან რომ გაიგოს სრულად გამჭვირვალეა თუ არა არტიფაქტები. არსებობს პრაქტიკები რომელიც უმკლავდება არასრულ გამჭვირვალეობას;  SCRUM-ის ოსტატი ეხმარებას ყველას რომ გაითავისონ შესაბამისი პრაქტიკები სრული გამჭვირვალეობის არ არსებობის პირობებში. SCRUM-ის ოსტატმა შეიძლება აღმოაჩინოს არასრული გამჭვირვალეობა არტეფაქტების შემოწმეიბს დროს, იგრძონს პატერნები, მოუსმინოს გულისყურით რაც ითქვა და აღმოაჩინოს განსხვავებები მოსალოდნელ და დამდგარ შედეგს შორის. 

SCRUM-ის ოსტატის საქმეა SCRUM-ის გუნდთან  და ორგანიზაციასთან მუშაობა  რომ გაზარდოს გამჭვირვალეობა არტეფაქტებისა. სამუშაო როგორც წესი გამოიწვევს სწავლას, დაჯერებას და ცვლილებას. გამჭვირვალეობა არ დგება ერთ დღეში, მაგრამ ეს არის გზა მის უზრუნველსაყოფად. 

 „დასრულებული“-ს განსაზღვრება

როცა პროდუქტის ბექლოგის ელემენტები ან ინკრემენტი არის აღწერილი როგორც „დასრულებული“, ყველას უნდა ესმოდეს რაც ნიშნავს „დასრულებული“. ამასთან ეს მნიშვნელოვნად შეიძლება განსხვავდებოდეს სხვადასხვა SCRUM-ის გუნდების მიხედვით, თუმცა წევრებს უნდა ჰქონდეს გაზიარებული გაგება იმისა თუ რაც ნიშნავს როცა სამუშაო დამთავრებულია, რომ უზრუნველყონ გამჭვირვალეობა. ეს არის „დასრულებული“-ს განსაზღვრება SCRUM-ის გუნდებისთვის და გამოიყენება შესაფასებლად, როცა სამუშაო არის დასრულებული პროდუქტის ინკრემენტისთვის. 
იგივე განსაზღვრების მიხედვით უნდა იხელმძღვანელოს დეველოპერების გუნდმა იმ  შემთხვევაში რომ გაიგონ რამდენი პროდუქტის ბექლოგის ელემენტები შეუძლიათ რომ მონიშნონ სპრინტის დაგეგმვისას. ყოველი სპრინტის მიზანი არის რომ ჩააბაროს პოტენციურად გაშვებადი ფუნციონალის ინკრემენტი, რაც მყარად არის დაცული SCRUM-ის გუნდის მიერ „დასრულებული“-ს განსაზღვრების საკითხში. 

დეველოპერების გუნდი  აბარებს პროდუქტის ფუნქციონალის ინკრემენტს ყოველი სპრინტის დროს. ეს ინკრემენტი არის გამოყენებადი, ისე რომ პროდუქტის მფლობელს შეუძლია აირჩიოს რომ ეგრევე გაუშვას იგი. თუ „გაკეთებული“-ს განსაზღვრება არის კონვენციების, სტანდარტების და სახელმძღვანელოს ნაწილი დეველოპერული ორგანიზაციისა, ყველა SCRUM_ის გუნდები უნდა მიყვნენ მას როგორც მინიმუმ. 

თუ  ინკრემენტის „დასრულებული“ არ არის განსაზღვრული დეველოპერული ორგანიზაციის კონვენციის მიხედვით, მაშინ დეველოპერების გუნდი SCRUM-ის გუნდი შიგნით უნდა შეთანხმდეს და ჩამოაყალობოს „დასრულებული“-ს განსაზღვრება პროდუქტის შესაბამისად. თუ არის რამოდენიმე SCRUM_ის გუნდი რომელიც მუშაობს სისტემაზე ან პროდუქტის გაშვებაზე, დეველოპერების  გუნდებმა ერთობლივად უნდა განსაზვღონ თუ რას ნიშნავს „დასრულებული“. 

ყოველი ინკრემენტი არის დამატებებები ყველა წინა ინკრემენტისათვის და შესაბამისად გატესტილია, უზრუნველოფს რა რომ ყველა ინკრემენტები მუშაობს ერთად კარგად. 
როცა SCRUM-ის გუნდები იზრდება, მოსალოდნელია რომ მათი განსაზღვრებები „დასრულებული“-ასთან მიმართებაში შეიძლება გაფართოვდეს რომ მოიცვას მეტი მკაფიო კრიტერიუმები მაღალი ხარისხის უზრუნველსაყოფად. ახალმა განსაზღვრებებმა, რომელიც იქნება გამოყენებული, შეიძლება გამოავლინოს ჩასატარებელი სამუშაოები წინა „დასრულებული“ ინკრემენტებისთვის. ყოველ ცალკეულ პროდუქტს ან სისტემას უნდა ჰქონდეს განსაზღვრება „დასრულებული“-სა რაც იქნება სტანდარტი ყოველი სამუშაოსთვის რაც უნდა ჩატარდეს. 

Tuesday, February 6, 2018

მიზეზები თუ რატომ მუშაობს SCRUM მეთოდოლოგია




შესავალი

თუ ვინმე გკითხავთ "რატომ უნდა შეიწუხოს ვინმემ თავი SCRUM-ის გამოყენებით? როგორ უპასუხებთ? ასეთი კითხვა ყველა ადამიანს შეიძლება გაუჩნდეს, მათ შორის მეც არ ვარ გამონაკლისი და ჩემი პირველივე შეხება ამ მეთოდოლოგიასთან ლოგიკურად ამ კითხვით დაიწყოს.  SCRUM-ი არის ძალია მარტივი ფრეიმვორკი(ჩარჩო, პრინციპების კრებული) გასაგებად, მაგრამ ძალიან რთულია დასანერგად. ეს არ არის იმის გამი რომ მისი პრაქტიკაში გამოყენება მოითხოვს სპეციალურ სწავლის შესაძლებლობებს  ან წლობით გამოცდიელებას, არამედ იმიტომ რომ ბიზნესს გააჩნია სხვადასხვა ტიპის ემოციური, იდეოლოგიური და რეალური სამყაროს გამოწვევები, რომელსაც ის აწყდება ყოველდღე. ჩემს გამოცდილებაში როგორც SCRUM MASTER-ი, გუნდის ლიდერი და პროგრამული უზრუნველყოფის ინჟინერი, კითხვა "რატომ?" დასმულა ბიზნესის ყოველ დონეზე ამა თუ იმ ფორმით. ეს იმიტომ ხდება რომ SCRUM-ი არის ფიქრის და აზროვნების ახალი გზა. იგი საჭიროებს ცვლილებებს პროექტების მენეჯმენტში, და შესაბამისად ყველა აზრიან ადამიანს აინტერესებს გაიგოს ღირს თუ არა ეს ცვლილებები ამად და ღირს თუ არა ძველი წეს-ჩვეულების შეცვლა. ამ კითხვებზე პასუხის გაცემა დაგვეხმარება გავიგოთ თუ რატომ არის ღირებული ეს პრაქტიკები თქვენი პროექტებისთვის. იმის გასარკვევად თუ რამდენად მნიშვნელოვანია გავცეთ პასუხი კითხვას "რატომ?" მე მოვაქციე ჩემი მრავალწლიანი გამოცდილება და მრავალ თვიანი კვლევის შედეგები ერთ სახელმძღვანელოში, რომელსაც ქვემოთ შემოგთავაზებთ.


ეს მცირე სახელმძღვანელო შეიძლება გამოყენებული იქნეს იმისათვის,  რომ რეზიუმირება გავუკეთოთ, სწრაფად დავამუღამოთ და რაც ყველაზე მნიშვნელოვანია, გავცეთ პასუხი იმ ადამიანებისთვის ვისაც უნდა რომ მათი პროექტები უფრო ეფექტურად განხორციელდეს, მაგრამ არ იციან რატომ არის SCRUM-ი ამისათვის სწორი არჩევანი.





10 მიზეზი, რატომაც AGILE პრინციპები მუშაობს


ძველი გამოცდილება და SCRUM-თან კავშირი



AGILE-მდე, WATERFALL მოდელი იყო ინდუსტრიის სტანდარტული მეთოდი software development-ში. Waterfall-ი შედგება შემდეგი ფაზებისგან:
ანალიზი, დიზაინი, იმპლემენტაცია, ტესტირება და თვალყურის დევნება(მეინთენანსი). ეს ნაბიჯები ართულებდა ცვლილების პროცესს და აიძულებდა ბიზნესებს დალოდებოდნენ ყველა აღნიშნული ნაბიჯის დასრულებას სანამ პროდუქტი დასრულდებოდა. ამასთან ინვესტიციის შედეგი არ დადგებოდა სანამ ბოლოში არ გავიდოდა პროექტი. AGILE არის აზროვნების-ფიქრის ალტერნატიული გზა. ეს არის ქოლგა სახელწოდება მეთოდების წყებისთვის, რომლებიც იზიარებენ ისეთი პრინციპების კონას, როგორც არის მუშაობა იტერაციებში(იტერაცია არის როგორც წესი პერიოდი ერთიდან 4 კვირამდე) რათა მიაწოდოს მუშა პროგრამა ადრეულ ფაზაში და მოძებნოს მარტივი გადაწყვეტილებები კომპლექსური პრობლემებისთვის. SCRUM- არის AGILE ფრეიმვორკი(სტრუქტურა, ჩარჩო). სხვა მაგალითები AGILE მეთოდებისა არიან XP, DSDM კრისტალი და FDD.



SCRUM-ი შედგება 3 AGILE პრინციპისგან: გამჭვირვალეობა(გაკეთებულია ნიშნავს გაკეთებულია), ინსპექტირება(შემოწმება პროექტის ყველა ფაზაზე) და ადაპტაცია(ცვლილებების სწრაფად განხორციელება). გამჭვირვალეობა ნიშნავს რომ მთელი გუნდი ენდობა ერთმანეთს და არიან სამართლიანები ამოცანების დასრულებასთან დაკავშირებით. ინსპექტირება ნიშნავს რომ გუნდის წევრები აფასებენ საკუთარ პროგრესს ყოველდღე  და ადაპტაცია ნიშნავს რომ გუნდის წევრები ახორციელებენ ცვლილებებს უკეთესი შედეგისთვის, ჩატარებული ინსპექტირებაზე დაფუძნებით. პროდუქტის მფლობელი(PRODUCT OWNER) ქმნის backlog-ს, რომელიც შედგება პროდუქტის ფუნქციებისგან. ყოველი იტერაცია(სპრინტი), არის გუნდის მიერ არჩეული ფუნქციების კრებული, რომელზეც ეს გუნდი მუშაობს სპრინტის ფარგლებში და აბარებს პოტენციურად გაშვებად პროდუქტის დამატებას(increment).


მიზეზები

1.ინვესტიციაზე ადრეული ამონაგები: მოკლე იტერაციებში მუშაობა ნიშნავს რომ ინვესტიციაზე ამოგება მალევე ხდება შესაძლებელი.

2. ბაზრის მოთხოვნებს პასუხობს: ბიზნესს შეუძლია შეცვალოს მოთხოვნები ყოველი იტერაციის შემდეგ და პასუხი გასცეს ბაზრის გამოწვევებს, რაც დღევანდელ ცვალებად გარემოში ერთ-ერთი მნიშვნელოვანი ფაქტორია წარმატებისთვის.

3.ადრეული ტესტირება: ყველა პროექტში ჩართულ პიროვნებას  შეუძლია ნახოს მუშა პროგრამა მუშაობაში, სანამ ის გაეშვება LIVE-ში. ეს ნიშნავს რომ ადრეულ ტესტირებას ბიზნესის და  საბოლოო მომხმარებლის მხრიდან.

4.პროდუქტი მოლოდინებს ამართლებს: AGILE-ი ცალსახად აახლოვებს დეველოპერების გუნდს და  საბოლოო მომხმარებელს, ისე რომ რაც კეთდება დეველოპერების მიერ თანხვედრაში მოდის საბოლოო მომხმარებლის მოლოდინებთან.

5. პროდუქტი აკორექტირებს მოლოდინებს: თუ რამე ვერ ესწრება გაშვებისთვის ან ისე არ გაკეთდა როგორი მოლოდინიც არსებობდა, ყველას ეცოდინება ამის შესახებ ადრეულ ეტაპზევე, ვინც დაინტერესებულია ამით.
6. ძლიერი, მოტივირებული გუნდი: სანდოობა დევს AGILE მეთოდების საძირკველში. ეს ამოტივირებს ყველა ჩართულ ადამიანს და ქმნის ძლიერ გუნდებს.
7.  მაღალი ეფექტურობის გუნდები: AGILE პრინციპების გამოყენება ნიშნავს სწრაფ კომუნიკაციას. ის ასევე ფორმირებას ახდენს უფრო ეფექტური გუნდებისა, კოორდინაციული და კოლოკაციური სახის შეხვედრების მეშვეობით. არანაირ ტექნოლოგიას არ ძალუძს შეცვალოს ასეთი ადამიანური ინტერაქცია.
8. მუშა პროგრამა ადრეულ ფაზაში: არ არის იმაზე უფრო მნიშვნელოვანი რამ, ვიდრე ნახო პროდუქტის ნაწილის დასრულება. AGILE პრაქტიკები უზრულველყოფს ამას ყოველი იტერაციის დროს.
9. გუნდები დროთა განმავლობაში უმჯობესდება: მუდმივი გაუმჯობესება ნიშნავს რომ ტექნიკურ იდეალობაზე ფოკუსირება  და კარგი დიზაინი არის კონსტანტა.
10. მარტივი მაგრამ ეფექტური: AGILE გუნდები ანაწევრებენ პრობლემებს უმარტივესი მეთოდების გამოყენებით, უზოგავენ რა ამით საკუთარ თავსაც და ბიზნესსაც დროს და ფულს.
11. ანგარიშვალდებული გუნდი უფრო დიდი ალბათობით  ჩააბარებს პროექტს: სხვა მეთოდებისგან განსხვავებით, ადამიანები ვინც მუშაობენ პროექტზე  პასუხისმგებლები არიან პროექტის ჩაბარებაზე(გაშვებაზე) ( განსხვავებით პროექტის მენეჯერისგან). ეს ქმნის გადაუდებელი საქმეების უფრო   ბუნებრივ აღქმას.




5 მიზეზი თუ რატომ მუშაობს SCTUM MASTER-ის როლი.


ბექგრაუნდი


scrum master -ი არის ადგილობრივი scrum-ის ექსპერტი, მწვრთნელი და მენტორი ყველა პროექტში ჩართული ადამიანისთვის. scrum master-ისთვის მნიშვნელოვანია რომ ბოლომდე ესმოდეს SCRUM-ის წესების შესახებ და დარწმუნებული უნდა იყოს რომ ფრეიმვორკი(სტრუქტურა) ხორციელდება ამ წესების შესაბამისად. scrum master-ი ასევე პასუხისმგებელია ყველა შემაფერხებელი საკითხის მოგვარება-მოშორებაზე პროექტის ჩასაბარებლად.

მიზეზები
1. მომაგრებული ბულდოზერი: სხვა ფრეიმვორკებისგან განსხვავებით, აღნიშნული როლი ერთ ადამიანს აფოკუსირებს შემაფერხებელი ფაქტორების მოშორებაზე. ეს ნიშნავს რომ გუნდი კონცენტრირებულია სამუშაოს შესრულებაზე.

2. მომაგრებული მწვრთნელი: ეს როლი აძლევს ერთ ადამიანს შესაძლებლობას რომ იყოს სხვების მწვრთნელი. არავის შეუძლია ჩამოაშოროს და გადასცეს ეს უფლება სხვას. შესაბამისად ერთი პიროვნება არის ფოკუსირებული ორგანიზაციის  ყველა წევრის დახმარებაზე, რათა მათ შეძლონ ფრეიმვორკის გაგება სწორად.
3.მიუკერძოებლობა: scrum master-ს შეუძლია იყოს ძალიან სასარგებლო გუნდისთვის, როგორც პროდუქტის მფლობელი(ნახეთ ქვემოთ) მხარეების არჩევის გარეშე. ანუ ის არ ხდება მოსამართლე გუნდს შორის არსებული უთანხმოებისა ან ჩაუბარებლობის შემთხვევაში. ერთადერთი ფოკუსი რაზეც უნდა მოახდინოს SCRUM MASTER-მა - დარწმუნდეს რომ ფრეიმვორკი და პროექტი არის წარმატებული. ამას შეუძლია  დახმარება პრობლემების გადაწყვეტაში და ნდობის მოპოვებაში.
4. პასუხისმგებლობა ფრეიმვორკზე(სტრუქტურაზე, ჩარჩოზე) და არა ჩაბარებაზე: ეს არის თითქმის შებრუნებული ფსიქოლოგია. scrum masters- ზრუნავს  მხოლოდ იმაზე რომ დარწმუნდეს  ფრეიმვორკი(სტრუქტურა) სწორედ ისე ხორციელდება, როგორც ამას SCRUM-ის წესები ამბობს. პასუხისმგებლობა გაიმიჯნება ამ შემთხვევაში და ის არ არის პასუხისმგებელი პრეოქტის ჩაბარებაზე, არამედ მხოლოდ იმაზე რომ სტრუქტურა სწორად განხორციელდეს.  ეს ნიშნავს იმას, რომ მას შეუძლია კონცენტრირდეს იმაზე  რომ წესები რომლებსაც მისდევს გუნდი, სწორად ხორციელდება, რაც მეორეს მხრივ ქმნის კარგად გაზეთილ მანქანას და უზრუნველყოფს მუშაობის პროცესის სწორად წარმართვას. თუ SCRUM MASTER-ის საქმე გაკეთებულია და ყველა SCRUM-ის გუნდის წევრი ასრულებს საკუთარ როლს სწორად, მაშინ დეველოპმენტის გუნდს შეუძლია პროექტის ჩაბარება.

5. არ არსებობს კონტროლის მექანიზმი, რომელიც შეიძლება ჩავარდეს: იქიდან გამომდინარე, რომ scrum master-ი არ აკონტროლებს გუნდს, და კონტროლის არარსებობა არ ტოვებს გუნდს გაუგებრობაში. scrum master-ი აწესებს სისტემას რომელსაც ყველამ უნდა მისდიოს მისი არყოფნის დროსაც კი.



5 მიზეზი თუ რატომ მუშაობს პროდუქტის მფლობელის როლი

ბექგრაუნდი

პროდუქტის მფლობელი ბიზნესის ამოცანებს თარგმნის  მოთხოვნებში გუნდისთვის, BACKLOG-ის ფორმის სახით. ყოველი პუნქტი ბექლოგში არის პროდუქტის ფუნქციის აღწერა. პროდუქტის მფლობელი პასუხისმგებელია ინვესტიციაზე მაქსიმალურ ამონაგების უზრუნველყოფაში ბიზნესისთვის, მართავს პროდუქტის ბექლოგს და ანიჭებს პრიორიტეტებს ამ პუნქტებს დეველოპერების გუნდისთვის.

მიზეზები

1. დროის მაქსიმიზირება ბიზნესისთვის ინვესტიციის ამოღების თვალსაზრისით: პროდუქტის მფლობელი არ არის პასუხისმგებელი პროქტის ჩაბარებაზე ან თვალყურის დევნებაზე, არამედ მხოლოდ პრიორიტეტების მინიჭებაზე და ფუნქციონალის მართვაზე ბექლოგში. ეს მაღალ დონეზე ფოკუსისების საშუალებას იძლევა.

2. მოთხოვნების მომაგებული წყარო: არ არის მის გარდა სხვა ვინმე ორგანიზაციაში, ვისთანაც შეიძლება კონსულტირება გაიაროს გუნდმა პროდუქტის მოთხოვნებთან დაკავშირებით.  ბიზნესის მფლობელების მოთხოვნები  მიედინება პროდუქტის მფლობელის მეშვეობით.
3. ერთი ადამიანია პასუხისმგებელი მოთხოვნების ცვლილებაზე: თუ ბიზნესის სურათი იცვლება, მხოლოდ ერთი ადამიანი არის პასუხისმგებელი რომ დაიჭიროს აღნიშნული ცვლილებები და განაახლოს იგი მოთხოვნებში.
4. აღწევს საუკეთესო კომპრომისს: მთავარი ბიზნესის მფლობელებიც კი უნდა ენდობოდნენ პროდუქტის მფლობელს საბოლოო გადაწყვეტილების მიღებაში. ეს ათანაბრებს ბიზნესს და დეველოპმენტის გუნდს და უზრუნველყოფს შესაბამისი კომპრომისების მიღებას პროდუქტის სასარგებლოდ.

5. თანხვედრაში მოჰყავს კლიენტი და გუნდი, ყოველდღე: ეს როლი არის შუამავალი ბიზნესსა და გუნდს შორის. მისი ყოფნა SCRUM_ის ყველა შეხვედრაზე ნიშნავს რომ გუნდი ყოველთვის მუშაობს ბოლო ინფორმაციაზე დაყრდნობით.



5 მიზეზი თუ რატომ მუშაობს დეველოპერების გუნდის წევრის როლი

ბექგრაუნდი


SCTUM-ის დეველოპერების გუნდი არის კროს ფუნქციური(შედგება ბევრი უნარის  მქონე ერთად მომუშავე ადამიანებისგან) და თვით-ორგანიზებადი(საკუთარ თავს უწევენ ორგანიზებას რომ მიაღწიონ პროექტის მიზანს) ადამიანებისგან. გუნდი შედგება ექსპერტებისგან, რომელთან ექსპერტობაც ნდობით არის აღჭურვილი რომ მათ შეუძლიათ პროექტის ჩაბარება. SCRUM-ის გუნდი იდეალურ შემთხვევაში შედგება 5 დან 9 ადამიანამდე, რაც  უზრუნველყობს მათი მოქნილობას, კომუნიკაბლურობას და პროდუქტიულობას.


მიზეზები
1. მიმაგებული ექსპერტების გუნდი: განსაკუთრებით გუნდისთვის ექსპერტობის მნიშვნელობის მინიჭება, ნიშნავს იმას რომ SCRUM-ის გუნდი არის შეკრებილი რომ გადაწყვიტოს პრობლემები თვითონ. ეს ათავისუფლებს სხვა როლებს  სხვა საქმეებისგან და შესაძლებლობას აძევს მათ, რომ ფოკუსირდნენ საკუთარ ექსპერტულ არეზე.


2. მოქნილები ბიზნესის ამოცანების მიმართ: SCRUM-ის გუნდი ადაპტირდება მოცემული სიტუაციის მიხედვით რომ პროდუქტის ცალკეული ფუნქციის ან ნაწილის ჩაბარება მოხდეს. ყველა გადაწყვეტილება უნდა იყოს დაკავშირებული ბიზნესის ამოცანებთან. ეს სამაგიეროდ აძლევს ბიძნესს მოკლევადიან და გრძელვადიან მოქნილობას და ამცირებს დახარჯულ ძალისხმევას სამიზნე ძალისხმევის სასარგებლოდ.


3.  მოქნილობა და ხარჯების ეფექტურობა: პატარა ზომა კომბინაციაში ექსპერტიზის მაღალ დონესთან ნიშნავს რომ საქმე კეთდება მაღალი სტანდარტით და მინიმალური ტექნიკური კომუნიკაციის მეშვეობით.

4.  ნაკლები მენეჯმენტია საჭირო: გუნდები ორგანიზებას საკუთარ თავს უწევენ. ეს ნიშნავს რომ ყველა სხვა დანარჩენი შეუძლია კონცენტრირებული იყოს საკუთარ როლზე.

5. მაღალი მასშტაბირების უნარი მოცემული რესურსის დროს: დიდი გუნდები შეიძლება იყვნენ დაყოფილი და ორგანიზებული რეგულარული შეხვედრების დროს, რომელსაც ჰქვია SCRUM_ის SCRUM-ები. ყველა გუნდს ჰყავს საკუთარი SCRUM MASTER-ი, რომელიც უზრუნველყოფს მათ კოორდინაციას. ფრთხილად იყავით - როცა ორი ან მეტი გუნდი მუშაობს ერთიდაიგივე კოდზე, გუნდმა უნდა გადაწყვიტოს შესაძლებელია თუ არა  ასეთ რამეს ჰქონდეს ადგილი.


სულ ეს იყო, პასუხი თქვენს კითხვაზე "რატომ", თუ ამ კითხვაზე თქვენ მიიღეთ ამომწურავი პასუხი, მაშინ შეგიძლიათ დანერგოთ თქვენს ორგანიზაციაში SCRUM მეთოდოლოგია.