テクノロジは変化する。チームのメンバは変化する。変化自体は問題ではない。変化は起こりうるものだ。問題は変化が起きたときに対処できないことだ。自動車のハンドル操作と同じく、ソフトウェア開発においても、大きな修正を数回行うのではなく、小さな修正を数多くすることが重要となります。監視とコントロールを適切に行うことで、道から外れたというフィードバックを得て、4つの変数の調整を行います。アジャイル手法を整理した「アジャイルサムライ」アジャイル手法をまとめた概念を学ぶには書籍「アジャイルサムライ」がおすすめです。見るプロジェクトの計画書「インセプションデッキ」アジャイルサムライは効果的なプラクティスが凝縮された良い本ですが、その中でも、インセプションデッキがおすすめです。インセプションデッキはプロジェクト立ち上げ時に作成するドキュメントです。10枚のスライドで記述することで、学びます。AOKIwww.slideshare.net上図スライドでは、ノートに解説を書いていますので、簡単にインセプションデッキを作れます。インセプションデッキを書くことで、プロジェクトマネジメントに必要なポイントを見える化することができます。個人的にはゴールを合意することが最も重要だと考えています。顧客との会話に使いやすい「PMBOK(ピンボック)」とはいえ、アジャイルの用語は開発者に近い場合も多いため、顧客との会話が成り立ちにくいことがあります。その点PMBOKでは、IT関係者には認知されている用語が多いため、顧客と共通認識を得やすくなります。Knowledge)とは、1987年に米国プロジェクトマネジメント協会(PMI)から発刊された世界中のプロジェクトマネジメントから得られた知見や実務慣行を収集した指針です。単行本この商品を含むブログを見る現在、第6版まで発刊されています。この6版からは、ウォータフォールだけではなく、アジャイルによるプロジェクトマネジメントについても多く触れられるようになりました。うろ覚えしておけば良い「10個の知識エリア」PMBOKのすべてを覚えることは大変ですので、まずは「10個の知識エリア」という分類があることだけ覚えておけば良いでしょう。自分の担当しているプロジェクトに問題があった場合、どの知識エリアを掘り下げて、整理するべきかわかればOKです。詳細を知りたい場合には、先に紹介した書籍や下記のリンクを読んでみるといいでしょう。ksk-2g.hatenablog.jpITの現場で発生している課題を打開することは容易ではありません。このような困ったシチュエーションでは、自分の経験から課題や問題点を整理したくなると思います。PMBOKというプロジェクトマネジメントの基礎知識を整理したバイブルを参考にしたほうが「どの視点が漏れているのだろうか」「どのように意識合わせをすれば良いのか」「なにがうまく行っていないのだろうか」という点が明確になるメリットがあります。活用してみてください。さいごにこれまでプロジェクトマネジメントを学ぶことをおすすめしてきました。プロジェクトマネージャーのスキルを学ぶには時間がかかります。理由としては、机上で学んだ知識に加えて、周りの人を動かすだけの経験や自信といったバックボーンが必要になるためです。時間はかかるものの、ある程度の努力を続ければ、確実に成果を出すことができます。チームメンバー間で「このリスク対策は、軽減させる、それとも回避させる?」とか「ステークホルダーのXXさんの権力と関心度は高い?低い?」とかいった会話ができるようになるので、プロジェクトをスムーズに推進できるようになります。これらにより、失敗プロジェクトを減らせます。「プロジェクトマネジメント」は、自分自身とチームメンバーが幸せになれる「費用対効果の高い知識」といえるでしょう。さいごのさいごにここまで話してきてなんですが、個人が獲得する技術スキルというものは、本当に地道で、真剣な努力(情熱)がいるものだと感じています。それゆえにプログラミング、デザイン、CGモデリング、アーキテクチャ設計、英語、など一朝一夕で成長できないスキルこそ非常に大きな価値があります。「プログラミングとは芸術です。あなたは毎日小さな奇跡を起こしながら作業を進めるのです。これは大変な仕事です。」というフレーズに尽きるのではないかと思います。開発者という芸術家の方に、プロジェクトマネジメントという「買い手の意見を聞いて変えてくださいよー」とか「絵のことをもっと説明してくださいよー」とかお願いするのは無粋な気もするのですが、それでも、ソフトウェア開発は顧客を含めたチームで作り上げる芸術ですので、プロジェクトマネジメントという共通のフレームワークを知ることで、みんながもっと幸せになれるんではないかなぁと思ったりしています。以上、徒然ですが、読んで頂きましてありがとうございました。自分自身のコア技術というものを改めて見つめ直したいと思う今日この頃です。19:00「プロジェクトマネジメント」を知ると幸せになれるかもTweet広告を非表示にする2017-12-1012年かけてIT技術記事を100本書いたよ会社でアドベントカレンダーを書くことになり、ネタを考えていたところ、Webで書いた記事が100本を超えていることに気づきました。「あー、12年もかけて100本も書いたんだなー」ということでざっくり振り返ってみました。印象に残っている記事たくさん書きましたが5本ほどピックアップしてみました。好きなことをアピールできた「アジャイルサムライ」www.infoq.comこういうレポート系は滅多に書かないのですが、自分のアジャイルへの熱い思いがひしひしとした入っていて、感慨深いものがあります。日本ではアジャイルが流行らないのかなぁと残念に思った時期もあり、最近普通になってきたことが嬉しい限りです。エンジニアとの新しい出会いがあったよ「Seasar.NET」codezine.jp記事自体書くのも大変でしたし、当時ブームだったDIについて書き、理解できて楽しかったという思い出があります。記事を読んだ当時のリーダーの杉本さんに誘っていただき、Seasar.NETのコミッタになり、Seasar界隈のいろいろな人な出会いがあったのが懐かしいです。メディアの立ち上げに関われて嬉しい「log4net」codezine.jpWebメディアの「CodeZine」が2005年に始まったときに書いた記事です。感慨深いものがあります。立ち上げ当時は翔泳社さんにこの記事を結構プッシュしてもらえたことが懐かしいです。GIT」codezine.jp自分がGitを勉強したいなぁーという理由で書いたのですが、VisualStudioをクライアント、VSTSのGITをサーバとした、チュートリアルがいい感じで一筆書き(重複なく、説明が前後しない)できた満足できる記事でした。うまくかけた記事のPVがいいかというと全くそんなことは無いのですが、この記事はPVもまあまあ良かったので、嬉しい限りでした。最近はほとんどしてないですが、7本ほど、同僚と執筆しています。執筆を勧めた方が今も書いていたりするとなんとなく嬉しい気持ちになります。ちなみに当時はJavaがすごい盛り上がっている時代で、その時の@ITのJavaTipsにかけるなんて嬉しいーという記憶がありました。100本も書いたのか今の仕事と直結しない、将来的に重要な技術を深く学ぶためかもしれないです。今書いているIDDD連載がそのひとつです。DDD(ドメイン駆動設計)が重要な技術で、それを理解し、わかりやすく周りの人に伝えたいという思いがあります。codezine.jp今の仕事に直結するビジネス書や技術書は必要に迫られて読みますが、今すぐ追わなくても良い主要技術や最新技術やきっかけがないと理解は困難です。深く理解するためにはアウトプットすることが一番だと思っています。アウトプットはブログでも良いのですが、性格的に締切があって多くの人に見てもらう商用記事のほうがあっているようです。自分がどういう技術が好きかということをアピールすることは、エンジニアとして生きやすくなります。自分の熱い技術について自己開示することは、素敵な仲間を集めるときにも有効に働きます。同じ関心がある人と話すことは、理解を深めたりモチベーションを維持するために有効に働きます。mayonez.jp記事を書きたい方はちなみに執筆テクニックを身につけたい方は、身近に執筆経験者がいれば、その方に相談してみると良いかと思います。私が参加しているWINGSプロジェクトのようなIT執筆を得意とするプロジェクトもありますので、そういうチームに参加して、執筆をしてみるのも良いかと思います(山田さんいつもありがとうございます)。www.wings.msn.to正直、執筆を続けることは大変なのですが、書かなかったら書かなかったらで後悔するので、仕事に支障ない限りで今後も地道に書き続けていけたらと思っています。執筆に興味をもたれた方は、執筆の世界に踏み込んでみてはいかがでしょうか。会社のアドベントカレンダーの記事ちなみに冒頭で書いたアドベントカレンダーの記事はこちらになります。よろしければ、こちらもご覧くださいませ。blog.nextscape.net過去記事インデックスご参考まで、過去のWeb記事一覧です。CMS「DotNetNuke」と無償Web開発環境「WebMatrix」のインストールあれから10年、いまアジャイルが熱い。Server(2012,2014,2016など)にSSMSでインポートする場合、以下のエラーがでることがあります。パッケージをインポートできませんでした。スクリプトの実行エラーです。Database側で、マスターキーが設定されています。回避策は以下のMSDNブログに書いている通りです。Support原因AuditやTDE(透過的暗号化)を使うときマスターキーが使用されます。Serverではマスターキーのパスワード設定が必要です。(設定変更)Azureでエクスポートする前に、エクスポート元の既存DBのマスターキーを変更する。“C:¥BacPacs¥Test.bacpac"」というコマンドを実行→拡張子にpatchが付与されたファイルが追加されます。このファイルを使ってインポートする。選択肢3(手動パッチ)選択肢2がうまくいかない場合のため、手動によるBacpacの編集を解説しています。手動でZIP(bacpac)を解凍し、model.xmlとOrigin.xmlを編集し、再度ZIP圧縮します。ここにはOrigin.xmlに保存するハッシュを計算するps1もあり。トラブルシューティングのための説明となります。DBファイルサイズが大きい場合などに発生しうるのかもしれません。model.xmlなどのファイル名の大文字小文字は重要です。設定そのものとDataフォルダの中身(BCP用データ)に関係はないため、Dataフォルダを軽いものだけにしてテストをすると良いと思います。Windows標準のZIPではだめでしたが、別のZIP圧縮ツールではうまく行ったということもありました。選択肢2が楽で良いのですが、まれに選択肢3を使わなければ行けない場合がありました。JavaScript超入門」を読みました。このエントリーは、WINGSプロジェクトのレビュアーに応募し献本してもらいましたので、その書評となります。この本の良いところは、効率よくJavaScriptの基本を学べるところではないかと思います。JavaScriptは、歴史も長く、関連するオープンソースも多数あり、情報量が非常に多い言語です。書籍のメイン部分については、素のJavaScriptを使って、環境構築方法や構文を学べます。HTMLの操作や、イベントといったつまずきがちな部分を1章ずつ取って、わかりやすく説明しています。WebAPIやJSONについて説明しつつ、実際にWebプログラミングを書いてみて動的なサイトを作ってみることができます。最後には、W3Schoolsやjsdo.itといったサンプルサイトや、JQueryの概要について紹介しています。JavaScriptに興味ある人が最初に手に取る一冊として最適ではないかと思いました。超入門」を読みました。著者の方は、スクールの講師としてWebを教えるなどされていることもあり、大変読みやすい一冊でした。この書籍の良さは、HTML/Web技術の変遷を踏まえつつ、抑えるべきポイントをシンプルに説明していることだと思います。このエントリーは、WINGSプロジェクトのレビュアーに応募し献本してもらいましたので、その書評となります。HTML関連(前半)HTML4.01、XHTML1.0、HTML5が存在する中で、違いを理解しつつ要点を学ぶことができます。サンプルは、主に最新のHTML5が主体で解説されています。HTML4のときは△△のように書いていたが、HTML5で○○のように書くという補足もあります。そのため、実際のWebサイトのHTMLを読んだときの理解も捗ります。HTML構文の説明だけではなく、Web制作の流れや、ディレクションする上で必要な用語の解説も含まれています。divタグの使い所やid/classの使い分けなどの実践的なノウハウも書かれています。HTMLのフォームについても紹介しています。CSS関連(後半)HTML同様にCSSについても、わかっているようでわかっていない違いをうまく整理されています。子セレクタと子孫セレクタといったセレクタの種類と違いに関する説明を始めに行っています。デザイン崩れの調査時に理解するべきスタイルの継承について解説しています。親要素に指定したプロパティ値が子要素へと引き継がれる仕組みや、テキスト、リスト、テーブル関連以外の要素に対しても継承するinheritキーワードの解説をしています。スタイルの競合についても紹介しており、作成者スタイルシート>ユーザー(閲覧者)スタイルシート>ブラウザデフォルトの優先度を!importantにて上げる方法や、セレクタの詳細度、詳細度が同じ場合の場所による優先度(後勝ち)について紹介しています。CSSとして重要な、ボックスモデルのcontent、height、width、padding、border、marginについて紹介し、色指定、テキスト、フォントについても紹介しています。実際に段組みレイアウト設定を用いて、固定レイアウト(px)と可変レイアウト(%)の違い、ブロックレベル要素(改行されて表示され親要素と同じ幅をもつh1-h6,p,table.ul,ol,dl,div)とインライン要素(横並びに配置でき、高さや上下マージンが指定できないa,em,img,span)などについて紹介しています。フロートレイアウトについても図を用いてわかりやすく解説しています。最後に初心者向けとしてははもちろんですが、すでにHTMLやCSSの概要を把握しつつも、いま一つ理解が足りなかったり、人に教えることができないといったレベルアップを考えている方にもおすすめしたい一冊です。HTMLやCSSを学びたいときに、分厚いリファレンス本を買ってもポイントが分からず使いこなせないことがあります。初心者向けの本は簡単過ぎて得るものが無いことがあります。この本のバランスはとても良いため、知っている知識を体系的に理解するために最適な内容だと思いました。よろしければ一度、読んでみてはいかがでしょうか。Sierra」にアップグレードしたところ、他の方と同様にkarabinerが使えないという点でハマりました。www.apple.com私はWindowsでの作業も多いので、PC風のキーバインドにしています。(Cntl+Cでコピーだったり、Cntl+Aで全選択だったり、また、FN+左でHome、FN+右でEndなど。対策は他の方と同様で、Hammerspoon、キーバインドの変更となりました。操作を自動化できるツールです。Luaという記法で記載します。WikipediaInit.luaを次のように記載します。「コントロール+C」を「コマンド+C」に変換したりしてます。続けて、MacOSのキーバインドを変更して、Fnキーと矢印キーの調整します。qiita.comDefaultKeyBinding.dictというファイルを作って、キーバインドを設定します。DefaultKeyBinding.dictエディタが開いたら次のように記述(UTF-8)。"pageDown:";}MACを再起動で反映されます。だいたい動いたので、しばらくはこれで行こうかと思います。elementsの発展に期待です。PC風のキーバインド(ショートカット)を設定Tweet広告を非表示にする次のページプロフィールid:aoki1210アーキテクトとしてIT業界に携わっています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。