Share
Embed
古き良き開発現場に新しい文化を作ろう! / Let's create a new culture in the old development site.
Tomoko Matsumura
June 29, 2019
Transcript
91 slides
-
#phpconfuk #hall_fu @nako0123 2015年 福岡移住準備 2016年 2008年 SIer 新卒入社(東京) ◉クラサバ/WEBアプリケーション
開発・保守・運用 ◉情報システム部 社内システム企画・開発 ◉サーバ管理・運用・保守 ◉パッケージ販売(プリセールス) カスタマイズ・導入サポート ◉iPhone / Android アプリ開発(Xamarin) ◉(謎の)新人研修講師? ◉映像管理アプリケーション 開発・導入サポート 現職(R&D部) ◉海外展開・市場調査 ◉社内DevOps推進 いままで何をしてきたのか? d7 -
#phpconfuk #hall_fu @nako0123 テレビ局向け 業務系システム・パッケージ コンテンツ事業系アプリケーション WEBアプリケーション 動画管理ソリューション AIによる動画分析 創業からの27年間を支えるメイン事業。日本の
キー局・地方局・ケーブルテレビをターゲットと した業務アプリケーションを開発している。国内 で数社しか開発することができない、ニッチな 分野のシステムであり、案件の規模も大きい。 高速ファイル転送プロトコル STORM® 自動文字起こし・字幕・翻訳 テレビ局向けに開発したUDPベースの 高速ファイル転送プロトコル「STORM®」 FTPの約25倍の転送速度でファイル転送可能。 オリンピックやW杯などの実績多数。 STORM®の実績を活かし、動画を取り扱うための WEBアプリケーションを開発。 マイクロソフトやAWSのAIサービスを利用した 動画解析や自動文字起こし・翻訳などの アプリケーションも開発中。 海外企業やWEBサービスとのコラボレーションも 開始し、「福岡から海外へ」をキーワードとした 海外展開にも取り組んでいる。 ユニゾンシステムズはどんな会社か? d8 -
#phpconfuk #hall_fu @nako0123 既存のドキュメントありますか? あるよ〜 現状との対峙編『ドキュメントはどこ?』 old 議事録 20150125_社内打ち合わせ.txt
【修正版】20150216_MTG.txt 【修正版②】20150216_MTG.txt 要件定義メモ_001.xlsx 要件定義補足_社内用.xlsx 最新版_仕様書_FIX(メール参照).txt Re: 仕様変更について.eml Re: Re: Re: 田中さんからのメールを転送したやつ!.eml このフォルダの資料は移動しないこと!!!.txt d12 -
#phpconfuk #hall_fu @nako0123 STEP1. 現状の把握とセルフプロモーション ▶現状の把握 - 誰がどんな役割なのかを分析する - 改善しやすい部分を探す
- 情報を整理して一箇所にまとめる ▶セルフプロモーション - とにかく社内に自分の存在を認識させる - 意見が通りやすい状況を作る d20 -
#phpconfuk #hall_fu @nako0123 ✔誰がどんな役割なのかを分析する ベテラン勢 - マネジメント中心 - 激動の時代を支えた -
業務知識豊富 - CやC++の技術者も多い 役職者・非エンジニア職 - 決済権限がある人もいる - エンジニアとの間に 壁あり? - 会社の制度をよく知る人 特殊技能メンバ - プロトコルの開発 - WEB RTC, LIVE配信技術 - AI・機械学習 などのコア技術を扱う 中途メンバー - SIer出身 - 元フリーランス - WEB開発経験者もいる - 社内発言力は弱め d21 -
#phpconfuk #hall_fu @nako0123 ✔誰がどんな役割なのかを分析する ベテラン勢 - マネジメント中心 - 激動の時代を支えた -
業務知識豊富 - CやC++の技術者も多い 役職者・非エンジニア職 - 決済権限がある人もいる - エンジニアとの間に 壁あり? - 会社の制度をよく知る人 特殊技能メンバ - プロトコルの開発 - WEB RTC, LIVE配信技術 - AI・機械学習 などのコア技術を扱う 中途メンバー - SIer出身 - 元フリーランス - WEB開発経験者もいる - 社内発言力は弱め とにかく忙しい d21 -
#phpconfuk #hall_fu @nako0123 # 忙しい人に無理やりアプローチすると・・・ - わかりやすく反発に合う - 「そんなことをやっている時間はないよ」 -
「ツール入れて失敗したらどうするの?」 - 「それプロジェクトの利益になるの?」 →無難な結果を求めがちになる。 - 過剰に「やる/やらない理由」を求められる - 自分が知らないこと・試す余裕がないこと に対しては「なぜやるのか?」の理由を 求めがちになる。 d22 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す バージョン管理 - Subversion - ブランチベース開発 -
手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document d23 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す 忙しい人にいきなりアプローチしても 効果が上がりにくそうだな。 バージョン管理 - Subversion -
ブランチベース開発 - 手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document d23 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す 忙しい人にいきなりアプローチしても 効果が上がりにくそうだな。 バージョン管理 - Subversion -
ブランチベース開発 - 手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document d23 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す 忙しい人にいきなりアプローチしても 効果が上がりにくそうだな。 バージョン管理 - Subversion -
ブランチベース開発 - 手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document d23 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す 忙しい人にいきなりアプローチしても 効果が上がりにくそうだな。 バージョン管理 - Subversion -
ブランチベース開発 - 手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document d23 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す 忙しい人にいきなりアプローチしても 効果が上がりにくそうだな。 バージョン管理 - Subversion -
ブランチベース開発 - 手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document ここは開発しながら(自分に)都合よく 手をいれていこう。 d23 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す 忙しい人にいきなりアプローチしても 効果が上がりにくそうだな。 バージョン管理 - Subversion -
ブランチベース開発 - 手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document ここは開発しながら(自分に)都合よく 手をいれていこう。 まずは皆が使うドキュメント系から やっていこう。 d23 -
#phpconfuk #hall_fu @nako0123 ✔改善しやすい部分を探す 忙しい人にいきなりアプローチしても 効果が上がりにくそうだな。 バージョン管理 - Subversion -
ブランチベース開発 - 手動マージ WEBアプリ開発 - PHP 独自フレームワーク - MongoDB - jQuery コア技術 - 要業務知識(ニッチ) - プロトコル開発 - C, C++, VC++.NET ドキュメント・課題管理 - Excel - テキストファイル - No Document ここは開発しながら(自分に)都合よく 手をいれていこう。 まずは皆が使うドキュメント系から やっていこう。 d23 -
#phpconfuk #hall_fu @nako0123 # Backlogの導入 チケット化 - Excel課題管理表 - チーム内外からの質問(ex.営業チーム)
- 保守・運用のお問い合わせ Wiki化 - 既存のドキュメントへのリンク集 - TIPSや手順書 - どこに書けばいいかわからないメモ d25 -
#phpconfuk #hall_fu @nako0123 # Backlogを採用した理由 - スモールスタートできる - 軌道にのったら利用範囲を拡大できる -
環境構築・サーバのメンテナンスが不要 - Markdownが使える - 使い方が簡単! - エンジニア以外も利用しやすい - 見た目がポップで楽しい気持ちになる - 常にアップデートで改善されている そしてなにより福岡発!! d27 -
#phpconfuk #hall_fu @nako0123 ✔誰がどんな役割なのかを分析する ベテラン勢 - マネジメント中心 - 激動の時代を支えた -
業務知識豊富 - CやC++の技術者も多い 役職者・非エンジニア職 - 決済権限がある人もいる - エンジニアとの間に 壁あり? - 会社の制度をよく知る人 特殊技能メンバ - プロトコルの開発 - WEB RTC, LIVE配信技術 - AI・機械学習 などのコア技術を扱う 中途メンバー - SIer出身 - 元フリーランス - WEB開発経験者もいる - 社内発言力は弱め 社内での認知度を上げる必要あり! d29 -
#phpconfuk #hall_fu @nako0123 # 声をかける - 部署やチームに関係なく話をしてみる - 雑談でOK -
時事ネタ,Tech,スポーツなど、情報収集は怠らず - (面倒な)イベントの幹事も引き受けてみる - 自分のやりたいことができるチャンス - 自分のやりたくないことを廃止できるチャンス - コーヒー片手に社内をウロつく - 後ろからこっそりモニタを覗いてみる = 誰がどんなことに時間を使っているかがわかる d31 -
#phpconfuk #hall_fu @nako0123 # チャンスに飛びつく - やったことのないことには手をあげる → 海外出張の欠員が出た →
英語得意じゃないけど「行きたい!」 → 台湾・オランダ・ロシア・エストニア出張 - 誰もやっていないことをやると目立つ - 良くも悪くも目立つ(気にしない) - レポートや報告会などで成果をアピール! →次のチャンスが自然と巡ってくるように d32 -
#phpconfuk #hall_fu @nako0123 # 出し惜しみしない - 自分が得た情報は積極的にシェアする - 苦労して習得したスキルや有料イベントで得た情報 -
社内勉強会、日報でコラム連載 - 反応が薄くても意外と印象を残していることが多い - 質問や相談には必要以上に親切・丁寧に接する - 自分の時間を奪われている!と考えない - サンプル作成、上司への交渉なども引き受ける - 「忙しくてできない」と言われたら代わりにやる 時にはハードワークも大事だよ。 d33 -
#phpconfuk #hall_fu @nako0123 STEP2. 開発環境を改善する ▶最低限必要のツールを導入する - Backlog(導入済み) - Git,
GitLab - Slack ▶面倒な作業を簡略化する - 開発環境の仮想化(Vagrant, Docker) - Markdown - ドキュメントビルドの自動化 d36 -
#phpconfuk #hall_fu @nako0123 ✔必要最低限のツールを導入する 欲張りすぎずシンプルに行こう(移行) Excel → Backlog Subversion →
GitLab Skype → Slack d38 -
#phpconfuk #hall_fu @nako0123 # ツール導入のジレンマ - 小規模(1〜20人) - 費用対効果を検討しやすい -
ミニマムプラン(有料)を使って効率的に - 中規模(20〜100人) - 有料プランだと初期コストがかかりすぎる - 社内ツール開発・運用の専用部門を置けない - 大規模(100人以上) - 大規模組織向けのプロダクトを採用する - ある程度トップダウンで進めることも多い 中規模だとどっちつかずでツライ d39 -
#phpconfuk #hall_fu @nako0123 # Backlogの利用拡大から考える - 受けた依頼は地道にチケット化。 - 営業メンバーからの依頼はBacklog経由を優先 -
Backlogに書けば、優先対応になる印象をつける。 - 最初はチケット+電話やメールで個別フォロー。 →ドキュメント化が苦手なメンバーもコメント なら気軽に残せる=情報共有の習慣化 じわじわと利用拡大して ”有料化” d40 -
#phpconfuk #hall_fu @nako0123 # GitLabの採用理由 - Pros - GitLab CE版ならオンプレで構築可能
- 無料で始めることができる - ソースを社外に出すのは比較的ハードル高め - Cons - 自分で構築・メンテナンスする必要がある - ハードウェアを用意する必要がある - GitHub用のツール・ライブラリが使えない まずは #Git の普及が第一優先!! d41 -
#phpconfuk #hall_fu @nako0123 # Slackの採用理由 - Pros - もはや既に業界標準 -
前職や家庭で使っているので慣れている - たのしい・かわいい・連携できる - Cons - いきなり有料版にはできない(高い) - アカウントを能動的に作成してもらう 必要がある ダメなら他を検討すればいいじゃん d43 -
#phpconfuk #hall_fu @nako0123 # ツール導入のタイミングとポイント - プロジェクト立上げ期はチャンス!! - 移行よりも新規導入は心理的ハードルが低い -
ツールを変えたから失敗したと言わせない - プロジェクトの予算を使えることも - 無理強いしない - 既存ツールを廃止するか、併用するかよく考える - 導入するツールに関して、自分が一番くわしい 状態になっておく。アップデートを怠らない。 なぜ導入したいか、を説明できるとGood. d44 -
#phpconfuk #hall_fu @nako0123 # 開発環境の仮想化 - Vagrant - 手順書通りに作ったイメージを共有することから。 -
環境の違いによって発生する開発作業の問題を 少なくしていく。 -「壊しても大丈夫」= 無駄な作業が削減できる。 - Vagrantプラグインを有効活用する - vagrant-managed-servers - 既存のサーバーをVagrantコマンドで操作できる - WindowsとMacの違いを吸収する 仕方ない・・・Windowsでも検証するよ d46 -
#phpconfuk #hall_fu @nako0123 # Markdownで標準化 - 社内用ドキュメント - Backlog(チケット・Wiki) -
GitLab Issue →軽量・検索しやすい・好きなエディタが使える - 納品物・社外用ドキュメント - VSCodeのExtensionでキレイなPDFを出力できる - Markdownで書いたドキュメントをHTML化 HTML化ってどうやるの?? d47 -
#phpconfuk #hall_fu @nako0123 # ドキュメントビルド - MkDocs - Markdownで書いてビルド →
HTMLを生成 - WindowsでもMacでもローカルビルドできる - HTMLやJSを組み込むこともできる → Webマニュアルも簡単に作ることができる d49 -
#phpconfuk #hall_fu @nako0123 # ドキュメントビルド応用編 - GitLab-CI > GitLab Pages
- 1. ローカルでMarkdownを書く - 2. Git Push → GitLabで履歴管理 - 3. Merge Request(プルリク)→ マージ - 4. GitLab-CI > DockerコンテナでMkDocsビルド - 5. GitLab Pagesで静的ページ公開 Dockerを理解したり、GitLab導入を したからこそできたことだね。 d50 -
#phpconfuk #hall_fu @nako0123 # ドキュメントビルド応用編 - ReDoc - REST API
ドキュメンテーションツール - OpenAPIが使える - phpDocumentor - PHPDocを元にドキュメントを自動生成 - 既存コードを調査するときにも役立つ テキストベースになれば、Gitで管理して 変更履歴を追えるようになるよ d51 -
#phpconfuk #hall_fu @nako0123 STEP3. 仲間を増やす ▶社内活動を増やす - MatzLabの開催 - Slackチャンネルの開設
- 非エンジニア層へのアプローチ ▶改善活動をしてくれるリーダーを増やす - 社外のことを知ってもらう - 面倒なプロセスを少なくする d55 -
#phpconfuk #hall_fu @nako0123 ベテラン勢 - マネジメント中心 - 激動の時代を支えた - 業務知識豊富
- CやC++の技術者も多い 役職者・非エンジニア職 - 決済権限がある人もいる - エンジニアとの間に 壁あり? - 会社の制度をよく知る人 特殊技能メンバ - プロトコルの開発 - WEB RTC, LIVE配信技術 - AI・機械学習 などのコア技術を扱う 中途メンバー - SIer出身 - 元フリーランス - WEB開発経験者もいる - 社内発言力は弱め 保守的な人のほうが変化が大きい! # 非エンジニア層へのアプローチ d58 -
#phpconfuk #hall_fu @nako0123 # 社外のことを知ってもらう - Slackや朝会で情報共有 - 「こんなイベント行ってきたよ!」 -
「このカンファレンスは無料ですよ〜」 - 「この改善活動の記事、面白かったよ」 - 一緒にカンファレンス・イベントに参加する - 初めて参加するときは誰でも「怖い」 - 「怖い」と言いにくい =「めんどくさい」 - 「怖い」と言いにくい =「いそがしい」 どうやったら一緒に行ってくれるの? d61 -
#phpconfuk #hall_fu @nako0123 # 面倒なプロセスを少なくする - 有料カンファレンスへの参加 - 一緒に参加してほしいメンバーの上司に掛け合う -
必要であれば、提案書を作成したり、参加許可を もらうためのフローを構築する - 会社帰りに寄れるイベントに誘う - 興味を持ってくれそうなテーマのイベントを探す - 「無料だよ」「ご飯もでるよ」「ビールも出るよ」 - どんな感じで参加すればよいか説明する とにかく参加への心理的ハードルを下げる d62 -
#phpconfuk #hall_fu @nako0123 # DevOpsDays Tokyo 2018に参加 - 事前にやったこと -
メンバーの上司に個別に詰め寄る - 東京への出張を入れてもらう(交通費の調整) - 「早く買えばチケット安くなりますよ!」と急かす こういうの行ったことないし怖い。 行くのはいいけど・・・ 行ってもどうにもならないような。 参加する前のMさん d63 -
#phpconfuk #hall_fu @nako0123 # DevOpsDays Tokyo 2018に参加 - このイベントをきっかけとして -
「DevOps」がテーマの勉強会をはじめることに - 部署を超えた改善活動につながった - イベントやカンファレンスに参加することの 効果を理解してもらうきっかけができた 楽しかった!! 改善をイメージできた!! これからDevOpsやっていくぞ!! 参加後のMさん d64 -
#phpconfuk #hall_fu @nako0123 # DevOpsミーティング - エンジニア・マネージャーが対象 - 技術的なテーマより集まりがよかった -
事前知識が必要ない=参加ハードルが低い - 時々やる、無理しない - 見よう見まねでピザとビール ɹ- ピザはめんどくさいからやめた - 気が向いたタイミングでビールやお菓子を 2018 - 2019でKPTもやったりしたよ! d65 -
#phpconfuk #hall_fu @nako0123 エピローグ. 古き良き開発現場は変わったのか ▶ツールの導入には成功 - 多くのプロジェクトがGitに移行済み - ブランチマージミスによる障害も減少
- Backlogのプロジェクトも順調に増加 - 中途社員を中心にSlackと連携した 自動化ツールなどの開発も増えてきた ▶DevOps活動は継続が必要 - 現場メンバーだけでなくマネージャー陣からも 発信してもらうように働きかけ中 d67 -
#phpconfuk #hall_fu @nako0123 まとめ ▶耕す・種を撒く・芽が出る - 現状の把握・整理 - セルフプロモーション -
ツールの導入, 面倒な作業を簡略化 ▶水を与え続ける - 社内外の活動 - 一緒に活動してくれる仲間を増やす d68 -
#phpconfuk #hall_fu @nako0123 まとめ ▶耕す・種を撒く・芽が出る - 現状の把握・整理 - セルフプロモーション -
ツールの導入, 面倒な作業を簡略化 ▶水を与え続ける - 社内外の活動 - 一緒に活動してくれる仲間を増やす d68 技術で課題を解決するために、技術以外 の工夫も大切!! -
#phpconfuk #hall_fu @nako0123 2017 エピローグ. 古き良き開発現場は変わったのか? 2018 2019 0 +
0 + 1 0 + 1 + 3 1 + 2 + 13 d71 -
#phpconfuk #hall_fu @nako0123 2017 エピローグ. 古き良き開発現場は変わったのか? 2018 2019 0 +
0 + 1 0 + 1 + 3 1 + 2 + 13 スポンサー d71 -
#phpconfuk #hall_fu @nako0123 2017 エピローグ. 古き良き開発現場は変わったのか? 2018 2019 0 +
0 + 1 0 + 1 + 3 1 + 2 + 13 スポンサー 登壇者 d71 -
#phpconfuk #hall_fu @nako0123 2017 エピローグ. 古き良き開発現場は変わったのか? 2018 2019 0 +
0 + 1 0 + 1 + 3 1 + 2 + 13 スポンサー 登壇者 参加メンバー d71