managment

チーム開発を効率的に進める 私たちの技術要素や決め事公開します!

開発する際に事前に何を決めておくべきかって

割と体系的にまとまっていないきがしたのでまとめてみました。

 

1人ではなく、2人や3人などの少人数だけどメンバーがいる前提で書きます。

 

個人であれば、好き勝手やれる部分もありますが、
メンバーいると制約が発生するので1人で開発するよりも難易度が上がります。

 

例えば、ソースコード管理。
自分一人であれば、masterにコミット、プッシュすればよいのが、マージが発生します。

 

採用技術・ツールを決める

コンセプトを決める

コンセプトが決まらないと、たいてい崩壊します。
各々が違うものを作ってしまったり、そもそも揉めて開発どころでなくなります。

 

私がオススメしたいのは、ベンチマークを一つ決めることです。
「○○の××」というイメージです。

例えば、「家電に特化したAmazon」「ビジネス向けのLINE」みたいな誰もがイメージできるものにしてあげるとブレが少なくて済みます。

 

ゴール感を決める

最初、話しているうちは、盛り上がって「あれしたいね」「この機能いれよう」となります。
しかし、全部入れようとなるといつまでたっても完成しません。
なので、私が推奨するのはスモールステップで進めることです。
この機能までは最低限つくり、後の機能は作ってから考えるようにします。
最短で、まず動くものをつくるのがいいと思います。

 

言語を決める

言語は、好みと何を作るかによって決まります。
私たちのは場合、クライアントサイドは、vue.js。サーバーサイド は、golangにしました。

プライベートでつくるので、自分たちが一番学びたい言語を選んだという感じです。

 

ソースコード管理方法を決める

基本的に、Gitで管理することになります。

好きなGitサービスを選べばよいと思います。Githubは、プライベートリポジトリにお金がかかるので、Bitbucketを採用しました。

 

タスク管理方法を決める

個人であれば、Todoリストで良いのですが、チーム開発だとそうはいきません。
チケットやカンバンなどで誰が何をやっているかを可視化する必要があります。

私たちは、Trelloというサービスを採用しました。
Trelloはカンバンでタスクが管理できます。

 

「Todo」「In Progress」「Done」の3つのステータスにわけて管理しています。

 

コミュニケーションツールを決める

最初、DIscordというツールを使おうとしていました。
理由は、使ったことなかったので使ってみたいということとSlack離れがニュースになってたからです。
しかし、実際使ってみるとDiscordのUIがイケていない部分も多く、Slackに戻しました。

まぁ、slackは便利です。TrelloもBitbucketも連携できるので。

 

方針・ルールを決める

1週間ベースで進める

プライベートで進めていくとなると、少しでもサボると続かなくなるというのが往々にしてあると思います。
そこで、私たちは1週間に最低1コミット。そして、1週間に1回顔合わせることにしました。
やっぱり、顔合わせるのは大事です。
ミーティングがあるからやるきっかけになります。

で、1コミットでも前に進めれば前進です。

 

どんなことでも褒め合う

やっぱり、モチベーションの源泉って褒められることだと思います。
誰も褒めてくれない嫌なので、どんなに小さなことでもいいので何か達成したら全力で褒めます。

褒め合う精神は、ベンチャー企業で学びました。
前職は、大企業で働いてたのですが仕事のスパンが2年とか3年で中々、ゴールが見えない。
で、もって少し進んでも「まだまだだね」みたいなマウントの取り合いみたいな仕事をしていました。

私は終わりの見えない仕事に嫌になってベンチャー企業に転職したのですが、
ベンチャー企業ではまったく違っていました。

SQL一つ書けた、1コミットだけでも全力で褒めるのです。
最初は気恥ずかしいけど、やっぱり少しでも進められたことは誇りになって次のタスクへの活力を生みます。

少しの前進を繰り返すことが成功への一歩!
だから、みんな褒めあいましょう!!!

ABOUT ME
ロッピー
コンサルタントから2018年にエンジニアに転向。年収400万円のサラリーマンエンジニアから、半年で月収100万円を稼ぐエンジニアになった。 Python、Golangなど単価の高い言語を得意とする。