พื้นฐานกิจกรรม Six Sigma ถูกจับกุมโดยย่อDMAICซึ่งย่อมาจาก: กำหนด, วัด, วิเคราะห์, การปรับปรุงการควบคุม คุณใช้สิ่งเหล่านี้กับกระบวนการที่คุณต้องการปรับปรุง: กำหนดกระบวนการวัดใช้การวัดเพื่อกำหนดสมมติฐานเกี่ยวกับสาเหตุของปัญหาใด ๆ ดำเนินการปรับปรุงและทำให้มั่นใจว่ากระบวนการยังคงอยู่ใน "สถิติ"
กระบวนการเกี่ยวข้องกับวงจรการพัฒนาซอฟต์แวร์ของคุณ (SDLC) หรือบางส่วน คุณอาจจะไม่พยายามใช้หลักการ Six Sigma กับ SDLC ทั้งหมด (หรืออย่างน้อยก็ไม่ใช่ตอนเริ่มต้น) แต่คุณจะมองหาพื้นที่ที่คุณคิดว่าคุณมีปัญหา (เช่นอัตราข้อบกพร่องของเราสูงเกินไปการถดถอยมากเกินไปกำหนดการของเราลื่นบ่อยเกินไปความเข้าใจผิดระหว่างนักพัฒนาและลูกค้ามากเกินไป) สมมติว่าตอนนี้ปัญหาคือมีการผลิตข้อบกพร่องมากเกินไป (หรือรายงานอย่างน้อยที่สุด) ในแต่ละสัปดาห์ ดังนั้นคุณจะต้องกำหนดกระบวนการพัฒนาซอฟต์แวร์ / การสร้างข้อบกพร่อง จากนั้นคุณจะเริ่มรวบรวมตัวชี้วัดเช่นจำนวนบรรทัดของโค้ดที่เขียนในแต่ละวันความถี่ของการเปลี่ยนแปลงข้อกำหนดจำนวนชั่วโมงที่วิศวกรใช้ในการประชุม
ถัดไปคุณดูที่ข้อมูลและพยายามแยกแยะรูปแบบ บางทีคุณอาจสังเกตเห็นว่าทีมวิศวกรรม A เข้าเส้นตายทุกครั้งที่ได้รับและมักจะทำงานให้เสร็จก่อน! ในขั้นต้นทีม B ดูเหมือนจะไม่ค่อยอยู่บนลูกบอล - พวกเขาพลาดกำหนดส่งภายในหนึ่งหรือสองวันครึ่งอย่างน้อยครึ่งหนึ่งและบางครั้งก็ล่าช้าประมาณหนึ่งสัปดาห์หรือมากกว่า ผู้บริหารมองว่าทีม B เป็นปัญหาและกำลังมองหาที่จะจับจ่าย อย่างไรก็ตามข้อมูลที่ใกล้ชิดแสดงให้เห็นว่าอัตราการบั๊กของทีม B นั้นต่ำกว่าทีม A และยิ่งไปกว่านั้นทีม B มักถูกขอให้แก้ไขข้อบกพร่องที่เป็นของทีม A เนื่องจากฝ่ายบริหารรู้สึกว่าทีม A นั้นมีค่ามาก ของเวลาในการบำรุงรักษา
แล้วคุณจะทำอย่างไร? เมื่อใช้ข้อมูลที่คุณรวบรวมและการวิเคราะห์ที่คุณทำคุณแนะนำให้เปลี่ยนแปลง: ทีม A และทีม B จะแก้ไขข้อบกพร่องของตนเอง ด้วยการให้พรของฝ่ายบริหาร (และต่อต้านฝ่ายค้านที่โกรธแค้นของทีม A) คุณทำให้เกิดการเปลี่ยนแปลงนั้น จากนั้นคุณก็ทำการรวบรวมตัวชี้วัดต่อไปและทำการวิเคราะห์ข้อมูลเพื่อดูว่าการเปลี่ยนแปลงของคุณสร้างความแตกต่างหรือไม่ ทำซ้ำวัด / วิเคราะห์ / ใช้วัฏจักรนี้ซ้ำจนกว่าอัตราบั๊กจะยอมรับได้ แต่คุณยังไม่ได้ทำ ในความเป็นจริงคุณไม่เคยทำ ... คุณจำเป็นต้องวัดอัตราบั๊กและตรวจสอบว่าอัตราบั๊กยังคงอยู่ในช่วงที่ยอมรับได้นั่นคือสถิติ "อยู่ในการควบคุม"
โปรดสังเกตว่าไม่มีสิ่งใดที่เฉพาะเจาะจงสำหรับการพัฒนาซอฟต์แวร์นอกเหนือไปจากกระบวนการเฉพาะที่คุณกำลังปรับปรุงประเภทของการวัดที่คุณรวบรวม ฯลฯ กิจกรรมที่คุณใช้เพื่อปรับปรุงกระบวนการพัฒนาซอฟต์แวร์นั้นเหมือนกับกิจกรรมของคุณ ใช้สำหรับกระบวนการผลิตวิดเจ็ตแม้ว่าการพัฒนาซอฟต์แวร์จะค่อนข้างแตกต่างจากการผลิตวิดเจ็ต นั่นหมายความว่าคุณจำเป็นต้องใช้สามัญสำนึกบางอย่างในประเภทของเป้าหมายที่คุณตั้งไว้สำหรับกระบวนการของคุณ