টিম প্রজেক্ট বনাম উড়ন্ত একক বিকাশ করা হচ্ছে

এই সপ্তাহে আমি চিংগু কোহোর্টসের অংশ হিসাবে আমার দ্বিতীয় রিমোট টিম প্রকল্পটি শুরু করি। এটি করার ক্ষেত্রে, আমি আমার প্রথম ‘ভয়েজ’ দলটিতে কী শিখেছি তা প্রতিবিম্ব করতে এক মিনিট সময় নিতে চাই।

আনস্প্ল্যাশ-এ অ্যান্ড্রু নীল ছবি

দলের অংশ হিসাবে কাজ করা আমার কাছে নতুন কিছু নয়। আমি ফার্মাসিউটিক্যাল শিল্পে বিগত 20 বছর ধরে গবেষণা করে কাটিয়েছি, যার সবগুলিই বিভিন্ন আকারের এবং মিথস্ক্রিয়া স্তরের দলগুলিতে ব্যয় করা হয়েছিল। এটি অবশ্য একটি উন্নয়ন দলের অংশ হিসাবে আমার প্রথম অভিজ্ঞতা এবং এটি আমার নিজের একটি প্রকল্প বিকাশ বনাম কিছু নতুন চ্যালেঞ্জ সরবরাহ করেছিল।

আমার গ্রুপে তিন জন লোক ছিল, যাদের সবারই পুরো স্ট্যাক অ্যাপ্লিকেশন বিকাশের অভিজ্ঞতা ছিল এবং যাদের মধ্যে দুজন (আমি নয়) চুঙ্গুর মাধ্যমে পূর্ববর্তী গ্রুপ প্রকল্পগুলির সাথে অভিজ্ঞতা অর্জন করেছি।

অবশ্যই, প্রকল্পের দিকে যাওয়ায়, একটি গোষ্ঠীর অংশ হিসাবে কোডিং সম্পর্কে আমার স্বাভাবিক আশঙ্কা এবং উদ্বেগ ছিল, যেমন "যদি আমার কোডটি গ্রুপের অন্যদের সাথে সমান না হয় তবে কী হবে?" এবং "আমি যদি একটি শব্দটি তৈরি করি তবে কী হবে? ভুল করে গ্রুপের কোড বেসটি পুরোপুরি ধ্বংস করে ফেলুন? ”এবং আরও…

যথারীতি, আমরা প্রকল্পটি খনন করতে শুরু করার সাথে সাথে এই ধরণের উদ্বেগগুলি তাদের মধ্যে কাজ করেছিল এবং আমি ভাবতে চাই যে এর অংশ হওয়ার কারণে আমি আরও উন্নত বিকাশকারীকে ছেড়ে চলে এসেছি। দলের অন্য দু'জন সদস্যের কাছ থেকে আমি অনেক কিছু শিখেছি এবং আমি ভাবতে চাই যে তারা এর বদলে আমার কাছ থেকে কিছু শিখতে পেরেছিল।

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

যোগাযোগ

আপনি যখন নিজের দ্বারা কোনও প্রকল্পে কাজ করছেন তখন আপনার প্রকল্পের সুযোগ এবং রাজ্যের সম্পূর্ণ চিত্র আপনার কাছে সর্বদা থাকে। যদি আপনি তা না করেন তবে আপনার প্রকল্পে কিছু গুরুতর সমস্যা হতে চলেছে তা বলা নিরাপদ…

একটি গ্রুপ প্রকল্পের অংশ হিসাবে, তবে তারা আপনাকে যে কোনও পরিবর্তন এবং সমস্ত পরিবর্তন সরবরাহ করতে আপনার সতীর্থের উপর নির্ভরশীল (এবং তারা এটির জন্য আপনার উপর নির্ভরশীল)।

আনপ্লেশ-এ জেমস সুতান-এর ছবি

এই যোগাযোগগুলি বিভিন্ন রূপে আসতে পারে, এবং আমরা তাদের নীচে ওয়ার্কফ্লো বিভাগে কিছুতে প্রবেশ করব, তবে যথেষ্ট বলার অপেক্ষা রাখে না যে আপনি যদি প্রকল্পটিতে কোনও পরিবর্তন করেছেন এবং এটি আপনার সতীর্থদের কাছে কোনও উপায়ে জানান না, তারা এ সম্পর্কে সচেতন নয়!

