চতুর দলগুলি প্রতিদিন নতুন বৈশিষ্ট্য সরবরাহ করা উচিত?


31

আমার সংস্থা জলপ্রপাত-শৈলীর বিকাশ থেকে আগিল / স্ক্রমে রূপান্তরের মাঝে রয়েছে। অন্যান্য জিনিসগুলির মধ্যে, আমাদের জানানো হয়েছে যে প্রত্যাশাটি আমাদের জন্য প্রতিটি দিন শেষে নতুন কার্যকরী, টেস্টেবল (কিউএ দ্বারা) বৈশিষ্ট্য রয়েছে।

আমাদের বেশিরভাগ ডেভস মিটিং এবং অন্যান্য এন্টারপ্রাইজ ওভারহেডের জন্য দিনে প্রায় 2 ঘন্টা হারায়। এর অর্থ হ'ল যে কোনও প্রদত্ত 6 ঘন্টা (সর্বোত্তমভাবে) সময়কালে, আমাদের QA এর সাথে খেলার জন্য একটি সম্পূর্ণ বৈশিষ্ট্য তৈরি করতে পর্যাপ্ত কোড ডিজাইন করতে হবে, লিখতে হবে, ইউনিট-পরীক্ষা করতে হবে, বিল্ড করতে হবে এবং স্থাপন করতে হবে release আমি বুঝতে পারি যে বিল্ড / মোতায়েন / প্রকাশের নোটগুলি একটি উপযুক্ত সিআই সেটআপ দিয়ে স্বয়ংক্রিয় করা যেতে পারে তবে আমরা এখনও সেখানে নেই।

আমাদের সার্ভার-সাইড কোডটি লেখার জন্যও একটি বড় অফশোর উপকূল রয়েছে এবং 12 ঘন্টা সময়ের পার্থক্য এটি আরও জটিল করে তোলে।

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

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

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

উত্তর:


52

আজকের দিনে অগিলের নামে যেসব অপরাধ সংঘটিত হয়েছে তা আমাকে দুঃখ দেয়। এই স্থানান্তরটি তৈরি করতে প্রচুর লোকের পক্ষে খুব কঠিন সময় কাটাচ্ছে।

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

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

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

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

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

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

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


2
+1: দুর্দান্ত উত্তর। "চটজলদি" এর সত্যিকার অর্থ কী হওয়া উচিত সে সম্পর্কে কিছু সত্যই ভাল দৃষ্টিভঙ্গি।
জিম জি।

24

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

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


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

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

8

সংক্ষিপ্ত উত্তর: না । এটি কেবল সহজভাবে প্রতিদিন সম্পাদন করা যায় না।

তবে, চতুর দলটি প্রতিটি স্প্রিন্টে কার্যকারী সফটওয়্যার টুকরা বা ব্যবহারকারীর গল্প সরবরাহ করার কথা । অগ্রগতি এবং প্রতিবন্ধকতা দেখতে সাধারণত স্থিতি বৈঠক হয়।

শুভেচ্ছা মানের সফ্টওয়্যার , জায়গায় একটানা ইন্টিগ্রেশন (ci) প্রসেস নিশ্চিত করুন যে মান নিয়ন্ত্রণ প্রচেষ্টা (চেক-ইন) ছোট টুকরা প্রয়োগ করা হয়, এবং ঘন ঘন সম্পন্ন হিসাবে কনফিগার করতে হবে। এটি quality of softwareসমস্ত উন্নয়ন সম্পন্ন করার পরে মান নিয়ন্ত্রণ প্রয়োগের traditionalতিহ্যবাহী অনুশীলনকে প্রতিস্থাপন করে , উন্নতি করতে এবং এটি সরবরাহ করার জন্য নেওয়া সময় হ্রাস করার লক্ষ্যও রাখে ts


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

1
আসুন আমরা স্পষ্ট করে বলতে পারি: "ইউজার স্টোরিটি সম্পন্ন না হওয়া এবং চেক ইন না করা পর্যন্ত আপনার কিউএ-তে কোনও কিছুই অফলোড করা উচিত নয়" "
EL Yusubov

আরও কিছুটা স্পষ্টতা: গল্পটির কোড পরীক্ষা না করা পর্যন্ত একটি গল্প করা হয় না।
ব্রায়ান ওকলে 11

@ ইলিউসুবভ এটি আমার বোধগম্যতাও ছিল যে প্রতিটি স্প্রিন্টের শেষে আমাদের নতুন বৈশিষ্ট্য / গল্প সরবরাহ করার কথা ছিল যা সম্পূর্ণ যুক্তিযুক্ত।
জোশুয়া স্মিথ

4

