Pythonのチーム開発環境について考える

最近仕事などで色々とチーム開発について考える機会があった
そして運のいいことに僕が0からチーム開発の環境やプロジェクト管理などをできる機会をもらったので少し考えをまとめてみようと思う。

目次

考える項目

  • 開発環境
  • プロジェクトの進捗管理
  • バージョン管理
  • ドキュメント管理
  • チームのコミュニケーション

それぞれについて考える

開発環境

これはvagrant+virtualboxを使ってワンコマンドで仮想環境を作れるようにする
チームで開発する上ではもろもろのバージョンを合わせるのはもちろんだが、OSから合わせたほうがコマンドや、諸々のインストール方法が統一できるので楽
その際に環境構築だけで一日、初心者がやったら一週間なんてことにならないようにvagrantを使って0から10までワン・コマンドでできるようにしてしまいたい

対抗案としてdockerもありだが、GUIを使うにはなんか面倒な操作がいるそう。
GUIがないと使えないライブラリもあるので、dockerはなし。
なんだかんだvirtual boxは皆なれてるしね

GitHubの使い方

バージョン管理とリモートリポジトリとしてGitHubを使う
最近よくGitHubでニュースになるので上げる情報には注意

あと、タスク管理もGitHubのissueとprojects、tagなどで管理をする、カンバンやってみたい。
タスク管理はbacklogやRedmineなどでする方法もあるが、今回はそこまで大規模なものではないので不採用。
簡単な設計はissueにそのまま書いて行うのもあり。

懸念材料としてはGitHubが英語の管理画面しかないこと、まあ中身日本語でみれたら問題ないやろ

ドキュメント管理

markdownと構成図の写真などをGitHubに上げて行う。
理想は全部GitHubのサイト上で見れるようにする。
というのもエクセルなどでファイル管理だけをすると差分管理ができないうえに、中身がわからずめちゃくちゃごちゃごちゃするので、できるだけmarkdownなどの検索が楽なドキュメント形式で残しておきたい。

まあ、慣れたらエクセルより楽にかつある程度の読みやすさが出る文章が書けるしね

コミュニケーションツール

SlackとGitHubを関連付けて行う。
半分GitHubの通知代わりぐらいのイメージ。
他の人からの質問や、wikiもそこに書くこともあるかも。

まとめ

完全にメモって感じになった
明日から具体的な方法について考えつつメモしたいと思う。