ฉันจะใช้ Six Sigma ในสภาพแวดล้อมการพัฒนาซอฟต์แวร์ได้อย่างไร


14

ฉันเป็นผู้พัฒนา Java แต่ฉันถูกขอให้เรียนรู้เกี่ยวกับการใช้ Six Sigma กับเป้าหมายของการเพิ่มผลกำไรขององค์กรของเรา ฉันได้อ่านแล้วว่า Six Sigma สามารถใช้งานได้ในทุกสภาพแวดล้อม แต่ฉันสนใจในความแตกต่างของการประยุกต์ใช้กับการพัฒนาซอฟต์แวร์

แนวคิดใดของ Six Sigma ที่สามารถนำไปใช้กับสภาพแวดล้อมการพัฒนาซอฟต์แวร์และฉันจะนำไปใช้อย่างมีประสิทธิภาพได้อย่างไร

ความเข้าใจของฉันคือ Six Sigma มุ่งเน้นไปที่:

  • การระบุและลบสาเหตุของข้อบกพร่อง
  • ลดความแปรปรวนในการใช้กระบวนการผลิตหรือธุรกิจ

ฉันคิดว่าแนวคิดเหล่านี้สามารถนำไปใช้กับการพัฒนาซอฟต์แวร์ แต่สามารถนำไปใช้กับการพัฒนาซอฟต์แวร์ระยะเวลา (SDLC) ได้อย่างมีประสิทธิภาพหรือไม่


11
คุณพบว่าซิกส์ซิกม่านั้นเหมาะกับทุกสภาพแวดล้อมได้ที่ไหน? ได้รับการพัฒนาขึ้นเป็นพิเศษสำหรับการผลิตวัตถุทางกายภาพในปริมาณมากไม่ใช่ซอฟต์แวร์
Angelo

5
ฉันเปิดคำถามนี้อีกครั้งเนื่องจากไม่จำเป็นต้องเคลื่อนย้าย การจัดการโครงการซอฟต์แวร์เป็นหัวข้อที่นี่ แต่ Six Sigma มีความเกี่ยวข้องอย่างใกล้ชิดกับการปรับปรุงคุณภาพและกระบวนการซึ่งมีอยู่ในหัวข้อที่นี่ นอกจากนี้ยังมีงานจำนวนมากที่พูดถึงการประยุกต์ใช้ Six Sigma กับโครงการซอฟต์แวร์และการปรับปรุงกระบวนการซอฟต์แวร์ (รวมถึงการรวม Six Sigma และ CMMI และ Six Sigma และวิธีเปรียว) การใช้ Six Sigma กับซอฟต์แวร์แตกต่างจากการใช้กับสภาพแวดล้อมการผลิตทำให้คำถามนี้ต้องการความเชี่ยวชาญของนักพัฒนาซอฟต์แวร์
Thomas Owens

5
@Angelo แม้ว่า Six Sigma ได้รับการออกแบบมาสำหรับสภาพแวดล้อมการผลิต แต่ก็มีงานจำนวนมากในการนำไปใช้กับการพัฒนาซอฟต์แวร์ การค้นหาวลีเช่น "agile six sigma" และ "cmmi six sigma" ทำให้เกิดงานจำนวนมากในพื้นที่
Thomas Owens

5
ฉันต้องเข้ารับการฝึกอบรมซิกม่าหกครั้งแรกและในขณะที่ บริษัท ของฉันจ่ายเงินให้ฉันหวังว่าฉันจะได้เวลากลับมา อาจารย์ผู้สอนเป็น clueless การออกกำลังกายเป็นเกมเล็ก ๆ ที่สนุก แต่ไม่มีจุดหมายในที่สุด ซิกซิกม่าเป็นเรื่องเกี่ยวกับสถิติและสามารถนำไปใช้กับงานที่ซ้ำซากจำเจซ้ำซ้อนและกำหนดไว้ได้ดีซึ่งเป็นประเภทของงานที่มักถูกว่าจ้างจากหุ่นยนต์ การเขียนซอฟต์แวร์ที่ดีเป็นกระบวนการที่สร้างสรรค์ Six Sigma ช่วยวิศวกรซอฟต์แวร์ที่ดีเช่นเดียวกับการสอนแคลคูลัสจะช่วยให้ Tom Cruise ลงมือทำ ความจริงที่ว่าคุณถามคำถามนี้ทำให้คุณไม่ทำงานกับฉันหรือเพื่อนร่วมงาน
งาน

