底辺過ぎてちょっとビビる

26歳からIT業界にいるエンジニアが、まったく成長できてないことを確認するブログ。備忘録的に使いたいとも考えています。

ポストモーテムやってみた

今までプロジェクトの終わりにプロジェクトメンバーで集まって、KPTという作業をまれに行ってきた。KPTとは、KEEP・PROBLEM・TRYの頭文字から取った言葉で要はプロジェクトを終えての振り返り作業のこと。

 

KEEP・・・継続していきたいこと

PROBLEM・・・問題など改善したいこと

TRY・・・取り組むべきこと

 

これらをそれぞれチームメンバーが出せるだけ出して、リストに書き出して残すという作業を行なってきた。チームメンバーが揃って1時間程度時間を使ってリストを残すのだけど、そのリストの寿命は、「Google Driveに格納された時点」で尽きてしまう。つまり、誰もそのリストを後から読み返すことがないのだ。全く意味がない。

 

それを知ってか知らずかわからないが、PMから「ポストモーテムを今後やります」という周知があり、今回からやることになった。

 

ポストモーテムとは

正直、KPTもここの現場に来るまで知らなかったがポストモーテムも単語として全く耳馴染みのない言葉で、最初は何を指示されているのかわからなかった。

 

本来、ポストモーテム(post-mortem)とは「検死」という意味で、転じて終わったプロジェクトの実施報告・振り返りのこと。「じゃあKPTと変わらないじゃないか」という声が聞こえてきそうだが、KPTはチームメンバーがプロジェクトに対してそれぞれ意見を提出するのに対して、ポストモーテムはリードメンバーが一人で振り返りを行い、ドキュメントを作成する。関わる人数が複数人か一人かという違いが大きい。またKPTでは理路整然としたドキュメントは作成しないが、ポストモーテムではドキュメントを作成する。

 

※というのはここの現場だけのルールで、他でどのようにしてるかわからない

 

単純にKPTだとコストがかかる割に成果物として意味をなさないので、ポストモーテムとして作業名目を変えてコスト削減と成果物の両方を得ようというのが目的かもしれない。そのあたりはわからない。

 

どんなドキュメントを作成すれば良いか

 例えば今かかってる工数について改善を考えてる状況とか、業務のやり方(例えばソフトウェアテスト工程)の改善を考えてるとか、人やチームでポストモーテムを実施するのはなんのために?というのがあるので目的に合わせた内容を作成する、というのが最初にあると思う。

 

個人的にはドキュメント自体のボリュームはそんなに多くない方がいい、つまりポストモーテムそれ自体に時間をかけるのはなんか違うのでは?という感覚。コンサルティングじゃないんだから、そんなに大量にページがあってもしょうがないだろう、という感覚なんですけども。

 

具体的には、

  1. 目次
  2. 案件やプロジェクトの概要
  3. 案件やプロジェクトの実施見積もり、工数見積もり
  4. 案件やプロジェクトの実施状況、工数状況
  5. 見積もり時点と実際の状況との差分、乖離の割合比較
  6. 乖離原因
  7. 継続すること、改善したいこと
  8. 作業評価、感想
  9. 当該ポストモーテム自体への第三者からの評価メモ

 

上記のように、多くても10ページといったところじゃないだろうか。これでもページ数的には多い感じもするし、不要と判断できる箇所はページを作成せず、まとめられるところはまとめてしまう方が良いと思う。というのも、ドキュメントを作ることが目的ではなくて、あくまでも振り返り・今後の改善や今実施していることの継続とかそういうことを検討するというか、確認することがポストモーテムをする意味・意義なので。

 

あと、一つの項目に対してあまりダラダラと長い文章を書くのもよくないのではないかと思う。できるだけ端的に(短くできるなら1行レベルでもいいと思う)すべきかな。

 

ポストモーテムを実施した、その後

せっかく共有された知見というか振り返りなので、それをチーム内で共有したい。失敗ならその失敗はなるべく繰り返さないように、成功したことなら、みんなでやっていく。まだ始まったばかりなので、どう活かされたか、については後日報告したい。

 

 

 

 

LEADER's KPT

LEADER's KPT

  • 作者:天野 勝
  • 発売日: 2019/04/11
  • メディア: 単行本
 
ポストモーテム

ポストモーテム

  • 発売日: 2016/07/19
  • メディア: MP3 ダウンロード
 

 

 

 

