40947068
@40947068

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

プログラミング開発をどのようにすればいいかわからないです

解決したいこと

皆さんがある程度の大きさのプログラムを開発する際にどのような手順で開発作業を行っているかを知りたいです。

現在、初心者やそれほど開発経験のない人でもプログラムを複数人で開発する経験を積めたり、ほかの人たちの実際の開発などを見ることができるようなアプリケーションを作成したいと思っています。
ですが私も含め、経験の浅い人は作りたいものを見つけたり、人をそろえても開発手順がわからずに困るといった事態が多々あると思います。クラス図など開発や設計の本を多少見ても実際の開発での進め方がわからないです。

発生している問題・エラー

そのため、皆さんにできればでいいので具体的にどのように開発を行えばいいのかを教えていただければと思います。前提でも書きましたが、想定しているのはプロではなくアマチュアレベルですのである程度の大きさのプログラムを開発する際の進行方法を教えていただきたいです。
もし回答してくださるならば以下のことを教えてほしいです。
--どのようなアプリケーションを作成したのか
--作成したのはどの程度の人数だったか
--どの程度の規模のプログラムだったか
--どのような手順で何を実行したのか
--その開発方法の改善点(あればでいいです)

長くなりましたが、回答していただければ嬉しいです。

0

5Answer

皆さんにできればでいいので具体的にどのように開発を行えばいいのかを教えていただければと思います。

「具体的に」とか言ってますけど、あなたの質問に具体性がないです。あなたは何を作りたいのですか? 釣りを疑うレベルの質問ですよ。

2Like

Comments

  1. @40947068

    Questioner

    @SurferOnWwwさんご回答ありがとうございます。
    おっしゃる通り回答者の方々にすべてを丸投げするような質問でした。
    ほかの方々も言われている通り自分でもっとGitや開発をきちんと勉強してから出直してきます。

経験からの憶測ですが、そもそも「初心者やそれほど開発経験のない人でもプログラムを複数人で開発する」というのは失敗するんじゃないかと思います。

複数人で何か大きなことを成し遂げようとするには、各人が十分な力を持った状態で挑む必要があると私は考えます。

  • 例えば、1 人では持てない思い岩を 2 人で持ち上げることは頑張ればできるかもしれませんが、それを長い距離持ち運ぶとなると、途中でしんどくなってきます。身体の限界が来ます。するとメンタルも限界が来ます。
    • そういう時に、ふと思うのです「あいつが楽してるから俺がシンドい目に合ってるんじゃないのか?」と。
    • そして、「そんなら俺も楽したるわ!」と。
      • ↑実際は「も」ではなく自分が最初かもしれないけど
    • 参加者の中でそう思う人が増えれば増えるほど、手を抜いてない人の負荷が大きくなります。
      • そして最終的に負荷に対処不可能になって協力が瓦解します。

悲観的すぎるようにも思えますが、これは経験上割と当てはまるように感じます。

逆に、各人が十分な力を持った状態で望めばモチベーションの維持もしやすく、お互いの力を高め合うことでより良い成果を出せることでしょう。

  • 先程の岩の例えだと、1人でも頑張れば運べる (運んだ経験がある/運べる見積もりがある) 岩を 2 人で運ぶ場合
    • 1人で運ぶよりもお互いの負担が減って、お互いが余裕を持ちながら協力し合うことで運ぶことができます
    • なんならお互いのチームワーク力が優れていれば息を合わせて一人で運ぶよりも速く運ぶことすらできるでしょう

なお、質問者様の具体的な質問↓に回答しますと、

皆さんにできればでいいので具体的にどのように開発を行えばいいのかを教えていただければと思います。

私自身は 3 人で自作言語のインタプリタ及びそれを利用したゲームを開発した経験があります。

  • そのうち 2 名はインタプリタ作成経験者で、1名が初心者(だけど、飲み込みが早く、プログラミングそのものの経験は豊富)の状態です。

この開発は学業の片手まで行ったものですが、良い感じにインタプリタ及び簡単なゲームの動作を作成して各々満足して解散しました。

しかし、それでも開発期間の1/3くらいをコンパイラそのものの勉強会に割いており、「開発」と見た時の速さは遅々たる物だったと思います。

1Like

