タグ

ブックマーク / www.ryuzee.com (36)

  • 【資料公開】目標設定の基本

    みなさんこんにちは。@ryuzeeです。 2023年5月9日に開催されたNTT Com Open TechLunch #7「エンジニアリングマネージャーと目標設定」の登壇資料を公開します。 このイベントはNTTコミュニケーションズの社内ランチ勉強会を一般に公開しているものです。 ぼくは、NTTコミュニケーションズの技術顧問をしており、顧問業の一環として登壇しています。 多くの組織では、この時期に期初の目標設定を行っているのではないかと思いますが、目標設定の意味や位置づけ、それをどのように使うのか、評価や報酬との関係はどうなるのかといったことについて組織のなかで認識が揃っていることはまれです。 こうなると、人事制度のなかで目標設定をすると決められているのでめんどくさいけどやる、という感じになったり、目標設定が終わったら内容を綺麗さっぱり忘れて、期末になって「あー、そういえば……」みたいなこと

    【資料公開】目標設定の基本
  • 【資料公開】マネジメント向けアジャイル開発概要

    みなさんこんにちは。@ryuzeeです。 2020年1月20日にとある企業の経営レベルの方向けにアジャイル開発の概要について説明した際の資料を公開します。 自社で経営者の方やマネージャーの方にアジャイル開発がなぜ必要なのかを説明する際の参考になれば幸いです。 (スライドはこちらからもご覧いただけます:https://slide.meguro.ryuzee.com/slides/101) 資料は、なぜ今アジャイルが必要なのかという点をまず理解していただけるようにコンテキストのすり合わせに主眼を置いています。 経営者やマネージャーの方にとってはスクラムの具体的なやり方といった手法部分はあまり関係なく、それによって組織がどういう影響を受けるのか、組織としてどんな取り組みをすべきなのかが分かることが重要なためです。 単一チームや小さなプロダクトでアジャイル開発をするのと、組織的にそれをスケールし

    【資料公開】マネジメント向けアジャイル開発概要
  • スクラムを1枚で説明する資料7選(2019年版)

    みなさんこんにちは。@ryuzeeです。 スクラムの全体像を表す絵は多数出回っています。コーチングやトレーニングを生業にしている人であればだいたい何度も作ったことがあるのではないかと思います。 今日はスクラムの全体像を表す絵のうち、比較的新しいものをいくつか集めてみたので紹介します。 見出しの行か画像をクリックすると、それぞれオリジナルを公開しているページにアクセスできます。 The Scrum Framework Poster | Scrum.org ケン・シュエイバーが設立したScrum.orgのサイトで公開されているもの極めてシンプルなので汎用性は高い一方で、スクラムマスター、プロダクトオーナー、開発チームの記述がでてこないなど、要素がすべて網羅されているわけではないことに注意が必要Visual AGILExicon Essential Scrumの著者Ken Rubin氏作のもの。

    スクラムを1枚で説明する資料7選(2019年版)
  • 【翻訳】スクラムは抽象クラス

    みなさんこんにちは。@ryuzeeです。 スクラムはフレームワークです。ロール、作成物、イベントが決められていますが、それを具体的にどうやってこなしていくのかは定義されておらず、それぞれの環境にあわせてやり方を考えていく必要があります。 それを分かりやすく説明したのが、Scrum is an abstruct classという記事です。 今回、記事を執筆したPaddy Corry氏に快諾いただきましたので、和訳にてご紹介します。 なお、誤解のないように言っておくと、スクラムアジャイル開発を進める上での唯一のフレームワークでは決してありません。 つまりスクラムのフレームワークで既定されていることを止めた場合、それはスクラムではありませんが、だからといってアジャイルでなくなることとイコールなわけではありません。 自分たちにとって良いやり方があれば、それをやればいいのであって、スクラムに厳格に

    【翻訳】スクラムは抽象クラス
  • AWSとAzureのサービス名対比表

    みなさんこんにちは。@ryuzeeです。 AWSとAzureを両方使っていると名前で混乱したり、サービス名が思い出せなかったりするのでだいたいこんな感じというレベルでリストにしてみました。 最近の傾向を見ているとAWSはエンタープライズ向けの機能(移行支援や管理系の機能)を多く出している一方でAzureはモバイル系とかCognitiveサービス系の充実が進んでいる感じだと思います。 サービス

    AWSとAzureのサービス名対比表
  • Azureでコマンドラインから利用料金を取得する

    みなさんこんにちは。@ryuzeeです。 クラウドを使っていると利用料金を常時監視したり通知するのは当然の行動の1つです。 そこで、Azureの利用料金をいちいちポータルにログインしなくても見られるようにスクリプト化してみたので、やり方を紹介します。 今回は、コマンドラインツール(AzureCLI)とスクリプトの開発にはRubyを使っています。 AzureCLIを用意するAzureCLIはNode.jsを使うので、環境設定が済んでいない場合は、nvmでもなんでもいいので用意しておきます。 それが終わったらAzureCLIをグローバルにインストールします。いろいろなパッケージをインストールするので3分ぐらいかかります。

    Azureでコマンドラインから利用料金を取得する
  • オープンソースの全文検索エンジンFessを試してみた

    みなさんこんにちは。@ryuzeeです。 このWebサイト、昔はWordpressを使っていたのですが、体やプラグインのメンテナンスを頻繁にやらなきゃいけなくて面倒なのと性能面などで辛くなって、その後Ruby製の静的サイトジェネレータであるMiddlemanに変更し、その後ビルドの遅さに耐えられなくなってGo言語で作られているHugoに置き換わっています。 静的コンテンツになればAmazon S3などで運用できるので非常に楽なのですが、一方でサイト内を検索したい場合は別の解決策の用意が必要になります。Googleの検索を埋め込んでももちろん良いのですが、調査の一環として、今回はオープンソースの全文検索エンジンFessを試してみました。 Fessの特徴公式サイトで詳細に紹介されていますが、主な特徴として以下のようなものが挙げられます。 5分で簡単に構築可能Apache ライセンスJava

    オープンソースの全文検索エンジンFessを試してみた
  • テストエンジニアの面接の際にするとよい20の質問

    みなさんこんにちは。@ryuzeeです。 DZoneという海外のサイトで “The 20 Best Software Tester Interview Questions” (テストエンジニアの採用面接の際にすると良い20個の質問)がまとまっていたので紹介します。 ここにあがっている質問を必ずすべきかという話ではありませんし、完全な網羅性があるわけでもありません(カバレッジの話やブラックボックス・ホワイトボックスの話のような基礎的な質問も入っていないです)。 一方で、ある程度の規模になった組織においては、採用面接の質を向上させるために自分たちの組織で共通の質問集のようなものを用意しておくのはベストプラクティスの1つと言えます。 もちろん一度作ったらそれで終わりではなく、新しい質問を追加したり、いろいろな候補者から期待と違う回答があった場合には質問自体を見直すといったことも必要になってきます

    テストエンジニアの面接の際にするとよい20の質問
  • 【資料公開】Chef ベーシックトレーニング

    みなさんこんにちは。@ryuzeeです。 これから新たにChefを学ぶ人向けに非常に基的なトレーニングの資料を作ったので公開します。 資料の構成は以下のとおりです。 まずDevOpsの文脈から自動化が必要な背景を説明Infrastructure as Codeについての利点を説明ChefのアーキテクチャChefの用語解説Vagrantで仮想マシンを2台使った一番単純なハンズオン(boxも用意済み)Serverspecを使ったCookbookのテストの書き方(VirtualBoxの仮想マシンの中でDockerを使っています)その他なお、2-3時間でさくっと触りながら全体像を掴むことを目的にしているので、網羅性はありません。 ハンズオン用のVagrantのboxには、あらかじめ、Chef DK(Development Kit)、Dockerなどが含まれており、すぐに触れると思います(ただしb

    【資料公開】Chef ベーシックトレーニング
  • プロジェクトが失敗する10の兆候

    今年こそは失敗プロジェクトをなくしたいと思っているみなさんこんにちは。ryuzeeです。 先日海外のサイトを見ていたところ、10 Signs When Projects Are Doomed to Failureという面白い記事を見つけたので、10の兆候それぞれをご紹介しつつ私の私見を述べておきたいと思います。 なお、アジャイルなのかウォーターフォールなのかは関係なくあてはまります。 失敗プロジェクトの兆候(1) プロジェクトメンバーが自分たちのタスクをこなすよりもプロジェクトの悪い状況について話し合いをするのに時間を使っている よくあるパターン。 たとえばなかなか仕様が決まらないので見切りで発射してみたら、途中で色々な仕様変更がおこったり考慮漏れが出てきたりして常に対策会議をしなければいけなくなったり、 品質が悪すぎて品質改善のための会議を頻繁におこなうことになったりといった状況。 タス

    プロジェクトが失敗する10の兆候
  • 【小ネタ】Railsアプリ開発用のVagrantfile

    人材流動性の高まりを感じているみなさんこんにちは。 比較的時間があるので今までCakePHP2.7で作っていたアプリケーションをRails4に移行しているのですが、その開発開発環境としてはVagrantを使っています(みなさん、VagrantとかDockerとか使っていると思います)。 そこで今回は、僕が使っているVagrantのベース部分をシェアします。 特に難しいことはしていないのですが、以下のような仕様になっています。肝は共有フォルダの設定だけです。 ソースコード自体はローカル側のMacで編集したいのでVagrantとディレクトリを共有しますただ共有の際に、VagrantのSynced Folder機能だとファイルやディレクトリのパーミッションがローカル側のものになってしまい不都合が多い(たとえばgemのNative Extensionが権限の理由でビルドできない)ので、NFS共有機

    【小ネタ】Railsアプリ開発用のVagrantfile
  • 【資料公開】強いチームの作り方 | Ryuzee.com

    2015年11月10日に某社の社内勉強会で、「強いチームの作り方」というテーマで話をしたのでその際の資料を公開しておきます。 内容自体は、WEB+DB PRESS 83号に書いた内容なので興味があればそちらを参照ください。 最近DevOpsの文脈ですぐに「インフラ自動化しないといけない」とか「ツール使って効率化」みたいな話を頻繁に聞きます。 が、端的にいえば、「実際のところ、ソフトウェア開発上の問題の多くは、技術的というより社会学的なものである」というデマルコの一節の通りであり、 DevOpsの質もツールではなく、CLAMS(Culture、Lean、Automation、Measurement、Sharing)であって、土台となるのはやはり組織やチームの文化になります。 一度自分たちのチームや組織について考えてみるとよいと思います。

    【資料公開】強いチームの作り方 | Ryuzee.com
  • オープンソースのAPI Gateway「Kong」

    全国100万人のモノリシック巨大アプリケーションに苦しむみなさんこんにちは。 世の中も杓子もマイクロサービスだ!!とかAPIだ!!とか言っていますが、実際にマイクロサービス環境にしようとすると、どのようにしてAPIのサービスを取りまとめるかが課題になります。 一般的には以下のようなやり方になります。 複数のサービスに分散しているAPIを統合するゲートウェイを用意するそのゲートウェイでは以下のようなことをおこなうクライアントからのアクセスのシングルエンドポイントの役目を果たすAPIの実体へのルーティング認証アクセス記録の収集スロットリング(過度なアクセスの抑止)実体がダウンしている場合のデグレーションこのようなAPIゲートウェイの機能は既にAWSではAmazon API Gatewayとして提供されていますが、オープンソースでもいくつかのプロダクトがあります。今回はそのうち一番開発が活発そ

    オープンソースのAPI Gateway「Kong」
  • Electronでデスクトップアプリを簡単構築

    全国5000人のエンジニアをやめて寿司職人になろうと思っているみなさんこんばんは。 前回までスライド共有用のアプリケーションを趣味(リハビリ)で作っていたのですが、折角なのでデスクトップクライアントも作ってみました。 構築にはElectronを使ったのですが、結構簡単にできたので記録としてまとめておきます。 Electronって何?GitHubが開発するクロスプラットフォームで動作するアプリケーションを開発するためのフレームワーク。コードの記述はHTML5とNode.js。その範囲であれば既存のWeb開発技術が使いまわせる。例えばjQueryとかAngularなんかを使うのも可能Chromeブラウザのオープンソース版のChroniumのエンジンを内蔵例えばAtom・Visual Studio Code・Slackクライアントや、日だとKobitoあたりがメジャー作り方あちこちに記事があが

    Electronでデスクトップアプリを簡単構築
  • デプロイ自動化を進めるためのチェックリスト | Ryuzee.com

    いままで色々なところで言ってきたことをだらだらとまとめてみました。 計画および準備段階要求される品質の定義をおこなうDevとOpsの双方で情報が共有されるようにするいつデプロイを開始するのかを明らかにするデプロイの際にインフラを変更する必要はあるのかを明らかにするデプロイを行う時間帯、行わない時間をあらかじめ決めておく(休み前を避ける)ブランチ戦略、マージ戦略を決める継続的インテグレーションの戦略を決めるログの出力戦略を決めるビルドとリリースの自動化人的要素を減らす繰り返し可能にする自動作業と手作業を混ぜないビルドを自動化する誰のマシンでもビルドできるようにするユニットテスト、結合テスト、UIテストなどテストを自動化する番にデプロイする際にコードを書換えなければならないといった実装を避ける毎回デプロイプロセスを設計するのではなく、毎回同じ方法でデプロイする毎回同じ方法が難しければ2パター

    デプロイ自動化を進めるためのチェックリスト | Ryuzee.com
  • Jenkins + PackerでAMIを継続的インテグレーションする

    みなさんこんにちは。@ryuzeeです。 前回、Packer + Serverspecでテスト済み仮想マシンイメージを自動で生成する方法を紹介しました。 でここまでできれば次にやるのは当然のことながら継続的インテグレーションでしょう。 早速やり方を紹介していきます。 Jenkinsサーバの構築まず最初にJenkinsサーバを構築します。 Amazon EC2のインスタンスの起動今回はAmazon EC2上に構築することとし、Amazon Linux 2014.09を使います。インスタンスの起動は通常の手順でやっていけば良いのですが、以下の2点に注意してください。 Packerの中からAWSAPIをコールするため、インスタンスにIAM Roleを割り当てて、アクセスキーとシークレットキーをサーバに配置することなくAPIを呼び出せるようにするElactic IPを割り当てるJenkinsのセ

    Jenkins + PackerでAMIを継続的インテグレーションする
  • パワーポイントやPDFをコマンドラインで画像に変換する方法

    みなさんこんにちは。@ryuzeeです。 はじめにちょっとしたアプリをサンデープログラミング作っていて、アップロードしたパワポファイルやPDFのプレビューやサムネイル機能を付けたいなーと思ったので、その前提となるファイルの変換について説明します。環境はVagrant上で起動したUbuntu 14.04です。 一番簡単な方法PDFであれば一番簡単な方法はunoconvとimagemagickの組み合わせでいける。以下のようにして必要なコマンドをインストールします。

    パワーポイントやPDFをコマンドラインで画像に変換する方法
  • DockerのCentOSベースイメージを簡単に作る方法

    みなさんこんにちは。@ryuzeeです。 ググるとたくさん出てくるテーマでアレなんですが、これが楽かなと思う方法をご紹介します。 全体像イメージを作る環境自体はVagrant上の仮想マシンを利用する。作成しようとしているOSにあわせておくと良い(バージョンが違っても大丈夫)仮想マシン自体のセットアップはもちろんのこと、Dockerのイメージを作るところまでVagrantのFile ProvisionerとShell Provisonerを使って何度でも同じことができるようにするFile Provisionerはepelのレポジトリを有効にするためだけに使っており、Shell Provisonerでイメージの作成をする作業手順今回作成するのはCentOSのイメージですが、このルートイメージを作成するためにfebootstrapを使います。febootstrapは標準のyumレポジトリには含ま

    DockerのCentOSベースイメージを簡単に作る方法
  • Packer + Serverspecでテスト済み仮想マシンイメージを自動で生成する

    みなさんこんにちは。@ryuzeeです。 Packerを使うと、VagrantやVMware、Amazon EC2用のAMIなどなどのさまざまな仮想マシンのテンプレートを簡単に作成することができるのはご存知の通りです。 一方で作成した仮想マシンのテンプレートが必要な要件を満たしているかどうかは、仮想マシンのテンプレートを作るたびに検査しなければなりません。 ここでは、PackerとServerspecを組み合わせて、仮想マシンのテンプレートを作成する際に、テストも併せておこなう方法について解説します。 前提今回仮想マシンのテンプレートを作成するにあたっては以下の方式で行ないます。 Packer 0.7.2Packerでの仮想マシンの設定ではChef-SoloのProvisionerを利用CookbookはBerkshelfを使って管理する作るテンプレートはDocker用のもの(但し他のもの

    Packer + Serverspecでテスト済み仮想マシンイメージを自動で生成する
  • Chefのハンドラを使ってSensuやSlackと組み合わせる方法

    みなさんこんにちは。@ryuzeeです。 Chef Serverを使って大規模なインフラを自動運用している場合、当然のことながら各ノードできちんとChef Clientが動作して、指定したロールやクックブックが実行されていることを確認しなければいけません。 残念なことに、継続的インテグレーションでクックブックの品質を常時担保していたとしても、実際にそのクックブックをノードに適用する歳に正常終了するとは限りません。たとえばパッケージの配布元が高負荷で落ちていたといったこともあります。 つまり、Chef Clientが正常に実行が終わったかどうかは監視の対象になるということです。 そこで今回は、Chefのハンドラを使って、SensuやSlackに通知する方法を紹介しましょう。 Chefのハンドラってなんぞ?詳細は公式サイトを見ていただくのが一番ですが、ハンドラとは処理の前後や例外の発生時に別の

    Chefのハンドラを使ってSensuやSlackと組み合わせる方法