Extreme Programming vs SCRUM | XP vs SCRUM
በሶፍትዌር ኢንደስትሪ ውስጥ ባለፉት አመታት ጥቅም ላይ የሚውሉ የተለያዩ የሶፍትዌር ማጎልበቻ ዘዴዎች እንደ ፏፏቴ ልማት ዘዴ፣ V-Model፣ RUP እና ሌሎች ጥቂት ሊኒያር፣ ተደጋጋሚ እና ጥምር የመስመር-መተላለፊያ ዘዴዎች አሉ። Agile model (ወይም ይበልጥ በትክክል፣ የስልት ቡድን) በባህላዊ የሶፍትዌር ማበልጸጊያ ዘዴዎች ውስጥ ያሉትን ድክመቶች ለመፍታት በአጊሌ ማኒፌስቶ የተዋወቀው የቅርብ ጊዜ የሶፍትዌር ልማት ሞዴል ነው።
Agile ዘዴዎች በድግግሞሽ እድገት ላይ የተመሰረቱ ናቸው እና የተጠቃሚዎችን አስተያየት እንደ ዋና መቆጣጠሪያ ዘዴ ይጠቀሙ።አጊል ከባህላዊ ዘዴዎች ይልቅ ሰዎችን ያማከለ አካሄድ ተብሎ ሊጠራ ይችላል። Agile ሞዴል ደንበኛው አንዳንድ ጥቅሞቹን ቀደም ብሎ እንዲገነዘብ ስርዓቱን በጣም ትንሽ እና ማስተዳደር ወደሚችሉ ንዑስ ክፍሎች በመከፋፈል የምርቱን የስራ ስሪት በጣም ቀደም ብሎ ያቀርባል። የ Agile የሙከራ ዑደት ጊዜ ከባህላዊ ዘዴዎች ጋር ሲነፃፀር በአንጻራዊነት አጭር ነው, ምክንያቱም ሙከራ ከልማት ጋር ትይዩ ነው. በእነዚህ ሁሉ ጥቅሞች ምክንያት, በአሁኑ ጊዜ ከባህላዊ ዘዴዎች ይልቅ Agile ዘዴዎች ይመረጣሉ. Scrum እና Extreme ፕሮግራሚንግ ሁለቱ በጣም ተወዳጅ የአጊል ዘዴዎች ልዩነቶች ናቸው።
SCRUM ምንድን ነው?
ከላይ እንደተገለፀው SCRUM ተጨማሪ እና ተደጋጋሚ የፕሮጀክት አስተዳደር ሂደት ነው፣ እሱም የአጊል ዘዴዎች ቤተሰብ ነው። SCRUM በእድገት ኡደት መጀመሪያ ላይ ለደንበኞች ተሳትፎ ከፍተኛ ቅድሚያ በመስጠት ላይ የተመሰረተ ነው። በተቻለ መጠን በደንበኛው መሞከርን አስቀድሞ እና ብዙ ጊዜ ማካተትን ይመክራል። የተረጋጋ ስሪት ሲገኝ በእያንዳንዱ ነጥብ ላይ ሙከራ ይደረጋል.የ SCRUM መሰረቱ ከፕሮጀክቱ መጀመሪያ ጀምሮ ሙከራን በመጀመር እና እስከ ፕሮጀክቱ መጨረሻ ድረስ በመቀጠል ላይ የተመሰረተ ነው።
የ SCRUM ቁልፍ እሴት "ጥራት የቡድኑ ኃላፊነት ነው" ነው፣ ይህም የሶፍትዌሩ ጥራት የጠቅላላ ቡድን (የሙከራ ቡድን ብቻ ሳይሆን) ኃላፊነት መሆኑን አፅንዖት ይሰጣል። ሌላው የ SCRUM አስፈላጊ ገጽታ ሶፍትዌሩን ወደ ትናንሽ ማቀናበር ወደሚችሉ ክፍሎች መከፋፈል እና ለደንበኛ በፍጥነት ማድረስ ነው። የሚሰራ ምርት ማድረስ በጣም አስፈላጊ ነው። ከዚያ ቡድኑ ሶፍትዌሩን ማሻሻል እና በእያንዳንዱ ዋና ደረጃ ላይ ያለማቋረጥ ማድረስ ይቀጥላል። ይህ የሚገኘው በጣም አጭር የመልቀቂያ ዑደቶች በመኖራቸው (ስፕሪንት ይባላሉ) እና በእያንዳንዱ ዑደቱ መጨረሻ ላይ ለማሻሻል ግብረመልስ በማግኘት ነው።
SCRUM ለልማት ቡድን ለስላሳ አሠራር በርካታ ቁልፍ ሚናዎችን ይገልጻል። እነሱም የምርት ባለቤት (ደንበኛውን የሚወክል እና የምርት መዝገብን የሚይዝ)፣ Scrum master (የቡድኑ አደራጅ እና አስተባባሪ ሆኖ የሚያገለግል የጭካኔ ስብሰባዎችን በማካሄድ፣ የSprint backlogን በመጠበቅ እና ገበታዎችን በማቃጠል) እና ሌሎች የቡድን አባላት ናቸው።አንድ ቡድን ባህላዊ ሚናዎችን ያቀፈ ሊሆን ይችላል፣ ግን በአብዛኛው እነሱ እራሳቸውን የሚያስተዳድሩ ቡድኖች ናቸው። ዋና የስክረም ቅርሶች የምርት መዝገብ/የልቀት መዝገብ (የምኞት ዝርዝር)፣ የSprint backlogs/የጉድለት መዝገብ (በእያንዳንዱ ድግግሞሽ ውስጥ ያሉ ተግባራት)፣ ገበታዎችን ማቃጠል (የቀረው የስራ ቀን ከቀን) ናቸው። ዋና የ SCRUM ሥነ-ሥርዓቶች የምርት የኋላ መዝገብ ስብሰባ፣ የSprint ስብሰባ እና የኋላ ታሪክ ስብሰባ ናቸው።
Extreme Programming ምንድን ነው?
Extreme Programming (በአህጽሮት ኤክስፒ) የአጊሌ ሞዴል የሆነ የሶፍትዌር ልማት ዘዴ ነው። እጅግ በጣም ትንሽ የሆነ ተከታታይ ደረጃዎች (ከባህላዊ ዘዴዎች ጋር ሲነጻጸር) ደረጃዎችን ያካሂዳል. አንድ ቀን ወይም አንድ ሳምንት ብቻ የሚፈጀው የመጀመሪያው ማለፊያ ሆን ተብሎ ያልተጠናቀቀ ነው። ሶፍትዌሩን ለማምረት ተጨባጭ ግቦችን ለማቅረብ አውቶማቲክ ሙከራዎች በጅማሬ ላይ ይፃፋሉ. ከዚያ ገንቢዎቹ ኮዲንግ ያደርጋሉ። ትኩረቱ ፕሮግራሚንግ እንደ ጥንድ አድርጎ መስራት ላይ ነው። አንዴ ሁሉም ፈተናዎች ካለፉ በኋላ ኮዱ እንደተጠናቀቀ ይቆጠራል። የሚቀጥለው ምዕራፍ ዲዛይን እና አርክቴክቸር ሲሆን ይህም ኮድን በተመሳሳዩ የፕሮግራም አውጪዎች ስብስብ እንደገና ማደስን ይመለከታል።በዚህ ደረጃ መጨረሻ ላይ ያልተሟላ (ነገር ግን ተግባራዊ) ምርት ለባለድርሻ አካላት ቀርቧል። ልክ ከዚህ በኋላ፣ ቀጣዩ ደረጃ (በቀጣዮቹ በጣም አስፈላጊ ባህሪያት ስብስብ ላይ የሚያተኩረው) ይጀምራል።
በExtreme Programming እና SCRUM መካከል ያለው ልዩነት ምንድን ነው?
እጅግ በጣም ፕሮግራሚንግ እና SCRUM በጣም ተመሳሳይ እና የተጣጣሙ ዘዴዎች ናቸው። ይሁን እንጂ በእነዚህ ሁለት ዘዴዎች መካከል ስውር ግን አስፈላጊ ልዩነቶች አሉ. የ SCRUM sprints ለ2-4 ሳምንታት የሚቆይ ሲሆን የተለመደው የ XP ድግግሞሾች ግን አጠር ያሉ ናቸው (ባለፉት 1-2 ሳምንታት)። ብዙውን ጊዜ፣ የ SCRUM ቡድኖች ወደ sprints ለውጦችን አይፈቅዱም፣ ነገር ግን የ XP ቡድኖች በድግግሞሽ ለውጦች ላይ ትንሽ ተለዋዋጭ ናቸው። ለምሳሌ፣ ከስፕሪንቱ እቅድ በኋላ፣ የዚያ sprint የንጥሎች ስብስብ ሳይለወጥ ይቆያል፣ ነገር ግን መስራት ያልጀመረ ባህሪ በማንኛውም ጊዜ በ XP ውስጥ ከሌላ ባህሪ ጋር ሊለዋወጥ ይችላል። በ XP እና በ SCRUM መካከል ያለው ሌላው ልዩነት በኤክስፒ ውስጥ የተገነቡ ባህሪያት ቅደም ተከተል በደንበኛው በጥብቅ ቅድሚያ የሚሰጠው ሲሆን የ SCRUM ቡድን ደግሞ የእቃዎችን ቅደም ተከተል ይወስናል (የምርት መዝገብ በ SCRUM ምርት ባለቤት ቅድሚያ ከተሰጠ በኋላ)።
እንደ XP ሳይሆን SCRUM ምንም የምህንድስና ልምዶችን አያስቀምጥም። ለምሳሌ ኤክስፒን የሚመራው በፈተና የሚመራ ልማት (TDD)፣ ጥንድ ፕሮግራሚንግ፣ refactoring፣ ወዘተ ባሉ ልምምዶች ነው።ነገር ግን አንዳንዶች እራሳቸውን በሚያደራጁ ቡድኖች ላይ የተግባር አሰራርን ማዘዝ አሉታዊ ተጽእኖ ሊያሳድር ይችላል ብለው ያምናሉ። የ XP ጉድለት። ሌላው የExtreme ፕሮግራሚንግ ጉድለት ደግሞ ልምድ የሌላቸው ቡድኖች ያለ ምንም አውቶሜትድ ሙከራዎች ወይም ቲዲዲ (ወይም በቀላሉ መጥለፍ) ወደ ተሃድሶ ሊሄዱ ይችላሉ። ስለዚህ አንዳንዶች SCRUM ለማፍጠጥ የተሻለ እንደሆነ ይጠቁማሉ (ትኩረት ባለው የሰዓት ሳጥን ድግግሞሾች ብቻ ትልቅ ማሻሻያዎችን ስለሚያመጣ) እና XP ከላይ የተጠቀሱትን ልምምዶች ዋጋ ላገኙ በትንሹ ለበሰሉ ቡድኖች ተስማሚ ነው (ስለተጠየቁ ከመጠቀም ይልቅ) ለማድረግ)።