担当になったら知っておきたい「プロジェクトマネジメント実践講座」

伊藤大輔著「担当になったら知っておきたい「プロジェクトマネジメント」実践講座」を読みました。

プロジェクトマネジメントの国際規格「ISO21500:2012」に準拠した以下の項目のプロセスの解説本です。(PMBOKの知識エリアと若干違いますね)

  • 統合
  • ステークホルダー
  • スコープ
  • 資源
  • タイム
  • コスト
  • リスク
  • 品質
  • 調達
  • コミュニケーション

プロジェクト憲章、ステークホルダー管理、スケジュール管理、リスク管理に関する記載が多かったです。その中でも印象深かった点をメモします。

 

バッファの考え方

スケジュール作成時にバッファをどう設定するか考えるとき、「学生症候群」「パーキンソンの法則」という言葉がある。

 

学生症候群

時間余裕を与えたとしても最初にその時間余裕を使ってしまう

 

パーキンソンの法則

仕事の量は完成のために与えられた時間を全て満たすまで膨張する

 

どちらにしても、与えられた時間に合わせて仕事をしてしまい、余裕を使い果たしてしまうということですね。自分が作業者としてWBSに沿って作業をする場合、管理者として作業者にタスクを依頼する場合を想像してみても、大いにあると思います。

では、スケジュールはどう作成するべきか。タスクのスケジュールにバッファは開示せず、別に扱うという方法が紹介されていました。心理的安全性のために若干バッファを入れるのもいいのかもしれませんが、これは、まあ、そうだなと思いました。ひとまず、プロジェクトを完遂しないといけないので、タスク消化が優先。バッファが余るのであれば、後で品質向上など行うようにすればよいと思いました。

 

ワーキングアグリーメントの重要性

ワーキングアグリーメントは、働き方の合意という意味で、プロジェクトのルール、行動基準を策定し、プロジェクトメンバーがルールベースで作業をできるようにする状態を作るということです。ドキュメント様式、コーディング規約、進捗の入力方法、会議体の設定、進め方、不具合管理、課題管理など、初もののプロジェクトには決めごとがたくさんあり、決めておくことで、メンバの作業を均一化できる。これをやらないといけないというのは、認識があるんだけれど、スケジュール作成時に、これらを決めるタスクを組み込めていなかったかなあ、忘れがちかなあと思いました。

 

著者の経験を基に記載がされていると思うので、納得感のある内容でした。プロジェクトによって取捨選択が必要になりますが、プロジェクトマネジメントについて、参考になる本だと思います。

centos6からubuntu20.04へ引越しました

背景

centos6をvpsで使っていたのですが、2020/11/30でサポート終了とのことで、osを入れ替えようと思いつつ、やっと引越しを完了しました。サポートが切れたまま、ずいぶんほったらかしてしまった。その時のことを備忘で書きます。

osの選択肢

centosを使っていたので、centos8にしようと思っていたのですが、突如、centosプロジェクトが終了となり、centos8も2021/12/31までのサポートとのことで、centosはやめました。ならば、osは何がよいのか?いろいろ調べた中、arch linuxを使ってみようと思い至りました。

arch linuxとは

シンプルでミニマムな設計で、ローリングリリースとのことで、今起きているようなバージョン問題で迷わないで済むこと、余計なものがなさそうというところが気に入りました。 www.archlinux.jp

arch linuxのインストールで詰んだ

で、archlinuxをインストールしようとしたのですが、パッケージインストールのための鍵の更新ができず、詰みました。

鍵の更新に失敗

$ sudo pacman-key --refresh-keys

鍵の更新に失敗する場合は、鍵管理パッケージを更新とあるが、これも失敗

$ sudo pacman -S archlinux-keyring

こんなのを参考に色々やってみたわけですが、、(涙) qiita.com

ubuntuどうでしょう

