読者です 読者をやめる 読者になる 読者になる

HIDARI日記(右)

そのときどき興味ある技術を中心にだらだら書いてます。内容は個人の見解であり、所属する企業を代表するものではありません。

チーム開発実践入門読んだ

明日(今日)進め、現場のチーム開発 〜チーム開発実践入門〜 (DevLOVE関西Ver) - DevLOVE関西 | Doorkeeper があるので、記憶が上書きされる前に残して置きたかった。

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

メモと妄想と入り混じった感じだけどとりあえず書きます。

気をつけること

  • 「正解はケースバイケース」
    • ツールは正解を持たない
    • ツールによって想定された使い方とか、 ベストプラクティス?と言われるようなものはある。
    • でも確かにIt depends on 状況、ですよね。ここでは2つの考え方があるんじゃないかな。
      • 自分たちの状況をペストプラクティスが対象とする状況に合わせる
      • ベストプラクティスを自分たちの状況に合わせる
    • 長い目で見ればベストプラクティスを適用できる形にプロセスを変えていくべきかなと思っています。
    • そういう覚悟?が無いやつはレガシーコードと一緒に沈む可能性が高い気がする。根拠はないけど。
    • ツールが想定してる使い方をせずに,無理やり自分たちのプロセス上動かそうとして、導入に失敗、「◯◯は使えない」とか悲しいよねー

タスクの管理について

  • タスクの優先順位を決めるためにITS使おう
  • ITSじゃなくてもよい.開発以外の関係者も見られるもの
    • 優先順位をはっきり決められるのがよい。これはGithubを使ってもいい。
    • ITSが重すぎるならホワイトボードと付箋でも

バージョン管理を有効に使う

  • バージョン管理超大事。常にバージョン管理でコードの変更を追跡できるように。
    • 手元の作業コピーは常にひとつにしとくのがよい
    • DVCS使ってるならブランチを駆使しよう
    • SVNとかならもう少し保守的に
      • 自分の出来る範囲で
      • 無理するとろくなことが無い
    • DVCSが使えるなら手元では細かくコミット、公開するときは意味のあるまとまりでコミット
    • リポジトリのワークフローははっきりさせる
  • コミットログを活用しよう
    • ITS,CIサーバとの連携も視野に
    • 意味の無いコミットメッセージは無いように
  • ITSとの連携でコード変更の理由まで簡単に追跡できるようにしよう
  • ブランチ・タグはうまく使おう
  • ソースコード以外もバージョン管理
    • ライフサイクルの近いものだけでまとめてリポジトリを作るようにしたい
      • ドキュメント、設定ファイル、データベーススキーマ etc
    • バイナリはそれ専用のリポジトリ
    • ライブラリの依存関係を記述できるシステムを頼ろう
      • 可能ならmavenとか、.NETならNuget
        • サーバに直置きとかはそろそろやめましょ

テストコードは必須

  • 自信をもってコードの変更できるように常にテストを書こう

    • レガシーコードは無理しない
    • 状況を悪くする可能性もあるので少しずつ
    • 追加するコードはテスト可能なように書こう
      • でもテスト書くにもスキルが必要な点は留意すること
      • 慣れないうちは素振りとか超大事
  • CI回そう

    • VCS,ITSと連携すると幸せになれる可能性高まる
  • 可能なら検証環境も簡単に用意できるようにしておこう
  • CDもいいけどハードルは高め
    • Chefとか使えると幸せ
    • 可能なら検証環境も簡単に用意できるようにしたいね
    • 運用にはそれなりにパワーが必要な印象

以下、読んでる最中に脳内でこぼしてた愚痴

  • 自分たちで良くなっていく意志のないチームは何をやってもダメ
    • 「でもうちのチームのやり方には歴史があって・・・」、「他のコードに合わせないと・・・」
      • 今までより良くするために変えていく
      • コメントであろうがなんだろうが意味をなしてないものは削除
      • 関数は積極的に分割してテスト可能に変更
      • とかとか
    • 「で,それは誰がやるの?」、「◯◯のときどうするの?」
      • どうするの?じゃねーよ。おめーがやるんだよ
        • せめて「◯◯のときいい案無いかな?」とかもう少し、ほら、ね?

おわりに

台風来てるし中止にならないか心配。