যার অর্থ তারা নিজেরাই তাদের সাথে চালিয়ে যাবে যেন আপনার পরিবর্তন হয় নি। এটি অপ্রয়োজনীয় মাথাব্যাথা এবং রাস্তায় নেমে যাওয়ার অনেক সময় নষ্ট করতে পারে ... এই সমস্ত কিছু দলের সদস্যদের মধ্যে ভাল যোগাযোগের মাধ্যমে প্রতিরোধ করা যেতে পারে।

পৃষ্ঠতলে, এটি একটি স্পষ্ট ধারণা মত শোনাচ্ছে এবং পুরো লেখাটি (বা পড়া) ঠিক মূল্যহীন নয়। তবে যদি আপনি একা কাজ করতে অভ্যস্ত হন, সমস্ত যোগাযোগ আপনার নিজের মাথায় অজ্ঞান করে ঘটছে, এটি আপনার স্বাভাবিক প্রক্রিয়াতে একটি গুরুত্বপূর্ণ সমালোচনার প্রতিনিধিত্ব করে।

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

সন্দেহ হলে, আরও যোগাযোগের দিক থেকে ভুল।

অর্থ, আপনি যদি দলের সাথে কিছু প্রাসঙ্গিক না হন তা নিশ্চিত না হন, তবে দলটি যে চ্যানেলটি ব্যবহার করছে এবং যা চলছে তাতে কেবল দ্রুত এফওয়াইআই ফেলে দিন।

আমার সন্দেহ আছে যে সেখানে অনেক প্রাক্তন দল আছে "আমি আমার কাজটি করতে পারছিলাম না, সেখানে খুব বেশি যোগাযোগ চলছিল!" তবে সেখানে প্রচুর পরিমাণ আছে যা বলেছিল "আমাদের দল আলাদা হয়ে গেল কারণ কেউই যোগাযোগ করেনি ..."।

কর্মপ্রবাহ

যা আমাদের কর্মপ্রবাহে নিয়ে আসে।

ওয়ার্কফ্লো দ্বারা, আমি বলতে চাইছি কীভাবে আপনার দল গিট প্রক্রিয়া পরিচালনা করে এবং যদি তারা কার্যকরভাবে শাখা, কমিট, পুল অনুরোধ ইত্যাদি ব্যবহার করে are

আমি আগেই বলেছি, এটি আমার প্রথম গ্রুপ উন্নয়ন প্রকল্প। আমি আগে আমার একক প্রকল্পগুলির জন্য গিট ব্যবহার করেছি তবে এটি যখন দলের একটি অংশ হিসাবে গিট ব্যবহার করার কথা আসে তখন আমার অনেক কিছু শিখতে হয়েছিল।

ভাগ্যক্রমে, ফ্রান্সেস্কো অ্যাগনোলেটো একাধিক গাইড লিখেছেন যা একটি দল সেটিংয়ে গিটটি কীভাবে ব্যবহার করা উচিত সে সম্পর্কে স্পষ্টভাবে রূপরেখা দেয়। আমি অত্যন্ত তিনটি নিবন্ধ পড়ার (এবং ভবিষ্যতের রেফারেন্সের জন্য বুকমার্কিং) সুপারিশ করছি। সেগুলি এখানে পাওয়া যাবে - অংশ 1, খণ্ড 2 এবং অংশ 3।

ব্যক্তিগতভাবে, আমি এগুলি প্রতি কয়েকবার পড়েছি এবং আমাদের গোষ্ঠী কীভাবে আমাদের দলটির কর্মপ্রবাহ পরিচালনা করবে তার নিয়ম হিসাবে তাদের ব্যবহার করেছে।

ফ্রান্সেসকো তাঁর নিবন্ধগুলিতে যা লিখেছেন তা আমি পুনরায় ফিরিয়ে আনতে যাচ্ছি না, কারণ আমি মনে করি তিনি খুব স্পষ্টভাবে এই বিষয়টিকে আবৃত করেছেন, তবে আমি এই নিবন্ধের সাথে সম্পর্কিত যে কয়েকটি বিষয় তিনি তুলে ধরতে চাই।

