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