BPStudy#47に参加しました

[Agile][イベント]BPStudy#47に参加しました

詳細: http://atnd.org/events/17717:title

  • サーバの調達が毎回めんどい上に自由に使えるマシンがないので、仮想で立てられるXenServer見てみたい
  • アジャイルには縁のない、ウォーターフォール一直線の日々なのでことはじめ的な話を聞いてみたい

というわけで久しぶしにBPStudy参加。

XenServerによるお手軽開発用サーバ運用 @[http://twitter.com/tokibito:title=tokibito]さん

Webシステムを作るに当たって

  • 本番に近い環境、お客さんに見てもらう環境を作りたい
  • Wikiや課題管理をしたい

という事で、開発用のサーバを立てたくなる時がよくあると。ただし…

  • 費用がかかりすぎては本末転倒なのでコストはかけない
  • あれもこれも盛り込みすぎてもダメなので、今必要のないものはいらない

この2点を念頭に置いて立てる。

実際にサーバを立てる

色々な方法があるが…

  • レンタル?(共用サーバ、専用サーバ、VPSなど)
  • 自前?

プロジェクト毎に別の環境(OSなども)を作りたいので共用サーバでは設定的に難しい。1~3ヶ月が1プロジェクトの平均サイクルなので、データセンターなども難しい。じゃあ自前でやろう。

自前サーバに導入できるXenServerを選んだ。なぜXenServerなの?

  • 対抗はVPS
  • メモリ増やしたりとかはVPSより自前の方が融通がきく
  • XenServerが無料になったので!

Xen

  • オープンソースのフリーウェア
  • サーバの仮想化
  • ハードウェアの上で直接動作するOS
  • Amazon EC2 とかでも使ってる
のっけ方
VM        Xen
ゲストOS
  VM      OS OS OS
ホストOS  XenServer
  HW         HW
  • Linux、Windowsを動かせる

インストール方法

  1. iso落とす
  2. XenCenterを管理用端末にインストールする(XenCenterは残念ながらWindows専用)
  3. ライセンスファイルを取得し、XenCenter経由でライセンスファイルをインストールする

XenCenter特徴

  • GUI
  • 複数管理も楽
  • スナップショットとって壊しても戻せる
  • VM単位でバックアップが取れる
  • まったく同じ構成の環境も簡単に作れる
  • リソース割り当てもXenCenterから簡単に
  • 別のホストにVMをまるごと移動できる

めんどい事

  • ネットワークの設定…IPを固定したりホスト名変えたり
  • なのでスクリプト組んだ https://gist.github.com/1113337
  • ユーザ管理もめんどい

運用管理

  • VMの管理はスプレッドシートとかで原始的にやるしかない
  • リソースははじめは少なめに作って足りなかったら管理者に言って! という方針

今後

  • バックアップ強化したい

ちなみに

  • XMLRPCのAPIが使える
  • なのでWebアプリに組み込んでWebから起動とかバックアップとかできる

非アジャイラーにアジャイルという言葉を使わずにアジャイルな見積りについて語ってみた+α @[http://twitter.com/bash0C7:title=bash0C7]さん

プロジェクトとは

  • 戦略/ポートフォリオ/プロダクト/リリースにわけられる

プロジェクトの成功とは

  • 予定通りの期間、予算で最初の定義したフィーチャを実現できている事
  • …でもほんと? それだけ?
  • 最初に定義したことが必ずしも最高とは限らない
    • すべてうまくいったとしてもメンバーが全員疲弊したら意味ないよね

失敗する要因

  • - …いっぱい!
    • 原因の一つとして見積もりミス
      • …でも見積もり無駄じゃないか?
      • そうでもない。実施価値判断、優先順位付け、体制検討に見積もりは使える

とりあえず3つ覚えて帰ってくださいね。不確実性コーン、規模と期間、正確さと労力

  • - 不確実性コーン - 横軸がウォーターフォールにおける各工程(要件定義とか?)、縦軸が誤差 - プロジェクトの最初の段階は誤差が生じやすい - が、工程が進むことによって少しずつ誤差は収束する傾向にある(最後でだいばくはつする事もある) - 詳しくはぐぐる

規模と期間

  • たとえば、東京-大阪間でかかる時間。のぞみだと2時間40分かかる、こだまだともっとかかる=期間。乗り物(開発者)によって変わる。
  • 乗り物(開発者)によってかかる時間(規模)を求め比率で出してみる
  • ユーザ追加機能は3くらいだから…削除機能は2? みたいな

正確さと労力

  • 見積もりに時間かけ過ぎてもいかん。見積りなんか天気予報と同じ。
  • どんだけやっても100%にはならないので、適度な所で切り上げることも大事

アジャイルな見積もりと計画づくり

アジャイルの手法? というか流れ?

|*Product Backlog|これからやることを積んでおく|

|*Sprint Backlog|「これ」を達成するためにやらないといけない「あれ」や「それ」|

|*Sprint Review|成果物確認(1週間ごと)|

|*Test Release|まずは自分の環境 -> そしてチーム内 -> 最終的にお客さんに見せるように|

|*Sprint Reviewの内容|週一の進捗報告。こんなものつくりましたーな成果物デモのみ。コードレビューは別の場で|

  • 成果物がないと動かせるものがないので進捗報告がモロに出てしまう…だがそれがいい

その他まとまらないメモ

  • MSProjectによる謎の進捗報告
    • 耳が痛い
  • 会場にアジャイルやってる人
    • …いない
  • 「慎重にウォーターフォールで開発」
    • …言わんとしてることは分かるけど…
  • タイムリーにリリース(手っ取り早く適当にうごかす) vs 未来を明らかにする(慎重にすべての事態を調べる)
    • うまく共存できないか -> 順々に明らかにしていけ
  • スクラムマスター:スクラムプロセスがうまくいくよう外部からチームを守る
    • -> 具体的にどんな事するんだろう?

最後に

アジャイル導入は環境的にムリダナと思いつつ、何か一部だけでも取り入れられないかなーと思うものの、なかなか難しい。。。とりあえず、アジャイルあんまり関係ないけど「Excel管理」と「ソースファイルに日付入れてバックアップ」やめればっ!? っつってSubversionとRedmine導入しようとしてみてます。

また、皆の自由な開発環境[1]を手に入れるためXenServerがけっこういい感じというのも知れたのでちょっと導入できるか探ってみようとおもいました。

そして流れるように懇親会へ…。@[http://twitter.com/haru860:title=haru860]さんの顔認識能力に驚愕;;

お疲れさまでした。

[1] 入れても使う人いるのかは知らない。

関連記事(この記事の初版より古い記事はリンクがグレーで表示されます)

  1. 2012/04/01 [Heroku] [Agile] [イベント] BPStudy#55に参加しました
  2. 2011/12/11 [イベント] [java-ja] java-ja忘年会に参加しました2011
  3. 2011/01/30 [JavaScript] [Git] [イベント] BPStudy#41に参加しました
  4. 2011/01/23 [イベント] MacBook Air 11インチ欲しい!
  5. 2011/01/12 [Java] [Wicket] [イベント] Wicket勉強会に参加しました
  6. 2016/11/30 [Sphinx] [Python] [イベント] PyConJP 2016 in TokyoでSphinxハンズオンのTAをしてきた #pyconjp
  7. 2016/01/19 [Sphinx] [イベント] PyLadiesTokyo #8でSphinxハンズオンのTAをしてきた #sphinxjp
  8. 2015/12/01 [Sphinx] [イベント] SphinxCon JP 2015 で雑用してきた #sphinxjp
  9. 2015/11/01 [Sphinx] [イベント] Sphinxワークショップ@関西で事例紹介とハンズオンTAをしてきた #sphinxjp
  10. 2015/10/13 [Sphinx] [Python] [イベント] PyConJP 2015 in TokyoでSphinxハンズオンのTAをしてきた #pyconjp
  11. 2015/09/24 [Ansible] [イベント] Ansible Meetup in Tokyo 2015.09でLTしてきました #ansiblejp
  12. 2014/10/27 [イベント] [Sphinx] SphinxCon JP 2014 で発表してきました #sphinxjp
  13. 2014/08/28 [Sphinx] [Ruby] [イベント] kawasaki.rb #015 でSphinx導入事例の発表をしてきました #kwskrb #sphinxjp
  14. 2014/07/13 [Sphinx] [Ruby] [イベント] kawasaki.rb #013 でSphinx導入事例の発表をしてきました と #011 #012 参加記録 #kwskrb #sphinxjp
  15. 2014/04/01 [Ruby] [Jekyll] [イベント] kawasaki.rb #010 で発表してきました #kwskrb