(গ্রহণযোগ্যতা) পরীক্ষামূলকভাবে চালিত বিকাশের আপেক্ষিক ব্যয় দক্ষতা


15

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

এখানে চিত্র বর্ণনা লিখুন

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

গ্রাহকের আরও কত প্রচেষ্টা প্রয়োজন? তারা কি প্রকল্পের সাথে সম্পর্কিত তাদের উপায় পরিবর্তন করতে হবে, বিশেষত যদি তারা সামনে বড় নকশায় অভ্যস্ত হয়? সামগ্রিকভাবে গ্রাহকের প্রয়োজনীয় ঘন্টার সংখ্যা বৃদ্ধি পায়, বা এটি আসলে হ্রাস পায়?

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

দ্রষ্টব্য: আমি এখানে বিষয়গত মতামত বা তত্ত্বের সন্ধান করছি না, অনুগ্রহ করে অনুমান করবেন না। আমি টিডিডিতে বাস্তব-অভিজ্ঞতার জন্য আরও সন্ধান করছি।


আমি নিশ্চিত যে সত্যিকারের কোনও ডেটা নেই। আপনি কেবল পিয়োপলের বাস্তব-বিশ্বের অভিজ্ঞতার ভিত্তিতে বিষয়গত মতামত এবং তত্ত্বগুলি পান।
ইওফোরিক

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

2
সুতরাং, এটি একটি মতামত ভিত্তিক প্রশ্ন? এটি অবশ্যই
একরকম


@ বিউ: আমার প্রশ্নবিদ্ধির শেষ অনুচ্ছেদটি দেখুন।
রবার্ট হার্ভে

উত্তর:


11

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

টিডিডি প্রাথমিকভাবে করা হয় কারণ এর ফলাফল আরও ভাল কোড হয়। আরও সুনির্দিষ্টভাবে, টিডিডি কোডে ফলাফল দেয় যা পরিবর্তন করা সহজ

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

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

ভাল ইউনিট পরীক্ষা নিম্নলিখিত সুবিধা দেয়:

  1. ইউনিট পরীক্ষাগুলি বিকাশকারীদের অযাচিত পার্শ্ব প্রতিক্রিয়া সম্পর্কে সতর্ক করে।
  2. ইউনিট পরীক্ষাগুলি পুরানো, পরিপক্ক সিস্টেমে নতুন কার্যকারিতা দ্রুত বিকাশের অনুমতি দেয়।
  3. ইউনিট পরীক্ষাগুলি নতুন বিকাশকারীদের কোডটির আরও দ্রুত এবং আরও সঠিক ধারণা দেয়।

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

সংক্ষেপ:

সংস্করণ 1-এর বিকাশ ধীর হতে পারে। সংস্করণ 2-10 এ বিকাশ দ্রুত হবে।


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

1
সামনের গ্রহণযোগ্যতা পরীক্ষা এবং ইউনিট পরীক্ষাগুলি প্রয়োজনীয়তাগুলি পরিষ্কার করার কথা বলে না ?
রবার্ট হার্ভে

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

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

1
@ স্টিফেন: সম্ভবত আমার এটি পরিষ্কার করা উচিত ছিল যে আমি টিডিডি এর গন্ধ সম্পর্কে বলছি যা প্রয়োজনীয়তা সংগ্রহের প্রক্রিয়ার অংশ হিসাবে গ্রহণযোগ্যতা পরীক্ষাগুলিকে অন্তর্ভুক্ত করে। আমি আরও পরিষ্কার করতে প্রশ্নটিতে একটি গ্রাফিক যুক্ত করেছি।
রবার্ট হার্ভে

6

টেস্ট-চালিত বিকাশ সম্পর্কে সফটওয়্যার তৈরির একটি অধ্যায় রয়েছে , যা এখানে আলোচিত প্রবন্ধকে উদ্ধৃত করে ।

মাইক্রোসফ্টে তিনটি উন্নয়ন দল এবং আইবিএম-এর একটি, যা টিডিডি গ্রহণ করেছে, তাদের নিয়ে কেস স্টাডি করা হয়েছিল। কেস স্টাডির ফলাফলগুলি ইঙ্গিত দেয় যে চারটি পণ্যের প্রাক-প্রকাশের ত্রুটি ঘনত্ব টিডিডি অনুশীলনটি ব্যবহার না করে এমন প্রকল্পগুলির তুলনায় 40% থেকে 90% এর মধ্যে হ্রাস পেয়েছে। বিষয়গতভাবে, টিডিডি গ্রহণের পরে দলগুলি প্রাথমিক বিকাশের সময় 15-25% বৃদ্ধি পেয়েছিল।

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


