タグ

patternとsoftwareに関するraimon49のブックマーク (18)

  • 12のソフトウェア・アーキテクチャの落とし穴とその避け方

    これは、多数派が支配すべきだという意味ではない。委員会によって設計されたアーキテクチャは、肥大化し、焦点が定まらない傾向がある。私たちの経験では、理想的なバランスとは、多様な経験と視点を持つ数人の仲間が、より良い情報に基づいた決定を下すために、主張に異議を唱えることである。 再利用の目標が誤った決定を左右するようなことがあってはならない。その代わり、再利用は理にかなった場合のみ行うこと。 コード、コンポーネント、設計、あるいはコンフィギュレーションの再利用は、最初は良いアイディアのように聞こえる。経営陣は、再利用によってコストが削減され、納期が短縮され、品質が向上すると信じて、このコンセプトを推進したがる。チームは、MVPをより早く提供するために既存のアプリケーションの大部分を再利用することを決定するかもしれないし、かなり成功した製品を提供するために作成された既存のアーキテクチャを再利用す

    12のソフトウェア・アーキテクチャの落とし穴とその避け方
  • (翻訳) ビッグテックのプロジェクトマネジメントとスクラム不在の謎 - forest book

    稿は Gergely Orosz 氏によって書かれた次の記事の日語翻訳です。著者に翻訳の許可を得て公開しています。 blog.pragmaticengineer.com また稿は DeepL Pro を使って下訳したものに手を加えています。日語翻訳の不具合または誤訳については Gergely Orosz 氏ではなく、稿のコメント欄にお願いします。 著者も機械翻訳を下地にしたやり方に関心をもたれたようです。 The article translated to Japanese: https://t.co/4uynyyhm4E The author was transparent and noted that the article is a modification of an ML-translated article. This person managed to transl

    (翻訳) ビッグテックのプロジェクトマネジメントとスクラム不在の謎 - forest book
    raimon49
    raimon49 2023/09/03
    チームの自主性に任された結果としてスクラムを選ぶことはあって良いけどトップダウンで全てのチームはこの開発手法でやれって言われたら、そりゃ優秀な人は去って行くよなぁ。
  • CTO から見た,なぜスタートアップ
