কলেজ ছাত্রদের সাথে কীভাবে একটি উন্নয়ন প্রক্রিয়া বাস্তবায়ন করা যায়


9

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

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

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

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

এই ধরনের কর্মক্ষেত্রে কীভাবে একজনের গুণমান, দক্ষতা এবং যোগাযোগ বাড়ানো যায়?

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

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

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


বিকাশকারীরা কি তাদের নিজস্ব QA এর জন্য দায়ী?
এসভিডজেন

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

সুতরাং, আমি অনুমান করি আমরা খণ্ডকালীন ছাত্র বিকাশকারীদের একটি দলের কথা বলছি? এবং তুমি? ... দলে কি কোনও পূর্ণ-সময় বা সিনিয়র বিকাশকারী (> = 10 বছরের অভিজ্ঞতা) ?
এসভিডজেন

এমন এক দম্পতি ফুল-টাইম ডেভস রয়েছেন যারা দূর থেকে কাজ করেন তবে আমরা সেগুলি খুব বেশি (বা মোটেও) দেখি না। অফিসে, হ্যাঁ, কর্মচারীরা সবাই খণ্ডকালীন শিক্ষার্থী। আমি বর্তমানে পুরো সময় নিয়ে কাজ করছি, তবে শীঘ্রই একটি মাস্টার্স প্রোগ্রাম শুরু করছি, যাতে এটি পরিবর্তিত হতে পারে;) আমার 5 বছরের অভিজ্ঞতা আছে, অনেক প্রকল্প পরিচালনার অভিজ্ঞতা নেই।
darksinge

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

উত্তর:


4

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

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

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

তারপরে আমরা পর্যালোচনা প্রক্রিয়াতে পৌঁছে যাই । আপনার প্রশ্নটি যে বিষয়ে কিছুটা অস্পষ্ট তা হ'ল অভিজ্ঞ বিকাশকারীরা কি আছেন যাদের রায় ছাত্রদের চেয়ে বেশি বিশ্বাস করা যায়। সুতরাং আমাকে যেকোন উপায়ে বিশদভাবে জানাতে দিন:

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

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

এই ধরনের কর্মক্ষেত্রে কীভাবে একজনের গুণমান, দক্ষতা এবং যোগাযোগ বাড়ানো যায়?

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

কিছু ভাল উত্তর ছিল, কিন্তু এটি ছিল সবচেয়ে পুঙ্খানুপুঙ্খ এবং সরাসরি, ধন্যবাদ!
darksinge

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

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

8

এই ধরণের পরিবেশের জন্য বৃহত্তম জিনিস যেখানে লোকেরা নতুন এবং সম্ভবত চলে যাওয়ার বাধ্যতামূলক কোড পর্যালোচনা।

তারা কী করা উচিত তা জ্ঞান ছড়িয়ে দিতে সহায়তা করে। এগুলি সবচেয়ে খারাপ কোডটি কোডবেসে প্রবেশ করা থেকে বিরত রাখতে সহায়তা করে। তারা বাস্তবায়নে ধারাবাহিকতা প্রচার করে।

কারণ অনেক বেশি টার্নওভার এবং অনভিজ্ঞতার সাথে যোগাযোগটি সাধারণত যা হয় তার চেয়ে বেশি গুরুত্বপূর্ণ।


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

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

1
@ এসভিডজেন - এগুলি প্রথমে প্রথমে লিডের মাধ্যমে করা দরকার হতে পারে তবে নৌকার বোঝা বা ক্লুহলেস বিকাশকারীদের সমস্যা হ'ল সমস্যা। আপনি কিছু সমাধান না করে এটি সমাধান করবেন না। আদর্শভাবে, এমন কয়েকটি দেব থাকবে যারা এটি পেয়েছে এবং তারপরে কম সমালোচনামূলক স্টাফের কোড পর্যালোচনা সম্পাদনে সহায়তা করতে পারে।
টেলাস্টিন

2

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

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

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


2

অবিচ্ছিন্ন একীকরণ -

এটি টিম সরঞ্জাম, দক্ষতা এবং প্রক্রিয়াগুলির ক্রমবর্ধমান এবং নমনীয় বাস্তবায়নের জন্য একটি বাস্তব এবং ধারণাগত কাঠামো।

