#初めに
2021年よりスタートしたハッカソン「Tornado」の記念すべき第一回へ参加してきたので、以下の要領でまとめてみた。特にこれからチーム開発を始めた方に参考になるかもしれない。
1.どんなプロダクトを作成したか
2.開発環境
3.チーム開発初心者の苦悩(ソースコードの共有等)
4.まとめ
#プロダクト説明
課題テーマ:「地方が抱える課題を解決するプロダクト」
...なかなか広いテーマである(笑)チームで話し合い、私達は伝統産業を
活性化させるため、「若者のアイデア×伝統産業の優れた技術」を実現させる
webサービスを作成した。
●サービス概要: 1.コラム→ 伝統産業の技術や素晴らしさ、職人さんの熱意や
世界観を知ってもらう
2.アイデア→ 共感してくれた人によるアイデアを実現するため
のアイデアマン×職人さんのコラボページ
3.商品化販売→ 見事商品化されたアイテムを販売し、多くの人
に購入してもらうためのページ
#開発環境
今回、私がサーバサイド構築で使用した開発環境を以下に記載する。普段の
コーディングで使用する言語がpythonであるため、今回もそのまま使用した。
使用言語 : python3.8.5
フレームワーク : Flask
統合開発環境 : Pycharm
Webアプリ公開用プラットフォームサービス : heroku
ソースコード共有 : github
#チーム開発初心者の苦悩...(問題提起編)
私自身、普段は個人開発がメイン+ webサイトの構築なんてしたことがない。
(普段はロボット等の制御がメイン)
そんな中、私ともう一人のエンジニア2名で開発を分担して行った。また、一か月という短期間でプロダクト完成を目指さなければならないので相当苦労した。
今回は数ある苦労の中でも「チーム開発」にフォーカスして記事を書いてみる。
● 苦労ポイント 1.どのようにして自分のソースコードを共有するのだろう?
2.他メンバーとのプログラム組み立て作業の方法は?
#チーム開発初心者の苦悩...(解決編)
1.どのようにして自分のソースコードを共有するのだろう?
→ 解決策 : githubを使用する。
githubは、これまでソースコードの参考程度にしかお世話になっていなかったが、チーム開発でのソースコード共有、共同作業を行うのに欠かせないツールである事を恥ずかしながら今回知った。(笑)
詳細な機能については以下のサイトを参考にすると分かりやすい。
リンク : https://www.sejuku.net/blog/7901
2.他メンバーとのプログラム組み立て作業の方法は?
→ 解決策 : github + zoomで画面共有しながら共同作業する。
今回の場合、エンジニア2名でwebサービスの構築を行うので、
エンジニア1→ フロントエンド エンジニア2 → バックエンド という分担で作業を行った。それぞれの基本機能を作成後、フロントエンドとバックエンドの連携作業を最後に行う。その際に行った手法がこれだ。正直、これがベストプラクティスと言えるかは懐疑的であるが、比較的誰もが再現可能な手法だろう。互いのプログラムは担当した本人たちが一番よく知っている。従って、直接コミュニケーションを取りつつデバックを行うことで、効率的に作業を進行させられるようにした。
#まとめ
簡略的であるが、チーム開発手法に悩む方々がざっくりとした方向性を見出す
ことができれば見えれば幸いである。私自身もこのハッカソンを通じてとても収穫の多い経験を積むことが出来た。興味がある方は来年も開催されるであろうこのイベントに参加してみてはいかがだろう?
ハッカソン紹介URL : https://tornado.humanrock.jp/