タグ

ブックマーク / blog.shibayu36.org (17)

  • スムーズに進行するためのエンジニアリングタスク分割の工夫 - $shibayu36->blog;

    会社の振り返りで「エンジニアリングの作業タスクがうまく分割できていそうだったが、その知見を共有してほしい」と言われたので、自分がどう考えてタスク分割をしているかをこの記事で共有したい。 この記事のスコープとすること・しないこと タスク分割をするときの工夫点 少なくとも1スプリント以内で終わるタスクになっている 完了条件が明確である 開始から終了まで他タスクによる待ち時間がない 他タスクが待ち状態になる時間を最小限にする 自分にとって難易度の高いものが1タスクの中で1つである 初めから完璧なタスク分割を目指さない 工夫を考慮した分割例 まとめ この記事のスコープとすること・しないこと 今回の記事では、あるユーザーストーリーが存在するとして、その設計・実装・テストなどをスムーズに進行するための工夫について書く。 逆に次のようなタスク分割については取り扱わない。 ユーザーに提供すべき価値があると

    スムーズに進行するためのエンジニアリングタスク分割の工夫 - $shibayu36->blog;
    satosssi
    satosssi 2023/08/28
    実践的かつ具体的でよかった タスク分割しようぜとだけ言ってもうまく意図が伝えられない時に使えそう
  • 不確実な状況に耐える力を学ぶ - 「ネガティブ・ケイパビリティ」を読んだ - $shibayu36->blog;

    自分は問題解決は得意な方だと思っている。しかし逆に不確実な状況・不安な状況・課題がある状況をそのままにして耐える力をもっと付けたいなと思っている。そこで最近目にした「どうにも答えの出ない、どうにも対処しようのない事態に耐える能力」であるネガティブ・ケイパビリティについて学ぶためを読んでみた。 ネガティブ・ケイパビリティ 答えの出ない事態に耐える力 (朝日選書) 作者:帚木 蓬生朝日新聞出版Amazon 正直、この歴史的な話とか雑談も多く、少し頭に入りにくかったが、一方で示唆のあることを学べた。例えば どうにも対処が難しい課題を見つけた時に、拙速に解決策を見出すのではなく、興味を抱いてその宙吊りの状態を耐えると良い。それによって深い理解に行き着く 問題解決があまりに強調されると、まず問題設定の時に、問題そのものを平易化してしまう傾向が生まれる。この時、複雑さを削ぎ落としているので、現実

    不確実な状況に耐える力を学ぶ - 「ネガティブ・ケイパビリティ」を読んだ - $shibayu36->blog;
    satosssi
    satosssi 2022/12/13
    まさに同じような感想 もっとコンパクトな内容にして欲しかった
  • 部下の困りごとをマネジャーが解決しすぎない方が良い - $shibayu36->blog;

    マネジャーをやっていると、1on1でいろいろな困りごとを相談されたり、雰囲気を感じ取ったりで、部下が困っていることがよく見える。その時「頑張ってマネジャーの自分が解決しないと!」と思い、全部自分で解決してしまうことがある。しかしこのようなやり方は正直デメリットが多く、やめたほうが良いと考えている。 これを続けていると、例えば 部下が問題はマネジャーが解決してくれるものと思いすぎてしまう可能性がある。するとこの仕事はマネジャー、この仕事エンジニアと過度にカテゴリー分けがなされることがある 部下の問題解決能力、相談能力などの向上機会を奪ってしまう 細かい問題を解決しているだけで時間がなくなってしまう 結果的にスケールもせず、解決に取り組めない問題が増えていく 当に解決すべき重大なチーム課題に取り組む時間がなくなる などといったことが起こりうる。こうなると実際には自分が色々問題を解決できてい

    部下の困りごとをマネジャーが解決しすぎない方が良い - $shibayu36->blog;
    satosssi
    satosssi 2020/11/21
    これなーーーー
  • 開発チームの責務を「エンジニアリング観点でのサービス継続リスクをコントロールしながら、開発速度を最大化する」としてみた話 - $shibayu36->blog;

    最近開発チームの改善を行う時に、どういう目的で開発チーム改善を行うのかや、開発チームの責務は何なのかについて悩んでいた。色々を参考にしながら、自分の中でしっくり来た責務があったので、ブログにまとめておく。 まず自分の中で、開発チームの責務は次のものであると言語化した。 エンジニアリング観点でのサービス継続リスクをコントロールしながら、開発速度を最大化する なぜこの責務としたか まず現代のソフトウェア開発においては、非常に不確実な状況で、顧客にとって価値があるものが何かを探索しながら、高速に価値を創出・提供しなければならない。これを満たすためには、「正しいものをつくる」ということと、「正しくつくる」ということの両輪を回す必要がある。 この時、プロダクトオーナー側と開発チーム側で分業するとすれば、やはり開発チームは「正しくつくる」ことに焦点を当てて責務を持つと良いと考えた。つまり開発速度(価

    開発チームの責務を「エンジニアリング観点でのサービス継続リスクをコントロールしながら、開発速度を最大化する」としてみた話 - $shibayu36->blog;
    satosssi
    satosssi 2020/10/02
  • 長い期間、継続的にブログを書き続けるための工夫 - $shibayu36->blog;

    10年前からブログを始めて、10年間コツコツコツコツ学んだことや考えたことを記事として書き続けてきた。その結果、ついにブログの記事総数が1000記事近くになってきた。10年間かなり頑張ってきたなあと感慨深い。ありがたいことに読者数も1000人ほどいて色んな人に見てもらえるようになり、これも継続的に書き続けたおかげだなあと思う。 また、ずっとブログを書き続けてきたことで、以下のような多くのメリットを受けることができた。 ブログを書くこと自体が自分の頭の整理に繋がる その後知識を忘れたとしても、ブログを見返せば思い出せる 初めからブログに書くつもりで勉強すると、勉強の効率が上がる 反対意見とかツッコミを入れてくれる人が出てきて、自分の思い違いを正したり、より考えを洗練させることができる 記事を書き続けていると意外と読者が増えていて、気合を入れた記事を書いた時もみんなに見てもらえる 完全公開の場

    長い期間、継続的にブログを書き続けるための工夫 - $shibayu36->blog;
  • dockerの公式のGet Startedのドキュメントが今のコンテナ技術の概念をいろいろ学べてお得 - $shibayu36->blog;

    https://docs.docker.com/get-started/をやってみたのだけど、今のコンテナ技術の概念をいろいろ学べてお得だった。 Orientation and setup | Docker Documentation で、コンテナとVMの違いって何?というのが分かる Redirecting…でpythonのwebアプリを動かしながら、Dockerfileやコンテナやイメージの概念を学べる Redirecting…で、docker-compose.ymlとdocker swarmを用いて、コンテナをデプロイするのをやる これでコンテナをスケールさせてデプロイするイメージが分かる Redirecting…で、複数のノードに分散してコンテナをデプロイするのをやる これでコンテナとクラスタ管理のイメージが分かる k8sとかECSとかがやっていることが分かるイメージ Redirec

    dockerの公式のGet Startedのドキュメントが今のコンテナ技術の概念をいろいろ学べてお得 - $shibayu36->blog;
    satosssi
    satosssi 2018/05/14
  • 技術的負債のパターンと悪影響・原因・返却方法について考える - $shibayu36->blog;

    先日飲み会で技術的負債についての雑談をしていた。結構いろいろな側面の話をしていたのだけど、技術的負債って一括りにしているのが今はあんまり良くなくて、負債の性質によって技術的奨学金、技術FX技術的年金などと言葉を変えると良いのではみたいな半分冗談で会話をしていた。 いろんな問題が技術的負債という一言にまとめられてしまっているので、負債の性質に合わせて、技術的奨学金、技術FX技術的年金、など用語を分けると良いのではないか、という話をした— 趣味はマリンスポーツです (@hitode909) 2018年3月27日 技術的負債について - hitode909の日記 それで技術的負債のパターンを見つけて、それによりどういう悪影響があるか、それがなぜ起こるのか、どう返却するかについて考えておくと良いのではと思ったので、今日思いついた3つのパターンをメモしておく。 思いついたパターンは3つ。 変

    技術的負債のパターンと悪影響・原因・返却方法について考える - $shibayu36->blog;
    satosssi
    satosssi 2018/03/29
  • どのようにエンジニアの目標設定を行うか - $shibayu36->blog;

    以前 ゴールを決め目標を決める・解決案ではなく質問する - コーチングの学習で学んだこと - $shibayu36->blog; で、「ゴールを決め、現在位置とのギャップを考え、目標を決める」と良いということをまとめた。イメージとしては以下の図の通り。 しかし、前回の記事だと具体的にどのようにエンジニアの目標設定を行うかイメージが湧かない。そこで、もう少し具体的に最近どのようにやっていたかを書いてみたいと思う。 僕がメンティーと目標設定を行うときは、以下のフローを辿っている。 なんでも良いのでゴールのイメージを明確にする 現在の自分とゴールのイメージのギャップを考える ギャップを埋める目標を考え、アクションを定める ちなみに今回は、チームの成果達成のために個人の目標を決めるのではなく、エンジニアのスキル向上の目標を立てるという前提で書いていく。 なんでも良いのでゴールのイメージを明確にする

    どのようにエンジニアの目標設定を行うか - $shibayu36->blog;
    satosssi
    satosssi 2017/03/09
  • コードレビューを段階的に行ってもらう話 - $shibayu36->blog;

    最近コードレビューをどのように回していくかについて考えたことがあったのでブログに書いておく。 コードレビューの目的 コードレビューには誤りの発見以外にいろいろな目的がある。自分の中ではid:hisaichi5518が昔プレゼンでまとめていた目的が結構しっくり来ている。 https://speakerdeck.com/hisaichi5518/kodorebiyufalsehua?slide=8 http://hisaichi5518.hatenablog.jp/entry/2014/10/29/165721 機械的に発見できない誤りの発見 技術力の向上 属人性の排除 コードレビューの目的としては誤りの発見と同様に、技術力の向上や属人性の排除といった教育的側面も重要である。 コードレビューで課題に思っていたこと 自分のチームでは基的に一人がコードレビューをして、OKだったらmergeをして

    コードレビューを段階的に行ってもらう話 - $shibayu36->blog;
    satosssi
    satosssi 2016/06/30
  • 「だましの手口」読んだ - $shibayu36->blog;

    だましの手口 知らないと損する心の法則 (PHP新書) 作者:西田公昭PHP研究所Amazon なんとなく興味があったので読んだ。このは様々な種類のだましの手法や対策などについて解説してくれる。オレオレ詐欺などいろんな詐欺手法があるが、いかに巧妙に行われているかを知ることができる。 を読むまでは、オレオレ詐欺とか引っかからないだろうとなんとなく思っていたが、読んでみるとこちらが想定しているような対処方法は大体詐欺を行う側が予想しており、それには先に対策をしていると書かれていて怖くなった。よくよく考えると、詐欺をする側は言ったらプロであり、騙される側は素人なのだから、素人が考えつくものはプロも思いつくだろうと思った。しかも相手はいろんな手法を絡めて使ってくるし、心理的な現象まで利用してくる。 騙されないようにするのは難しいが、自分自身もある程度心理現象などを理解していれば騙されにくくは

    「だましの手口」読んだ - $shibayu36->blog;
    satosssi
    satosssi 2015/07/17
  • 開発フローに新しい仕組みを導入するとき気をつけていること - $shibayu36->blog;

    最近開発フローに新しい仕組みを導入したりすることも多いのだけど、気をつけていることがいくつかある。 小さく導入する 短く導入する 振り返る 小さく導入する なんか導入する時は出来るだけ小さく導入してる。 理由は いきなりスクラムだとか言い始めてチーム全体のワークフローを変えようとした結果、チームの文化が崩壊する いきなりこれからはこのツールだとか言い始めてツールを導入した結果、誰も得してないのにツールだけ使われ続ける みたいなことがよく起こると思ってるため。既存の文化を壊したら元も子もないので結構気をつけてる。 小さく導入すれば、影響範囲を最小限に留めることができるし、あとから簡単にやめることが出来る。 小さく導入する方法はいくつかあって スクラムの中の一部だけ、チーム全体に適応する -> 導入するものを小さくする チーム内タスクの一部分だけに、仕組みを導入する -> 導入する範囲を小さく

    開発フローに新しい仕組みを導入するとき気をつけていること - $shibayu36->blog;
    satosssi
    satosssi 2014/05/14
    導入した仕組みを気軽に変えられるといい
  • レビュータイムの導入・消滅・再導入 - $shibayu36->blog;

    今日こんなかんじの会話があって、レビュータイム導入した時のことを思い出したので、適当に書こうと思う。 ひさいちレビュー、必ず通すみたいなの良いのか悪いのか— ひさいち (@hisaichi5518) 2014年3月13日 @hisaichi5518 マジレスすると、そのような体制にしておくとスケールしないので、最初の段階では必ず通すというルールにしつつ、他の人がレビューしても大丈夫に出来るように、レビューの練習を同時にしていってもらうとしないといけなさそう— 柴崎優季 (@shiba_yu36) 2014年3月13日 @hisaichi5518 今のチームで新人が入った時は、レビュータイムというのを必ず設けてその時間には最低限どれか一つレビューするというのをやってもらってる。でも慣れるまではこれまでチームにいる人がレビューしないとmergeしないということにしてる。— 柴崎優季 (@shi

    レビュータイムの導入・消滅・再導入 - $shibayu36->blog;
    satosssi
    satosssi 2014/03/14
  • 自分が入れたEmacs便利拡張・設定集 (2013年版) - $shibayu36->blog;

    年末emacs設定大掃除をして、これは捨てられないと思った設定書いてく - $shibayu36->blog; 昨年に引き続き、2013年の自分のemacs.dを振り返るのをやろうと思います。 今年はemacsでいろいろできるようにする、という方向よりも、emacsでの基操作をどれだけ使いやすく出来るかということを中心にやって来ました。例えば .emacs.dの管理をどうするか コードリーディングや編集を速くするにはどうするか gitとの連携をどうやって簡単にするか この辺りについて1つずつまとめて行きたいと思います。 .emacs.dを管理する .emacs.dの管理って難しいですよね。僕も関西Emacsに参加してから自分が最新のやり方についていけてないなと感じたので、今年はいろいろと見なおしてみました。 基的なやり方としてはこんなかんじです。 外部elispはpackage.elと

    自分が入れたEmacs便利拡張・設定集 (2013年版) - $shibayu36->blog;
    satosssi
    satosssi 2013/12/31
    あとで試す
  • 「入門Chef Solo」を読んでChefに入門した話 - $shibayu36->blog;

    これまでChefとか全くやったことなかったのだけれど、PrePANとかで必要になったのとなんとなく興味もあったので、naoyaさんが最近出した入門Chef Soloを読んでみました。 入門Chef Solo - Infrastructure as Code 作者:伊藤直也伊藤直也Amazon 読んでみた感想としては非常によくまとまっていて分かりやすいけど、全くChefをやったことない人にとってはChefの実行を試すフェーズが少しやりづらい印象を受けました。理由としてはAWS環境を持っていない場合、2,3章のChefを試す章ができず、さらにそのあとにvagrantでローカルに仮想環境を作るのを学んだとしても、その仮想環境を使って試す部分が少ないためです。 そこで僕は全くchefをやったことない人はまずvagrantでの実行環境を作れるようになってから、を読み始めるとより知識が深まるのではな

    「入門Chef Solo」を読んでChefに入門した話 - $shibayu36->blog;
  • emacs内でgit grepする方法 - $shibayu36->blog;

    コードを書いているとプロジェクト内のコードを参考にしたかったり、一括で置換したかったりします。そんな時emacs内でgrepを使うのですが、プロジェクトがそれなりに大きくなると非常に遅くなります。gitプロジェクトであれば、gitであればgit grepを使えば高速に検索できるのでそれを使えば良いと思い、やってみました。 letでgrep-find-commandを書き換える http://blog.kentarok.org/entry/20100219/1266577631 にletでgrep-find-commandを書き換えた上で、grep-find関数を呼び出すと出来るというふうに書いてあったので、やってみたのですが、なぜかうまくいきませんでした。うーん。 grep-apply-settingを使う emacsのgrep-commandを変更する - すぎゃーんメモ と同じように

    emacs内でgit grepする方法 - $shibayu36->blog;
  • direx.elでgitプロジェクトのディレクトリツリーを表示する、またはdirex-project.elの紹介 - $shibayu36->blog;

    emacsにはdirex.elという非常に便利なdirectory explorerがあります。これによって、ディレクトリのツリー構造が表示され、diredよりも便利にdirectoryを辿ることが出来るようになりました。 しかし、デフォルトでは自分にとってはいろいろと不便なときもありました。 ~/myprojects/Sample-Project/script/app.psgiを触ってる時に、direxを起動すると、~/myprojects/Sample-Project/scriptのディレクトリからのツリー構造が表示される。実際は~/myprojects/Sample-Projectからのツリー構造が表示されてほしい ~/のツリー構造が開かれている状態で、~/myprojects/Sample-Project/script/app.psgiからdirexを起動すると、~/のツリー構造の

    direx.elでgitプロジェクトのディレクトリツリーを表示する、またはdirex-project.elの紹介 - $shibayu36->blog;
    satosssi
    satosssi 2013/01/28
  • http://shibayu36.hatenablog.com/entry/2012/12/29/001418#mc?u=ainame

    ふとemacsの設定どのくらいになっているのかなーと思って行数数えたら wc -l init.el inits/* | grep total 2303 totalと、とんでもないことになっていたので、これまでどんな設定してたか思い出すことも兼ねて、emacs設定大掃除をおこなってみました。そこで「これは捨てられないなー」と思った設定を淡々と書いていきます。 ちなみに実際の設定ファイルはhttps://github.com/shibayu36/emacs/tree/master/emacs.d を御覧ください。 init-loader.el emacsでinit-loaderを導入してみた - $shibayu36->blog; の記事でも書きましたが、init-loaderは便利です。最近の構成としてはinit.elにはinit-loaderの設定だけ書いて、inits以下に全部設定置いて

    http://shibayu36.hatenablog.com/entry/2012/12/29/001418#mc?u=ainame
  • 1