【工数】ソフトウェアテストのコスト

最近QAチーム内でテスト実施前に「見積もり」を提出し、その見積もりが妥当かどうか検証するステップが作業として盛り込まれた。正確にはこれまでも実施にかかる工数は提出していたが、手計算による簡易すぎるものだったので工数の妥当性についてある程度正確性を出そう、ということでプロジェクト単位でシートを作成し始めたという感じ。

 

実はこれまで「見積もり」という作業に関わったことが一度もなかった。大体「この日から作業を開始して、この日までに終わらせてください」という作業指示のもとプログラミングやテストなどを実施してきていて、プロジェクトの全体像を把握することがなかった(下流工程エンジニアかつ底辺SESエンジニアならではです)。

 

そして、実際に見積もり作業を実施して

 

「大体設計に1人日かかるなぁ。設計のバッファに0.3人日として、実施に3人日、バグ修正確認も必要なのと何かしら作業の停滞があることも考慮して0.5人日を実施バッファに取りましょう。設計バッファの0.3を0.5として計算して、合わせて5.0人日がこのプロジェクトにおけるQA工数です」

 

というような報告をドキュメントで提出している。大体提出した通りに見積もりが通るのだけど、後から要件追加などがあったりして再提出することもある。実際に見積もり作業(小さなプロジェクト単位で見積もりしてるので、計算対象が多くないというのもかなりあるが)をしてみて、そこまでヘヴィな作業ではないのかもしれないというのが実感だ。

 

あくまで自社プロダクトに対する見積もりなので、例え見積もりと実績に乖離があっても実施者に何かペナルティがあるわけではない。これが対外的な見積もりになるとまた話は違ってくるのだろうが・・・(1億でシステム受注して、実際かかったコストが受注費用を超えてしまい大赤字になった、とかIT業界の悲しい話とかでたまに聞く)

 

タイトルから逸脱した話が延々続いているが、何が言いたいかというと、見積もりって結局「このプロジェクトに対してQAするとこのくらいコストがかかりますよ」ということを明示していく作業のことなのだ。

 

例えばWEBページのデザイン改修プロジェクトで、そのデザイン改修されたものがリリースされたとしてもそれ自体は何も収益をあげるものではないのに見積もりしてみたら工数がとんでもなくかかった、とかいうのが割とあるなと傍目に感じていたが、よく考えたらとんでもないことになっているということにさっき気づいた。

 

複数ページにまたがってデザイン修正が入ったとして、それぞれのページに対してテストを実施するとなると案外工数がかかるものだが、例えばそのテストに対してQAから「トータルで10人日かかります」というような見積もりが出たとして、10人日という数字自体にインパクトはあまり感じないが、月に80万円の予算で外注としてQAエンジニアを雇っていた場合、そのエンジニアの1ヶ月の稼働が20日程度として10人日なので丁度半分。つまり80万円の半分40万円がそのプロジェクトのQAにかかるコストになるということである。

 

40万円...これを大きいコスト捉えるか妥当と捉えるかは正直なんとも言い難い。

 

じゃあ、コストがかかり過ぎているのでテスト実施を半分にしましょう、というのは品質担保とのトレードオフになるのでそれはまた別の判断が必要になる(まさに予算との兼ね合い)。

 

かかる工数を実際のお金に換算してみるとちょっと怖くなる。大体今のQAチームには10名弱人員がいるので、月に800万円くらいコストがかかっている計算になる。年間で1億円である。1億!それだけコストをかけてしっかり品質の検証することを期待されてるわけですので、頑張らないとダメだと改めて思った。

 

というのも、あまりコストがかかりすぎる、ということになれば自社でQAチームを持たずに外注でええやんという話になりなりかねないためだ。それだけはなんとしても避けたい。

 

それから直接のテスト業務だけでコストがかかるわけではない、というのは理解すべきことだと思う。ミーティングだって工数だと理解しないとだめ。時給換算して1H5000円の社員が10人が1時間ミーティングしたらそれだけで5万円かかる。5万円のミーティングだぞ!

 

 

 

ザ・ゴール

ザ・ゴール

 

 

【QA】テストでバグを検出できない悩み

WEB系金融企業にSESで参画してはや一年半が過ぎようとしている。ここではQAとして品質管理を任されているのだけど、ここでは色々な悩みが後から後からわいてくる。プログラミングスキルがないこと、自動化テストがわからないこと、QAとしてやってるけどやってることはほとんどテスターレベルなんじゃないか?と思ってること...たくさんあるけど、目下の悩みは

 

