Blog top image

Team Conflict


কীভাবে একবারের সমস্যা থেকে দীর্ঘমেয়াদী সমাধান পাওয়া সম্ভব

সময় ও স্থান

ঘটনাটি ২০২২ সালের, আমি তখন  XYZ-এ সফটওয়্যার ডেভেলপার হিসেবে কাজ করছিলাম। আমাদের একটি গুরুত্বপূর্ণ ফিচার খুব জরুরি ভিত্তিতে ডেলিভার করতে হতো।


কনফ্লিক্টের শুরু

আমাদের টিমের একজন ডেভেলপার, সময়ের চাপের কারণে, খুব দ্রুত একটি ফিচার কোড করে ফেলেন। কিন্তু কোডটি ছিল পুরোপুরি হার্ডকোডেড, কোনো টেস্ট কভারেজ ছিল না, এবং কোনো ক্লিন আর্কিটেকচার মানা হয়নি।

আমি যখন কোড রিভিউ করি, তখন দেখি—

  • সব ইনপুট ও আউটপুট ভ্যালু সরাসরি কোডে লেখা হয়েছে
  • কোনো ইউনিট টেস্ট বা ফাংশনাল টেস্ট ছিল না
  • কোড অনেকটাই production-ready স্ট্যান্ডার্ড থেকে দূরে
  • কনফ্লিক্টের জায়গা


আমি কোড রিভিউতে লিখেছিলাম: 
“এই ফিচারটির জন্য ন্যূনতম টেস্ট কভারেজ থাকা উচিত এবং হার্ডকোডেড ভ্যালু এড়িয়ে চলা দরকার। নাহলে এটি ভবিষ্যতে টেকনিক্যাল ডেট তৈরি করবে।”

এই মন্তব্যের পর ওই ডেভেলপার কিছুটা বিরক্ত হন এবং বলেন:

“যখন সময় নেই, তখন আদর্শ কোড লেখা সবসময় সম্ভব হয় না।”

অন্যদিকে, আমি বিশ্বাস করতাম—even under pressure—সফটওয়্যার কোয়ালিটি ও টেকনিক্যাল ডেট এড়িয়ে যাওয়া উচিত।

এখানেই আমাদের মধ্যে মতভেদ ও টিম কনফ্লিক্ট তৈরি হয়।


সমাধানের প্রক্রিয়া

পরবর্তীতে আমি সরাসরি তাকে আলাদা করে কথা বলি। তাকে বুঝিয়ে বলি:

  • আমি তার কাজের স্পিড এবং ইনিশিয়েটিভকে সম্মান করি
  • কিন্তু কোড যদি পরবর্তীতে মেইনটেইন না করা যায়, তাহলে সেটা আরও বড় সময় ক্ষতির কারণ হবে
  • আমি নিজে কোডের কিছু অংশ টেস্ট লেখার দায়িত্ব নিই এবং হার্ডকোড রিমুভ করার প্রস্তাব দিই

আমাদের আলোচনার পর, আমরা মিলে কোড রিফ্যাক্টর করি। পুরো টিমে একটি পজিটিভ উদাহরণ তৈরি হয় যে কিভাবে আলোচনা করে দ্বিমত মিটিয়ে কোয়ালিটি বজায় রাখা যায়।


ভবিষ্যতে কনফ্লিক্ট প্রিভেন্ট করার উদ্যোগ

এই ঘটনার পর:

  • আমরা পুরো টিমে কোডিং স্ট্যান্ডার্ড ও কোড রিভিউ গাইডলাইন তৈরি করি
  • সব ফিচারের জন্য ন্যূনতম টেস্ট কভারেজ একটি রুল হিসেবে চালু হয়
  • জরুরি কাজ হলেও, প্রাথমিক স্কেলেবল স্ট্রাকচারে লেখার চেষ্টা চালু হয়

ফলাফল হিসেবে, পরবর্তী সময়ে এমন কনফ্লিক্ট আর হয়নি। বরং টিম আরও বেশি সমন্বিত হয়ে কাজ করেছে।


শেষ কথা

প্রতিটি টিম কনফ্লিক্টই একটি শেখার সুযোগ। কনফ্লিক্টকে ভয় না পেয়ে, সেটাকে যদি আলোচনা, সম্মান ও উদ্যোগের মাধ্যমে সমাধান করা যায়—তাহলে সেটি পরবর্তী সময়ের জন্য টিম সংস্কৃতি ও কর্মদক্ষতা উন্নত করে