প্রথমত, কার্যকরভাবে সম্পন্ন করার পরে, ভাল কর্মপ্রবাহ টিমের যোগাযোগ বাড়ায়। যেমনটি আমি আগেই বলেছি, যোগাযোগ এবং কর্মপ্রবাহ খুব জড়িত এবং প্রতিটি একে অপরকে বাড়িয়ে তুলতে পারে।

আনস্প্ল্যাশ-এ পবন ত্রিকুমের ছবি

শাখাগুলির জন্য একটি নামকরণের একটি ভাল কনভেনশন বাছাই করা (এবং আঁকড়ে রাখা) আপনার সতীর্থদের স্পষ্টভাবে আপনি কী কাজ করছেন তা জানতে দেবে। এটি, আপনার প্রতিশ্রুতিগুলির জন্য পরিষ্কার এবং সাধারণ শিরোনামগুলির সাথে জুটিবদ্ধ, কেবলমাত্র উদ্দেশ্যে করা সংস্করণ নিয়ন্ত্রণ সরবরাহ করবে না, তবে প্রতিটি দলের সদস্য কী কাজ করছে (এবং কী করছে) তার মানচিত্রও।

উপরে উল্লিখিত গাইডদের উভয় শাখা এবং কমিটির নামকরণের পরামর্শ রয়েছে on তাদের পড়ুন!

এখন যেহেতু আমরা সকলেই ফ্রান্সেস্কোর নিবন্ধগুলি পড়েছি এবং ওয়ার্কফ্লো সম্পর্কিত সমস্ত বিষয় একই পৃষ্ঠায় রয়েছে, আমি এখানে একটি শেষ পয়েন্ট তৈরি করতে চাই। আপনার শাখার আওতার বাইরে এমন পরিবর্তন না করার বিষয়ে খুব পরিশ্রমী হন।

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

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

যদিও এটি খারাপ অনুশীলন হতে পারে তবে একা কাজ করার সময় এটি সম্ভবত আপনাকে খুব বেশি সমস্যায় ফেলবে না। অন্যদিকে টিম প্রকল্পের অংশ হিসাবে এটি করা খুব খারাপ পরিণতি হতে পারে।

আপনার সতীর্থদের মধ্যে একজন সক্রিয়ভাবে কাজ করছে এমন কোডে পরিবর্তন আনার (তাদের পিষে ফেলা ছাড়াও) তারা যখন তাদের পরিবর্তনগুলিকে একীভূত করার চেষ্টা করে তখন সমস্ত ধরণের দ্বন্দ্ব ঘটাতে পারে। তারা সম্ভবত প্রথম স্থানে শাখায় পরিবর্তন করার মতো সংহত বিরোধগুলি সমাধান করতে ঠিক ততটা সময় ব্যয় করতে পারে।

দলের গতিবিদ্যা জন্য ভাল না ...

সারাংশ

আপনি যদি সফ্টওয়্যার বিকাশের বাইরে ক্যারিয়ার গড়ার পরিকল্পনা করেন, আপনাকে একটি দলের অংশ হিসাবে কাজ করতে শিখতে হবে। এটি অবশ্যই সেইসব নরম দক্ষতার মধ্যে একটি যা বিকাশকারী হিসাবে আপনার কার্যকারিতাকে বাড়িয়ে তোলে (বা বাধা))

যদিও এটি কঠিন হতে হবে না, এটি কিছুটা সচেতন প্রচেষ্টা গ্রহণ করে। আপনি একটি দলের অংশ এবং এইরূপে অভিনয় করিয়া সচেতন থাকুন। শক্তিশালী যোগাযোগ এবং কর্মপ্রবাহ আপনার দলটিকে তার অংশগুলির যোগফলের চেয়ে বড় করে তুলবে, তবে বিপরীতে আপনার দলের অগ্রগতি একেবারে থামবে।

এবং যদি আপনি একজন বিকাশকারী হয়ে কাজ করে চলেছেন তবে নিজেকে অনুগ্রহ করুন এবং চুঙ্গু কোহোর্টগুলি সন্ধান করুন। এটি বিকাশকারীদের এবং আকাঙ্ক্ষিত বিকাশকারীদের দুর্দান্ত কাজ করার জন্য একত্রে কাজ করার একটি দুর্দান্ত এক বিশ্ব সম্প্রদায়।