GItとかのバージョン管理は犯人捜しではない事と普通の開発環境の話

拝啓、ソフトウェア開発の神様。
哀れな子羊をお許しください。

と言うのも、GITの運用を導入しようとすると、「犯人捜し何てしたくないんだよ」と言われた…
あぁー悲しい結局、作業本人の責任とコミットをそう言われればもう言うことはありません。。
「この人には言葉が通じないんだろうな」って
そんなこんなで環境的にはTiDD(チケット駆動型ソフトウェア開発)って事なのに…

さて、始めにTiDDを説明する

TiDD(チケット駆動ソフトウェア開発)とは?

開発環境を機能別に分割します、それをタスク単位に分割したモノをチケットに分割する考え方です。
そのチケットをさらに分割してタスク化して、そいつ単位で見積もりを出せばチケットの工数と作業進捗TODOに分割すれば管理は楽かもね。
(これを導入したい我が社…(俺かw)。
さすがに進捗でタスクの進捗を付けるのはめんどくさいし、時間を記録するのには有益かな?)

チケットをある人の作業担当としてスケジュールを立てます。
すると、進捗として、ガントチャートができあがり!
チケット単位の作業完了・進捗中を付ければ目視的に進捗が解ります。
と言うことになります。

ガントチャート -Redmine.jp-

進捗率にもっと解りやすくするならイナズマラインを付ければOKだぜ

イナズマ線を表示する -Redmine.jp-

(こっちのほうが個人の責任問題と言えるだろうな…w)

さて、ポイントとして私のチケット駆動の話をすると、
これは簡単なチケットすぐに消化する方がベストであるw
画面を表示するとしながら、DBにアクセスするならJSで処理が終了する。「画面を閉じる」「検索フォームをリセットする」など併設して完了が簡単なモノを完了させるべきである。見かけの進行率は進捗率(自己申告)よりチケット数の方が進んだと考える人が多いw
その頭の切り替えがポイントになるだろう。

それ以上のポイントはネタとして考えたいと思う。
Redmine関係と言うことでこの辺りにまとめる予定である。現在2記事か;;Category Redmine

Gitという武器の話

GITとはなんでしょうか?
と言っても知っている人でも説明は難しい人とさっぱりなレベルの人が居るでしょうね。
バージョン管理システムってことです。
要するに、いつ・だれが・何やったってのがポイントです。
この重要なポイントが責任問題と言われるポイントです。
え?いつ、だれが、何やったって問わなかったら…



大惨事!ですわなw
バージョン管理の重要な問題は、いつ、だれが、何をやった?ってポイントを、その直前まで戻せる!
そして、その問題以降を適応すれば問題なく動けるだろう。(ダメな作業を無視する。)
って考えです。

知らない技術者はそんな便利なツールが?
技術屋さんいがいが考えると、そんな便利なモノがあるんだね。
って話である。

ちなみにその程度がバージョン管理であると言うことです。
だったら、GITって?
と言われます。

通称「へたれのGIT」ですw
と言うとはへぇ?と思うでしょう。

GITのポイントはそのへたれ部分です。

みんなに影響のある大元のバージョン管理にちょっと失敗するかもと言う差分ってあげるのが大変なのはみんな解っています。
バージョン管理で私的にスゴく便利な機能がrevertこれを使うと、全体的にセーブポイントまで戻りますw
だったらセーブポイントを細かく取るのは当たり前ですが、全体の影響を考えると難しい。
それが可能なのがGITです。
始めに大元をコピーします(クローンします)。
それに変更を加えても大元には影響はありません。大元の変更を確認して差分を取り込むことが可能です(プルします)
そして、自分の差分をコミットしても、自己完結します。
何度も何度も自己完結します。
んで自信を持って問題なくできる!と思えば、大元に更新をかけます(直前にプルして)(プッシュします)

全体的に動けば?ふぅーーーOKと言うわけです。
ちょっぴりへたれ具合が解りますかな?w
逆に言うと責任をもってコミットできるわけです。

完全開発環境の話

GITの開発を行うには重要なポイントは自己解決にあります。
アプリケーションソースの実行に自己完結する必要があります。
(DBは問題ないけれども)
Webアプリならば、Webサーバなどの基本的な部分は必須であります。
現在の我が社の環境(あきらめた)の様に、Webサーバ共有にファイルを取り合いながら開発を続けるなら止めた方が良いです。
だれが何をしたのか不明ですってか、addで更新されたファイルが別のコミットで更新されるとか意味不明な状況なのでGITが潰れます

ともあれ、完全開発環境の話ですが、自己で実行できる環境をローカル(サーバーを作れるならOKですが)に作ると言うことです。
動く環境でOKなので、PHPならXMMPで十分です。
ただ、MySQLとMariaDBでは… ストアドプロシジャとか微妙な部分が出るかもしれないのでDBだけは共有で良いかもですけれども…
アプリケーションの部分は分離して他とは決別してください。
(ApacheがWindowsを捨てたのが影響でかいけどね)

各自で開発を進めればそれで十分OKな世界になります。
これで、チケットの分割することもできます!
はい、同じ画面のチケットを数人の開発者で作ることができます!

今回は、なんですかちょっとTiDDとGitの話でしたが、良い感じのソフトウェア開発環境ってのはソフトウェア開発者が気持ちよく開発できる環境整備の話ですって話ですw
Git?そんなのCUIが一番だよと言う私でした。
開発時にローカルにWebサーバをあげないってかなりマジョリティに悩んだのでちょっと書いたw


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です