কীভাবে এবং কেন আমরা নন-ইঞ্জিনিয়ারদের থ্রেডে গিটহাব ব্যবহার করতে শিখি

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

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

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

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

শেষ পর্যন্ত, এই প্রক্রিয়াটি দ্রুত দরজাটি খুঁজে বের করতে কার্যকর হতে পারে তবে এটি দীর্ঘমেয়াদী কাজ করার জন্য অনেক বেশি ঘর্ষণ তৈরি করে।

একটি ভাল সমাধান

আমার মনে আছে যখন গিটহাব প্রথমবার এটির ওয়েব সম্পাদক চালু করেছিল - আমি মুগ্ধ হইনি। কেন কেউ ওয়েব ব্রাউজারে কোড সম্পাদনা করবে? আমার এমন সম্পাদক কেন ব্যবহার করা উচিত যা প্রতি প্রতিশ্রুতি অনুসারে কেবল একটি ফাইল পরিবর্তন করতে পারে? বছর কয়েক পরে, আমি বুঝতে পেরেছিলাম যে আমি প্রকাশকের টার্গেট মার্কেট নই।

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

আমাদের এখন আমাদের প্রধান কোড বেসে আরও বেশি লোক রয়েছে যারা বছরের পর বছর অবদান রেখেছেন এমন কোনও প্রকৌশলী এবং ঠিকাদারের তুলনায় প্রযুক্তিগত ভূমিকায় ছিলেন না।

এটি কাজ করে?

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

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

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

কিভাবে আমরা তা করব

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

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

শেষ অবধি, আমরা বিল্ডটি সবুজ হয়ে যাওয়ার পরে মেশিন বোতামটি চাপার জন্য স্ল্যাকের উপলব্ধ ইঞ্জিনিয়ার নির্বাচন করতে নন-টেক স্টাফদের বলছি।

সমস্যা দেখা দিয়েছে

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

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

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

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

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

সামনে আগান

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

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

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