4
@ThomasOwens นี่คือ NARQ ไม่ใช่นอกหัวข้อ Half-Poll / half-LMGTFU
Jimmy Hoffa

คำตอบ:


15

พื้นฐานกิจกรรม Six Sigma ถูกจับกุมโดยย่อDMAICซึ่งย่อมาจาก: กำหนด, วัด, วิเคราะห์, การปรับปรุงการควบคุม คุณใช้สิ่งเหล่านี้กับกระบวนการที่คุณต้องการปรับปรุง: กำหนดกระบวนการวัดใช้การวัดเพื่อกำหนดสมมติฐานเกี่ยวกับสาเหตุของปัญหาใด ๆ ดำเนินการปรับปรุงและทำให้มั่นใจว่ากระบวนการยังคงอยู่ใน "สถิติ"

กระบวนการเกี่ยวข้องกับวงจรการพัฒนาซอฟต์แวร์ของคุณ (SDLC) หรือบางส่วน คุณอาจจะไม่พยายามใช้หลักการ Six Sigma กับ SDLC ทั้งหมด (หรืออย่างน้อยก็ไม่ใช่ตอนเริ่มต้น) แต่คุณจะมองหาพื้นที่ที่คุณคิดว่าคุณมีปัญหา (เช่นอัตราข้อบกพร่องของเราสูงเกินไปการถดถอยมากเกินไปกำหนดการของเราลื่นบ่อยเกินไปความเข้าใจผิดระหว่างนักพัฒนาและลูกค้ามากเกินไป) สมมติว่าตอนนี้ปัญหาคือมีการผลิตข้อบกพร่องมากเกินไป (หรือรายงานอย่างน้อยที่สุด) ในแต่ละสัปดาห์ ดังนั้นคุณจะต้องกำหนดกระบวนการพัฒนาซอฟต์แวร์ / การสร้างข้อบกพร่อง จากนั้นคุณจะเริ่มรวบรวมตัวชี้วัดเช่นจำนวนบรรทัดของโค้ดที่เขียนในแต่ละวันความถี่ของการเปลี่ยนแปลงข้อกำหนดจำนวนชั่วโมงที่วิศวกรใช้ในการประชุม

ถัดไปคุณดูที่ข้อมูลและพยายามแยกแยะรูปแบบ บางทีคุณอาจสังเกตเห็นว่าทีมวิศวกรรม A เข้าเส้นตายทุกครั้งที่ได้รับและมักจะทำงานให้เสร็จก่อน! ในขั้นต้นทีม B ดูเหมือนจะไม่ค่อยอยู่บนลูกบอล - พวกเขาพลาดกำหนดส่งภายในหนึ่งหรือสองวันครึ่งอย่างน้อยครึ่งหนึ่งและบางครั้งก็ล่าช้าประมาณหนึ่งสัปดาห์หรือมากกว่า ผู้บริหารมองว่าทีม B เป็นปัญหาและกำลังมองหาที่จะจับจ่าย อย่างไรก็ตามข้อมูลที่ใกล้ชิดแสดงให้เห็นว่าอัตราการบั๊กของทีม B นั้นต่ำกว่าทีม A และยิ่งไปกว่านั้นทีม B มักถูกขอให้แก้ไขข้อบกพร่องที่เป็นของทีม A เนื่องจากฝ่ายบริหารรู้สึกว่าทีม A นั้นมีค่ามาก ของเวลาในการบำรุงรักษา

