スクラム研修まとめ③

前回に引き続き用語の説明をしたいと思います。
今回は前回のまとめの中で登場した用語、
・プロダクトバックログ
・スプリント
について書いていきます。

■プロダクトバックログ
プロダクトバックログとはプロダクト(システム)に対する要求の一覧を指します。
・ユーザのニーズ等からプロダクトオーナーが作成する
・1つの要求についてユーザストーリ形式(※)で記述する
・プロダクトオーナー(PO)が開発する順番に並び替える(順番の最終決定権はPOにある)
・要求は可変なので常にメンテナンスして最新の状態に保つ必要がある(優先順位の高いものから開発することでプロダクトの価値を最大化する)
・要求毎に完了の定義を決めておく(デモ手順とその結果を決めておくことでリリース判断可能にしておく)
・開発チームによって見積が行われる(プランニングポーカー(※)という見積手法が主流)

※ユーザストーリ形式
「誰々としてこれこれがほしい。それは何々のためだ」という役割・機能・価値の3つをストーリとして記述する形式

※プランニングポーカー
開発チーム全員でカードを使って行う、複数人の知見を活かした見積の手法。
フィボナッチ級数(1,2,3,5,8)のカードを全員が持ち、基準となるストーリ(要求)とその数字(ポイント)を決めた上で、その他のストーリについて、下記の手順で見積を行う
・対象を個人で頭のなかで見積もる
・一斉に数字が書かれたカードを出す
・差異が出たら、その差異について、まずは最小と最大の数字を出した人が、その根拠を説明する
・それを踏まえて再度カードを一斉に出す
・これを差が少なくなるまで繰り返す(全て一致しなくても差が少なければ、小さい方を採用する)

■スプリント
全体の工期をスプリントという固定の期間に区切って繰り返し開発を行います。
1スプリントの中で実現するストーリをプロダクトバックログの中から決めて(複数可)、リリース判断可能な動くソフトウェアを開発します。
・最大1ヶ月までのタイムボックス
・各スプリントの長さは均一(延長してはならない)
・開発チームはこの期間の中で、計画、設計、開発、テストなどプロダクトのリリース判断に必要な全てのことを行う(ゆえに開発チームは自己組織化されたチームである必要があります)

今回はここまでです。
次回は1スプリントの中で行う具体的な活動について書いていきたいと思います。

[Oracle初心者運用メモ]テーブルの閲覧権限ユーザ作成

客先のシステムで使用しているOracle11gのあるテーブルを
別システムからも参照したいということで
更新はできない閲覧権限ユーザを作成することになりました。

別ユーザを作成した場合、スキーマも別になってしまうため
下記のような参照となってしまいます。

「masterA」テーブル作成ユーザ・・・aaa
閲覧権限を与えた別ユーザ・・・bbb

bbbが「masterA」を参照するには下記のように、
スキーマ名.テーブル名で参照する必要がある。

SELECT * FROM aaa.masterA;
別ユーザからもスキーマ名なしで参照できるようシノニムを作成し
下記の手順で閲覧権限ユーザを作成しました。

1.シノニムをつくる
CREATE PUBLIC SYNONYM masterA FOR aaa.masterA;

2.テーブルにpublicでselect権限を付与する
GRANT SELECT ON masterA TO PUBLIC;

3.ユーザを作成する
CREATE USER bbb(ユーザ名)
IDENTIFIED BY パスワード
DEFAULT TABLESPACE ユーザ領域名
TEMPORARY TABLESPACE 一時領域名;

4.ユーザに権限を付与する
GRANT CONNECT, RESOURCE TO bbb;
⇒接続とcreate系のロール(RESOURCE)を付与する

GRANT SELECT ANY TABLE TO bbb;
⇒select権限を付与する

 

スクラム研修まとめ②

前回はアジャイル開発について簡単に書きました。
今回からスクラムについてまとめていこうと思います。