4
এই অধ্যয়নের সমস্যাটি হল তারা টিডিডি মানিয়ে নেওয়ার আগে কোডটি একক করে নি। TDD- এ শুধু এটি গ্রহণ দ্বারা যে 40-90% এর অপূর্ণতা হ্রাস সংখ্যা একটি যাদু হাতিয়ার নয়
BЈовић

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

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

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

2
ভাগ্যক্রমে আমি বলিনি তারা ছিল।

5

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

বিশেষত, প্রকল্পের টাইমলাইনগুলি এভাবে খেলার জন্য ব্যবহৃত হত (এবং এখনও একই সংস্থার অন্যান্য দল / পণ্যগুলিতে খেলতে পারে):

  • বিশ্লেষণ এবং প্রয়োগের 4 সপ্তাহ পর্যন্ত
  • 2 সপ্তাহের রিগ্রেশন টেস্টিং, বাগ ফিক্সিং, স্থিতিশীলতা এবং প্রকাশের প্রস্তুতি
  • জানা ত্রুটিগুলি ঠিক করার 1-2 সপ্তাহ
  • কোড ক্লিনআপ এবং পোস্ট-প্রোডাকশন ইস্যু / সমর্থনের 2-3 সপ্তাহ (অজানা ত্রুটি / অপরিকল্পিত আউটজেস)

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

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

বিপরীতে, প্রাথমিক প্রকাশের পর থেকে প্রতিটি প্রকাশের প্রাথমিক গ্রহণযোগ্যতার মানদণ্ড এবং গ্রহণযোগ্যতা পরীক্ষা ছিল এবং আমাদের বর্তমান পুনরাবৃত্তিগুলি এর মতো দেখাচ্ছে:

  • বিশ্লেষণ এবং বাস্তবায়নের 8 দিন
  • স্থিরকরণের 2 দিন
  • পোস্ট-প্রোডাক্ট সাপোর্ট এবং ক্লিনআপের 0-2 টি মিলিত দিন

অন্য কথায়, আমরা 55-65% রক্ষণাবেক্ষণ ওভারহেড থেকে 20-30% রক্ষণাবেক্ষণ ওভারহেডে অগ্রসর হয়েছি। একই দল, একই পণ্য, মূল পার্থক্য হ'ল আমাদের গ্রহণযোগ্যতা পরীক্ষাগুলির প্রগতিশীল উন্নতি এবং স্ট্রিমলাইনিং।

সেগুলি বজায় রাখার জন্য ব্যয় হয়, প্রতি স্প্রিন্টে, QA বিশ্লেষকের জন্য 3-5 দিন এবং বিকাশকারীর জন্য 1-2 দিন। আমাদের দলে ৪ জন বিকাশকারী এবং ২ টি কিউ বিশ্লেষক রয়েছে, সুতরাং (ইউএক্স, প্রকল্প পরিচালনা ইত্যাদি গণনা করা হচ্ছে না) এটি 60০ টির মধ্যে সর্বাধিক man ম্যান-ডে, যা আমি 15% বাস্তবায়ন ওভারহেডের উপর দিয়ে যাব নিরাপদ দিক

আমরা প্রতিটি প্রকাশের সময়কালের 15% অটোমেটেড গ্রহণযোগ্যতা পরীক্ষার বিকাশ করে ব্যয় করি এবং প্রক্রিয়াটিতে প্রতিটি রিলিজের 70% রিগ্রেশন টেস্ট করে এবং প্রাক-উত্পাদন এবং পোস্ট-প্রোডাকশন বাগগুলি ঠিক করতে সক্ষম হয়।

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

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

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

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

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

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


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

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

1

সম্পদ প্রয়োজনীয়তা

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

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

  • বড় refactors
  • প্ল্যাটফর্ম / প্যাকেজ আপগ্রেড
  • প্ল্যাটফর্ম স্থানান্তর
  • সরঞ্জামচেইন আপগ্রেড

এটি এমন একটি দল ধরে নিচ্ছে যারা জড়িত প্রক্রিয়া এবং অনুশীলনের সাথে পরিচিত।

গ্রাহক জড়িত

গ্রাহকের আরও কত প্রচেষ্টা প্রয়োজন?

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

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

প্রকল্পের অনুমান

আমি কল্পনা করব যে টিডিডি প্রকল্পের শুরুতে পুনরাবৃত্ত টিডিডি প্রক্রিয়াতে সময় অনুমানগুলি খুব অস্পষ্ট হবে (যেহেতু কোনও সফ্টওয়্যার বিকাশ পরিকল্পনা নেই)।

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

উদাহরণ স্বরূপ:

আমার দলের "স্প্রিন্ট" এক সপ্তাহ দীর্ঘ এবং আমাদের চলমান গড় এবং স্ট্যান্ডার্ড রয়েছে। গত 14 সপ্তাহের বিচ্যুতি। প্রকল্পটি যদি 120 পয়েন্ট হয় তবে আমাদের গড় 25 এবং একটি স্ট্যান্ড হবে। 6 এর বিচ্যুতি তখন কোনও প্রকল্পের সমাপ্তি অনুমান করা হয়:

