এক ব্যক্তির জন্য সেরা বিকাশের পদ্ধতি?


77

আমি এমন প্রকল্পগুলিতে কাজ করতে অনেক সময় ব্যয় করি যার মধ্যে আমি একমাত্র বিকাশকারী, প্রকল্প পরিচালক, ডিজাইনার, কিউটি ব্যক্তি (হ্যাঁ, আমি জানি ... খারাপ!), এবং কখনও কখনও আমি এমনকি ক্লায়েন্টও হয়ে থাকি।

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

আপনারা যারা একা কাজ করতে বেশি সময় ব্যয় করেন, নিজেকে সংগঠিত করার, বৃহত (এক ব্যক্তির জন্য) প্রকল্প পরিচালনা করার এবং উত্পাদনশীলতা যতটা সম্ভব উচ্চতর রাখার সর্বোত্তম উপায় কী?


টেস্ট-প্রথম এবং চটচটে বা পাতলা এবং ছোট দলের জন্য এক্সপি।
ctrl-alt-delor

14
আমরা যা করি তা হ'ল অনুসন্ধান। এই বিষয়টিতে অনেকগুলি, অনেক প্রশ্ন রয়েছে। উদাহরণস্বরূপ প্রোগ্রামার.সটাকেক্সচেঞ্জ / প্রশ্নগুলি / 50658/…। এই সবগুলু. প্রোগ্রামার্স.স্ট্যাক্কেঞ্জেন্জ
q=solo+

3
আমি কমপক্ষে অন্য একজন সক্ষম বিকাশকারীকে কাজ করার জন্য ইচ্ছা করে বিকাশ করতে চাই।
কেওসপ্যান্ডিয়ন


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

উত্তর:


28

আপনার লক্ষ্যগুলির একটি পরিষ্কার তালিকা রাখা অত্যাবশ্যক। বৈশিষ্ট্য ক্রিপের পক্ষে স্ব-পরিচালিত প্রকল্প গ্রহণ করা সহজ। টিডিডি "এটি যখন কাজ করে তখন এটি করা হয়" পদ্ধতির সহায়তাও। এটি আপনাকে পারফেকশনিস্ট হতে বাধা দেয়।

একটি জিনিস যা আমাকে সত্যই সহায়তা করে তা হ'ল কল্পনা করা যে কোনও প্রকৌশলী বা কোনও প্রকল্প পরিচালক কোনও প্রদত্ত পরিস্থিতিতে কী বলবেন। প্রায়শই আমি খারাপ কোড থেকে "নিজেকে লজ্জা" দিতে সক্ষম হয়েছি, বা সময়সূচি পিছলে গেলে ট্র্যাকটিতে ফিরে যেতে পারি।


2
টিডিডি পদ্ধতির "এটি যখন কাজ হয় তখন হয় না"। টিডিডি পদ্ধতির "এটি যখন কাজ করে এবং কোডটি পরিষ্কার হয় তখন তা হয়ে যায় "
বেনিয়ামিন হডসন

টিডিডি পদ্ধতিটি "এটি কাজ করে যখন তা কাজ করে এবং প্রকাশিত হয় been "
মাইক চেম্বারলাইন

6
এটি সফটওয়্যার। এটি কখনও হয় নি। এক পর্যায়ে আপনি কেবল এটিতে কাজ করা বন্ধ করে দিন। তবুও আপনি আবার শুরু হতে পারে।
candied_orange

23

আপনি এখানে যান ... http://xp.c2.com/ExtremeProgrammingForOne.html

XP ছোট আকারের দলগুলির পক্ষে অনুকূল হওয়ায় এটি দুর্দান্তভাবে স্কেল করে ..

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

একটির দলে আপনি যা করতে পারেননি তা হ'ল পেয়ারপ্রগ্রামিং।


16

