SCTBT
Developerは想像を具現化する!
と先輩が言っていました。
エンジニアさんがみんなデザインセンスあったら
中身も外見も最高なモノが作れるな~
なんでも作れるかっこいいエンジニア目指して頑張るぞ~
今日学んだことはこれ
SCTBT
・SCM
・CI
・TICKET
・BUILD
・TEST
プロジェクトをより円滑に進めるためには
SCTBTにもとづくツールを活用していかなければならない!
注意すべきことは、ただ命令されたからツールを使うのではなく、
理解と目的意識をもって使用しよう!ということ。
ツールを活用して、
Developerが、技術力をいかんなく発揮できる環境を作ろう!
SCM
ソフトウェアを動作させるためのすべてのリソースを管理する。
SCMの目的
・誰がいつ、なにをどう変更したかを確認できる
・あるタイミングの状態を復元できる
・SVN
・GIT
CI
とは、継続的インテグレーションを指す。
継続的に成果物をつくり
その成果物を動かす
定期的にビルドテストを行う
しかし…
テストを人力でしていたら手間がかかる
「人は必ず過ちを犯す生き物である」
→テストの自動化を
→Jenkins!
品質向上
問題の早期発見のために
CIという考え方を実現する
TICKET
チケットによる問題の追跡と共有
問題をひとつにまとめる
・問題に関連する情報
・お客様からの要望すべて
ゴールの明確化をするためにチケットを管理する
→ゴール状態・経緯の詳細
何ができたらゴールといえるのか
→チケットに記入する
→チケットを終わらせるためにプログラミングをする
→IPSを使用して管理する
・trac
・JIRA
BUILD
一言で言うと
・プログラムを動くものにするためのツール
・時間を無駄にしないためのツール
・誰でもいつでも簡単にビルドできるようにするためのツール
・開発に最大限集中するためのツール
・gradle
→ビルド作業を単純化・簡略化
TEST
できる限りテストを自動化する
プログラムは妄想
実際に動かすことで価値が評価される
Jenkins(CI)がビルドツールを使用してテストプログラムを実行する
実行タイミングを自動化する
・テストの自動化
→人がしなくていいことは自動化
なんで?
人はテストの自動化によってあいた時間を利用して
人がしなきゃいけないことに最大限に対応するべきだから
→人がやるべきテスト=体感的な操作テスト(使い勝手・反応)
上記のような考え方を意識して、どんどんツールを活用し、
作業に取り組むことで、より効率的に作業に取り組むことができ、
より価値の高い成果物を生み出すことができる