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