আপনি যদি একক কাজ করছেন। এখানে পরামর্শগুলি:

  1. যতটা সম্ভব নিম্ন-স্তরের কাজ করুন। আপনি সহজেই কোডিং করতে পারেন এমন জিনিসগুলি অন্তর্ভুক্ত করার জন্য যতটা সম্ভব গ্রন্থাগার এবং সরঞ্জামগুলি ব্যবহার করুন (এটি করবেন না, কেবল গ্রন্থাগারটি ব্যবহার করুন)।
  2. টপ-ডাউন অ্যাপ্রোচ নিন। কেবলমাত্র আপনার প্রয়োজনীয় জিনিসগুলি কোড করুন।
  3. আপনি যখন বিমূর্ত শব্দটিতে কোনও সমস্যা দেখেন, গুগলে অনুসন্ধান করুন এবং একাডেমিক সম্প্রদায়ের গবেষণা পত্রগুলি ব্যবহার করুন যা ইতিমধ্যে প্রমাণিত হয়েছে। আপনাকে কেবল তাদের অ্যালগরিদম কোড করতে হবে।
  4. আপনার সিস্টেমটি ডিজাইন করুন যাতে আপনি নিখরচায় যতটা সম্ভব জিনিস পরিবর্তন করতে পারেন। (এখান থেকে কিছু কোড কপি এবং পেস্ট সহ)। উদ্দেশ্যটি হ'ল আপনার সময় সাশ্রয় করা যখন আপনি বুঝতে পারেন যে আপনি কোনও ভুল করেছেন। আপনি যখন ভুল করবেন তখন আপনাকে যে পরিমাণ কাজ ফেলে দিতে হবে তা হ্রাস করার চেষ্টা করুন। একটি কোডের টুকরো যা ফেলে দিতে হবে (এখানে এবং সেখান থেকে অনুলিপি-পেস্টের পরিবর্তে) আপনি যে কোডটি হারিয়েছেন তার সমতা।
  5. প্রচুর স্বয়ংক্রিয় পরীক্ষা করুন যাতে আপনি প্রতিবার পরিবর্তন করার সময় নিয়মিতভাবে রিগ্রেশন টেস্ট করতে পারেন
  6. আপনার ডিজাইনের দায়িত্বগুলি পৃথক করুন (অর্থাত্ সংযুক্তি হ্রাস করুন)। জিনিসগুলি যতটা সম্ভব মডুলার করুন
  7. ডিবাগ করতে একটি ডিবাগার ব্যবহার করুন এবং ত্রুটি সন্ধান করতে বাইনারি অনুসন্ধান ব্যবহার করুন।
  8. ক্রমবর্ধমান (স্পষ্ট) সংযোগ এবং জনসাধারণের পদ্ধতিগুলির এক্সপোজার (অন্তর্নিহিত সংযুক্তকরণ) হ্রাস করতে আপনার কোডটি অবিচ্ছিন্নভাবে রিফেক্টর করুন।
  9. সত্যি কিছু না. আমি এখানে নতুন কিছু নিয়ে আসতে পারার ক্ষেত্রেই এখানে রয়েছে: পি

13

কোড পর্যালোচনা।

এগুলি বিশেষত কার্যকর কারণ আপনি কোডটি এমন কোনও প্রকল্পে কাজ করেন নি এমন কাউকে কোডটি ব্যাখ্যা করে যাবেন যাতে এটি কীভাবে কাজ করা উচিত সে সম্পর্কে আপনার কোনও অনুমান থাকবে না।

তারা কোম্পানির চারপাশে জ্ঞান ভাগ করে নেওয়ার অতিরিক্ত সুবিধাও পাবে তাই যখন অন্য কেউ এই প্রকল্পে কাজ করতে হবে (লোকেরা অন্য কোথাও ব্যস্ত থাকায়, অসুস্থ হয়ে পড়েছেন, পদত্যাগ করেছেন বা বরখাস্ত হয়েছেন বলে) তাদের স্ক্র্যাচ থেকে শুরু করতে হবে না ।


7

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


7

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

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


4

আমি আপনাকে নিম্নলিখিত পরামর্শ দিচ্ছি:

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

1
অনুগ্রহ করে আপনি কি "আপনার সম্পত্তির কোডগুলি পূরণ করুন" অংশটি ব্যাখ্যা করবেন?
একনাদিল্লি

3

আমি যদি বলতে পারি যে আমি 100% সময় যা প্রচার করি তা অনুশীলন করতে সক্ষম হয়েছি, তবে বিডিডি আপনার পরিস্থিতি গ্রহণের জন্য একটি ভাল পদ্ধতির বলে মনে হচ্ছে:

এখানে আরও তথ্যের সাথে একটি লিঙ্ক রয়েছে: http://en.wikedia.org/wiki/Behavi_driven_de વિકાસ


2

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


2

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

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


2

দর্শন: এক্সপি / টিডিডি + জিটিডি

সাধারণ রূপরেখা:

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

আমি এগুলির সাথে একমত, এবং এটি প্রথম উত্তর হিসাবে দেখে সত্যিই খুশি। তবে 1 এর একটি দলের সাথে আমি মনে করি কানবার-স্টাইলের সময়সূচি পুনরাবৃত্তির চেয়ে আরও ভাল (এবং আরও সহজ)।
উইলিয়াম পাইত্রি

@ উইলিয়াম যদি ক্লায়েন্ট কানবান বুঝতে পারে, বা কোনও ক্লায়েন্ট নেই, তবে তার জন্য যান
স্টিভেন এ। লো

1

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

সম্ভবত আরও আকর্ষণীয় হ'ল জিজ্ঞাসা করা, কোন পদ্ধতিগুলি ফেলে দেওয়া উচিত নয় কারণ এই প্রকল্পে কেবলমাত্র 1 জন ব্যক্তি কাজ করছেন।

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

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


0

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

পরের লোকটি পড়ার জন্য আপনার কোডটি লিখুন, আপনি নন ... তাকে সুন্দর রাখুন। এমনকি "ফেলে দেওয়া" কোড চিরকাল স্থায়ী থাকে।


0

কর্মতত্পর

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

পুনরাবৃত্তির মধ্যে কাজ বন্ধ করা সহজ।


0

একজন পরামর্শদাতা আমার স্ব হিসাবে আমি আপনাকে পরামর্শ দিচ্ছি যে কোনও অ্যাসাইনমেন্টে সর্বদা কমপক্ষে দু'জন বিকাশকারী হওয়ার জন্য আপনি একটি উপায় সন্ধান করুন।

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


0

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

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