একটি অব্যর্থযোগ্য অন্তহীন প্রকল্পের সাথে মোকাবিলা করা


10

আমাদের একটি বিশাল (1200+ ঘন্টা) ওয়েবসাইট রয়েছে যাতে প্রচুর প্রযুক্তিগত debt ণ থাকে । এটি মূলত নিম্নলিখিত (সাধারণ) কারণে হয়।

  1. একাধিক প্রোগ্রামার যারা বিকাশের সময় আসে এবং যায়।
  2. উন্নয়নের সময় নির্দিষ্টকরণের পরিবর্তন।
  3. সংযুক্ত অনেকগুলি কার্যকারিতা যুক্ত হয়েছে (অল্প সময়ে)।

গ্রাহক নতুন বৈশিষ্ট্য দর্শন চায়, এবং মূলত এই প্রকল্পের কাজ আসে নিচে সাপ্তাহিক 10+ ঘন্টার জন্য।

কারিগরি debt ণের কারণে আমরা সমস্যার সমাধান করতে বা তদন্ত করতে প্রচুর সময় ব্যয় করি যা সাধারণত নিম্নলিখিতগুলির মধ্যে একটিতে আবিষ্কার করে:

  1. একটি নির্লজ্জ, নির্বোধ বাগ যা মানুষকে কাঁদে।
  2. উপরের অংশে একটি নতুন বৈশিষ্ট্যটির ফলাফল ঘটে কারণ আমরা নতুন বৈশিষ্ট্যের প্রভাব ফেলতে পারে এমন সমস্ত জায়গাগুলি আমরা আগে থেকে দেখিনি।
  3. আমরা কিছু অন্যান্য সমস্যার মুখোমুখি হয়েছি (ফে সার্ভার মাইগ্রেশন, আপগ্রেড)

আমাদের প্রতিদিন সমস্যা হয় এবং আমরা এটিকে থামানোর জন্য বিষয়গুলি অনুসরণ করার চেষ্টা করেছি:

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

সমস্যাটি হ'ল সমস্যাগুলি চলতে থাকে ... এবং কোনওরকমে আমরা এটির উপর একটি দৃrip়তা পেতে পারি না। নতুন বৈশিষ্ট্যগুলি এখনও ত্রুটি সৃষ্টি করে এবং পুরানো বাগগুলি হ্যালো বলে চলেছে। একরকম - সম্ভবত প্রকল্পের আকারের কারণে - আমরা এই প্রকল্পের উপর একটি খপ্পর পেতে পারি বলে মনে হয় না।

আমি ধরে নিই যে এরপরে আরও অনেক বড় প্রকল্পে কর্মরত প্রোগ্রামাররা রয়েছেন। এজন্য আমি আমার প্রশ্নে এসেছি:

বড় প্রকল্পগুলিতে এই সমস্যাগুলি এড়াতে আমরা কী করতে পারি বা আপনি কী করতে পারেন ?

গৌণ সম্পাদনা, অতিরিক্ত তথ্য:

  1. আমরা সংস্করণ নিয়ন্ত্রণ (এসভিএন) ব্যবহার করি।
  2. আমাদের ডিটিএপি বিকাশ প্রক্রিয়া রয়েছে।

2
আমি নিশ্চিত নই যে এখানে একটি নির্দিষ্ট পর্যাপ্ত প্রশ্ন রয়েছে, একটি বড় ওয়েব অ্যাপ্লিকেশন বিকাশ এবং বজায় রাখার সঠিক উপায় কী?
জেফো

আমি এটি যথাসম্ভব সুনির্দিষ্ট করার চেষ্টা করেছি। আমি আমাদের পরিস্থিতি এবং কী উন্নতি করব বা নিজের অভিজ্ঞতা এবং তারা কীভাবে এই সমস্যাটির কাছে এসেছিল সে সম্পর্কে লোকদের মতামত শুনতে চাই।
ওয়েসলি ভ্যান ওপডর্প 20'11

আপনার কি বিল্ড ইঞ্জিন আছে? বিতরণযোগ্যতা তৈরি করে কোনটি? প্রতিবারই কেউ কিছু চেক করে?

আমাকে ডিটিএপি: phparch.com/2009/07/…
টাঙ্গুরেনা

3
খুব খারাপ কাফকা সফটওয়্যার সিস্টেমগুলি সম্পর্কে লিখতে খুব তাড়াতাড়ি ছিল।
ডেভিড থর্নলে

উত্তর:


11

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

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

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


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

