本記事について
プログラミング初心者が開発手法に関する知識を学んだので、その備忘録として載せております。
どうかお手柔らかにお願いいたしますm (- -)(_ _)ペコリ
アジャイル型開発(石橋叩くタイプ)
一度にまとめてでは無く、少しずつ確認を挟みながら開発を進めていくことが特徴。
利用者の反応や関係者からの継続的なレビューを得ながら計画を調整しつつ進める。
→石橋を叩いて渡るタイプの開発
スクラムを用いることがある。
リリースの頻度が高い。
ウォーターフォール型開発(尻カッチンタイプ)
初めに決めた要件を、ある期限までに完了することが特徴。
契約→開発→納品というフロー。
厳密な要件定義と納期に合わせて進捗確認を行うことが理想。
上流を固めていれば下流も固くなる。上流がしっかりしていないと下流に行けば行くほどリカバリーが難しくコストも時間も労力もかかる。
スクラム
開発を進めるチームの単位。
チーム全員が主体性を持ってプロダクト完成に向けた責任を持つことが特徴
機能を細かくリリースするまでの期間を「スプリント」として各スプリント毎にレビューを行う
管理を自動化することでミスをなくし、労力を減らす効率化を図る
Sider
GitHubに対応したコードレビュー自動化サービス
コードレビュー(他者にマージする前に確認をとってもらう)を自動で行ってくれる
設定したルールに反していないか自動で判断(例 インデントなど)
SiderはGitHubと公式に連携をしているため、GitHub上で駆動する。
GitHub上にPushした、プルリクエスト上のコードに対してチェックを行う。
Ruby、PHP、JavaScript、CSS、Java、Python、Go、Swiftなどに対応している。
CircleCI
CI/CDを自動で実行するクラウドサービス
追加・変更されたアプリケーションのテストやテストが完了して問題がなかったコードのデプロイ、自動で実行するサービス
Facebook、メルカリなどが導入
CI/CD(概念 Continuous Integration/Continuous Delivery)
CI 継続的インテグレーション。開発したコードのテストを定期的に自動化する。
CD 継続的デリバリー。書いたコードを自動で本番環境にデプロイできる状態に整える。
変更したコードは自動でチェック、問題がなければ自動でデプロイ
定期的にテストは自動で実行させ確認、自動でデプロイできる状態に整える。
ソフトウェアの変更を常にテストして自動で本番環境にリリース可能な状態にしておくソフトウェア開発の手法
人的負担が少ない。
リリース頻度の高いアジャイル型開発において有効。
以上です。