এক দলে ডিজাইন, অন্যটিতে কোডিং ing


28

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

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

সুতরাং, আমার প্রশ্নটি কি এই পদ্ধতির ভাল, বা সঠিক প্রমাণিত? আমাদের প্রকল্পে সাফল্য পেতে আমাদের সফ্টওয়্যার প্রক্রিয়াটির প্রধান বিবেচ্য বিষয়গুলি কী কী?



5
@ মাইক: স্পেসক্রাফ্ট সফ্টওয়্যার বেশিরভাগ সফ্টওয়্যার থেকে কিছুটা আলাদা। এটি পুরোপুরি পুরোপুরি কাজ করতে হয়, বা প্রাণহানি এবং অত্যন্ত ব্যয়বহুল সম্পদ দেখা দিতে পারে। Fastcompany.com/28121/they-writ-right-stuff
রবার্ট হার্ভে

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

1
@ মাইক: আমি মনে করি যে এটি বলা আরও সঠিক হবে যে বেশিরভাগ সফ্টওয়্যারটিতে অল্প সংখ্যক বাগ গ্রহণযোগ্য বলে মনে করা হয়, কারণ বাগ-মুক্ত সফটওয়্যারটি একটি অ্যাসিম্পটোট এবং বাকী বাক্সগুলি বের করা খুব ব্যয়বহুল।
রবার্ট হার্ভে

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

উত্তর:


36

আমার মতামত:

আপনি যদি অফশোর লোকদের সমস্ত কিছু হ'ল ডকুমেন্টস এবং ডায়াগ্রাম, তবে আপনার প্রচুর ভুল ধারণা এবং হতাশার সৃষ্টি হবে

আমার সুপারিশ

  • এগুলিকে এতগুলি নথি দেবেন না, বরং ইন্টারফেস এবং বিমূর্ত ক্লাসগুলি যাতে আপনার ডিজাইনের লক্ষ্যগুলিতে স্ট্রেইটজ্যাক্ট করে দেয়

  • পরিচিত নামকরণের মান ব্যবহার করার জন্য তাদের প্রয়োজন।

  • তাদের ইউনিট পরীক্ষাগুলি ব্যবহার করার প্রয়োজন।

  • প্রক্রিয়াটি তদারকি করার জন্য আপনার ডিজাইনার / আর্কিটেক্টদের অফশোরের কোনও একটিকে তাদের প্রাঙ্গনে প্রেরণ করুন, এটি ঘরে বসে কোডিংয়ের চেয়ে সস্তা হবে, তবে আপনি আরও ভাল ফলাফল পাবেন।


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

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

@ কিথস দুর্দান্ত মন্তব্য। আমি আপনার সাথে% 110 সম্মত হই।
তুলাইনস কর্ডোভা

2
আপনি কোনও কোড না লিখেই ক্লাস এবং ইন্টারফেসগুলি ব্যবহার করতে বাধ্য করেছেন তা দুর্যোগের একটি রেসিপি।
মাইক ওয়েলার

2
@ ইউফোরিক abstract void calculateDroneTrajectoryBasedOnCNNNewsFeed()এটি লেখার এবং বাস্তবিক প্রয়োগের মধ্যে একটি দীর্ঘ প্রসার রয়েছে ।
তুলাইনস কর্ডোভা

26

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

এটি আপনার নিয়োগকর্তারা আপনাকে যা করতে বলেছে তাও।

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


আপনি "খুব নির্দিষ্ট" উপর আরও কিছুটা বিশদ বিবরণ করতে পারেন? আমাকে কী পদ্ধতিতে সিউডোকোড অন্তর্ভুক্ত করতে হবে?
কার্লোস গ্যাভিডিয়া-ক্যালডারন

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

2
এটি হওয়া উচিত নয় It's very expensive when it goes wrong. :-)
লার্সটেক

@ লার্সটেক: যে কারণে এটি করার জন্য অতিরিক্ত ব্যয় যুক্তিসঙ্গত।
রবার্ট হার্ভে

সিউডোকোড রিয়েল কোড, + অফশোর যোগাযোগ ওভারহেড লিখতে যেমন একই প্রচেষ্টা নিতে চান
ওয়েব ডিবি

16