แล้วคุณจะทำอย่างไร? เมื่อใช้ข้อมูลที่คุณรวบรวมและการวิเคราะห์ที่คุณทำคุณแนะนำให้เปลี่ยนแปลง: ทีม A และทีม B จะแก้ไขข้อบกพร่องของตนเอง ด้วยการให้พรของฝ่ายบริหาร (และต่อต้านฝ่ายค้านที่โกรธแค้นของทีม A) คุณทำให้เกิดการเปลี่ยนแปลงนั้น จากนั้นคุณก็ทำการรวบรวมตัวชี้วัดต่อไปและทำการวิเคราะห์ข้อมูลเพื่อดูว่าการเปลี่ยนแปลงของคุณสร้างความแตกต่างหรือไม่ ทำซ้ำวัด / วิเคราะห์ / ใช้วัฏจักรนี้ซ้ำจนกว่าอัตราบั๊กจะยอมรับได้ แต่คุณยังไม่ได้ทำ ในความเป็นจริงคุณไม่เคยทำ ... คุณจำเป็นต้องวัดอัตราบั๊กและตรวจสอบว่าอัตราบั๊กยังคงอยู่ในช่วงที่ยอมรับได้นั่นคือสถิติ "อยู่ในการควบคุม"

โปรดสังเกตว่าไม่มีสิ่งใดที่เฉพาะเจาะจงสำหรับการพัฒนาซอฟต์แวร์นอกเหนือไปจากกระบวนการเฉพาะที่คุณกำลังปรับปรุงประเภทของการวัดที่คุณรวบรวม ฯลฯ กิจกรรมที่คุณใช้เพื่อปรับปรุงกระบวนการพัฒนาซอฟต์แวร์นั้นเหมือนกับกิจกรรมของคุณ ใช้สำหรับกระบวนการผลิตวิดเจ็ตแม้ว่าการพัฒนาซอฟต์แวร์จะค่อนข้างแตกต่างจากการผลิตวิดเจ็ต นั่นหมายความว่าคุณจำเป็นต้องใช้สามัญสำนึกบางอย่างในประเภทของเป้าหมายที่คุณตั้งไว้สำหรับกระบวนการของคุณ


1
จริงๆแล้ว Six Sigma methodology เกี่ยวข้องกับการพัฒนาซอฟต์แวร์มากขึ้นคือ DMADI (กำหนด, วัด, วิเคราะห์, ออกแบบ, นำไปใช้) ยกเว้นว่าเราทำซ้ำ MADI ในการพัฒนาซอฟต์แวร์ คนที่มี "สายพาน" เรียกว่า Lean Six Sigma DMADI แต่ฉันเรียกมันว่า Agile
แทซองชิน

สิ่งสำคัญคือต้องแยกความแตกต่างระหว่างการปรับปรุงกระบวนการพัฒนาเองและปรับปรุงซอฟต์แวร์ที่กำลังพัฒนา ฉันอธิบายอดีตและได้กล่าวถึงการใช้ Six Sigma กับ SDLC ฉันคิดว่านั่นคือสิ่งที่ OP ต้องการ @ ความคิดเห็นของ Tae-SungShin ดูเหมือนจะมุ่งเน้นไปที่ส่วนหลังและฉันยอมรับว่ากระบวนการในการปรับปรุงซอฟต์แวร์นั้นแตกต่างกันเล็กน้อย มีการเขียนมากมายเกี่ยวกับวิธีการพัฒนาซอฟต์แวร์ดังนั้นฉันจะไม่ลองทำที่นี่
Caleb

-3

ดังกล่าวโดย @Peter

การใช้หกซิกมาในการพัฒนาซอฟต์แวร์สร้างการปรับปรุงอย่างยั่งยืนในการพัฒนาซอฟต์แวร์ การใช้หกซิกม่าในผลการพัฒนาซอฟต์แวร์ในการรวมและทดสอบซอฟต์แวร์อย่างรวดเร็วช่วยสร้างซอฟต์แวร์ที่ไม่มีข้อบกพร่องและช่วยให้การจัดการโปรแกรมมีประสิทธิภาพมากขึ้น

