このイベントの登壇資料です 改訂新版「ミノ駆動本」の活用方法 〜設計勉強会による効果的な学習アプローチ〜 https://findy.connpass.com/event/339191/

このイベントの登壇資料です 改訂新版「ミノ駆動本」の活用方法 〜設計勉強会による効果的な学習アプローチ〜 https://findy.connpass.com/event/339191/
これはなに? こんにちは、DMM.comのミノ駆動です。 プラットフォーム開発本部 Developer Productivity Group 横断チームにて、 プラットフォームの設計品質向上に取り組んでいます。 さて、ネット上ではソフトウェア開発における「良いコードとは何か」をめぐって、 いろんな意見が交錯したり、 ときには激論を呼んだりします。 収拾がつかないこともしばしばです。 この記事は、良いコードを考えるうえでの要素を整理し、 建設的な議論を助けることを目的とします。 これはなに? この記事の理解目標 良いコードをめぐる議論 議論1: 何をもって良いコードなのか 議論2: 良いコードはどうやったら書けるのか 議論3: 「綺麗なコード(良いコード) vs 動くコード」問題 議論改善のために提案します 提案1: ソフトウェア品質特性の観点でコードの良し悪しを判断しよう 提案2: 原理原
こんにちは、リファクタリング大好きなミノ駆動です。 2024/07/20に発売された『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』を、訳者の増田亨氏よりご恵贈賜りました。 この記事は、この書籍の感想です。 著者の許可を得た上でのだいたんな意訳総評等の前にいの一番で伝えたいポイントです。 エリック・エヴァンス氏の『ドメイン駆動設計』は大変価値の高い知見が網羅されている一方、「ユビキタス言語」や「境界づけられたコンテキスト」といった独特の用語が登場したり、難しい言い回しをしていたり、読解がかなり難しい書籍です。 独自用語が登場するたびに「ユビキタス言語?なんだこれ?」とつまづきを覚え、内容理解に集中できず、読む手が止まってしまったことがある人も少なくないのではないでしょうか。 本書『ドメイン駆動設計をはじめよう』は『Learning Domain-Driv
ミノ駆動さんに「なぜ負債解消にDDD?」と聞いたら、ソフトウェア開発の本質に気づかされた 2024年1月15日 株式会社スタメン ミノ駆動(仙塲大也) 電子機器メーカーや大手精密機器メーカー、クラウドワークスを経て、2021年4月にREADYFORに入社。アーキテクチャの変更容易性や機能性を促進する設計構造を目指し、リファクタリングやドメインモデリングを主軸としたシステム設計に従事する。現在は、組織改善のためのエンゲージメントプラットフォーム「TUNAG」を擁するスタメンに在籍。ITエンジニア本大賞2023技術書部門大賞を受賞した『良いコード/悪いコードで学ぶ設計入門』著者としても知られる。 X(@MinoDriven) note Qiita 株式会社スタメン・テックブログでの執筆記事 ドメイン駆動設計(以下、DDD)に注目が集まりだしてしばらく経ちますが、いまだに捉えづらさを感じている人
こんにちは、リファクタリング大好きなミノ駆動です。 株式会社スタメンでは、企業エンゲージメント構築サービスTUNAG(ツナグ)の技術的負債解消と今後の持続的成長のため、ドメイン駆動設計(DDD)の導入を検討しています。 ところでDDDはとかく理解しづらく、何のためのDDDなんだという議論になりがちです。この記事では、DDDの真の主人公コアドメインを中心に、DDDが何を解決するものなのか、全体像を改めて整理します。 この記事で扱う内容 DDDが解決したい課題と解決方法の全体像。 この記事では扱わない内容 設計パターンの実例などの実装詳細。 大事な前提 〜利益を得るためのサービス開発 会社でのサービス開発は、趣味や道楽でやるものでしょうか。違いますね。ビジネスとして、企業活動としてサービス開発しています。当たり前の話ですが、利益を得られるように開発しなければなりません。 ドメイン駆動設計は、継
これはなに? こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 コミュニケーションには会議体やテキストベースなど様々な手段があります。 その中で雑談がなぜ重要であるかについて、私の考えを記したものです。 大事な前提 〜目的と手段の関係〜 人々の活動には目的があります。そして目的を満たすための手段を追い求めています(ここでいう手段とはシステムであったり情報であったり、「目的の役に立つもの」と考えてください)。 目的と手段の関係性を次の図で表現します。目的と手段それぞれの円の重なりが大きいほど、目的に対して相応しい手段である、ということをここでは表します。 この図を使った例を出します。 今の時期、だんだん暑くなってきましたね。「暑さを解消したい」という目的に対して、「扇風機を点ける」「エアコンを点ける」「かき氷を食べる」「南極に送り込む」
1. これはなに こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 この記事は、今後スタメンにおいてサービスの技術的負債を解消する設計戦略についてまとめたものです。 2. 背景、課題 株式会社スタメンは2016年創業。主要サービスであるTUNAG(ツナグ)は、企業のエンゲージメントの構築、つまりお互いを知って理解し、信頼し合う組織を作るための社内コミュニケーションを活性化させるプロダクトです。TUNAGのバックエンドはRuby on Railsで開発され、ローンチから7年をむかえつつあります。 これまでTUNAGは、プロダクトをいかに伸ばすかに注力してきた一方、内部品質や開発効率など「開発者体験」に関する課題が後手に回っていました。本来プロダクトチームはユーザーにとっての本質的な価値にのみフォーカスできる状況が理想ですし、開発者体験が
こんちはー、リファクタリング大好きなミノ駆動です。 私は初級〜中級向けのソフトウェア設計入門書『良いコード/悪いコードで学ぶ設計入門』(通称「ミノ駆動本」)を2022年4月に出版しました。 拙著はありがたいことに、さまざまな勉強会グループや企業さんでの輪読会で用いられていると聞きます。 この記事は、株式会社コドモン のエンジニアさんからお呼びを受けて輪読会に参加したレポートです。 召喚の儀(ことのはじまり) 「輪読会に召喚したい」的な雰囲気をTwitterで感知したので、私は次のようなツイートをしました。 僕は常にエゴサしているので、 #ミノ駆動本 の輪読会などで僕を召喚したい場合は、僕の名でツイートしていただけると、予定等にもよりますが召喚に応じます。 (※DMは相互フォロワー以外解放していないため) https://t.co/ljv8KnxcI6— ミノ駆動 (@MinoDriven)
こんちはー、リファクタリング大好きな ミノ駆動 です。 書籍『良いコード/悪いコードで学ぶ設計入門』 の著者です。 READYFORでアプリケーションアーキテクトとして務めています。 この記事は、8/20(土)に開催された オープンセミナー岡山2022 の登壇レポートと、そこで発表した 設計とチームビルディングの関係 について、弊社での活動を解説するものです。 登壇発表の概要 この登壇では、 私が昔勤めていた会社での失敗経験と反省 が、現職READYFORでの設計業務に活かされている旨を発表しました。 speakerdeck.com www.youtube.com 発表にあるように、チームの合意やリソース戦略が不十分なまま大規模な設計変更を無理に進めると、反発や軋轢が生まれます。 そして組織全体での設計改善が困難になります。 そうした失敗経験を反省し、その後様々な技術書での学びから、課題と
2022/06/30開催の、こちらのオンラインイベントで用いた登壇資料です。 BPStudy#178〜成長し続け、変更を楽に安全にできるソフトウェア設計とは https://bpstudy.connpass.com/event/250694/
こんにちは。虎の穴ラボのH.Kです。 5月の大型連休で社内の技術書購入を支援する制度を利用して購入した『良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方』を読みました。 『良いコード/悪いコードで学ぶ設計入門』書影 とても良い本でしたので、本書の横断的な概要と、その中で良かったところや気になったところをご紹介していきます。 どんな本か 基本情報 私が感じた本書の立ち位置 前提 設計とコーディングは不可分である 「悪いコード」=>「良いコード」の構成 サンプルコードはJava おすすめする読者層 著者について 構成について 1〜2章:チュートリアルステージ 3〜12章:本編 13〜17章:やりこみ世界 良かったところ 平易な表現 サンプルコードが豊富 気になったところ 6章:Switch文の重複(Switch文からMapへの書き換え) まとめ P.S. どんな本
この本の概要 「ITエンジニア本大賞2023」技術書部門で大賞受賞! 本書は,より成長させやすいコードの書き方と設計を学ぶ入門書です。 システム開発では,ソフトウェアの変更が難しくなる事態が頻発します。コードの可読性が低く調査に時間がかかる,コードの影響範囲が不明で変更すると動かなくなる,新機能を追加したいがどこに実装すればいいかわからない……。 変更しづらいコードは,成長できないコードです。ビジネスの進化への追随や,機能の改善が難しくなります。 成長できないコードの問題を,設計で解決します。 こんな方におすすめ コードの設計スキルに興味がある人 日々,悪いコードと向き合っていて改善したい人 より良いコードを書きたい人 1 悪しき構造の弊害を知覚する 1.1 意味不明な命名 1.2 理解を困難にする条件分岐のネスト 1.3 さまざまな悪魔を招きやすいデータクラス 1.4 悪魔退治の基本 2
こんにちは、リファクタリング大好きなミノ駆動です。 リファクタリングを主任務とするアプリケーションアーキテクトとして、弊社READYFORのエンジニアリングを推進しています。 ドメイン駆動設計に登場する 腐敗防止層 を用いたリファクタリングで、システムの変更容易性を向上したお話を解説します。 本記事の概要 イビツな構造を隔離する腐敗防止層を用いて技術的負債を解消 ふたつの橋作戦でリファクタリングの安全性を向上 設計技術書 『良いコード/悪いコードで学ぶ設計入門』 出版のお知らせ 背景 弊社READYFORのシステムは、モノリシックなRuby on Railsのサービスとして実装されています。 システムが解決したいドメイン(業務活動)にはさまざまなセグメントがあり、その中に審査オペレーションがあります。 審査オペレーションとは、クラウドファンディング実行者さんが申し込みを提出してからプロジェ
こんにちは、リファクタリングが大好きなミノ駆動です。 これは、私が執筆した『良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』について紹介する記事です。 2022年4月30日発売です(ほぼ同日に電子書籍版も出ます)。 AmazonなどECサイトで、すでに多くの予約が入っており、ヨドバシ.comでは一時期予約終了になったほどです。おかげさまで初版部数が2倍になりました。 ■どんな本?皆さんはプログラミングでバグを埋め込みたいですか?ロジック修正が上手くいかず、ヒィヒィ言いながら長時間残業したいですか?イヤに決まってますよね。ところが現実には、 何度もバグを埋め込んでしまう ロジックを読み解くのに時間がかかる やっとロジック修正しても、全然違う箇所がバグ化してしまう ……ほとんど誰もが体験しているのではないでしょうか。 でも、こうした状況をなんとかしたいと思って
ソフトウェアエンジニアにとって、技術的負債が増え続けるソフトウェアプロダクト開発現場に身を置くことがどれほど苦痛なことであるか。エンジニアリング組織のマネジメントを長年担ってきて、それは強く感じるところだ。 中途採用の選考プロセスに面接官として参加し、これまで数多くの退職理由を見聞きしてきた。その中で、レガシーシステムをリファクタリング・リアーキテクティング・リライトできないことへの不満を理由として挙げるエンジニアは多かったように思う。裏を返せば、自社のソフトウェアプロダクトが技術的負債にまみれたまま放置されているなら、優秀な人材が他社に流出するリスクがあると認識すべきだ。 本稿では、技術的負債と開発者体験の関係について紐解くとともに、それに対してソフトウェアエンジニアリング組織を預かるマネージャーが取るべき行動について考えてみたい。 ※これは、Engineering Manager Ad
スクワッド体制における留意点として、「Spotifyは "Spotifyモデル "を使っていない [3]」で以下のように述べられているように、単に方法論を真似るのではく、自分の組織と向き合い、学習して、進化し続けることが大切であると思います。READYFORにおいても日々、組織体制について議論し、改善を進めています。 ビジネスユニット、部門、チーム、マネージャーは、Spotifyの失敗した方法論に固執してはいけません。彼らはSptifyのモノマネよりも効果的に組織構造の役割と責任を伝えることができるのです。 あなたがSpotify Modelを見つけたのは、自分のチームをどのように構成するかをいつも考えていたからでしょう。でもここで止まってはいけません。学習を続けてください。 1-2. READYFORのスクワッド体制 READYFORの場合、どのようなスクワッド体制を敷いているか? ひと
こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、13日目の記事です。 これはなに? コードが複雑化し、技術的負債が蓄積していくと、コードの変更が難しくなり、開発生産性が低下していきます。技術的負債の解消にはリファクタリングが必要です。 しかし、リファクタリングの実施には数々の罠やハードルがあります。 下手すると逆に負債を作り込んでしまうといった、自爆技をやりかねません。 この記事は、リファクタリングのアンチパターンと、その対策をまとめたものです。 この記事のゴール リファクタリングには様々なアンチパターンがあることを知る。 アンチパターンにハマらないためのアプローチを知る。 リファクタリングの効果を高めるにあたり、何のために実施するのか意義を理解する。 前提知識 なぜ自爆技となるのか、自爆だと理解するのに必要な前提知識を挙げ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く