「自分が担当したプロジェクトでテストした結果、バグが検出されないこと」

 

テスト目的策定〜テスト設計〜テスト実施〜テスト結果報告で全て込みで5人日というようなはっきり言って大きなプロジェクトではない。大きなプロジェクトではないけど、機能的には重要な部分を担っている(当該企業のシステムの一番大事な部分と言ってもいい)。BtoC企業だしユーザは何千人といるシステムだし、何しろ金融系システムなので「バグが残ったままリリースされたら大問題」なのである。

 

しかし、バグが検出されない。

 

バグが出ないのだから品質の良いプロダクトじゃないか!という見方もあるのだろうけど、それにしたってバグ0件はないだろう...という気持ち。例えばあるプロダクトに機能追加したことのテスト、ということなら機能追加した部分だけでなく、既存のプロダクト部分のバグを見つけるとかそういうことがあっても良いはずだが、バグが出ない。

 

バグが出ないのはプロダクトの品質が良かったから、というのも多分あるのだろうけど、テストケースそのものが不足しているせいではないだろうか?と思う。テスト観点のレビューは実施しているので、テスト対象のプロダクト範囲が漏れているということは恐らくないのだろうけど。

 

特に数値入力に関するテストケースに関して、入力の組み合わせパターンが少ないことが要因かもしれない...今後テストケースを作成するときにはその辺りを強化して作成していこう。

 

...というただの独り言のような記事になってしまった。あまり共益性のない記事だ。

 

 

 

【ゲーム感想】真女神転生3ノクターンHDリマスターをプレイしました

かつてPS2で発売された真女神転生3ノクターン(以下メガテン3)がHDリマスターになって発売されました。

 

真・女神転生III NOCTURNE HD REMASTER - 公式サイト

 

PS2の発売当時はまだメガテン自体に馴染みがなかったことやちょっと敷居の高いイメージがあったことなどから手を出していませんでした。しかし、ペルソナ3をプレイしたことで、メガテンシリーズへの扉が開かれて、その後はソウルハッカーズメガテン4、ストレンジジャーニー、ペルソナ4ペルソナ5とどんどんアトラスゲーに手を出巣ようになってきました。どれもクセはありますが、面白いのがすごい。

 

ある程度アトラスゲーを遊んでいると、過去に発売されたソフトにも興味がいきます。PS2で言えば今回のメガテン3や葛葉ライドウシリーズなど...ソフトは探せば売ってるのにプレイ環境がない(実際PS2本体自体は手に入れるのは容易ですが、PS2とTVを繋げるのが面倒というのが大きい)。中古ゲームソフトショップで指をくわえて見るだけでしたが、今回はありがたいことにHDで帰ってきました。メガテン3の場合、事情はよく知りませんがソフト単体でもプレミアになっていたので余計嬉しいことでした。

 

 

まだ10時間もプレイしてませんが、そのインプレッション的な感想を書いていきたいと思います。ネタバレはなしの内容です。

 

いきなり不穏な始まり

ゲーム開始直後に謎の女性の独白からスタートするメガテン3...プレイヤーはゲームの主人公であるキャラクターに名前を設定し、この女性の名前も入力することから始まる。よくわからないままゲームをそのまま進めると、プレイヤーは現代の東京メトロ代々木公園駅に到着している。こんなありふれたところからメガテン3の物語は開幕するのであった...

 

その後なんやかんやあり、「東京」が死んでしまった世界に放り込まれたプレイヤー。正直何を目的にすればいいのかはあまりきっちりと提示されているわけではないが、「この世界がどうなってるのか?」ってのはめちゃくちゃ興味深いので、とりあえず荒れ果てた荒涼とした世界に一歩踏み出すのだ...

 

メガテンはペルソナとはやっぱり違うな、と最初の30分くらいで感じる。

 

 

グラフィックとか

割とグラフィックは本当にPS2のHD化といった感じで、特別目を見張るようなものではないが「ゲームってこのくらいで十分なんじゃないないの?」という気もしなくもない。ここは議論が起きそうなので、あまり語りたくないのだけど、「グラフィックもゲームの一部」であることは確かなので、グラフィックに凝っている=ゲームとしてレベルが高い、というのも事実だと思う。

 

イベントシーンで挟まれるムービーは、美麗です。

 