arch linuxのインストールを頑張るか、やめるか考えていましたら、ubuntuはosアップグレード(メジャーバージョンの更新)ができるというじゃないですか。ubuntuでも、同じosをずっと使えるではないか。ということで、試しにubuntuを入れてみましたら、すんなりできてしまったので、もうこれにしました。vpsで用意されているubuntuは16.04。最新化は1コずつアップグレードするので、18.04にして、20.04にしました。20.04のサポート期限は2025年4月。ちなみに、centosもアップグレードできるらしいが、今まで動いていたものに影響なくできるのかどうなのか怪しいところ。未検証だが、そもそも開発が終わってしまっている。linuxのメジャーバージョンアップって、入れ直さないといけないものかと思っていたよ。

サーバの設定

主に以下の設定をしました。

ssh

ポート番号を変更して、パスワードログインを禁止。鍵認証のみログインできる。

パッケージインストール

apache2でphpを動かしたいので、以下を入れました。結構少なく済んだ印象。よく使うgit、vim、tmuxは最初から使えるようになっていた。

apache2, php, php-fpm, php-mbstring, php-xml, php-sqlite3, zip, unzip, postfix, sasl2bin

apache2

セキュリティが厳しくなりつつある昨今、httpsじゃないとだめみたいなことになってきているので、自己証明書だけどhttpsの設定をしました。chromeでセキュリティ警告が出たら「thisisunsafe」と入力すると見れるようになる。

メール

このページを参考にpostfixの設定をしました。動いたけれど、細かいところはよくわかっていない。 www.server-world.info

所感

結局、arch linuxのインストールはどうすればよかったのか。arch linuxをインストールできなかったのは残念ですが、最新osをキレイな状態でインストールできてよかったです。当面はubuntuを使っていきます。

macbook air 2020を買いました

私、macbook air(11inch, Mid 2011)を使っていまして、充電はすぐに切れるし、osもサポートされなくなったし、起動時に必ず一瞬エラー画面が出るわで、買い換えたかったのですが、悪評高いバタフライキーボードに抵抗があり、マジックキーボードに変わったのを機にやっと買い換えました。

しかし、9年も使えたんですね、大したものです。

で、またmacbook airにしました。proと迷いましたが、普段使いでそこまでの高スペックは必要ないかといったところです。Touch Barも欲しくない。

 

CPUをクアッド、メモリを16GBにカスタマイズしたかったのですが、どこで買ったら安いかをいろいろ調べた結果、ヨドバシカメラにしました。

ヨドバシカメラが、カスタマイズ有り、店舗ポイント有りで、最も安く購入できます。(私調べ)

 

他はこんな感じ。

家電量販店は、ポイントはもらえるけれど、カスタマイズはない。

apple storeは、カスタマイズはできるけれど、ポイントがもらえない。

 

ということで、私の買ったmacbook airはコレです。

f:id:nby2ki:20200921180028p:plain

 

apple storeでは存在しないストレージのカスタマイズ「SSD 256GB」があり、さらに安く買うことができました。

f:id:nby2ki:20200921180524p:plain

 

 

apple storeのストレージは「SSD 512GB」から。apple storeよりも柔軟な選択が可能なヨドバシ。なぜなのか?

f:id:nby2ki:20200921180200p:plain

 

デメリットはすぐに買えなかったことと、注文してからも異様に時間がかかったことです。実際に発売したのは2020/3/27で、2020/6/29に注文していますが、3ヶ月くらいヨドバシストアではカスタマイズができませんでした。(カスタマイズ済みのものはあったのだが)そして、配送まで1ヶ月。時間が許容できる人にはおすすめ。

 

うーん、遅い。忘れたころに届きました。次の型が発表されてしまうかと思ったよ。。

f:id:nby2ki:20200921181054p:plain

 

ゴールドポイントは5%付与で、7414ポイントです。高額商品のバックは大きい。ポイントで何を買おうか。

 