Comments

  1. なので、初心者の集まりの場合は、共同開発よりも、「個人個人で勉強しながら作ったプログラムをお互いに見せ合う品評会」みたいなのを開くと良いと思います。

    • ボクはこんなのを作ったぞ!苦労ポイントはココだったぞ!というのを発表し合うことでお互いに刺激を受けながら勉強できます。

    この方法なら、発表会の中で苦労ポイントをエラーのスクショやソースコード混じりで話すことで、他の人達の実際の開発も見られそうです。

    • 何なら、エラーが出た時に「次の発表会のネタにしたろ!」と思ってポジティブに考えられる利点もあるかも
  2. 補足

    現在、初心者やそれほど開発経験のない人でもプログラムを複数人で開発する経験を積めたり、ほかの人たちの実際の開発などを見ることができるようなアプリケーションを作成したいと思っています。

    この部分について、「アプリケーション」の開発を通じて「初心者やそれほど開発経験のない人でもプログラムを複数人で開発する経験を積めたり、ほかの人たちの実際の開発などを見ることができる」という風に解釈しています。

    他の解釈の候補として、「アプリケーション」を用いることで「初心者やそれほど開発経験のない人でもプログラムを複数人で開発する経験を積めたり、ほかの人たちの実際の開発などを見ることができる」というものが想像されますが、他の文脈を合わせて考えると、そんな難題に挑戦しようとしているとは思えなかったので、この解釈は引っ込めています。

    • 難題な理由: 「初心者やそれほど開発経験のない人でもプログラムを複数人で開発する」「他の人達の実際の開発などを見ることができる」の部分で少なくとも github の主要機能レベルの機能が要求されると思ったから。

    ここの解釈間違えててトンチンカンな回答になってたらすいません。

  3. @40947068

    Questioner

    @Summer498さんご回答ありがとうございます。
    補足の方ですが前者の「アプリケーションの作成を用いて開発を学ぶ」というニュアンスの質問をしていました。誤解させてしまうような表現でした。
    返信内容はまさにおっしゃる通りです。品評会のような代案まで提案していただいてありがとうございます。自分でもいろいろ甘くなっていたところがありましたので、まずは勉強してからまた出直そうと思います。

初っ端話の腰を折るようで申し訳ないのですが,そのような声を集めたところで千差万別なポリシーや社風が集まるだけですので(ついでに質問文を読まずに通りすがるだけの人もいますので),そこらに柔軟対応できるようなアプリケーションでないと結局使いづらいアプリケーションができあがります.

そもそも進捗管理をするという目的のアプリケーションを使用しても,開発手順がそもそも分からないという課題にはどう頑張っても対応できませんので,ターゲットをそもそも間違えている気がします.

感覚をつかみたいならおとなしくGitやGitHubを使うことを学ぶべきです.
設計を学びたいなら多少ではなくガッツリ腰を据えて本を読んでください.
とにかくもう少し実践的な感覚の上で考えをまとめ直してみてください.

1Like

Comments

  1. @40947068

    Questioner

    @Vercleneさんご回答ありがとうございます。
    ほかの回答者の方の指摘にもありましたが、自分の質問には具体的なことが何も書いていませんでした。アドバイスをくださった通り、先にGitや設計についてしっかりして知識を持ってからまた考えてみます。

目的は何ですか?

プログラミングについてはこいういことを考える人がよくいるのですが、「素人が2階建の一軒家を作りたいんだけど、作りかたを教えてください」とか、銀行が作りたいとかあまり言わないと思うんですよね。

まずは、ちゃんと物を作れる人を探して一緒に作るとか、そういうことをしている会社に入って技術を見につけるべきでしょう。
そうしたら、自分がやりたいとこを実現するにはどうすればいいかわかります。

ある程度の大きさのプログラムを開発する際にどのような手順で開発作業を行っているかを知りたい

そういうことを知らない人が集っても物は作れません。

初心者やそれほど開発経験のない人でもプログラムを複数人で開発する経験を積めたり、

初心者が集まっても、というより集ってしまっては何もつくれません。

ほかの人たちの実際の開発などを見ることができるようなアプリケーションを作成したいと思っています

これは何を言っているのかわかりません。
「そのアプリケーションを作っているところを見せる」のでしょうか?それとも「何かを作っている家庭を見せることができるようなアプリ」を作るのでしょうか?

1Like

Comments

  1. @40947068

    Questioner

    @ypsilon-takaiさん回答ありがとうございます。
    自分自身の技術が足りないなかで構想してもうまくいかないですね。質問もややこしいことを書いてしまって申し訳ありませんでした。教えてくださった通り先に自分の技術を磨いていきたいと思います。

回答してくださった4名様、ご回答ありがとうございました。
自分自身の未熟なところが多く、質問や構想が雑になっていました。
とりあえずはもっと技術に成熟することから始めていきたいと思います。

0Like

Your answer might help someone💌