ゲーム本編とか

大体「今やること」「次やること」が明示されるので、「何すればいいんだっけ?」にはならない。ゲーム中にNPCとの会話や実際に指示されるなどして方向性がわかるので。ただ、システム的に「どこどこへ行くこと」「なになにを手に入れること」というようなクエスト形式で表示されたりすることはないので、ゲームをしばらく放置した後で再プレイとなった場合は混乱するかもしれない。

 

自分で進む方向性を決めるタイプのRPGではないけど、あまりやらされている感はないな、と思ってプレイしている。いわゆるお使いプレイが少ないせいだろうか?これがドラクエだと「アイテムを取ってきてくれ」とかそんなクエストばかりで、勇者というよりほとんど便利屋じゃねーか、と思ってしまうんだけどメガテン3の場合そういう印象が少ない。

 

また今回の舞台は東京全体となっているのだけど、東京全体が一つの大きなMAPになっているわけではなく、エリアごとに区切られていて、それらをダンジョンだったり輪転鼓という装置を使って移動するスタイル。なので、東京という都市を知らなくても迷うことはない。ただ、馴染みのあるロケーションがダンジョンや街になってるのを見るのは楽しい。

 

登場キャラクターも多くない上に、常にそばにいるわけでも会話が頻繁にあるわけでもないので、基本は孤独だ。もちろん仲魔の悪魔たちは大勢いるのだけど、個別に会話するシステムがあるわけでもない。会話は街やダンジョン内にいる精霊的な存在になっている過去の住民たちや悪魔たちがメインなのだけど、イベント単位で会話内容が変わったりするので、話しかけてみるのが楽しい。

 

会話を楽しむ、というとペルソナシリーズが浮かぶけど、ペルソナとは完全に違う方向性だということははっきりしている。

  

バトルなど

最初はお供に連れて行ける悪魔たちもそんなに多くはないが、シナリオが進むにつれてだんだん増えていく。今回のメガテン3では、悪魔は成長しそれぞれ個性を伸ばしていくシステムになっている。発売後しばらく実装されていなかったが、Ver 1.02から悪魔合体の時に、自由にスキルの入れ替えができるようになってものすごく便利になった。

 

これが実装されるまで、任意の希望するスキルが悪魔に継承されるまで何度も何度も合体を繰り返したプレイヤーも多かったのではないだろうか。

 

バトルもオート設定の時にテンポアップされ、ただでさえ快適なバトルがさらに快適になったのですごくプレイ環境がいいです。とりあえずほどほどの悪魔レベルやスキル設定でも今のところ(多分中盤〜終盤にかかってる)何度やっても勝てないボスとかはいないです。力押し一辺倒、というわけでもないですけど「この悪魔で、このスキル持ちじゃないとクリアできない」というような難易度ではないのでRPG初心者でもプレイできます。

 

終わりに

前からずっとプレイしてみたかったメガテン3。いざプレイしてみると本当に面白くて最高のゲームです。悪魔たちの3Dデザインも凝っていてかっこいいし、登場キャラクターたちの不穏なキャラクター性も唯一無二といった感じでとてもクールです。当然PS2のゲームが元になっているので、グラフィック部分は特別目を見張るようなことはありませんが、「PS2時代のゲームなのに、こんなに綺麗なの?」と驚く部分の方が多いです。

 

見慣れた街が崩壊している姿を見るのはSF好きとしてはたまらないものがありますし、ダンジョンは広い上にギミックが凝ってるので歯応えがあります。

 

日本のRPGが至高、という時代からずいぶん経ってしまい、最近は海外性のRPGが逆に主流になってきましたが、こんな時代にあってもアトラスの作るRPGにハズレなし!というのを改めて実感できました。

 

ちなみに私はPS4版を買いましたが、PSVitaを持っていると離れたところでもリモートプレイが出来て非常に快適です。

 

 

真・女神転生Ⅲ NOCTURNE HD REMASTER - PS4

真・女神転生Ⅲ NOCTURNE HD REMASTER - PS4

  • 発売日: 2020/10/29
  • メディア: Video Game
 
真・女神転生Ⅲ NOCTURNE HD REMASTER - Switch

真・女神転生Ⅲ NOCTURNE HD REMASTER - Switch

  • 発売日: 2020/10/29
  • メディア: Video Game
 
真・女神転生III NOCTURNE HD REMASTER 公式パーフェクトガイド
 

 

 

 