সিআই হ'ল লেখার কোড থেকে শুরু করে মোতায়েনের কোনও কাজের প্রবাহের ধারণা। এই কাজগুলি ধারণাগত এবং বাস্তবে স্বতন্ত্র।

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

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

  • কৌশলগত হন

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

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

মানের দিকে যাওয়ার রাস্তা Quality

  • অংশ পরিক্ষাকরণ

    • টেস্ট চালিত বিকাশের কী
      • এটি সম্পর্কে পুরো বই পড়া প্রয়োজন হয় না
      • এই হওয়া উচিত কোডিং দৃষ্টান্ত
      • নেত্রী হিসাবে আপনাকে অবশ্যই এটিকে অবিরত রাখতে হবে যতক্ষণ না সবাই "বিশ্বাসের একক পরীক্ষার ঝাঁকুনি" তৈরি করে। "আমি কোডের দ্বিগুণ লিখছি!" থেকে সেই দৃষ্টান্তটি বদল! তার দুর্দান্ত উত্পাদনশীলতা আলিঙ্গন করতে।
    • আমাদের দোকানে ইউনিট টেস্টিং বাধ্যতামূলক ছিল। তারা চান না বলে অনেকে তা করেননি। পরিচালনার দৃ conv় বিশ্বাসের অভাব এই বার্তাটি প্রেরণ করেছিল যে ইউনিট পরীক্ষাগুলি সত্যিই কোনওভাবে কাজ করে না।
  • ভর্সন নিয্ন্ত্র্ন

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

    • বিস্তারিতভাবে কোডের মান উন্নত করার ক্ষেত্রে এটি সর্বাধিক সম্ভাবনা রয়েছে।
    • একটি 2 পর্যালোচনা প্রক্রিয়া ব্যবহার করুন।
      • ২ য় পর্যালোচনা কয়টি বাগ পেয়েছে তাতে আমি খুব অবাক হয়েছিলাম।
      • বিশ্বাস কিন্তু যাচাই. কোড চালান। কেন আপনি এমনকি এটি বলতে হবে? সাথে সাথে উপরে দেখুন।
      • প্রাথমিকভাবে আপনি একমাত্র পর্যালোচক হবেন। দলটিকে "লাইভ" পর্যালোচনা করতে দেখুন। তারা কখনই অন্যথায় কীভাবে ভাববে তা শিখবে না।
      • শীঘ্রই আপনি কেবল দ্বিতীয় পর্যালোচক হবেন। স্বতন্ত্র দক্ষতা পরোয়ানা হিসাবে তাদের পর্যালোচনা আছে; অবশেষে উভয় পর্যালোচক। আপনি অবশ্যই সর্বদা কোডটি দেখবেন, ব্যতিক্রম ছাড়াই।
  • refactoring

    • এটি একটি স্বতন্ত্র, আনুষ্ঠানিক শৃঙ্খলা।
    • রিফ্যাক্টরিং: মার্টিন ফওলারের বিদ্যমান কোডের নকশা উন্নত করা
      • কোডেড রিফ্যাক্টরিং রেসিপিগুলি যা প্ররোচিত-বাগ ফ্রি কোড পরিবর্তন নিশ্চিত করে।
      • এই বইটি দিয়ে একটি পেশাদার গ্রন্থাগার শুরু করুন।
    • আনুষ্ঠানিকতা একপাশে রেখে কোড পর্যালোচনার মাধ্যমে এটিকে আদৌ পরিচয় করিয়ে দিন
  • আপনার পরিবেশ ক্যাপচার

    • বেসলাইন সরঞ্জাম কনফিগারেশন: সংস্করণ নিয়ন্ত্রণ, আইডিই, সিআই সরঞ্জাম, ওএস, ইত্যাদি
    • উত্স কোড, ডকুমেন্টেশন, কনফিগারেশনের সংস্করণ নিয়ন্ত্রণে সিঙ্ক করা উচিত।

প্রক্রিয়া সম্পর্কে একটি শব্দ

চতুর (এবং এর স্ক্রমের মতো উপ-জেনারগুলি): এটি ভুলে যান। "আপনি চটপটে, আপনি চটচটে করেন না।" এভিল ম্যানিফেস্টোর অন্যতম মূল স্বাক্ষরকারী ডেভ থমাসের এগুলি দেখুন ।

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


সরঞ্জাম সম্পর্কে একটি শব্দ

