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