【SES】単価交渉ができる営業、できない営業

2020年12月現在、地球はコロナが蔓延してて経済状態はちょっとやばい状態です。今までこんなことなかった。3.14でもここまでひどくなかった。コロナ禍前は「仕事ありまくり状態」で「エンジニア不足状態」だったわけですが、今は状況がまるっと逆転している感じらしい。リーマンショックの時も経験してるので不況の怖さは知ってる。あんなことは2度と起きてほしくない...

 

とはいえ、今のSES先には去年(2019年夏)から参画してるので、もう1年半弱経過したわけです。最初から3ヶ月経過ごとに契約を延長する、という契約だったのでなんとか4回の契約延長を勝ち取ってこれた自分を褒めてあげたい。またSES先からは2021年1月から半年の延長契約依頼がきました。

 

さて、主題の「単価交渉のできる営業、できない営業」についてですけど、そもそも単価交渉って頻繁にあるんですかね。私は実はそーいう場面に出会ったことがない。自ら交渉したこともない。しかし、1年経過したしそろそろ単価考証したっていい時期だろうと思いました。

 

  • 最初の契約時点ではコロナ禍前だったこと
  • 案件内容的には開発職ではないこと
  • 1年半弱経過し、また半年の契約延長依頼が来たこと

 

上記3点を鑑みて、世話になってる営業契約している企業の営業に相談をした。「なんとか単価交渉出来ないですかね?」営業さんは「コロナ禍ということもあり、正直言うと”仕事があるだけマシな状態”なので単価交渉は厳しいかもしれませんね」と言う。確かにコロナ禍でプロジェクト自体がなくなり仕事にあぶれるエンジニアもいるだろうな・・・とよく知らないけどなんとなく納得できる回答だと思った。

 

当初の予定では3ヶ月ごとの更新のつもりだったので、2021年1月から3月までは今まで通りの単価で契約し、もし4月以降も延長があるようならそのタイミングで上げてもらえるように交渉するつもりだった、と営業さんは言う。しかし実際は1月から半年間の契約依頼だった。ここで単価交渉ができないと今度交渉できるのは6ヶ月後になってしまう。

 

「わかりました。一応そちらの内容(今まで通りの単価)で一旦検討させてください」と営業さんに言って電話を切った。個人的には今の単価でも大きな不満はないが、フリーランスでやっている以上、稼げる時に稼いでおかないといけないのではないか?という気持ちもありつつ先の見えないコロナ禍の状態でまずは仕事にありつけていること自体に感謝すべきなのではないか?という思いもあり、なんともいえない感じだった。

 

電話を切って15分後、営業さんからの着信があり、電話に出てみると「単価2万円アップでいいそうです」とのこと。聞けば、単価の話を上位会社にしたところ、上位会社が調整して2万円アップで契約をまとめてくれたそうである。

 

「そう言うことなら喜んで契約します!」と言って話を終えて電話を切った。結果的に単価が上がって良かった。2万円アップなので6ヶ月で12万円。大した金額ではないけど、上がったことが何より嬉しい。

 

で、表題の「単価交渉できる営業、できない営業」に話を戻すと、この営業さん弱気すぎて単価交渉出来てないと思う。結果的に上がってるから出来てるという感じも否めないが、おそらく「技術者が単価あげてくれって言ってるんですよ〜」と相談ベースで話をしてもし上位会社が「それはちょっと」と言われたら速攻引き下がってた可能性が高い。これくらいなら新人営業でもできる仕事である。「それはちょっと」と言われたところで「とはいえもう1年半も案件関わってて、これから先半年も契約延長になったわけですからSES先からの評価もいいので、上げてもらえませんか?」と状況をひっくり返せる力がベテラン営業には欲しい。お客さんの要望だけ聞いて対応するのは、ベテランでなくてもできるわけなので。

 

一体いくらで元請けは企業からお金をもらってるのかわからんし、契約してる会社は何%のマージンを引いて私に仕事を下ろしてるのかわからん。平均的に一人の技術者をSESで契約すると100万円くらいはかかる、というのは相場感として知ってるが、それは開発の場合で、今関わってるQAの場合だと案件にもよるが下は60万円くらいからなのではないか(単価で40万〜というのを見かけた)。とするとそこまで高い金額ではなさそう、と推測できるけどそれはそれとして営業さんには頑張って欲しい。