Project Total / (Mean Velocity - (2 * Std. Deviation) = 95% Time Estimate
120           / (25            - (2 * 6             ) = 9.2 weeks

আমরা ২ য় শ্রেণি ব্যবহার করি। আমাদের 95% আত্মবিশ্বাস অনুমানের জন্য থাম্বের বিচ্যুতি নিয়ম। অনুশীলনে আমরা সাধারণত প্রথম শ্রেনীর অধীনে প্রকল্পটি শেষ করি। বিচ্যুতি, কিন্তু আমাদের গড় উপর। এটি সাধারণত পরিশোধন, পরিবর্তন ইত্যাদির কারণে ঘটে etc.


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

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

-1

সামনে পরীক্ষার প্রয়োজন মনে হচ্ছে এটি সম্পাদন করতে আরও বিকাশকারী সময় প্রয়োজন। উন্নয়নের প্রচেষ্টা কতটুকু বৃদ্ধি পায় বা বাগগুলি আপ-ফ্রন্ট নির্মূলের কারণে এটি হ্রাস পায়?

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

বিকাশকারীদের সমস্যাটি হ'ল তারা এমন কিছুর এমন কিছুর প্রয়োগও করেন যা সফ্টওয়্যারকে যতটা সম্ভব জেনেরিক করার প্রয়োজন হয় না।

গ্রাহকের আরও কত প্রচেষ্টা প্রয়োজন? তারা কি প্রকল্পের সাথে সম্পর্কিত তাদের উপায় পরিবর্তন করতে হবে, বিশেষত যদি তারা সামনে বড় নকশায় অভ্যস্ত হয়? সামগ্রিকভাবে গ্রাহকের প্রয়োজনীয় ঘন্টার সংখ্যা বৃদ্ধি পায়, বা এটি আসলে হ্রাস পায়?

এটা কোন ব্যাপার না। যেগুলি প্রয়োজনীয়তাগুলি করে তার পক্ষে এটি যথাসম্ভব ভাল করা উচিত।

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

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


1
আমি যেমন এটি বুঝতে পারি, সাধারণত টিডিডি এবং বিডিডিএফ একে অপরের সাথে সামঞ্জস্য হয় না।
রবার্ট হার্ভে

3
বিডিইউএফ সাধারণত কোনও ভাল উন্নয়ন পরিচালনা পদ্ধতির সাথে সামঞ্জস্য করে না। তবে কোনও টিডিডি ফ্যাশনে বিডিইউএফ প্রকল্প করা সম্ভব হবে। টিডিডি হ'ল উন্নত মানের সফ্টওয়্যার লেখার একটি কৌশল যখন বিডিইউএফ প্রয়োজনীয়তা বর্ধনের জন্য একটি কৌশল। একটি খারাপ কৌশল, তবুও একটি কৌশল।
স্টিফেন

@ রবার্টহারভে রাইট, তবে তারা যদি বিডিইউএফ করতে চান - এটি তাদের পছন্দ। আপনি যদি সত্যিই চটপটে কাজ করে থাকেন তবে তাদের নকশাটি উন্নত করতে আপনি নির্দ্বিধায় এবং এখনও টিডিডি করুন।
BЈовић

সুতরাং আপনি বলছেন যে আমি ইউনিট পরীক্ষা লিখলে আমার কোডটি পুরোপুরি পরীক্ষা করা হবে এবং যদি সমস্ত পরীক্ষা পাস হয় তবে অবশ্যই এর অর্থ সফ্টওয়্যারটি বাগ ফ্রি (বা কমপক্ষে আরও ভাল)। সুতরাং আমার কেবলমাত্র আমার সফ্টওয়্যারটির প্রতিটি পদ্ধতি পরীক্ষা করা দরকার যেমন "ফাংশন টেস্টস্ক্রিয়র () a ইন্ট এ = 3; এসার্টট্রু (মাইএসকিআর (ক) == 9);} ফাংশন মাইএসকিআর (ইনট্রি) {রিটার্ন 9;}"
ডেইনিয়াস

@ ডাইনিয়াস নো, আবার পড়ুন। 100% কোড কভারেজ বাগ মুক্ত নয়। হ্যাঁ, আপনার প্রতিটি পদ্ধতি পরীক্ষা করতে হবে। অবশ্যই, ইউনিট পরীক্ষার ডেটা বেস অ্যাক্সেস, জিইউআই ইত্যাদির কোনও অর্থ নেই। ইউনিট পরীক্ষা তাদের জন্য নয়।
BЈовић
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.