1
দুঃখের বিষয়, আমি যা বর্ণনা করেছি তা মূলত আমার উন্নয়ন ক্যারিয়ারের গল্প। আমি অফিসের রাজনীতি খেলতে পারি না তাই যে লোকেরা এবং লোকেরা "টাইপ এ" ব্যক্তিত্ব মোটেও না (বা তারা তবে সমস্যাগুলি বুঝতে পারে না) তাই সাধারণত আমাকে ছাড়া কিছুই পরিবর্তন হয় না।
ওয়েইন মোলিনা

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

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

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

4

আপনি যদি কিছু না করে থাকেন তবে ইউনিট-টেস্টিং জিনিসগুলি একটি ভাল সূচনা পয়েন্ট। খুব কমপক্ষে তারা পুরানো বাগগুলি ঠিক করার সময় আপনাকে নতুন বাগ যুক্ত করা থেকে রক্ষা করবে।

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

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

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

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


3

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

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

প্রকল্পটিতে থাকা আরও ম্যানুয়াল পরীক্ষার ঝুঁকি যুক্ত করা feature & সময় অনুযায়ী প্রতিটি বৈশিষ্ট্য প্রয়োজনীয় সময়ের নিরিখে ভুল পথে চলে।

কিছু কোড পর্যালোচনা ভাল তবে এটি সম্ভবত A-> বি-> সি-> একটি পরীক্ষামূলক স্কিমের অংশ। (অন্য দিকে কোড পর্যালোচনা হতে পারে?)


1

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

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

1) তারা সাধারণত অফিসের রাজনীতি এবং ক্ষমতার ভারসাম্যকে ব্যাহত করে না। 2) তারা ইস্যুটির কেন্দ্রবিন্দুতে ধর্মঘট না করে পরিচালনার মাধ্যমে নিয়ন্ত্রণের মায়া তৈরি করতে সফল।

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

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

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

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


1

কিছুক্ষণ আগেও আমি একই জায়গায় ছিলাম। আমি আর দুটি সহজ নিয়মের জন্য ধন্যবাদ না:

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

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


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

@ ওয়াইনেম হ্যাঁ এই দিনটিতে আমি আশ্চর্য হয়েছি যে কিছু লোকের মনোভাবের ভিত্তিতে এটি আসলে কাজ করে। এটি অবশ্যই হবে কারণ "বাগের গণনা" কীভাবে হ্রাস করতে হয় এবং কীভাবে আমাদের পদ্ধতির চেষ্টা করার সিদ্ধান্ত নিয়েছে পরিচালনাগুলি তার ধারণার বাইরে।
জেসেক প্রুশিয়া 20'11

0

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

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

প্রক্রিয়া খারাপ হয় যখন এটি খুব অল্প বা খুব বেশি ব্যবহৃত হয়। আমি মনে করি আপনি প্রাক্তন অবস্থায় আছেন।


0

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

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

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

চিয়ার্স। যাকোব।


0

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

আপনি কোড লেখা শুরু করার আগে সামনের ডিজাইনের কাজ শুরু করুন; এটি নিখুঁত বা বিশাল হতে হবে না বা এটি ইউএমএল ধারণ করার প্রয়োজন নেই, তবে এটি যে সমস্যার সমাধান করতে হবে তার একটি মোটামুটি দৃ solution় সমাধানের রূপরেখা হওয়া উচিত। আমি যতটা বলতে পারি যত কম সফ্টওয়্যার পরিকল্পনা করা হয়েছে তত খারাপ। আপনি নকশাটিতে কাজ শুরু করার আগে আলোচনা করুন।

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

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

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

আপনার কোডটি তৈরি এবং স্থাপন করা সহজ করুন। বিল্ড সময়গুলি সংক্ষিপ্ত রাখার চেষ্টা করুন। এটি যত বেশি নির্মিত হবে এটি নির্মাণ করা তত তত দ্রুততর এটি নির্মিত হবে।

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

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


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

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

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

2
আমি আপনার বক্তব্য গ্রহণ করি, তবে আমার অভিজ্ঞতায় যা বিকাশ করা হচ্ছে তা জেনে না হ'ল অব্যবস্থাপনার বীজ।

@ বি টাইলার: ... আমার অভিজ্ঞতায় যা বিকাশ করা হচ্ছে তা না জেনে অব্যবস্থাপনার বীজ। - 100% সম্মত। আমরা কেবল প্রতিকারের সাথে একমত নই।
জিম জি।

0

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

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

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

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