बुनियादी सिक्स सिग्मा गतिविधियों को DMAIC द्वारा संक्षिप्त रूप से कैप्चर किया जाता है , जिसका अर्थ है: परिभाषित करना, मापना, विश्लेषण करना, सुधारना, नियंत्रण करना । आप इन्हें उस प्रक्रिया पर लागू करते हैं जिसे आप सुधारना चाहते हैं: प्रक्रिया को परिभाषित करें, इसे मापें, किसी भी समस्या के कारणों के बारे में परिकल्पना बनाने के लिए माप का उपयोग करें, सुधारों को लागू करें, और यह सुनिश्चित करें कि प्रक्रिया "नियंत्रण में" बनी रहे।
जैसा कि यह सॉफ्टवेयर से संबंधित है, प्रक्रिया आपके सॉफ्टवेयर विकास जीवनचक्र (एसडीएलसी) या इसका कुछ हिस्सा है। आप शायद पूरे एसडीएलसी में सिक्स सिग्मा सिद्धांतों को लागू करने की कोशिश नहीं करेंगे (या कम से कम, शुरू में नहीं)। इसके बजाय, आप उन क्षेत्रों की तलाश करेंगे जहाँ आपको लगता है कि आपको एक समस्या मिली है (जैसे कि हमारा दोष दर बहुत अधिक है; बहुत अधिक प्रतिगमन; हमारा शेड्यूल बहुत बार फिसल जाता है; डेवलपर्स और ग्राहक के बीच बहुत सी गलतफहमी; आदि)। आइए अब हम बताते हैं कि समस्या यह है कि प्रत्येक सप्ताह बहुत से कीड़े उत्पन्न हो रहे हैं (या कम से कम रिपोर्ट किए गए हैं)। तो आप सॉफ्टवेयर विकास / बग निर्माण प्रक्रिया को परिभाषित करेंगे। फिर आप मेट्रिक्स इकट्ठा करना शुरू कर देंगे, जैसे प्रत्येक दिन कोड की पंक्तियों की संख्या, आवश्यकताओं की आवृत्ति में परिवर्तन, प्रत्येक इंजीनियर की बैठकों में घंटों की संख्या,
अगला, आप डेटा को देखते हैं और पैटर्न को समझने का प्रयास करते हैं। हो सकता है कि आप ध्यान दें कि इंजीनियरिंग टीम ए हर समय सीमा को पूरा करती है, जो उन्हें दी जाती है, और अक्सर कार्यों को जल्दी पूरा करती है! प्रारंभ में, टीम बी गेंद पर बहुत अधिक प्रतीत नहीं होती है - वे एक या दो दिन कम से कम आधे समय तक अपनी समय सीमा को याद करते हैं, और कभी-कभी एक सप्ताह या उससे अधिक देर से होते हैं। प्रबंधन टीम बी को एक समस्या के रूप में देखता है और चीजों को हिला रहा है। हालांकि, डेटा पर एक करीब से पता चलता है कि टीम ए की तुलना में टीम बी की बग दर बहुत कम है, और अधिक क्या है, टीम बी को अक्सर टीम ए के लिए जिम्मेदार कीड़े को ठीक करने के लिए कहा जाता है क्योंकि प्रबंधन को लगता है कि टीम ए बहुत खर्च करने के लिए मूल्यवान है समय पर रखरखाव
तो तुम क्या करते हो? आपके द्वारा एकत्र किए गए डेटा और आपके द्वारा किए गए विश्लेषण का उपयोग करके, आप एक बदलाव का सुझाव देते हैं: टीम ए और टीम बी प्रत्येक अपने स्वयं के बग को ठीक करेंगे। प्रबंधन के आशीर्वाद के साथ (और टीम ए के विरोध के खिलाफ) आप उस बदलाव को लागू करते हैं। फिर आप मीट्रिक एकत्र करना जारी रखते हैं, और आप यह देखने के लिए डेटा का विश्लेषण करना जारी रखते हैं कि क्या आपके बदलाव से फर्क पड़ा है। जब तक बग दर स्वीकार्य नहीं मानी जाती है, तब तक इस माप / विश्लेषण / चक्र को दोहराएं। लेकिन आप अभी तक नहीं कर रहे हैं। वास्तव में, आप कभी भी काम नहीं कर रहे हैं ... आपको बग दर को मापने और यह जांचने की आवश्यकता है कि बग दर स्वीकार्य सीमा के भीतर बनी हुई है, अर्थात यह "नियंत्रण में" है।
ध्यान दें कि यहां कुछ भी नहीं है जो आपके द्वारा सुधार की जाने वाली प्रक्रिया की बारीकियों के अलावा सॉफ़्टवेयर विकास के लिए विशिष्ट है, आपके द्वारा एकत्र किए जाने वाले मैट्रिक्स के प्रकार, आदि। सॉफ़्टवेयर विकास प्रक्रिया को बेहतर बनाने के लिए आप जिन गतिविधियों का उपयोग करते हैं, वे वही हैं जो आप ' विजेट निर्माण प्रक्रिया के लिए d का उपयोग, भले ही सॉफ्टवेयर विकास विजेट निर्माण से काफी अलग हो। इसका मतलब यह है कि आपको अपनी प्रक्रिया के लिए निर्धारित लक्ष्यों के प्रकार में कुछ सामान्य ज्ञान को लागू करने की आवश्यकता है।