はじめに
ACCESS Advent Calendar 2021 の24日目です。
初めまして、今年一番ハマった Youtube Channel は QuizKnock の @naohikowatanabe です。
サマーウォーズの暗号解けるかやってみたのやつから。
注
※社内勉強会のリライトです。お客さんの情報部分は削除しています。
※社内上は2500文字全部晒してますが Qiita 上は抜粋です。
それでは始めます!
自己紹介
- 2007年新卒入社
- 15年目(社会人人生早ぇぇ。。)
- 現趣味
- 育児
- ウォーキング
- 月1-2回秋葉原>自宅徒歩帰宅、ドラクエウォーク(コロナ。。)
- 過去発表(↓)属性
- ブラウザ、車載、PM(プロジェクトマネジメント)
- 今一番欲しいもの
- Jelly2 軽量スマホ(ウォーキング用)
過去発表
場所 | 分類 | タイトル |
---|---|---|
社外 | 技術 | html5j 自動車部 #2 - 車載組込ブラウザの過去7年と今を40分でまとめてみる |
社外 | 技術 | html5j - HTML5 Night - Web x Embedded System |
社外 | 技術 | Yocto Project 勉強会 #3 - 初心者の初心者による初心者のための AGL on Yocto on R-Car M2 |
社内 | 技術 | 車載で技術的に苦労している点 |
社内 | 技術 | ソシャゲの自動化したら 奥さんにキレられなくなって 幸せになった話 |
社内 | 技術 | React未経験から運良く3案件連続で触れられたのでReact初心者あるある2018言いたい |
社内 | 技術 | 中瀬くん結婚式余興を支える技術 |
社内 | 技術 | HUNTER×HUNTER に見る お客さん対応のコツ |
社内 | PM | WP事業部勉強会 - プロジェクトマネジメント基礎 |
社内 | PM | PM スペシャリスト ロマン・ソロバン会 #1 - XXXX案件 |
社内 | 他 | 課長半年やって課長業完全に理解した() / 課長から「頼れる!」と思われるコツ |
復習: IPA(情報処理推進機構) 情報処理技術者試験
動機と経緯
- 資格取得系、2011年基本情報取得後プライベート多忙で疎遠に(という言い訳)
- 引越し > 結婚 > 出産 > 引越し > 出産
- 2019年1月
- google+ (当時)のXXXXさん投稿で情報処理技術者試験を思い出す →
- 当時複数案件同時進行デフォで、結果PM力上がった気がして力試し
- 2019年4月:受験1回目:落ちる
- 2020年10月:受験2回目:合格!
- 振り返ると勉強時一番悩んだのは「論述2500文字」だったので、皆様にシェアし、次受ける人のハードルを下げたい。
- 巷の合格体験記で論述文章見たことないので意味あるはず。。!
対象読者と伝えたいこと
- 対象読者
- IPA プロジェクトマネージャ試験に興味ある人、マネジメント力鍛えたい人
- 伝えたいこと
- 準備すればそんな難しくないから興味ある人は取りましょう!
- 結果、弊社から炎上案件が一つでも減ったら。。
- なぜ炎上案件がダメなのか
- 案件従事者視点:めちゃくちゃ疲弊する(徹夜,現地,24時間制等)
- 会社視点:原価X〜X倍で大抵赤字 = やらない方が良かった
- 僕個人:「再発防止策作成&その結果のルール増」が仕事で一番嫌
- 普段から「ちゃんとやる」方がよっぽど楽&自由
プロジェクトマネージャ(PM)試験概要
-
IPA の PM の定義
- システム開発プロジェクトの責任者として、プロジェクト計画を立案し、必要となる要員や資材を確保し、計画した予算・納期・品質の達成について責任をもってプロジェクトを管理・運営する者
-
過去合格者・合格率
- 合格率10%台。2020年はコロナで応募者半減
年度 | 応募者(A) | 受験者(B) | 合格者(C) | 受験率(B/A) | 合格率(C/B) |
---|---|---|---|---|---|
前回 2019年 | 17,588 | 10,909 | 1,541 | 62.0% | 14.1% |
今回 2020年 | 9,672 | 6,276 | 948 | 64.9% | 15.1% |
累計 1994-2020年 | 391,199 | 229,302 | 25,780 | 58.6% | 11.2% |
PM 試験のココがイイ!(利点)
- 転職に有利!
- 解説サイトのほぼ全てがこれ挙げてる。。が、勧めてないですw
- 「いつでも転職できる優秀/努力する人間が居たいと思う会社が最強」のまま言われるやつ
- 自分が中途採用の書類選考時、PM経験数頁より「IPA PM試験合格」「PMBOK取得」の一言の方が実力と向上心に関し説得力ある(文章は盛られ具合不明)
- 手当支給の会社も存在(日経ソリューションビジネス曰く取得の一時金平均支給額20.3万円)
- 自信が付く!
- 客観的な指標で認定されると自分に自信が持てそうな人向け(僕)
- 強制的に勉強が出来る!
- 期限があるとモチベーションを保ちやすい人向け(僕)
- 一通り知識身に付けた後知らないことがあったら堂々と「それ何?」と気軽に言える!
PM 試験のココがダメ!(欠点)
- 最後の論述の2500文字手書きが特に辛い(PCで書かせて。。)
- 腕プルプル。。漢字思い出せない。。
- →1回で受かろう
- 受験料5700円
- 1回目は自費
- 2回目は会社にお金出してもらった
- 1回目2回目の間の課長昇格試験で○○さん○○さんからコメント
- 「PM試験受けてる?試験費用は会社が出す。前回出してもらってないの?」
- 言われた直後は「ラッキー」くらいしか思ってなかったが、課長になってみると5700円でメンバが勉強し、結果炎上発生率が1割でも減ったなら破格の投資、と思う
- 炎上し100万円、1000万円の原価増を作るのほんと簡単なので。。(ダメ)
PM 試験内容
- 採点方法:多段階選抜方式(合格ラインを超えないと次の採点がされない)
- 狙いは恐らく記述の採点コスト減&午前はあくまで足切り
- 午前Ⅰは免除あり(レベル3合格or他レベル4午前Ⅰ突破後、2年以内)
- 午前Ⅰは朝早いので免除は大きい(「最初の試験は辿り着くこと」と言われるw)
勉強時間
年度 | 合計[時間] | 概要理解&勉強法検討 | 午前Ⅰ | 午前Ⅱ | 午後Ⅰ | 午後Ⅱ |
---|---|---|---|---|---|---|
1回目 2019年 | 50? | 10? | 5? | 5? | 5? | 25? |
2回目 2020年 | 8 | 1 | 0(免除) | 1 | 3 | 3 |
- 1回目:正直時間覚えてない。。
- 2回目:前日土曜一夜漬け(前日も仕事してた。。)
- 午前Ⅱ&午後Ⅰ: 過去問ちょっと解く
- 午後Ⅱ: 2019年製下書きを読む&1回写経
お勧めの勉強法:午前Ⅰ&午前Ⅱ
- 午前Ⅰ&午前Ⅱ(マークシート)
- 過去問からガンガン出題される(6-7割)ので過去問3年分解くだけで OK(余裕見て5年)
- 当日の試験の合間の休憩時間も過去問見る
- 初回(2019年)試験時、5分で見た2問そのまま出て、結果合格ライン突破。。w
お勧めの勉強法:午後Ⅰ
- 午後Ⅰ(約30文字7問2の記述)
- 過去問3〜5年解く
- 個人的には正答の感覚掴みづらく地味に鬼門
- 感想:「そこ?」「当たり前すぎる」等。。
お勧めの勉強法:午後Ⅱ
- 午後Ⅱ:準備
-
- 過去問の傾向把握(次スライド)
-
- 適用範囲が広い過去案件を思い出し、ネタにする
- 進行中案件は不適(最後に後日談的な話を書くことになるため)
-
- まず「概要シート」(サンプル後述)記載。超概要はここで書く
-
- PCで2500文字下書き(いきなり手書きは疲れるだけ)
-
- 最後に手書きで練習。120分で2500文字。
-
- 午後Ⅱ:本番(120分)
- 当日出題テーマに合わせ上記ネタの下書き2500文字の3割程を変えるイメージで書く
- それで試験時間ギリギリ。考えてる暇は無い
お勧めの勉強法:午後Ⅱ:ネタ選定
- プロジェクト
- 某組込ブラウザプロジェクト。Android Chromium カスタマイズ
- 大変だった状況
- プロジェクト後半「コア上げ後Webページのスクロールが遅い。製品化不可。対処必須」
- 顛末
- 原因コミットを二分探索で特定(Chromium は1メジャーバージョンで約1万コミット)
- 原因1コミットは1000行超変更&構造を変える内容で単にコミット外すのも大変
- 「コア上げやめよう!最大のコア上げ理由のX脆弱性はSoC的に大丈夫!」と調整
- ネタ選定理由
- スクロール問題のテーマ網羅性が高いため
- 非機能、本稼働直前で見つかった問題、品質管理、リスク、工数、何にでも倒せる
お勧めの勉強法:午後Ⅱ:PCで2500文字下書き
-
注
- 2018年設問「本稼働間際の問題」の回答として下書きした全文
- 大分やっつけ。1回殴り書いてそのまま使ってしまった。。もっと練りたかった
- 本番では以下のテーマに合わせて2500文字の3割程変更し記載
- 1回目(2019):工数超過の防止
- 2回目(2020):リスクマネジメント
-
実際書いてみた感想
- 意外とあっという間。普通にプロジェクトの説明と経緯を述べると到達
- 2500文字 ≒ 原稿用紙6枚 ≒ 18ツイート(140文字*18)
- 問1:概要と問題点(0-800字)
■プロジェクトの特徴
本プロジェクトはXで発売される Android OS 上で動作するブラウザアプリの開発である。
商流は発注者がX発売会社、一次受けがX開発会社、私の所属する会社が二次受けであり、X機器上で動作するアプリの一つWebブラウザアプリの開発が担当である。ここで言うアプリとはHTMLで記述されたWebアプリではなく、ブラウザ自体を指している。
プロジェクトの特徴は3点ある。
- 機器の物理サイズが小さくそれに引きずられハードウェアスペックもチープでありパフォーマンスを出しづらい点
- プロジェクト開始当初は顧客方針として費用小を目指しており開発内容は最小の機能実装のみに絞られパフォーマンスの要望は特になかった点
- ブラウザアプリはベースのOSSとしてChromiumを使用しておりChromiumはソースが巨大(100万行オーダー)な点
■本稼働間際で発見され予定された稼動日までに解決することが困難であった問題、理由
プロジェクト終盤に発注者より「ブラウザでWebサイト閲覧時のスクロールが遅い」と指摘が入った。
原因特定のためChromium OSSのコミットをある程度の幅で二分探索で探した結果、
スクロールの劣化が混入した1コミットを発見したが、
運悪くそのコミットの変更量が1000行程と量も多いこともさることながら
アプリの構造変更で単にコミットを取り除くことで回避出来るわけではないことが分かった。
- 問2:解決策(800-1600字)
■関係部門と連携を図るために検討し実施した取組み
取組みは大きく2点ある。1点目ソース変更でスクロール速度を良化させる検討を続ける、
2点目、1点目の検討の結果やはり改善が難しい場合顧客へ説明を続け一緒に落とし所を見つけるべく議論を続けた点である。順に述べる。
■1点目
問1の回答で概要を記載したがここでは詳細を述べる。Chromium のベースソースは100万行オーダー、コミットも数十万オーダーで存在するため、問題発生時の原因特定が難しい。Chromium の原因特定で良く行う手法として Chromium メジャーバージョン毎にバイナリを用意し、ニ分探索で大きく問題の発生有無を確認し、その後に1メジャーバージョン内(1メジャーバージョンあたり1万コミット程)でビルドし原因コミット特定、がある。今回もその手法を用い問題が発生する特定の1コミットを見つけたが、1コミットが1000行を超える点、構造を大きく変更する内容だったためその他前後のコミットへの影響度が大きい点、から該当1コミットのみを取り除くことが難しく、該当コミットを取り除く対処は難しいと判断した。
■2点目
従って私の会社としては現状維持で進めざるを得なく次の課題は顧客へ現状の説明と理解を得ることとなった。当初顧客要望のバージョンアップの背景を踏まえつつ、バージョンアップ実施可否それぞれの場合の利点、欠点、影響を顧客へ説明し、選択肢を例示した。
具体的にはバージョンアップ時の利点はブラウザエンジンに対するセキュリティ向上、欠点はスクロールの悪化である。バージョンアップしない場合はその逆である。
また、顧客が一番気にしていた脆弱性は調査した結果運良く該当 SoC ではバージョンアップ前のエンジンでも発生しないことを確認し、それも合わせ顧客へ伝えた。
最終判断は顧客に行ってもらい、結論「問題の発生しないメジャーバージョンに下げる」となった。
- 問3:結果と今後(600-1200字)
■取組みに関する実施結果の評価、今後の改善点
■評価
前述の合意に沿って私の会社からはエンジンバージョンを元に戻しスクロール速度が元に戻ることを確認し顧客へリリースした。最終的に顧客からは「期間ギリギリだったにも関わらず原因特定、代替案の例示までスムーズに行ってもらえた点評価する」とコメントを受領し高評価だった。その後大きな問題はなく無事製品化された。
■今後の改善点
プロジェクト当初、本件のタッチスクロールの性能のような非機能部分について要望がなかったため特に大きく対策をしないままプロジェクトを開始してしまったが、今後は非機能要件やユーザビリティに関し要望がない場合はこちらから要望をヒアリングし聞き出すこと、もしくは見積条件で非機能部分の検討は対象外であることを認識してもらうべきだったと感じている。巨大 OSS での原因特定方法は二分探索が効率的である点は社内で共有し事例を勉強会でシェアしていきたい。
お勧めの参考書
- 情報処理教科書 プロジェクトマネージャ 三好 康之 翔泳社
- 内容
- 本は実質午後Ⅰ午後Ⅱのみ。午前Ⅰ午前Ⅱの問題と解説は翔泳社ネットからダウンロード可
- 良い点:解説、考え方が詳しい
- 参考書の刺さった部分
- 午後Ⅰ 解答類型
- 解答抜粋型:問題文から抜き出す
- 知識解答型:一般知識で回答
- 解答加工型:文脈から自分で考えて回答
- IPA は国語の試験ではないことを過去に表明している
- 一般論でも問題文の引用でも大きく外していなければOK。迷ったら上記型の折衷で
- 午後Ⅰ 解答類型
お勧めの勉強場所
- 自分が集中できる場所(当たり前。。)
- 自宅(僕的には精神的にと子供的に不適)
- カフェ
- ホテル自習室( ホテル日本橋サイボー )
- 漫画喫茶
- カラオケ
- 実際の勉強場所
- 1回目2019年:ホテル自習室、カフェ(コロナ前)
- 2回目2020年:自宅(コロナ&前日一夜漬け)
- あると良い設備
- WiFi、PC 電源、PC/ノート/参考書を広げられるスペース
まとめ
- IPA PM 試験:難易度
- 「高難易度、合格率10%」だが準備すれば大丈夫!
- 案件経験目安
- どんなカオスな状況でも冷静に対応、お客さんに何言われても楽勝で乗り切る、×10回
- IPA PM 試験:ポイント
- 午後Ⅱ2500文字の論述:PCで下書き&手書き練習必須、当日考える暇は無い
- 時間確保:初受験時4-5月で20日有給使わせてくれた(1-3月デスマ代休)チームの皆様に感謝
- 次回試験
- 案1:2021年秋 PM 試験フル受験(午前Ⅰ、午前Ⅱ、午後Ⅰ、午後Ⅱ)
- 案2:午前Ⅰ免除状態(応用情報or他Lv4合格)にして、秋 PM 試験を午前Ⅱから受験
- 「炎上案件、、駆逐してやる!」となると良いですね!
おわりに
発表資料は前スライドで終わりです!
ACCESS Advent Calendar 2021 、明日の担当は @n2-freevas です。お楽しみに!🎉