ฉันสามารถให้สถานการณ์ง่าย ๆ แก่คุณได้ฉันทำงานให้กับ บริษัท การบินและอวกาศ มีทีมที่ออกแบบวงจรสำหรับเครื่องบิน พวกเขาประสบปัญหามากมายในการออกแบบวงจรสำหรับเครื่องบินที่ซับซ้อน เนื่องจากพวกเขาพลาดกำหนดเวลาแม้ว่าพวกเขาจะมีประสบการณ์ในการออกแบบ ฉันวิเคราะห์งานของพวกเขาและสังเกตว่าพวกเขากำลังพัฒนาวงจรตั้งแต่เริ่มต้นทุกครั้ง ดังนั้นฉันจึงออกแบบซอฟต์แวร์ที่จะติดตามวงจรที่ออกแบบไว้ก่อนหน้านี้ของพวกเขาและเมื่อใดก็ตามที่มีเครื่องบินใหม่พวกเขาจะใช้ซอฟต์แวร์ของฉันและเลือกเครื่องบินที่ออกแบบมาก่อนหน้านี้ที่มีวงจรคล้ายกัน เนื่องจากวงจรเหล่านั้นได้รับการออกแบบและทดสอบบนเครื่องบินจริงก่อนหน้านี้พวกเขาจึงสามารถมุ่งเน้นไปที่วงจรใหม่มากขึ้น

นี่เป็นเพียงสถานการณ์ที่ฉันทำตามกระบวนการซิกซ์ซิกม่าเพื่อรวบรวมข้อมูลทั้งหมดเกี่ยวกับข้อผิดพลาดของพวกเขาและวิเคราะห์ว่าอะไรคือสาเหตุของสิ่งนั้น จากนั้นปรับปรุงด้วยซอฟต์แวร์ของฉัน


4
ไม่ใช่ว่าซิกม่าทั้งหกนั้นยอดเยี่ยม มันคือผู้จัดการที่ปล่อยให้พนักงานของเขาออกแบบวงจรตั้งแต่เริ่มต้น
งาน

2
ฮ่า ๆ .. แต่ผู้จัดการเดียวกันขอให้ทำตามขั้นตอน Six Sigma เมื่อฉันเสนอซอฟต์แวร์นี้ ..
rajkumarts

-4

การใช้หกซิกมาในการพัฒนาซอฟต์แวร์เรียกว่าซอฟต์แวร์ซิกม่าซิกม่า Six Sigma ได้รับการพัฒนาโดยทั่วไปสำหรับการผลิตในกระบวนการผลิตจะช่วยให้ บริษัท ปรับปรุงการส่งมอบคุณภาพของผลิตภัณฑ์ในราคาที่ต่ำ ในขณะเดียวกันก็สามารถนำไปใช้กับการพัฒนาซอฟต์แวร์ได้เช่นกัน

การใช้หกซิกมาในการพัฒนาซอฟต์แวร์สร้างการปรับปรุงอย่างยั่งยืนในการพัฒนาซอฟต์แวร์ การใช้หกซิกม่าในผลการพัฒนาซอฟต์แวร์ในการรวมและทดสอบซอฟต์แวร์อย่างรวดเร็วช่วยสร้างซอฟต์แวร์ที่ไม่มีข้อบกพร่องและช่วยให้การจัดการโปรแกรมมีประสิทธิภาพมากขึ้น

อย่างไรก็ตามซอฟต์แวร์ Six Sigma เป็นแนวคิดใหม่ที่คุณต้องการการฝึกอบรมจากคนที่เหมาะสม โปรแกรมการฝึกอบรมซิกม่าซิกม่าที่มีประสิทธิภาพสามารถช่วยคุณได้ที่นี่ สำหรับการฝึกอบรมซิกม่าออนไลน์หกครั้งในสภาพแวดล้อมการพัฒนาซอฟต์แวร์ฉันขอแนะนำhttp://www.6sigma.us / ฉันแนะนำพวกเขาตามคำแนะนำที่ฉันได้รับจาก บริษัท อื่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.