না, প্রতি একদিন নতুন বৈশিষ্ট্য সরবরাহ করার প্রত্যাশা থাকা উচিত নয়। বিকাশকারী development 6 ঘন্টা বিকাশের সময়কালে কোনও বৈশিষ্ট্য সমাপ্ত করতে সক্ষম হতে সমস্ত বৈশিষ্ট্য এত ছোট আকারে ভাঙ্গা যায় না be

আপনি যদি স্ক্র্যাম করে থাকেন তবে আপনার ন্যূনতম 2 সপ্তাহের স্প্রিন্টে করা উচিত, বৈশিষ্ট্যগুলি সমাপ্ত হতে প্রায় 0 থেকে 8 দিন সময় লাগবে with পণ্য মালিকের কাছে প্রতিশ্রুতি হ'ল নতুন, পরীক্ষিত এবং যাচাই করা সঠিক ওয়ার্কিং কোড সরবরাহ করা যা স্প্রিন্টের শেষে উত্পাদনে রাখা যেতে পারে। (দ্রষ্টব্য: আপনাকে এটিকে আসলে উত্পাদনে ফেলতে হবে না তবে লক্ষ্যটি যদি আপনি চান তবে এটি হতে পারে)

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

মনে রাখবেন লক্ষ্যটি স্প্রিন্টের শেষে বৈশিষ্ট্যগুলি সম্পন্ন এবং পরীক্ষা করাতে হবে! আপনার তৈরির জন্য স্প্রিন্টের শেষ দিন পর্যন্ত আপনাকে QA অপেক্ষা করতে হবে না এবং তারপরে সমস্ত বৈশিষ্ট্য পরীক্ষা করতে হবে। এগুলি সব পরীক্ষা করার জন্য তাদের কাছে সময় নেই এবং কোনও বাগ ঠিক করার জন্য আপনার কাছে সময় নেই ...

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


1
আমরা এখন এটিই করি তবে নতুন বৈশিষ্ট্য খুব কমই কেবল একদিন লাগে, বিশেষত অফশোরের সাথে জড়িত।
জোশুয়া স্মিথ

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

2

এটি আসলে প্রকল্পের আকারের উপর নির্ভর করে; প্রকল্পটি যদি বড় হয় তবে এটি অর্জনের পক্ষে কোনও সম্ভাব্য উপায় নেই।

দৈনিক (বা আরও বেশিবার) এমন বিল্ডগুলি যা অবিচ্ছিন্ন ইন্টিগ্রেশন সরঞ্জামগুলি থেকে বেরিয়ে আসে, তার মানে ওয়ার্কিং সফটওয়্যার নয়; এর সবেমাত্র সংকলনযোগ্য কোডের অর্থ।


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

1

এখানে অনেকগুলি প্রকল্প রয়েছে যা দৈনিক বিল্ড সরবরাহ করে, যা ক্রমাগত সংহতকরণের জন্য ধন্যবাদ, ওয়ার্কিং সফ্টওয়্যার। অন্তত থিওরিতে।

এর অর্থ এটি প্রয়োজনীয়ভাবে নতুন বৈশিষ্ট্যগুলি ধারণ করে না। হয়তো কয়েকটি ছোটখাট বাগ ফিক্স, বা কিছুই নয়।

তত্ত্ব অনুসারে, আপনি যদি প্রতিদিন আপনার কিউএতে আরও কাজ সরবরাহ করতে অক্ষম হন তবে আপনাকে অবশ্যই বিকাশকের সংখ্যা বাড়াতে হবে বা পরীক্ষকদের সংখ্যা হ্রাস করতে হবে। ভয়াবহ ধারণা!

আপনার কাজ জিনিস শেষ করা হয়।

QA কে বলুন যে এটি সম্পন্ন হওয়ার পরে তারা পরীক্ষার জন্য কিছু পাবে। কেন তাদের আপনাকে তাদের ব্যাখ্যা করা দরকার।


1
হাজার বার, এই। আমি প্রকল্পের নেতৃত্বকে বলেছিলাম যে কিউএর সাথে কাজের সরবরাহ করা আমার দলের দায়িত্ব নয় এবং দৃ strongly়ভাবে প্রত্যাখ্যান করা হয়েছিল।
জোশুয়া স্মিথ

আরও

@JoshuaSmith: আমি আমার উত্তর আপনার সাম্প্রতিক সম্পাদনাটি মেলে সম্পাদিত, কিন্তু আমি ভীত এটা উত্তর আপনি খুঁজছেন নয় আছি ...

0

আমি মনে করি আপনি "সিআই" এর ধারণা সম্পর্কে বিভ্রান্ত হয়ে পড়েছেন। সিআই অনুশীলনে কীভাবে কাজ করে আপনি মার্টিন ফাউলারের এই দুর্দান্ত নিবন্ধটি দেখতে যেতে পারেন .এটি আপনার প্রশ্নের সঠিক উত্তর দিতে হবে।

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