আমি শেষ প্রকল্পটি ছিল সফটওয়্যার ডিজাইনার। সমস্ত উন্নয়ন ছিল অফশোর। আমরা সফল ছিলাম। সুতরাং এই প্রক্রিয়া কাজ করতে পারে।

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

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

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

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


আপনি কি কোনও নির্দিষ্ট চৌকস প্রক্রিয়া ব্যবহার করেন? একটি উপযুক্ত একটি সম্ভবত?
কার্লোস গ্যাভিডিয়া-ক্যালডারন

2
এটি খাঁটি চটজলদি ছিল না, আরও পরিকল্পিত পুনরাবৃত্তির মতো। সবকিছু সামনের দিকে পরিকল্পনা করা হয়েছিল এবং তারপরে 2 সপ্তাহের পুনরাবৃত্তিতে ভাগ করা হয়েছিল। আমরা প্রতিটি ইন্টিরিশন জুড়ে চৌকস প্রক্রিয়া ব্যবহার করেছি। वेग এবং বার্ন ডাউন চার্ট ব্যবহৃত হয়, স্ট্যান্ডার্ড দৈনিক স্ট্যান্ড আপ এর পরে এক ঘন্টা বা দুটি ফোন কল অফশোর হয় ore অবশ্যই অফশোর থেকে ফোনে অনেক সময় ব্যয় করতে হবে তবে যোগাযোগের সময় হিসাবে আমাদের আদর্শ বিকাশের দিনটি ছিল 6 ঘন্টা।
জন রেয়নর

2
স্বরে নোট করুন: ভবিষ্যতের সফ্টওয়্যার পুনরাবৃত্তিগুলি থেকে বিনোদনমূলক যানবাহনগুলি অপসারণ করুন।
রবার্ট হার্ভে

আপনি কি বিশ্বাস করেন যে আপনার সাফল্যের ডান অফশোর টিম বাছাই করা বা মাইক্রো ম্যানেজমেন্ট ছাড়াই সঠিক কাজটি করার বিষয়ে তাদের বিশ্বাসের সাথে আরও অনেক কিছু করার ছিল? আপনি কি মনে করেন যে আপনার "পরিকল্পিত পুনরাবৃত্তি" কৌশলটি আপনার সাফল্যের জন্য গুরুত্বপূর্ণ?
রবার্ট হার্ভে

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

2

অফশোর বিকাশের প্রধান ব্যয় হ'ল যোগাযোগ। ডকুমেন্টেশন যোগাযোগের একটি উপায়, তবে নথিগুলি সাধারণত সমস্ত বিবরণ এবং সম্ভাব্য পরিবর্তনগুলি কভার করতে সক্ষম হয় না।

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

  1. কঙ্কাল কোড, পাবলিক ইন্টারফেস, পরিষেবা ইন্টারফেস ইত্যাদি সংজ্ঞায়িত করুন এবং একসাথে পর্যালোচনা করুন
  2. অন্য দিক দিয়ে গ্রহণযোগ্যতা পরীক্ষা সংজ্ঞায়িত করুন
  3. ছোট গল্পগুলিতে বড় দলিল বিভক্ত করুন, ছোট গল্পের উপর ভিত্তি করে কাজ করুন। বড় ডকুমেন্টটি পুরো সিস্টেমের কেবল একটি বড় চিত্র
  4. গল্পগুলির চেক পয়েন্টগুলি সেট করুন, এক সপ্তাহ বা দুই সপ্তাহ

1 এবং 2 প্রকৃতপক্ষে বিকাশের বিষয়ে, যাতে অন্য পক্ষ প্রয়োজনীয়তাটি ভালভাবে বুঝতে পারে তা নিশ্চিত করার জন্য এবং উভয় পক্ষ একই প্যাটার্নটি ব্যবহার করছে। 3 এবং 4 তত্পরতা বিকাশের পদ্ধতির একটি অংশ, তবে অফশোর বিকাশের জন্য, সম্পূর্ণ চতুর প্রক্রিয়াটি ব্যবহার করা শক্ত।


1

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

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

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

আপনি যদি আমাকে আপনার স্পেসিফিকেশন দেন আমি জিজ্ঞাসা করব। আপনি যদি আমাকে ইউনিট পরীক্ষা দেন, আমি কোড করব এবং পরীক্ষা করব।

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