使い心地は、かなりスペックアップしたこともあり、今のところ超快適です。でも、充電アダプタがマグセーフでなくなってしまったのと、過去使用していたapple idでストアにログインしたら、インストールしていないアプリの更新を通知してくるのが残念。インストール済みかどうかくらいチェックしてくれないものか。

とはいえ、十分よい買い物ができました。また、長く使いたいです。

 

ヨドバシ Macノートパソコン通販

https://www.yodobashi.com/category/19531/47027/ 

10才からはじめるゲームプログラミング図鑑

表題の書籍を読みました。子ども向けのスクラッチ入門です。小学校のプログラミング教育必修化ということで、私もいつか子どもに教えたいと思い、興味を持ちました。

8コの異なるタイプのゲーム作成しながら、スクラッチを学ぶという内容です。段階的に新しいことに触れられるようになっていて、構成が上手いです。普段は、ゲームプログラミングなどしないので、新鮮な気持ちで学べましたが、10才の子がこれをどう理解するのかまでは、想像が及びませんでした。書籍のプログラムを公開しましたので、どんなものか気になる方は、見てみてください。こういうのが、作れます。

scratch.mit.edu

書籍はスクラッチのバージョンが2.0で書かれているのですが、現在、バージョンは3.0になっていまして、ブロックの書き方が多少異なるところがあるので、書き方で困っている方に参考になるかと思います。と思ったら、バージョン3.0対応版が出ているではないか!

なんてこったい。こっちが欲しかったな、、

クラッチは、ゲームを作るための仕組みが豊富に用意されていて、自由度が高く、2Dのものなら、なんでも作れるでしょう。ブロックという命令をつないで、プログラムを作っていくので、プログラムに馴染みのない人にはわかりやすそうですが、プログラムに馴染みのある人には、テキストのプログラムと違って、検索ができないから、可読性どうなの?とも思いました。処理をスプライトごとに作っていくので、処理がいろいろなところに存在することになり、複雑なものは読める気がしないなあと思ったり、、あとは、SNSにもなっていて、自分の作成したものを公開して、コメントをもらったり、フォローしたり、交流も盛んに行われているのも面白いですね。私も早速、中学生と友達になりましたよ。

本がなくても十分に学べそうなほどに、公式ページのチュートリアルも超充実。

scratch.mit.edu

しかし、膨大な作品が公開されていますね。どうやってこの中から面白いものを見つけるのだろう、、とりあえずの仕組みは理解したので、オリジナルの作品を作って、公開したいと思います。

2020/8/20追記 自作作品作りました。子どもの意見を取り入れつつ、まあ、あまり遊んでくれませんでしたが、、
https://scratch.mit.edu/projects/404557457/

ポケモンずかんを作りました

最近、娘、息子がポケモンばかり観ていまして、仲良くするためにどんなものかと調べていたら、オープンデータがあったので、自分で「ポケモンずかん」を作ってみました。

 

・興味を掻き立てられる参考記事

ポケモンはみんなに愛されているんだなーと再認識。

qiita.com

 

ポケモンオープンデータ

↑の紹介記事からこれを選びました。jsonデータと画像データがあります。

github.com

 

・私が作ったポケモンずかん

141-lab.com

 

今回、利用したライブラリなど

cssリセット

necolas.github.io

 

cssフレームワーク

yahoo!さんが開発。シンプルで好き。

purecss.io

 

・htmlテンプレート

データをhtmlに簡易に埋め込めるんだけど、こういうのはもうvue.jsでよいのではと思ったり。

pure-js.com

 

・アイコン

fontawesome.com

 

・http通信

これは有名なやつなのかな。

github.com

 

ツールチップ

jQuery依存のツールチップが結構あり、非依存で探して良さげだったやつ。

atomiks.github.io

 

・スクロール

エレベーターという名前が面白いね。

tholman.com

 

以上です。