初期のソフトウェア設計は壊れがちなのか - Speaker Deck

    Speaker Deck This deck requires a password Password

    raimon49
    raimon49 2023/01/26
    キャッシュフローと採用戦略の話。図が分かり易い。
  • コンウェイの法則と、そこで提示された2つの組織課題 - mtx2s’s blog

    ソフトウェアエンジニアリング関連の書籍を読んでいると、「コンウェイの法則(Conway's law)」によく出会う。その引用元は、1968年4月に発表されたメルヴィン・コンウェイ(Melvin E. Conway)の論文 "How do committees invent?" で、例の有名な一文は結論(conclusion)に書かれている。 (前略) organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations. (広義での)システムを設計する組織は、自らのコミュニケーション構造を真似た設計を生み出すという制約

    コンウェイの法則と、そこで提示された2つの組織課題 - mtx2s’s blog
    raimon49
    raimon49 2022/10/18
    >人数に対する組織の純粋な処理能力の伸びは線形だ。グラフで描くと分かるように、人数が増えるにつれ線形に伸びる処理能力に対し、コミュニケーションコストは放物線を描く。 / 炎上プロジェクトでは忘れられがち。
  • セラック25 - Wikipedia

    セラック25(Therac-25)とは、カナダ原子力公社 (AECL) とフランスCGR-MeV社によって開発・製造されたコンピュータ制御の放射線療法機器である[1]:425。この機械は、1985年から1987年にかけて知られる限り6つの過度の被曝事故を引き起こし、少なくとも5人の患者を死亡させた。装置を制御するオペレーティングシステム (OS) に存在する、並行プログラミングにおける誤り(競合状態とも呼ばれる)が原因で、患者に通常の数百倍もの放射線量を浴びせ、死亡や重傷を負わせることもあった[2]。これらの事故は、生命に関わるようなシステムにおけるソフトウェア制御の危険性を浮き彫りにし、医療情報学とソフトウェア工学における標準的な事例研究のひとつとなった。さらに、技術者の自信過剰と[1]:428、報告されたソフトウェアのバグを解決するための適切なデューディリジェンスの欠如は、技術者の初期

    raimon49
    raimon49 2022/06/11
    CLIの失敗例 そもそも表示されるエラーコードの意味がマニュアルに載っておらず狼少年化
  • 設計を歪める認知バイアス - Qiita

    こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、5日目の記事です。 これはなに? ソフトウェア開発において、設計をないがしろにすると、低凝集密結合な構造に陥り、変更容易性が低下してしまいます。 設計スキルを高め、あるべき構造を設計する……これで解決できるに越したことはありません。 しかし、認知バイアスと呼ばれる心理効果により判断を誤り、良くない設計をしてしまうことが往々にしてあります。 記事は、設計を歪めてしまう認知バイアスを理解し、設計判断の精度向上を促すことを目的とします。 この記事のゴール 人間の判断を歪めてしまう心理効果「認知バイアス」の存在を知ること。 ソフトウェア設計も、認知バイアスの悪影響を受けてしまうこと。 認知バイアスに振り回されない設計アプローチを身につけること。 認知バイアスとは 先入観や思い込み、偏

    設計を歪める認知バイアス - Qiita
  • モックは必要悪で、しないにこしたことはない - blog.8-p.info

    Mockitogomock が使いやすいせいか、単体テストというのはモックするものである、という思い込みがあるのか、人々がモックしすぎているのを時折みかける。 モックは必要悪で、しないにこしたことはない。外部の API サーバーとかはガンガン叩くわけにもいかないけれど、ファイル読み書きくらいは、実際にファイルを作ったり消したりしてしまっていい。/etc/passwd を消すとか、1GB のファイルを作るとかだと難しいかもしれないけれど、その場合でも、パスのプレフィックスを指定できるようにして、一時ディレクトリの中の etc/passwd を使うとか、ファイルサイズを指定できるようにするとか、逃げ道はいくつもある。そこを飛ばして「ファイル操作は一律モックしましょう」とか頑張りだすと辛いことになりがちだ。 モックの一番の問題は、番とテストで違うコードが走ることで、これは自動テストの価値

  • 予測型マインドセットと適応型マインドセットの違い、アジャイル思考の本質 | Social Change!

    多くのマネージャや経営者に会ってきた中で、マネジメントの手法や組織のあり方の背景には、大きく二つの流派があるのではないか感じています。 一つは、未来の目標を決めて突き進もうとする考え方。もう一つは、将来は予測しきれない前提に立ち、変化に対して柔軟であろうとする考え方。 この質的な部分で考え方(マインドセット)が合っていないと、世の中にある多くの手法や制度を真似てもうまくいかない。これは、どちらが正しいといった話ではなく、違いを認識することが重要ではないかと考えて整理してみました。 稿では、この2つのマインドセットを「予測型マインドセット」と「適応型マインドセット」と定義して、その違いについて深掘りをしてみましょう。 未来の想像を先にするか、現在が続く先に未来があるか 「未来の働き方はどんな風になっていると思いますか?」 先日、とある大企業のイノベーションを担う部門の人たちから、リモート

    予測型マインドセットと適応型マインドセットの違い、アジャイル思考の本質 | Social Change!
  • ZeroVer: 0-based Versioning — zer0ver

    36.8 At the time of writing, the list is somewhat biased toward Python projects. If you know of some prominent ZeroVer projects, submit them here! Featured Use Cases These flagship ZeroVer projects know how to get the most out of their zeroes. HashiCorp Vault and Terraform HashiCorp's Vault project aims to be an enterprise secret management service, comprising the bedrock of a modern, microservice

    raimon49
    raimon49 2021/08/13
    すごい皮肉だ
  • チームにいると頼りになるソフトウェアエンジニア

    チームにいると頼りになるソフトウェアエンジニアのメモです。自分のロールモデルでもあります。私のキャリアはほぼウェブブラウザ開発一筋なので、その辺に生息している人たちを思い浮かべながら書いてます。思いついたら随時更新します。 コードマニア コードやドキュメントを読むのが好きで、暇があれば適当なレビューに飛び入り参加したり、自分のプロジェクトとは関係ないコンポーネントもひたすら探検している。不穏なコードを見つけるとなんとリファクタリングもしてくれる。コードサーチがお友達。 やたらコードに詳しいので、何か分からないときはとりあえず聞きに行く。チームに一人いるとレビューが捗るし、コードベースも綺麗になる。コードマニアはコードベースを広く熟知している上に未知のコードに対する耐性も高いので、プロジェクトを移動してもすぐに活躍できる。 コードマニアの亜種にスペックマニアもいる。こちらはウェブやネットワー

    チームにいると頼りになるソフトウェアエンジニア
  • なぜスクラムチームをスケールしたくなるのか - だいくしー(@daiksy)のはてなブログ

    Nexus, Scrum@Scale, LeSS, SAFeなど、スクラムチームをスケーリングする手法はたくさん存在する。 しかし、アジャイルコーチなどに、「スクラムをスケールするにはどうすればいいですか?」と聞くと「そもそもスケールをするな」と言われることもある。ぼくも基的にはこれに同意する。 コンパクトな職能横断型のチームで、短いサイクルで高速に、安定したペースで開発をする。これをずっと続けることができるのならばそれが一番良い。 なのになぜ、人々はスクラムチームをスケールしたくなるのか。なぜこんなにたくさんのスケーリング手法が存在するのだろうか? そういうことを考えてみた。 最初から人がたくさん必要な場合 そもそも最初からスケールされたチームでやりたいパターンがある。大規模な開発などはそうだろう。 小さくローンチして、インクリメンタルにユーザーフィードバックを受けながら開発できれば理

    なぜスクラムチームをスケールしたくなるのか - だいくしー(@daiksy)のはてなブログ
    raimon49
    raimon49 2021/02/05
    自分もそもそもスケールするな派なので、NexusもLeSSもSAFeも解決しようとしている問題が間違ってるように思えるんだよな。
  • OSSへのフィードバックはユーザーフォーラムとイシュートラッカーのどちらに書くべきか? - 2019-06-18 - ククログ

    ※注:この記事の対象読者は、「OSSを使用していてトラブルに遭遇しているか、改善の提案があり、その情報を開発元に伝えたいが、どこで伝えればよいかわからない」という人です。「どういう体裁で報告すればよいか分からない」「何を報告すればよいか分からない」という人向けの話はまた日を改めて書くつもりです。 結城です。 OSS Gateワークショップで、初めてフィードバックをしようとしているビギナー参加者のサポートをしていると、ビギナー参加者から以下のような質問を受ける事があります。 こんな簡単な・くだらないレベルの事を報告してもいいんでしょうか? ユーザーフォーラムとイシュートラッカー(バグトラッキングシステム)1のどちらに報告すればいいんでしょうか? どのプロジェクト(開発元)に報告すればいいんでしょうか? これらの点に対する筆者の回答は、端的には以下のようになります。 簡単でも些細でも何でも、あ

    OSSへのフィードバックはユーザーフォーラムとイシュートラッカーのどちらに書くべきか? - 2019-06-18 - ククログ
    raimon49
    raimon49 2019/06/30
    初めの一歩としてのIssue報告。いい記事。
  • ソフトウェアアーキテクチャの歴史 - tasuwo's notes

    改めて ソフトウェアアーキテクチャ GUI のアーキテクチャの歴史を調べてみたくなった。来の MVC とは何か?何が正しくて何が間違っているか?も重要なのだが、それよりは、なぜそれが生まれたのか?何を解決しようとしたのか?どのような問題点が生まれて、それをどう工夫して解決・発展してきたのか?を知りたい。しかし、そういうことがまとまっている日語の情報が少ないので、自分で色々かいつまんでメモしておく。 MVC の原点は 70 年代にまで遡り、実装としては Smalltalk-80 のクラスライブラリとして実装されたのが最初だと思われる。しかし、後世に大きな影響を及ぼしたポイントをいくつか持ちつつも、当時のアーキテクチャが現代においてそのまま利用されているケースはほぼないといっていい。したがって、単に MVC といった時には大抵最初期の MVC を指すことは少なく、区別するために最初期の M

    ソフトウェアアーキテクチャの歴史 - tasuwo's notes
    raimon49
    raimon49 2019/06/28
    Classic MVCから派生したServer MVC/Strutsは入力がHTTPでステートレスだったから、GUIアプリケーションのアーキテクチャと全然違う話になるんだな。俯瞰して見るとよく分かる。
  • 認定スクラムマスターになりました | おそらくはそれさえも平凡な日々

    https://www.scrumalliance.org/community/profile/mmatsuki2 アトラクタ社の認定スクラムマスター研修を受け、テストも合格し、晴れて認定スクラムマスターとなりました。だからなんだというわけでもないですが、スクラムに関する交流や雑談などしたいとかあれば、ご相談ください。 受けたのは以下の研修で、Gabrielle Benefieldさんと原田騎郎さんが講師でした。 https://www.attractor.co.jp/info/csm-201905/ 比較的長年アジャイルスクラムに関わってきたので、良い知識の再整理の機会になりました。ありがとうございました。 私とスクラム 意外かもしれませんが、僕はそれなりにアジャイルスクラムを経験してきました。とはいえ、今の開発者が押さえておくべき技術分野の一つなので、人並みくらいかもしれません。M

    認定スクラムマスターになりました | おそらくはそれさえも平凡な日々
  • 最近のアプリ界隈での「設計」の違和感 - なるようになるかも

    アプリ界隈で「設計」の話をするときに MVC / MVP / MVVM のような「設計パターン」だけが語られるようになった気がする。 往々にして、「アプリの規模によってどれを採択すべきかは変わる」みたいなお茶を濁すような結論で終わることが多い。 私的な結論 「設計」と、「設計パターン」は別物だと思う。 「設計」のレベルを上げたい。 アーキテクチャシンドロームから抜け出して、価値のあるものを作りたい。 以下、思うところのメモ。 MVC は古い / 劣ったやり方か? MVC は Model をどう構築するかについてとくに規定していない。 MVC への批判をするときに、FatVC が持ち出されることが多いのですが、FatVC を実装してしまうのは単に実装者の能力不足だと考えていて、MVVM を採用しても FatVM を作るだけだと思っている。 また、比較的新しめの Flux アーキテクチャは、良

    最近のアプリ界隈での「設計」の違和感 - なるようになるかも
    raimon49
    raimon49 2018/06/16
    言わんとするところは分かる。モバイルアプリは「ストアに早く出してしまって育てる」側面も強いので、最初から頭でっかちに議論しているとチャンスを逃すケースもあって、成長フェーズに応じて改善するのが良さそう
  • シリコンバレーの「何が」凄いのか

    シリコンバレーのスタートアップを数多く取材する中で気付いた「シリコンバレーにおけるディシプリン(規律)の存在」や「General Electric(GE)やIBM、SAPといった老舗企業が必死になってシリコンバレーのスタートアップを真似している理由」、そして「日企業がイノベーションを実現するための処方箋」について解説します 詳しく知りたい場合は「GE 巨人の復活」をご覧下さい。 http://www.nikkeibp.co.jp/atclpubmkt/book/17/P55110/ 今後の記事は「シリコンバレーNext」をご覧下さい。 http://itpro.nikkeibp.co.jp/siliconvalley/ Read less

    シリコンバレーの「何が」凄いのか
    raimon49
    raimon49 2017/10/06
    素早いプロトタイプの評価と失敗を受け容れる文化があって、初めて方法論を実践できる。スポーツ選手とコーチの例えは腑に落ちる。
  • 大企業Hacks!

    大企業で実現するイマドキのサービス開発 オリジナルはこちら。 https://rotsuya.github.io/slides/enterprise-hacks-201512/

    大企業Hacks!
    raimon49
    raimon49 2015/12/16
    「人が足りないから、誰かください」がアンチパターンというのは本当にそう。あちこちに登場する引用が適切で良いスライド。Team Geekを読み返したくなった。
  • [悪徳商法?支店]: エンジニアのモチベーションを根こそぎ奪う!たった7つの魔法の言葉

    1.テスト書かなくていいので、工数減らしてください。 ソフトを作る以上、なんらかのテストは必要です。実行して結果を見るとか、ブラウザで表示するとか。その確認を楽にするためにテストを書くのに、テストを書かないからといって工数が大幅に減るわけではありません。そして、いざバグが発生したりすると、切り分けのために工数が必要になり、「テストが無い部分のチェックの必要」や「不安」がエンジニアのモチベーションを削って行きます。 結局のところ、「バグが発生しないことを前提に」スケジュールが組まれるだけです。 2.とりあえず動けばいいです。 とりあえず動いたとして、特定の条件で発生する致命的なバグを許してくれるのか許してくれないのか、要求側の胸三寸です。実験レベルと商用レベルでは考慮すべき障害のレベルや影響範囲が異なるのですから、何を求めるのか明確にしないと、ソフトウェアは動きません。なぜなら、コンピュータ

    raimon49
    raimon49 2013/03/31
    あるある事例集。秀逸。
  • 1