একক চৌকস কাজের আইটেমের মধ্যে "সম্পর্কিত" কাজ পরিচালনা করা


12

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

এই অতিরিক্ত কাজটি সাধারণত জিনিসগুলি যা কিছুটা কাজের সাথে সম্পর্কিত তবে আইটেমটির লক্ষ্য অর্জনের জন্য সর্বদা প্রয়োজন হয় না (এটি একটি মতামত হতে পারে)। উদাহরণ অন্তর্ভুক্ত তবে সীমাবদ্ধ নয়:

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

এই অতিরিক্ত কাজটি যখন ছোট হয় তখন আমরা কিছু মনে করি না। সমস্যাটি তখন হয় যখন এই অতিরিক্ত কাজটি মূল বৈশিষ্ট্য বিন্দু অনুমানের বাইরে আইটেমটির যথেষ্ট পরিমাণে প্রসার ঘটায়। কখনও কখনও 5 পয়েন্টের আইটেমটি আসলে 13 পয়েন্ট সময় নেয়। একটি ক্ষেত্রে আমাদের একটি 13 পয়েন্টের আইটেম ছিল যা পূর্ববর্তী ক্ষেত্রে 80 পয়েন্ট বা তারও বেশি হতে পারে।

এটি কীভাবে পরিচালনা করতে হয় তার জন্য আমাদের আলোচনায় দুটি বিকল্প রয়েছে।

  1. আমরা একই কাজের আইটেমের অতিরিক্ত কাজটি গ্রহণ করতে পারি এবং এটি ভুল-অনুমান হিসাবে লিখতে পারি। এর পক্ষে যুক্তিগুলি অন্তর্ভুক্ত করেছে:

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

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

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

যেহেতু আমরা কেবল কয়েক মাস অ্যাগিল ব্যবহার করতে পেরেছি, এটিকে কীভাবে পরিচালনা করতে হবে তার চারপাশে আরও সমস্ত পাকা আগল প্রবীণদের অভিমত কী?

উত্তর:


5

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

চতুরটি পরবর্তীকালে ভাল করে না কারণ এটি বেশিরভাগ প্রযুক্তিগত সমস্যা এবং ইস্যুগুলির উত্তর হিসাবে নয় intended

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

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

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


4

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

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

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

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

বিকল্প মহাবিশ্বে, আসুন কল্পনা করুন যে আদর্শ সময়ের হিসাবে অনুমান করা হয় এমন 5 আসল ঘন্টাগুলির উপর ভিত্তি করে 7 (~ 35 ঘন্টা) হয়ে গেছে কারণ নতুন কোড এবং কিছু পূর্ববর্তী বিটগুলি সঠিকভাবে নকশায় রাখার জন্য আপনার 10 ঘন্টা অতিরিক্ত রিফ্যাক্টরিং প্রয়োজন ছিল because নকশা আর্কিটেকচার। সেক্ষেত্রে গল্পটি যে ডেভেলপার-দিবসটি গ্রহণ করার কথা ছিল তার সংখ্যার সময় অতিরিক্ত এবং আদর্শ সময়ের মধ্যে "ফাঁক" এর মধ্যে রয়েছে is সুতরাং, একটি প্রকল্প পরিচালক হিসাবে, আমি একটি 5 কল করব যা একটি 7 যুক্তিসঙ্গত অনুমান হয়ে এগিয়ে চলেছে move


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

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

1

গল্পের পয়েন্টগুলি প্রদত্ত ব্যবহারকারীর গল্পের আপেক্ষিক জটিলতার একটি অনুমান। দেখে মনে হচ্ছে আপনি গল্পের পয়েন্টগুলি ব্যবহার করতে বলছেন এটি এক্স ম্যান / ঘন্টা সময় নেবে। পরিবর্তে, দুটি লক্ষ্য জন্য প্রচেষ্টা

  1. গল্পগুলি একটি ধারাবাহিক পরিসীমা না হওয়া অবধি বিচ্ছিন্ন করুন (3, 5 বা 8 পয়েন্ট)
  2. ধরে নিন যে গল্পটিতে কোনও রিফ্যাক্টরিং প্রয়োজনীয় রয়েছে

সময়ের সাথে সাথে এটি আপনাকে বেগের জন্য একটি বেসলাইন দেবে। প্রতি 5 পয়েন্টের গল্পটি অন্যদের মতো একই পরিমাণে সময় নেয় না তবে স্প্রিন্ট প্রতি গড় বেগ (দলটি কত গল্পের পয়েন্টটি পূর্ণ করতে পারে) সামঞ্জস্যপূর্ণ হবে।

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


0

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

এমন একটি সময় হতে পারে যেখানে একটি স্প্রিন্টে একটি গল্পের পরিকল্পনা করার সাথে "স্কোপ ক্রাইপ" এড়ানোর প্রয়াসে এটিতে অতিরিক্ত মানদণ্ড যুক্ত হতে পারে যা ঘটতে পারে যেখানে কোনও ব্যবহারকারী নতুন ফর্ম চায় এবং তারপরে 101 ফর্মের পরিবর্তন করতে পারে যা বাস্তবসম্মত নয় কখনও কখনও 2 সপ্তাহের স্প্রিন্টে পান।

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

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