ソフトウェア開発者に必要な考え方~ リリースするために必要なこと ~株式会社リンケージ 開発部 社内研修
View Slide
ソフトウェア開発者が 必要な考え方を身につける What is it?
ソフトウェアはリリースされて ユーザが触れて初めて意味がある What is it?
リリースするために必要なこと リリースまでの考え方 What is it?
すべてのソフトウェア開発者が 必ず身につけるべき考え方 What is it?
そのための最初の一歩を 今日は説明します What is it?
1. 自己紹介 2. タスクの分解と完成の定義 3. 自主性と主体性 4. 在庫とリリースと成果 5. 賢者は歴史から学ぶ 6. まとめ あじぇんだ
自己紹介 曽根 壮大(37歳) Have Fun Tech LLC 代表社員 株式会社リンケージ CTO そ ね たけ とも ● 日本PostgreSQLユーザ会 勉強会分科会 担当 ● 3人の子供がいます(長女、次女、長男) ● 技術的にはWeb/LL言語/RDBMSが好きです ● コミュニティが好き
完成の定義 || 成果物の定義 タスクの分解と完成の定義
完成の定義 || 成果物の定義 タスクの分解と完成の定義リリースされる機能のこともあるし、ドキュメントのこともある
完成するために必要なこと || タスク タスクの分解と完成の定義
タスクの終了の定義と 完成の定義が重要 タスクの分解と完成の定義
タスクの終了の定義と 完成の定義が重要 タスクの分解と完成の定義中止条件があるなら、 それも終了の定義
タスクが完了したら なんらかの成果があるはず タスクの分解と完成の定義
https://soudai.hatenablog.com/entry/2020/08/14/101657“例えばリリース手順書を作りました!ってなると作業の内容が変更になるたびに手順書のメンテナンスをしなければいけない。そうすると作業が増えるのでリリース方法をできるだけ変更したくないという力学が働きやすくなる。 その結果、自分たちがリリース方法を変えるだけでより良くしていける可能性があっても無駄な議論が増えたり、間接的な作業がまた増えたりする。 こうやって作業が増え、仕事が増え、リソースがどんどん足りなくなる ”
つまり、タスクを積み重ねて 大きなアウトカムを生むことが大事 タスクの分解と完成の定義
つまり、タスクを積み重ねて 大きなアウトカムを生むことが大事 タスクの分解と完成の定義意味のないタスクをいくら積み重ねても意味が無い
完成までの道のりが遠い タスクの分解と完成の定義
完成までの道のりが遠い ↓ タスクを小さく分解する タスクの分解と完成の定義
“やりたいことを実現するために必要なことは、そんなに難しいことじゃなくて以下の条件を満たし、実行することが大事だ。 ● やりたいこと=課題をタスクに分解する ● タスクを実行できるだけのリソース(時間・お金・体力など)を割り当てる ● 実行する これだけなんだ。” https://soudai.hatenablog.com/entry/2020/12/31/165940
細かい分解の話は 上のスライドと記事を読んでくれ タスクの分解と完成の定義
自主性と主体性の違い 自主性と主体性
“さて自律を勝ち取るとはなんであろうか? 仕事に関していえば、つまりそれは『主体性を持って働く』ということである。 これは先日のリモート飲み会でid:Songmu さんが仰った言葉だ。” https://soudai.hatenablog.com/entry/2020/10/06/161705
自主性 なにかやることは、ありますか? 自主性と主体性
主体性 ○○をやりたいのですが、いいですか? 自主性と主体性
自分の仕事に責任を持つ ↓ 自分の意思を持って仕事をする 自主性と主体性
環境順応知性 と 自己主導型知性 自主性と主体性
引用:知性には三段階ある 環境順応型知性 あなたの知性がこのレベルだとすれば、発信する情報は、ほかの人たちがどのような情報を欲しているかというあなた自身の認識に強く影響を受ける。環境順応型知性の特質は、情報をどのように受け取り対応するかにも影響を及ぼす。このレベルの知性の持ち主にとっては、重要人物の意向に反しないことと、好ましい環境に自分を合わせることが、一貫した自我を保つうえで大きな意味をもつ。そのため、情報にとても敏感で、情報の影響を受けやすい 自己主導型知性 あなたの知性がこのレベルだとすれば、発信する情報は、自分の課題や使命を追求するうえで、ほかの人たちにどういう情報を知らせたいと思うかによって決まる面が大きい。このレベルにある人たちは、明確に意識しているかどうかはともかく、つねになんらかのゴール、目標、基本姿勢、戦略、分析を胸にいだいていて、これらの要素がコミュニケーションの前提になる。自己主導型知性が環境順応型知性と違うのは、どのような情報を受け入れるかを選別するフィルターをつくり出すという点だ。最優先されるのは、自分が求めている情報。その次に優先順位が高いのは、自分の計画、基本姿勢、思考様式との関わりが明白な情報だ。 自己変容型知性 自己変容型知性の持ち主も、情報を受信するためのフィルターをもっている。しかし、自己主導型知性の持ち主と違うのは、フィルターと自分が一体化していないことだ。フィルターを通してものごとを見るだけでなく、 フィルターと距離を置いて、フィルターそのものを客観的に見ることができる。どうして、そのような行動を取るのか? 自己変容型知性の持ち主は、ある特定の基本姿勢や分析、 目標を大切にすると同時に、それに警戒心もいだくからだ。どんなに強力な方針や計画も完璧ではないことを知っている。時間が経過 して世界が変化すれば、いま有効なやり方が明日は効力を失う可能性があると理解しているのだ。 https://amzn.to/3BDLgzO
主体性を持つためには まず自分を認知する 自主性と主体性
自己主導型知性を獲得し 主体性を持つ 自主性と主体性
完成の定義が 未定義なタスクがあったら? 自主性と主体性
完了の定義、○○でいいですか? 自主性と主体性
自分の仕事は 自分で終わらせましょう 自主性と主体性
在庫は販売されるまで ずっと在庫 在庫とリリースと成果
“「いい質問だ。定義が『売上』となっているのは、必ず『納品』までを考慮しなければならないためだよ。 仕掛品や完成品の在庫をどれだけ作っても、『納品できなければマネジメントが成功したとは言えない』からね」 確かにそうだ。だが、耳慣れない言葉に、私は思わず聞いていた。「在庫とは?この業界に在庫なんてありませんが?」 私の言葉に、ジョナサンは悲しそうに首を振る。そして言った。 「いいや、在庫の山はあるのだよ。残念なことに、それこそ山のようにあるだろう。ものづくりをしている業界で、納期遅れが起きている職場で、現場に在庫が無いなどと考えるのは大きな誤りだ」 「『在庫』とは、将来納品するために存在する、作りかけの未完成品や納品前の完成品のことだ。 そのままでは納品できないもの、全てが在庫だ。 例えばIT業界での『在庫』とは、『書きかけのコード』『未テストのコード』『別のコードの完成を待っているテスト済みのコード』 『完成していても顧客に納品されていないコード』を指す。もちろん、『完成していても顧客に納品されていないドキュメント』も在庫だ」” https://gist.github.com/voluntas/9c1d9d51e86a853fed6889f743a12145
タスクは 未完了 or 完了 在庫とリリースと成果
成果は リリースしたかどうか 在庫とリリースと成果
在庫とリリースと成果実装 テスト バグ対応未完成完了リリースの壁
未完了のタスクは すべて成果無し 在庫とリリースと成果
知らないと想像できない 想像できないとアクションできない 賢者は歴史から学ぶ
先人の知恵を学ぶ 賢者は歴史から学ぶ
先人の知恵を学ぶ ↓ 正しいドキュメントを読む 賢者は歴史から学ぶ
1. 一次情報を読む 2. 体系的に学ぶ 3. 理解する 4. 手を動かして覚える 賢者は歴史から学ぶ
知っているとできるは違う できることで成果が決まる 賢者は歴史から学ぶ
知る (知識の壁) やる (行動の壁) わかる (理解の壁) できる (技術の壁) している (習慣の壁) ステップアップしていくことが大切 知らない (無知の知) 日常の先にあるコト
先人の知恵を学び 身につけましょう 賢者は歴史から学ぶ
“僕に恩返ししたいなら 次の人に水の場所を教えてあげて” オープンラボ備後 Osamu Yumimoto まとめ
水の場所は教えてあげることができるが 水を飲むかは自分次第 まとめ
自律を勝ち取りましょう まとめ
ご清聴ありがとうございました まとめ