タグ

ブックマーク / bufferings.hatenablog.com (5)

  • ある機能を定義するときには、その外側のことをよく考える - Mitsuyuki.Shiiba

    ある機能を定義するときには、その外側のことをよく考えるなぁって思ったのでメモ ある機能のことを考えるときに、ついやってしまうのが、その機能のことだけを考えてしまうってこと 雰囲気こんな感じ↓ あぁ、シンプルでいい感じに定義できたなぁって思ったりするんだけど、でも、それだけだと、この丸の中の局所最適になってしまう そうすると、作ったあとで外側とのつながりにずれがでてくる 使いづらいものができたり 開発が終わったあとの運用が大変だったり 次の機能拡張が難しくなってたり 他のチームとの協業がうまくいかなかったり だから、設計のときには、この機能以外のことをたくさん考える それは プロダクト全体で考えたときに違和感なく使えるか、抱えている課題を解決するのに別の方法はないか 開発のあとの運用はどうなるのか 今回は実装しないけど次に実装したい機能は何か、将来的に向かっていきたい方向はどこか 他のチーム

    ある機能を定義するときには、その外側のことをよく考える - Mitsuyuki.Shiiba
    su_zu_ki_1010
    su_zu_ki_1010 2022/03/07
    確かに外側のことをよく考えないといけないことってよくあるなぁ。でも、若手のころはそこまで考えが回らない。ベテラン勢が外側のことを考えて、うまく若手の設計を誘導してあげるのが大事かもー、と思った。
  • 知らない技術は怖い - Mitsuyuki.Shiiba

    AよりB、CよりD 今後の方向性を決める判断の中で「Aという技術ではなくBを採用する方がが良さそうです」とか「既存システムのCは良くないからやめてDを使うようにしましょう」とか。最近、何人か全然別の人からそういう話を聞く機会があった。 AよりBが良さそう? 「僕はAの方が良いと思うんですけど、Bの方が良さそうだと思う理由を知りたいです」って聞くと「Aはこういう部分に問題があると思います」って言われて話が噛み合わなくて、しばらく話をして気づいた。 この人、Aを触らずに想像だけで喋ってるんだ。ってことに。なので、実際に動かして見せてあげると「あぁ、それならAの方が良いですね」ってなった。 「興味があるだけなんですけど、僕も知らない技術だったので少しドキュメントを読んで実際に触ってみて機能を確認してからAの方が良いなと思ったのですが、どうして触らずに想像だけでAは問題があるって断言したんですか?

    知らない技術は怖い - Mitsuyuki.Shiiba
    su_zu_ki_1010
    su_zu_ki_1010 2019/07/19
    これ、対面で相談出来る有識者の有無もあるんじゃないかな。誰も相談できる人がいなかったらそりゃあ知らない技術は怖い。調査する余裕も無いとますます怖いよね。なので、相談できる人がいる環境ってすごく大事。
  • エンジニアが何か問題にぶつかったときにあるといい力を5個 - Mitsuyuki.Shiiba

    最近ちょこちょこ相談されることがあって、直接のスキルではないけど、こういうのもスキルだよなぁって思ったので、思いついた順に書いてみる。5個になった。 ## 1. 問題を切り分ける力 「これがなぜか動かない」って相談されたときって、いくつかの要素が絡んでることが多い。 なので「ここは明らかに問題ないでしょう」という一番土台のところからチェックを始める。そうすると「え?そこは問題ないと思いますよ?」って言われるので「うん、それを『問題ないと思う』じゃなくて『問題ない』って断言できるようにしようと思って」みたいな会話をよくする。 可能性をひとつずつつぶしていくと「ここだなぁ」って場所が見つかって、そしたら、もうあとはそんなに難しくない。ひとつずつ確認していくのって遠回りに見えるけど、結局その方が確実ではやいと思う。 ## 2. 想像と事実を切り分ける力 ↑と絡んで、想像や思い込みなのに、「ここは

    エンジニアが何か問題にぶつかったときにあるといい力を5個 - Mitsuyuki.Shiiba
    su_zu_ki_1010
    su_zu_ki_1010 2019/04/02
    1番、2番って以前にばふぁさんがブログで書いてた、一緒に調べる時に声出して何を見てるのか教えてあげる、という形で教えるとよさそうー。
  • ウェブアプリケーション開発チームの念能力風スキルマップ - Mitsuyuki.Shiiba

    川口さんのRPG風スキルマップ( SkillMapping - Speaker Deck )をぼーっと眺めながら、念能力でもできるかもーと思ったので考えながら書いてみる。 前提 こんな感じを想像しながら書いてる。 7,8人くらいのウェブアプリケーション開発チーム。 そのアプリケーションを使用したシステムで自社サービスを開発・運用してる。(システムとサービスって言葉を使いたいので書いといた) スクラムチーム 強化系 直接的なスキルでシステムを強化する。 キーワード: 部品を強化するタイプ コードを書く・デザインする ユニットテストやインテグレーションテストを書く・デザインする 全体を強化するタイプ アーキテクチャをデザイン・実装する 放出系 テストを中心にして開発チームをマニュアル作業から解き放ち、システムのクオリティを上げる。 キーワード: テストのストラテジー ユニットテストやインテグレ

    ウェブアプリケーション開発チームの念能力風スキルマップ - Mitsuyuki.Shiiba
    su_zu_ki_1010
    su_zu_ki_1010 2018/07/30
    “そのアプリケーションを使用したシステムで自社サービスを開発・運用してる。”回れ右して閉じました…
  • だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba

    先日、モブプロをやってきた。その中で、モブプロとは別で、いくつか感じたことがあって、今日はその中のひとつを思い浮かんだままにメモ。 bufferings.hatenablog.com 要件を満たすプロダクトをより早く出す モブプロでTDDしながら、要件を満たすプロダクトをより早く出すことに集中してみた。例えば、第2ラウンドのお題はTDDBCなどでお馴染みの「自販機」。 「100円を入れてボタンを押すとコーラが1買えること」 最初に「100円を入れてボタンを押すとコーラが1買えること」と言われ。 assertThat(get(100), is("コーラ")); みたいなテストを書いて。 String get(int money) { return "コーラ"; } みたいな実装を書いた。爆速! 「200円を入れてボタンを押すとオレンジジュースが1買えること」 次に「200円を入れてボタ

    だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba
    su_zu_ki_1010
    su_zu_ki_1010 2017/06/01
    “誰も知らない新しいものを作るときは「全員の知識を持ち寄って、変化(発見)に対応し続ける」というのができたら良い”という結論が出てると思うんだけど、はてぶは全然違う方面をつついてるように見える。
  • 1