मार्टिन फाउलर का छोटा सर्वेक्षण पिछले वर्षों में टीएफएस की स्थिति के बारे में बहुत कुछ कहता है। 'खतरनाक' काफी सही है। (मुझे लगता है कि यह इस तरह से संदर्भित है कि यह वीएस के बाहर किए गए परिवर्तनों को नहीं पहचानता है, इसलिए आप डब्ल्यूसीएफ प्रोजेक्ट बना सकते हैं, फिर अपने क्लाइंट को बनाने के लिए बाहरी svcutil टूल का उपयोग कर सकते हैं, फिर अपने सभी परिवर्तनों की जांच कर सकते हैं .. लेकिन TFS करेंगे खुशी से अपने ग्राहक परिवर्तनों को अनदेखा करें क्योंकि वे वीएस के अंदर नहीं बने थे)।
आपको लागत की गणना करनी होगी: उपहार पाने के लिए वीएस का आवश्यक संस्करण - कोड समीक्षा, उदाहरण के लिए, प्रीमियम संस्करण की आवश्यकता होती है जो एमएसडीएन के माध्यम से वीएस प्राप्त करने पर काफी अधिक महंगा है। इसके अलावा, गैर-वीएस उपयोगकर्ताओं के लिए सिस्टम तक पहुंच ठीक है, लेकिन अगर वे कट-डाउन वेब दृश्य के लिए पूर्ण पहुंच चाहते हैं, तो आपको उनके लिए CALs के लिए खोल देना होगा। टीएफएस की समग्र लागत काफी हो सकती है। यहां तक कि हाल ही में फॉरेस्टर की रिपोर्ट भी(Microsoft द्वारा कमीशन किया गया है, इसलिए आपको लाइनों के बीच थोड़ा पढ़ना होगा) कहते हैं कि TFS को प्रशासन के महत्वपूर्ण समर्थन की आवश्यकता है - 2 सलाहकार और 6 व्यवस्थापक (जिन्होंने अपने समय का 25% खर्च किया है) को 122 उपयोगकर्ताओं के मामले के अध्ययन के लिए TFS का समर्थन करने की आवश्यकता थी (उन 122 उपयोगकर्ताओं पर 4.5 प्रवेश के लिए काम करता है ... यह सिर्फ मुझे स्थापित करने और मेरे दिन का काम करते हुए एक पूर्ण SVN समाधान बनाए रखने की तुलना में बहुत अधिक है)। टीएफएस लोगों को उम्मीद के मुताबिक काम करने के लिए बहुत प्रयास कर सकता है।
TFS2012 के साथ मेरे अनुभव में (पिछले संस्करणों को भूल जाओ क्योंकि वे बकवास हैं), यह एक बहुत ही जटिल प्रणाली व्यवस्थापक है, खासकर यदि आप पूर्व-निर्धारित सेटअप के बाहर कदम रखते हैं। उदाहरण के लिए, यदि आप सब कुछ बनाने के लिए MSBuild का उपयोग करते हैं, तो आप ठीक हैं। लेकिन अगर आपके पास कहना है, पुराने .vdproj का एक लोड है जो अब MSBuild द्वारा समर्थित नहीं हैं, तो आपको इन परियोजनाओं को बनाने के लिए विशाल xaml बिल्ड स्क्रिप्ट को संपादित करना होगा। कई दिनों तक इस पर काम करने के बाद, सबसे अच्छा मैं यह कर सकता था कि इस समाधान को फिर से बनाकर इसे फिर से तैयार किया जाए, और तब भी, बिल्ड परिणाम प्राप्त करना और निर्माण सारांश में असंभव था। इसी तरह के परिणाम अन्य टीमों द्वारा किए गए थे जिन्होंने अपने परीक्षणों के लिए NUnit का उपयोग किया था - यदि आप बिल्ट-इन MSTest का उपयोग करते हैं, तो यह काम करता है। अन्यथा, आप बहुत अधिक भरवां रहे हैं।
एक उपयोगकर्ता के रूप में, मुझे लगता है कि एकीकरण एक उपद्रव का अधिक है। मैं TortoiseSVN पसंद करता हूं और मैं अपने सभी SCM काम उसी के माध्यम से करता हूं (जैसा कि यह एक भयानक उपकरण है)। टीएफएस के साथ, आप हर ऑपरेशन के लिए वीएस के अंदर एक नई स्क्रीन के साथ समाप्त होते हैं। तो आपके पास टीम एक्सप्लोरर के लिए आपके वातावरण में एक नया टैब है, और बिल्ड के लिए एक और, प्रत्येक बिल्ड सारांश के लिए एक और जिसे आप देखना चाहते हैं (और यदि आप बिल्ड का विवरण देखना चाहते हैं, उदाहरण के लिए, आपके पास एक त्रुटि है कई लिंक के माध्यम से क्लिक करने के लिए)। मुझे पता चला कि TFS का उपयोग करते समय मैंने जो दस्तावेज़ खोले थे, वे स्रोत फ़ाइलों से अधिक थे!
यही बात चेकइन पर भी लागू होती है, कार्य मद को असाइन करने और अपने चेकइन पर टिप्पणी करने के लिए वीएस में लंबित परिवर्तन फलक पर कई टैब के माध्यम से आवश्यक बदलाव करने के लिए। यह एक छोटी सी बात है, लेकिन मुझे यह कष्टप्रद लगा क्योंकि मुझे अधिक सुव्यवस्थित साधनों के लिए इस्तेमाल किया गया था।
निर्माण प्रणाली का विस्तार एक और क्षेत्र था जिसमें मुझे कमी मिली। Xaml कॉन्फ़िगरेशन के कारण बिल्ड में नई सुविधाएँ जोड़ना मुश्किल है, और आपके बिल्ड स्क्रीन में उन सुविधाओं के परिणाम प्राप्त करना या तो बहुत कठिन है, या असंभव है। इसलिए यदि आप कोड जटिलता या स्थिर विश्लेषण, या यहां तक कि स्वचालित परीक्षण के माध्यम से सामान जोड़ना पसंद करते हैं, तो सेलेनियम, या तैनाती कहें ... इसे भूल जाएं। जब तक, आप इन पहलुओं (जैसे fxcop) के लिए Microsoft टूल का उपयोग कर रहे हैं।
वर्कफ़्लो को अपडेट करना एक और परिगलन था - हालाँकि पॉवरटॉयज़ ने बहुत मदद की, वर्कफ़्लो को सही तरीके से प्राप्त करना अभी भी अजीब था, और आप अभी भी स्क्रैम बोर्ड को उस जानकारी के साथ कॉन्फ़िगर नहीं कर सकते हैं जिसे आप वास्तव में देखना चाहते हैं - फिर से, आपको डिफाल्ट या कुछ भी नहीं मिलेगा ।
विलय भी दर्दनाक था, मुझे लगता है कि एक बहुत अच्छा कारण है एमएस ने टीएफएस के लिए गिट को अपनाया है (ध्यान दें कि यह केवल नए ब्रांड टीएफएस परियोजनाओं के साथ काम करता है, आप टीएफएस से गिट बैक में परिवर्तित नहीं कर सकते हैं)।
तो सब सब में, यह बहुत बुरा नहीं है क्योंकि यह काम करता है, लेकिन मैंने पाया है कि बहुत सारे अन्य उपकरण बहुत बेहतर हैं। उन उपकरणों का नुकसान यह है कि वे पूरी तरह से एकीकृत नहीं आते हैं, लेकिन IMHO यह एक ताकत है जैसा कि आप चुन सकते हैं और सबसे अच्छा बिट्स चुन सकते हैं जो आप चाहते हैं। TFS के साथ आपको बहुत कुछ मिलता है जो कोई और आपको चाहता है। यदि आप तय करते हैं कि TFS में बग सिस्टम खराब है (और मुझे लगता है कि आप करेंगे), तो आपके पास एक अलग समय में बदलने का कठिन समय होगा।
टीएफएस को अन्य बड़े, वसा पूर्ण-जीवनचक्र उपकरणों के साथ माना जाना चाहिए। अधिकांश डेवलपर्स ऐसी चीजों से नफरत करते हैं क्योंकि वे इन उपकरणों को उन पर लगाए गए प्रतिबंधों को नापसंद करते हैं।
मैं यह कोशिश करूँगा, हालांकि, 30-दिवसीय परीक्षण डाउनलोड करें और इसे स्थापित करें। जब इधर-उधर थोड़ा बहुत बदलाव करने के लिए याद रखना मूल्यांकन करते हैं, तो इसका उपयोग केवल स्रोत कोड चेकइन के लिए न करें, आवश्यक वर्कआउट के साथ चेकइन करें और उस वर्किटेम के आधार पर रिपोर्ट प्राप्त करें। एक चेकिन को कई वर्कटाइम में असाइन करने का प्रयास करें, और संबंधित के रूप में एक साथ वर्किंग को संयोजित करने का प्रयास करें। निर्माण प्रणाली में कुछ अलग शामिल करने की कोशिश करें, देखें कि रिपोर्टिंग सेवाओं से दैनिक प्रगति रिपोर्ट कैसे प्राप्त करें, एक दस्तावेज़ को वर्कफ़्लो आवश्यकता से लिंक करें और इसे पुनः बनाने के लिए कोडिंग के लिए बग ट्राइज़िंग के माध्यम से ट्रेस करें और फिर रिलीज़ करें। शाखा और बहुत विलय। यदि आप आसानी से इन सभी चीजों को नहीं कर सकते हैं, तो आप अच्छी तरह से चिपक सकते हैं। टीएफएस का उपयोग करने का कोई मतलब नहीं है यदि आप इसकी अधिकांश एएलएम सुविधाओं का लाभ नहीं लेते हैं।