Agile Data Science - แนวคิดระเบียบวิธี
ในบทนี้เราจะมุ่งเน้นไปที่แนวคิดของวงจรชีวิตของการพัฒนาซอฟต์แวร์ที่เรียกว่า“ agile” วิธีการพัฒนาซอฟต์แวร์ Agile ช่วยในการสร้างซอฟต์แวร์ผ่านการเพิ่มเซสชันในการทำซ้ำสั้น ๆ 1 ถึง 4 สัปดาห์เพื่อให้การพัฒนาสอดคล้องกับความต้องการทางธุรกิจที่เปลี่ยนแปลงไป
มีหลักการ 12 ประการที่อธิบายถึงวิธีการแบบ Agile โดยละเอียด -
ความพึงพอใจของลูกค้า
ลำดับความสำคัญสูงสุดจะมอบให้กับลูกค้าโดยมุ่งเน้นไปที่ข้อกำหนดผ่านการส่งมอบซอฟต์แวร์ที่มีคุณค่าอย่างต่อเนื่องและรวดเร็ว
ต้อนรับการเปลี่ยนแปลงใหม่
การเปลี่ยนแปลงเป็นสิ่งที่ยอมรับได้ในระหว่างการพัฒนาซอฟต์แวร์ กระบวนการ Agile ได้รับการออกแบบมาเพื่อทำงานเพื่อให้ตรงกับความได้เปรียบในการแข่งขันของลูกค้า
จัดส่ง
การส่งมอบซอฟต์แวร์ที่ใช้งานได้จะมอบให้กับลูกค้าภายในช่วงหนึ่งถึงสี่สัปดาห์
การทำงานร่วมกัน
นักวิเคราะห์ธุรกิจนักวิเคราะห์คุณภาพและนักพัฒนาต้องทำงานร่วมกันตลอดวงจรชีวิตของโครงการ
แรงจูงใจ
โครงการควรได้รับการออกแบบโดยกลุ่มบุคคลที่มีแรงจูงใจ จัดเตรียมสภาพแวดล้อมเพื่อสนับสนุนสมาชิกในทีมแต่ละคน
การสนทนาส่วนตัว
การสนทนาแบบเห็นหน้าเป็นวิธีการส่งข้อมูลไปยังและภายในทีมพัฒนาที่มีประสิทธิภาพและประสิทธิผลสูงสุด
การวัดความคืบหน้า
การวัดความคืบหน้าเป็นกุญแจสำคัญที่ช่วยในการกำหนดความคืบหน้าของโครงการและการพัฒนาซอฟต์แวร์
การรักษาก้าวอย่างต่อเนื่อง
กระบวนการที่คล่องตัวมุ่งเน้นไปที่การพัฒนาที่ยั่งยืน ธุรกิจนักพัฒนาและผู้ใช้งานควรสามารถรักษาความก้าวหน้าของโครงการได้อย่างต่อเนื่อง
การตรวจสอบ
จำเป็นต้องรักษาความเอาใจใส่อย่างสม่ำเสมอต่อความเป็นเลิศทางเทคนิคและการออกแบบที่ดีเพื่อเพิ่มฟังก์ชันการทำงานที่คล่องตัว
ความเรียบง่าย
กระบวนการ Agile ทำให้ทุกอย่างเรียบง่ายและใช้คำศัพท์ง่ายๆในการวัดผลงานที่ยังไม่เสร็จสมบูรณ์
เงื่อนไขที่จัดขึ้นเอง
ทีมที่มีความคล่องตัวควรมีการจัดระเบียบตนเองและควรเป็นอิสระด้วยสถาปัตยกรรมที่ดีที่สุด ข้อกำหนดและการออกแบบเกิดจากทีมที่จัดขึ้นเอง
ตรวจทานงาน
สิ่งสำคัญคือต้องทบทวนงานในช่วงเวลาปกติเพื่อให้ทีมสามารถไตร่ตรองว่างานกำลังดำเนินไปอย่างไร การตรวจสอบโมดูลตามเวลาที่เหมาะสมจะช่วยเพิ่มประสิทธิภาพ
ยืนขึ้นทุกวัน
การยืนประจำวันหมายถึงการประชุมสถานะประจำวันระหว่างสมาชิกในทีม มีการอัปเดตที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ นอกจากนี้ยังหมายถึงการแก้ไขปัญหาอุปสรรคของการพัฒนาโครงการ
การยืนประจำวันเป็นแนวทางปฏิบัติที่จำเป็นไม่ว่าจะจัดตั้งทีม Agile โดยไม่คำนึงถึงที่ตั้งสำนักงาน
รายการคุณสมบัติของการยืนประจำวันมีดังนี้ -
ระยะเวลาของการนัดพบประจำวันควรอยู่ที่ประมาณ 15 นาที ไม่ควรขยายเป็นระยะเวลานานกว่านี้
การยืนขึ้นควรรวมถึงการอภิปรายเกี่ยวกับการอัปเดตสถานะ
ผู้เข้าร่วมการประชุมนี้มักจะยืนด้วยความตั้งใจที่จะจบการประชุมโดยเร็ว
เรื่องราวของผู้ใช้
โดยปกติเรื่องราวเป็นข้อกำหนดซึ่งกำหนดเป็นประโยคไม่กี่ประโยคในภาษาง่ายๆและควรเสร็จสิ้นภายในการวนซ้ำ เรื่องราวของผู้ใช้ควรมีลักษณะดังต่อไปนี้ -
รหัสที่เกี่ยวข้องทั้งหมดควรมีการเช็คอินที่เกี่ยวข้อง
กรณีทดสอบหน่วยสำหรับการทำซ้ำที่ระบุ
ควรกำหนดกรณีการทดสอบการยอมรับทั้งหมด
การยอมรับจากเจ้าของผลิตภัณฑ์ในขณะที่กำหนดเรื่องราว
Scrum คืออะไร?
การต่อสู้ถือได้ว่าเป็นส่วนหนึ่งของวิธีการแบบเปรียว เป็นกระบวนการที่มีน้ำหนักเบาและมีคุณสมบัติดังต่อไปนี้ -
เป็นกรอบกระบวนการซึ่งรวมถึงชุดของการปฏิบัติที่ต้องปฏิบัติตามลำดับที่สอดคล้องกัน ภาพประกอบที่ดีที่สุดของ Scrum คือการทำซ้ำหรือการวิ่ง
เป็นกระบวนการที่“ น้ำหนักเบา” หมายความว่ากระบวนการจะถูกทำให้เล็กที่สุดเพื่อเพิ่มผลผลิตให้ได้สูงสุดในระยะเวลาที่กำหนด
กระบวนการต่อสู้เป็นที่รู้จักสำหรับกระบวนการที่แตกต่างเมื่อเปรียบเทียบกับวิธีการอื่น ๆ ของวิธีการแบบ Agile แบบดั้งเดิม แบ่งออกเป็นสามประเภทดังต่อไปนี้ -
Roles
Artifacts
กล่องเวลา
บทบาทกำหนดสมาชิกในทีมและบทบาทของพวกเขาที่รวมอยู่ในกระบวนการ ทีม Scrum ประกอบด้วยสามบทบาทดังต่อไปนี้ -
ต่อสู้มาสเตอร์
เจ้าของผลิตภัณฑ์
Team
สิ่งประดิษฐ์ Scrum ให้ข้อมูลสำคัญที่สมาชิกแต่ละคนควรทราบ ข้อมูลประกอบด้วยรายละเอียดของผลิตภัณฑ์กิจกรรมที่วางแผนไว้และกิจกรรมที่เสร็จสมบูรณ์ สิ่งประดิษฐ์ที่กำหนดไว้ใน Scrum framework มีดังต่อไปนี้ -
สินค้าค้างส่ง
Sprint ค้าง
เบิร์นลงแผนภูมิ
Increment
ไทม์บ็อกซ์คือเรื่องราวของผู้ใช้ที่วางแผนไว้สำหรับการวนซ้ำแต่ละครั้ง เรื่องราวของผู้ใช้เหล่านี้ช่วยในการอธิบายคุณลักษณะของผลิตภัณฑ์ซึ่งเป็นส่วนหนึ่งของสิ่งประดิษฐ์ Scrum สินค้าค้างส่งคือรายการเรื่องราวของผู้ใช้ เรื่องราวของผู้ใช้เหล่านี้ได้รับการจัดลำดับความสำคัญและส่งต่อไปยังการประชุมผู้ใช้เพื่อตัดสินใจว่าควรรับเรื่องใด
ทำไมต้อง Scrum Master
Scrum Master โต้ตอบกับสมาชิกทุกคนในทีม ตอนนี้ให้เราเห็นปฏิสัมพันธ์ของ Scrum Master กับทีมและทรัพยากรอื่น ๆ
เจ้าของผลิตภัณฑ์
Scrum Master โต้ตอบกับเจ้าของผลิตภัณฑ์ด้วยวิธีต่อไปนี้ -
ค้นหาเทคนิคเพื่อให้ได้เรื่องราวที่ค้างอยู่ของผลิตภัณฑ์ที่มีประสิทธิภาพและจัดการ
ช่วยให้ทีมเข้าใจความต้องการของสินค้าค้างส่งที่ชัดเจนและรัดกุม
การวางแผนผลิตภัณฑ์ที่มีสภาพแวดล้อมเฉพาะ
สร้างความมั่นใจว่าเจ้าของผลิตภัณฑ์รู้วิธีเพิ่มมูลค่าของผลิตภัณฑ์
การอำนวยความสะดวกในเหตุการณ์ Scrum ตามและเมื่อจำเป็น
ทีมต่อสู้
Scrum Master โต้ตอบกับทีมได้หลายวิธี -
การฝึกสอนองค์กรในการนำ Scrum มาใช้
การวางแผนการนำ Scrum ไปใช้กับองค์กรเฉพาะ
ช่วยให้พนักงานและผู้มีส่วนได้ส่วนเสียเข้าใจข้อกำหนดและขั้นตอนของการพัฒนาผลิตภัณฑ์
ทำงานร่วมกับ Scrum Masters ของทีมอื่น ๆ เพื่อเพิ่มประสิทธิภาพของการใช้ Scrum ของทีมที่ระบุ
องค์กร
Scrum Master โต้ตอบกับองค์กรได้หลายวิธี มีการระบุไว้ด้านล่าง -
ทีมฝึกสอนและต่อสู้มีปฏิสัมพันธ์กับองค์กรตนเองและรวมถึงคุณลักษณะของการทำงานข้ามกัน
การฝึกสอนองค์กรและทีมงานในพื้นที่ดังกล่าวซึ่งยังไม่ได้รับการยอมรับอย่างเต็มที่จาก Scrum หรือไม่ได้รับการยอมรับ
ประโยชน์ของ Scrum
Scrum ช่วยให้ลูกค้าสมาชิกในทีมและผู้มีส่วนได้ส่วนเสียทำงานร่วมกัน ซึ่งรวมถึงวิธีการตามไทม์บ็อกซ์และข้อเสนอแนะอย่างต่อเนื่องจากเจ้าของผลิตภัณฑ์เพื่อให้แน่ใจว่าผลิตภัณฑ์อยู่ในสภาพใช้งาน Scrum ให้ประโยชน์กับบทบาทต่างๆของโครงการ
ลูกค้า
การวิ่งหรือการทำซ้ำถือเป็นช่วงเวลาที่สั้นลงและเรื่องราวของผู้ใช้ได้รับการออกแบบตามลำดับความสำคัญและนำมาใช้ในการวางแผนการวิ่ง ช่วยให้มั่นใจได้ว่าการส่งมอบทุกครั้งความต้องการของลูกค้าจะบรรลุผล หากไม่เป็นเช่นนั้นข้อกำหนดจะถูกบันทึกไว้และมีการวางแผนและดำเนินการสำหรับการวิ่ง
องค์กร
การจัดองค์กรด้วยความช่วยเหลือจากผู้เชี่ยวชาญด้านการต่อสู้และการต่อสู้สามารถมุ่งเน้นไปที่ความพยายามที่จำเป็นสำหรับการพัฒนาเรื่องราวของผู้ใช้ซึ่งจะช่วยลดภาระงานและหลีกเลี่ยงการทำงานซ้ำหากมี นอกจากนี้ยังช่วยในการรักษาประสิทธิภาพที่เพิ่มขึ้นของทีมพัฒนาและความพึงพอใจของลูกค้า แนวทางนี้ยังช่วยในการเพิ่มศักยภาพของตลาด
ผู้จัดการผลิตภัณฑ์
ความรับผิดชอบหลักของผู้จัดการผลิตภัณฑ์คือการดูแลคุณภาพของผลิตภัณฑ์ ด้วยความช่วยเหลือของ Scrum Masters มันกลายเป็นเรื่องง่ายที่จะอำนวยความสะดวกในการทำงานรวบรวมคำตอบอย่างรวดเร็วและดูดซับการเปลี่ยนแปลงหากมี ผู้จัดการผลิตภัณฑ์ยังตรวจสอบว่าผลิตภัณฑ์ที่ออกแบบนั้นสอดคล้องกับความต้องการของลูกค้าในทุกการวิ่ง
ทีมพัฒนา
ด้วยลักษณะของไทม์บ็อกซ์และการรักษาระยะเวลาการวิ่งให้สั้นลงทีมพัฒนาจึงกระตือรือร้นที่จะเห็นว่างานได้รับการสะท้อนและส่งมอบอย่างเหมาะสม ผลิตภัณฑ์ที่ใช้งานได้จะเพิ่มขึ้นในแต่ละระดับหลังจากการทำซ้ำทุกครั้งหรือเรียกอีกอย่างว่า "sprint" เรื่องราวของผู้ใช้ที่ได้รับการออกแบบมาสำหรับการวิ่งทุกครั้งจะกลายมาเป็นลำดับความสำคัญของลูกค้าซึ่งเพิ่มมูลค่าให้กับการทำซ้ำ
สรุป
Scrum เป็นเฟรมเวิร์กที่มีประสิทธิภาพซึ่งคุณสามารถพัฒนาซอฟต์แวร์ในการทำงานเป็นทีมได้ ได้รับการออกแบบอย่างสมบูรณ์บนหลักการที่คล่องตัว ScrumMaster พร้อมให้ความช่วยเหลือและร่วมมือกับทีม Scrum ในทุกวิถีทาง เขาทำหน้าที่เหมือนผู้ฝึกสอนส่วนบุคคลที่ช่วยให้คุณยึดติดกับแผนการออกแบบและทำกิจกรรมทั้งหมดตามแผน อำนาจของ ScrumMaster ไม่ควรเกินกว่ากระบวนการ เขา / เธอควรมีความสามารถในการจัดการทุกสถานการณ์