なになれ

IT系のことを記録していきます

Angular Update作業 ~Angular4 and Angular CLI~

GWでいそいそAngularのUpdate作業をした。

Angularの環境構築で苦労した

Angular2が正式リリースされてから、ちょこちょこ触っている。
その時に作ったAngular環境は、Angular2+webpackで構成してた。

ちなみにwebpackでの構成は、Angularの公式ドキュメントにも紹介されている。
Webpack: an introduction - ts - GUIDE

ただwebpackが1系だったり、コードカバレッジのための設定を追加していたり、e2eテストを追加していたり、環境のメンテが大変。
このあたりの問題を解消するために、Angular CLIが使えるっぽい。
Angular CLI

既存のアプリをAngular CLI化してみる!


既存のアプリをAngular CLIに移行、さらにAngular4にもUpdateしちゃう

Angular CLIへの移行方法は、公式のドキュメントに書かれている。それを参考に実施した。
stories moving into the cli · angular/angular-cli Wiki · GitHub

Angular CLI内部ではwebpackが使われているようなので、webpack前提の既存アプリがすんなりと起動できた。
公式のドキュメントでも言及されているが、SystemJS前提だとコードの修正が必要になるはず。

v1.0.0のAngular CLIからデフォルトでAngular4のアプリになる。ついでにAngular4にUpdateできちゃう。

ng new awesome-app

アプリ作成段階で、ユニットテスト環境やe2eテスト環境も用意される。
今まで自力で用意したテスト環境がコマンド一発で用意される。簡単。素晴らしい。

コードカバレッジは以下のコマンドで出力可能。

ng test --watch=false --code-coverage

まとめ

Angular CLI優秀だった。
今までwebpack構成を自力でメンテしてきたけど、同じようなことがAngular CLIでコマンド一発でできてしまう。
これは乗り換えない理由はないと思った。

Agile Japan 2017 セッション感想と気付き

Agile Japan 2017に参加しました。

色々なセッションに参加しましたが、印象に残ったセッションを紹介したいと思います。


【心】見える化カイゼン・カンバンが全社に広がった

~口コミで広がった会社見学ツアーへの想い・ボクが仲間を信じれば会社は変わる~

約5年で、社員がいきいきと仕事をする文化を作ることができた。
その結果、社外の人向けの会社見学ツアーが行われるようになったという話です。

まるでジョイ・インクの日本版、サクセスストーリーです。

ジョイ・インク 役職も部署もない全員主役のマネジメント

ジョイ・インク 役職も部署もない全員主役のマネジメント

情熱を持って取り組む姿勢に胸熱でした。
こういう風にしたいを実践している事例だと感じました。

タイミングをみて、推進委員会を作ったり、外部の有識者を呼んだりして、 社内の熱を冷まさないように行動する。

こういったファシリテーションを参考にしていきたい。

Fearless Changeのパターンにも通じるところがあります。

Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン

Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン

著名人を招く、メンター、正式な推進担当者、そして、みんなを巻き込むのパターンを使っていこう。


【基調講演】 “モダンアジャイル

モダンアジャイルに関しては、以下の4章が参考になります。

「安全を必須条件にする」にも、文化的な側面と、技術的な側面がある。
文化的な側面では、Googleのチームに対する研究成果を例にして、ミーティングにおけるチーム内での効果的な行動指針が紹介された。

説明としては「非難しないこと」になるんだけど、一つの具体例としては、チームメンバーが平等に発言している状態にあることかなと理解した。

What Google Learned From Its Quest to Build the Perfect Team

技術的な側面は、テスト自動化とか、CI/CDなどのプラクティスがある。
間違ってもすぐに気付けるので安全ということ。

心理的安全性という言葉が流行っているけど、ITの世界だと、文化と技術の両方のアプローチが必要なんだということに気付かされました。

社内コミュニティのすゝめ

レガシーな環境でも社内コミュニティを作るとなかなか良いよって話です。

f:id:hi1280:20161230151047p:plain

自分の環境について

そこそこ大規模なSIerのSEです。
SIerというとブラックなイメージがつきまとうはず。
ITエンジニアなのにほとんど触っているのはExcelであったり、GitHubといったITエンジニアならば既に常識になりつつあるようなクラウドサービスが利用できないなど、ネットでネタにされるような労働環境がリアルにあったりする場所だったりします。

そんな労働環境に置かれながらも、もがいていたりします。
そんな一つのもがきとして、社内コミュニティの活動を行なっています。

社内コミュニティとは

社内コミュニティとはなんでしょう?

まずIT界隈でコミュニティと呼ばれるものを定義すると以下の定義になります。

「同じ興味・関心・利害を共にし、情報の共有・問題の解決などを行う共同体」

会社内でこのようなコミュニティを作るのが社内コミュニティです。
同じ興味・関心・利害を共にするというところがいわゆる官僚主義的な会社組織と異なる部分になり、社内コミュニティの面白いところです。

当方の行動指針の一つになっているFearless Changeでは勉強会をするのが新しいアイデアを広める際の仲間を集める良いパターンとして紹介されています。
興味や関心を共にすることができるということから、社内で行う勉強会というのが一つの社内コミュニティではないかと思います。

仕事に役立つような勉強を業務活動として行う場合にはどうなるでしょう?
おそらく義務感が発生してしまい、興味や関心、利害を共にすることはできずにポジティブな雰囲気にはならないはずです。
自分の興味がないことを勉強したとしてもすぐに忘れてしまうでしょう。

社内コミュニティの中で勉強するとどうでしょう?
コミュニティの参加者は学びたいという意思が明確です。
興味や関心がないと自らの時間を費やしてまで勉強会に参加しようなどと思わないはずです。
この場所に集まった人たちは同じ会社にいながら、官僚主義的な利害関係がない仲間となる人たちでしょう。

得られたもの

こういった仲間が得られるとどうなるでしょうか?
勉強会内では積極的な意見交換が行われます。これにより、興味深い気づきが得られます。

例えば、私のコミュニティでは、アジャイル開発の勉強を行なっています。
ある回では、プランニングポーカーをテーマに扱いました。
プランニングポーカーにはカードの種類がいくつかあり、カードによっては説明しないと意味が分からないようなカードも存在します。
カードの意味が分からないというのは想定外の状況でしたが、参加者の中の有識者がフォローしてくれました。お互いに手助けする雰囲気があるというのがコミュニティの良い点であると感じました。

参加者の意見を聞くと楽しかったといったポジティブな意見を聞くことが多く、これもコミュニティとして行うことのメリットであると感じています。
仕事の中では楽しかったという意見を聞いたことがありませんでした。
この楽しい感情から生まれるポジティブな意見というのは貴重です。

会社という組織にいながら互いを認め合う雰囲気を感じることができます。
社内コミュニティを作ることで、良い仲間を得ることができたと思います。

モチベーション、コミュニケーションといった点で、ここは居心地が良い場所だなと実感しています。

今後に向けて

コミュニティを介することで、したいからするという前提のもとで活動が行われます。
モチベーションを高く保てるため理想的な環境です。
コミュニティのように利害関係なしに楽しみながら活動することがビジネスでも必要になります。
Googleが良い例です。

特にSIerのような利害関係にまみれている場所にとって、このような文化を取り入れることは良い変化につながると思っています。
今後はこのような社内コミュニティのエネルギーを会社にアピールしていければと思っています。

組織として常に学習する文化が根付くことが理想だと感じる、今日この頃です。
来年はそんな理想に近づけるように活動していきます。

参考

Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン

Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン

https://blog.sixapart.jp/2015-10/what-is-community.html