スクラムというマネジメント手法にはルールがあり、そのルールを理解するためにはまず、スクラムにおける用語を知っておく必要があります。今回はその用語のなかで登場人物(役割)に関するものを書いていきます。

スクラムには登場人物(役割)として
・プロダクトオーナー
・開発チーム
・スクラムマスター
がいて、この3者のグループをスクラムチームと呼びます。

■プロダクトオーナー
・プロダクト(システム)の価値を最大化することに責任を持つ
・プロダクトバックログ(開発要件)の定義や優先順位付けを行い開発チームに伝える
・要件とその優先順位を決める必要があるので基本的にはお客様側の人が担当する

■開発チーム
・スプリントごとの成果物のリリースに責任を持つ
・自己組織化されたチームである(自分たちで判断し仕事を進めることができる)
・チームは10名弱で構成される
・開発ベンダー側が担当する

■スクラムマスター
・スクラムの推進に責任を持つ
・スクラムチームの支援をおこなう
・開発ベンダー側が担当する

私はまだスクラムを実践したことがないのでスクラムマスターの立ち位置や具体的な仕事内容が正直ピンと来ていませんが、ひとつ言えることは、スクラムマスターはプロジェクトマネージャではないということです。あくまでスクラムに沿ったマネジメントが円滑に進むよう力を尽くすのが仕事です。

今回はここまでです。
その他の用語も出てきましたね。次回はその辺りの用語について書いて行きたいと思います。

[Oracle初心者運用メモ]VB.NETからOLEDB接続で予期せぬエラー

久々にOracle関連の記事を書いてます。

VB.NETでOracle10gに接続しているシステムを使用されている客先より、
パソコンのパーティションを分けたら、システムで予期せぬエラーが
出るようになったという連絡があり調査することに。。

VB.NETからの接続は、ADO.NETを使用してOledb接続をしているのですが
接続ではエラーになっておらず、SELECTコマンドを実行したことろで
下記のエラーが出ていました。

0x8000FFFF(E_UNEXPECTED)

パーティションを分けたということでしたので、
(OracleはCドライブに入っている)
PATHの設定などがおかしくなっているのかと思い、
環境変数のPATHを確認したり、ORACLE_HOMEを設定してみたりしましたが
解決せず。。

ネットで同様の事例がないかを調べてみたところ、
同様の現象の質問をされている方に対して、アクセク権の問題ではないか。との
回答でいろいろ試行錯誤されており、、
その方は最終的に今までCドライブにOracleをインストールしていたのを
Dドライブにインストールしてみたら回避できたとありました。

そこで、私も、客先パソコンは、CドライブとFドライブに分けていらっしゃたので
FドライブにOracle11gをインストール。
でも、それだけでは、現象は回避されず

接続のプロバイダを下記の「MSDAORA」から
Provider=MSDAORA
「OraOLEDB.Oracle」に変更し
Provider=OraOLEDB.Oracle

正常に動作するようになりました。

結局、原因はわからないままですが
この対応で使っていただくことになりました。

 

mapの埋め込みについて

こんにちは。

アイコックのHPのアクセスページでは、
会社の地図をイラスト画像とGoogleマップを埋め込んで表示しています。
今回はマップの表示についてのメモ書きです。

Googleマップを埋め込む方法は以下のとおり。
1.googleマップを開きます。
2.左上の検索窓に住所を入れるなどして該当箇所を検索します。
3.右下の設定メニューで「地図を共有または埋め込む」を選択すると
埋め込み用のコードが表示されるので、ページ内の表示したい箇所にコピペします。

これで地図は表示されますが、
埋め込んだマップの左上に吹き出しのようなもの(情報ウィンドウ?)が表示され
表示スペースが小さいと、少し見にくいと感じてしまいます。

☆こんなかんじ

そこで、地図(iflame)のサイズをある程度大きくし
表示させたいサイズを指定したdivで囲んでみたところ、
とりあえず、見た目上表示されない感じになりました。

☆アイコックHPのアクセスページ

しばらくはこの表示方法にしておいてみます。