セレクタはquerySelectorを使い、ajaxはaxiosで、もうjQuery使うのはやめようと思ったら、jQuery依存ライブラリというのがたくさんあって、使える非jQuery依存ライブラリをまとめたらよいのではないかと思いました。jQueryって、そんなに積極的に使いたくないですよね?

 

ポケモンずかんは、公式サイトの情報量が素晴らしいので、断然こっちを見たほうがよいです。私は、今回、ポケモンずかんを作って、ポケモンの属性は最大2ということと、世代があるということを覚えました。

zukan.pokemon.co.jp

tileを使ってみました

前の会社を辞めたときに、同僚からtileをいただきまして、使い始めましたので、その使用感を報告します。(島田くん、みているかい?)
tileは、スマートトラッカーといって、失くしたくないものに一緒に付けておくと、スマートフォンからそれがドコにあるかわかるというものです。
いかにも、IoTって感じですよね。米国でシェアNo.1なのだそうで、よいものをありがとうございました。

thetileapp.jp

 

tileでできること
スマートフォンからtileの音を鳴らす
・tileからスマートフォンの音を鳴らす
・最後に検知した場所を表示
・他のユーザに探してもらう
 
仕様としては、Bluetoothで30m以内が探索可能な範囲なので、鍵や財布など、近くにあるはずだけれど、ドコに置いたっけ?みたいなものに付けておくようです。
また、Bluetoothの範囲を超えてしまった場合は、最後に同期していた場所が分かるようになってるので、探し物が最後に同期していた場所から移動していなければ、辿ることができます。
さらに、それでも見つからない場合は、他のユーザに探してもらうことができるようですが、それが財布だった場合、帰ってくるのでしょうか?どれだけの人が探してくれるのでしょうか?
モラルやユーザ数の問題があるのではないかと思います。

 

私は、鍵も財布も同じ場所に置きますし、失くすようなこともなく、恩恵がないかなと思い、思い切って子どもに付けてみました。
息子3歳、云うことは聞かず、ちょこまかと動き回り、迷子になることしばしばという困った年ごろです。
 
紐をつけて、首かけスタイル(普段は服の中へIN)

f:id:nby2ki:20190311231117j:plain

 

スマートフォンから位置確認

f:id:nby2ki:20190311231311j:plain


範囲が30mなので、本当にドコかへ行ってしまうと探しようがないのですが、ショッピングモールなど、人ごみの中、ちょっと見失ってしまったというような場合に、場所が分かり、迷子を阻止することができました。
出かけるとき、少し安心。

 

GPSだと便利なんですけどね、GPSのサービスは月額利用料がかかります。

本当に、子どもの見守りをする場合は、こういったサービスを利用します。

tileは手軽に利用できますね。

vue.jsでwebアプリケーションを作った

以前、ruby on railsで「午後ローデータベース」というwebサイトを作成したのですが、これをvue.js + laravelで、SPAとして作り直しました。

gogoro.141-lab.com

 

以下のライブラリを利用しました。

・フロントエンドフレームワーク

vue.js

jp.vuejs.org

 

cssリセット

CSS Tools: Reset CSS

 

cssフレームワーク

Kube CSS & JS Framework

 

・トースト通知

github.com

 

・アイコン

fontawesome.com

 

webフレームワーク

laravel.jp

 

vue.jsを利用した感想としては、処理がシンプルに記述でき、コード量がかなり少なく済んだことが、一番印象に強いです。htmlタグにvue.jsの機能を属性として書いていくのですが、従来の作り方だと、イベントを拾って、domを丸ごと置き換えていくようなところを、vue.jsでは、domの構造をそのまま記述できるので、プログラムの見通しがよくなり、この新しさは、作っていて、単純に面白かったです。あと、フロントエンドフレームワークは、Angularを少しやったことがあるんですが、それと比較して、とても分かりやすいというところも、よかったので、気に入りました。今後も使っていきたいと思います。

 

ニッチな情報を取り扱っているので、アクセスの少ないサイトなのですが、web apiも公開しましたので、みなさま、ぜひ利用してください。