শুধু আমি। সেই "সেরা সফ্টওয়্যার সরঞ্জামগুলি থেকে এখনই নয় ..." ক্লিক-টোপ মধু হাঁড়ি।

জেনকিন্স

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

ভর্সন নিয্ন্ত্র্ন

আমি গিটের চেয়ে মারকুরিয়াল পছন্দ করি। এই ব্লগ পোস্টটি কেন আমি মূলত মার্কুরিয়ালকে বেছে নিয়েছি: গিট হ'ল ম্যাকগাইভার, মার্চুরিয়াল হ'ল জেমস বন্ড

সাবস্ট্রেশন ভাল। মার্চুরিয়াল এবং গিটের একটি আলাদা আর্কিটেকচার রয়েছে যা সাবভার্সনের চেয়ে উন্নত।

সমন্বিত উন্নয়ন পরিবেশ

প্রত্যেকে বিভিন্ন কোডিংয়ের সরঞ্জামগুলি ব্যবহার করে যদি এখানে একটি বড় ফ্যাট বিবেচনা করা হয়: এখানে সরল পাঠ্য হিসাবে তেমন কোনও জিনিস নেই


একটি পেশাদার গ্রন্থাগার সম্পর্কে একটি শব্দ

ইন্টারনেট বিস্তৃত, অগভীর এবং বিশৃঙ্খলাযুক্ত।

  • স্টিভ ম্যাককনেল দ্বারা কোড সম্পূর্ণ
    • সবাইকে মধ্য তৃতীয় পড়তে বাধ্য করুন।
    • প্রস্তাবিত পেশাদার বইয়ের একটি পরিশিষ্ট রয়েছে।
  • রিফ্যাক্টরিং: বিদ্যমান কোডের নকশা উন্নতি করা
    • কোডেড রিফ্যাক্টরিং রেসিপিগুলি যা প্ররোচিত-বাগ ফ্রি কোড পরিবর্তন নিশ্চিত করে।
  • সফ্টওয়্যার ব্যর্থতা। সুনির্দিষ্ট কোনও সুপারিশ নয় তবে এটি কোনও গ্রন্থের মতো গল্প হওয়া উচিত।

0

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


1
একটি উল্লম্ব প্রোটোটাইপ কি; আপনি আপনার উত্তর প্রসারিত বিবেচনা করতে পারেন এটি বরং সংক্ষিপ্ত হয়।
esoterik

আমি দুঃখিত, আমার এই সকালে খুব কম সময় ছিল। প্রথমত, একটি [উল্লম্ব প্রোটোটাইপ] (টিউটোরিয়ালপয়েন্ট / এসডিএলসি / এসডিএলসি_সফটওয়্যার_প্রোটোটাইপিং.এইচটিএম) একটি প্রোটোটাইপিং যার অর্থ আপনি কোনও কার্যকারিতা কার্যকর না করেই আপনার সফ্টওয়্যারটি সম্পূর্ণরূপে তৈরি করেন। সুবিধাগুলি হ'ল প্রথমে অনুমিত গ্রাহক পণ্যটি দেখতে কেমন দেখতে পারে, দ্বিতীয়ত এটি বিকাশকারীকে কার্যকারিতা "কী হতে হবে" / কী ডেটা সরবরাহ করতে হবে তা সম্পর্কে একটি ভাল অনুভূতি দেয়।
gkhaos

"বরং জ্বলজ্বলে" বলতে কী বোঝ? প্রকল্প পরিচালনার ধরণটি নির্ধারণ করা বরং কঠিন কারণ এটি বিভিন্ন বিষয়ে নির্ভর করে যেমন আপনার প্রকল্পটি কী? আপনার দলটি কত বড়? এছাড়াও যেমন স্ক্রামে আপনার একটি স্ক্র্যাম-মাস্টার প্রয়োজন যা স্ক্রাম সম্পর্কে গভীর জ্ঞান থাকা উচিত। আমি কেবল বিবেচনা করার চেষ্টা করেছি যে স্ক্রাম প্রকল্প পরিচালনার একমাত্র উত্তর নয়।
gkhaos

0

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

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

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

এটি আপনার শিক্ষার্থীদের "বাস্তব জগতে" কী রকমের কাজের জন্য প্রস্তুত করবে এবং সেগুলির মধ্যে কিছুটা যুক্তিসঙ্গত ভাল অভ্যাস তৈরি করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.