Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
1人システム開発を通じて感じたこと
Search
矢島 達朗 / Tatsuro Yajima
December 09, 2023
Business
0
780
1人システム開発を通じて感じたこと
1人でシステム開発を経験する中で感じたことなどをまとめました。
後半はリファクタリングについても言及しています。
矢島 達朗 / Tatsuro Yajima
December 09, 2023
Tweet
Share
More Decks by 矢島 達朗 / Tatsuro Yajima
See All by 矢島 達朗 / Tatsuro Yajima
なぜ、データ駆動戦略が重要なのか?書籍『DMM.comを支えるデータ駆動戦略』より
tatsuroyajima
0
190
なぜ、コメントを書くべきなのか?(A Philosophy Of Software Designより)
tatsuroyajima
0
230
Other Decks in Business
See All in Business
Fuji Oil 2025 Board of Directors
tsogo817421
2
360
インキュデータ会社紹介資料
okitsu
3
49k
夜を制する者が “AI Agent 大民主化時代” を制する
icoxfog417
PRO
15
8.5k
(4枚)マネジメントと3つの評価基準との関係(成果評価・能力評価・情意評価)
nyattx
PRO
0
120
(7枚)営業プロセス・パイプライン・予材管理・カスタマージャーニーの基本
nyattx
PRO
3
160
株式会社アペルザ_中途採用向け会社紹介資料
hr_team_aperza
4
140k
TOKIUM エンジニア向け会社紹介資料
tokium
0
600
任されるプロダクトマネージャーのリアル - プロダクトマネージャーの成長機会 に関する実例収集調査結果
ykmc09
3
3.9k
キャンバスエッジ株式会社 会社説明資料
canvasedge
0
5.8k
AIがコードを書く時代にエンジニア組織が事業に貢献する仕組み / How engineering organizations can contribute to business in an age where AI writes code
bpstudy
0
200
【素人向け生成AI入門】保健師のチカラにAIをプラス!
minamototeruya
0
200
VISASQ: ABOUT DEV TEAM
eikohashiba
6
40k
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
38
From π to Pie charts
rasagy
0
110
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
52
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
600
The Invisible Side of Design
smashingmag
302
51k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
51
GitHub's CSS Performance
jonrohan
1032
470k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
32
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
220
Transcript
1人システム開発を通じて感じたこと やじま(株式会社Qureテクノロジーズ)
自己紹介 名前 やじま(矢島達朗) 所属 株式会社Qureテクノロジーズ (自社サービス 開発責任者) 趣味 音楽(ベース) 写真撮影(野良猫・スナップなど)
2
質問 3
みなさまの開発組織は 何名体制ですか? 4
弊社は 1名 体制です 5
弊社のご紹介 株式会社Qureテクノロジーズ - 創業 6期目 - 社員数 3名 - 事業内容
- - 会計コンサル 6
弊社のご紹介 株式会社Qureテクノロジーズ - 創業 6期目 - 社員数 3名 - 事業内容
- - 会計コンサル 7 私の担当領域
Sharesってなに? 株主名簿を管理するためのSaaS 以下の業務を改善します。 - 株主名簿管理 - 株主総会管理 - 配当管理 8
弊社の組織体制 9 弊社代表(経営判断) - 機能の発案 - 要件定義 私(開発) - 要件定義、設計、実装
- テスト、運用 - 顧客対応(商談)
1人システム開発を通じて 感じたこと 10
1人システム開発を通じて感じたこと プラスの側面 1. コードに統一感が出る 2. お客様との距離が近い 3. やりたいことを即実行できる マイナスの側面 1.
レビューを受けられない 2. やることが多い 3. さびしい(切実) 11
1人システム開発 プラスの側面 12
プラスの側面 1. スムーズに開発できる 2. お客様との距離が近い 3. やりたいことを即実行できる 13
プラスの側面 1. スムーズに開発できる 2. お客様との距離が近い 3. やりたいことを即実行できる 14
プラスの側面1. スムーズに開発できる 15 メンバー間の調整が不要です。 フォーマッタどうする? 設計方針は? チーム開発あるある ( 早く開発したいな〜 )
プラスの側面 1. スムーズに開発できる 2. お客様との距離が近い 3. やりたいことを即実行できる 16
プラスの側面2. お客様との距離が近い 17 フィードバックをすぐ開発に反映できます。 アレをアレする機能が欲しいんだけど…… あ〜アレですね、わかりました
18 顧客からはじめる! 関連書籍『みんなでアジャイル』 https://fukabori.fm/episode/32
プラスの側面 1. スムーズに開発できる 2. お客様との距離が近い 3. やりたいことを即実行できる 19
プラスの側面3. やりたいことを即実行できる 20 最近やったこと - バリューオブジェクト導入 - リファクタリング - 自動テスト導入
猫カフェで作業したい
1人システム開発 マイナスの側面 21
マイナスの側面 1. レビューを受けられない 2. やることが多い 3. さびしい(切実) 22
マイナスの側面 1. レビューを受けられない 2. やることが多い 3. さびしい(切実) 23
マイナスの側面1. レビューを受けられない 24 変なコードを書いていたとしても、気付けない 可能性があります。 出典: https://twitter.com/mdkgames22/status/1030048531606695936 ( 自分で書いたから大丈夫! )
マイナスの側面 1. レビューを受けられない 2. やることが多い 3. さびしい(切実) 25
マイナスの側面2. やることが多い 26 開発以外の業務が多いです。 スイッチングコストが高い! 顧客対応 補助金申請 コラム執筆
マイナスの側面 1. レビューを受けられない 2. やることが多い 3. さびしい(切実) 27
マイナスの側面3. さびしい(切実) 28 技術的な雑談ができない! 新技術・新サービスの情報が入ってこない。 状況を打破するため、勉強会に参加す るようになりました
おまけ 29
こんなリファクタリングしてます 30
1. 早期リターン 2. ファットコントローラーの解消 3. バリューオブジェクト導入 31 こんなリファクタリングしてます
1. 早期リターン 2. ファットコントローラーの解消 3. バリューオブジェクト導入 32 こんなリファクタリングしてます
1. 早期リターン 33 Before
34 Before - ずっと条件式を意識する必要がある - ネストが深くなりがち - 可読性が下がる 1. 早期リターン
35 After 1. 早期リターン
36 After すぐリターンする! ネストが浅くなる 1. 早期リターン
1. 早期リターン 2. ファットコントローラーの解消 3. バリューオブジェクト導入 37 こんなリファクタリングしてます
38 2. ファットコントローラーの解消 Before(実際にあった怖いコントローラー)
39 2. ファットコントローラーの解消 Before - エディタの動作が遅くなる - 目当てのコードを探す手間が増える
40 2. ファットコントローラーの解消 After 以下の対策を行います。 1. 処理を移植する(モデル層・サービス層) 2. 細かくメソッド化して、共通化する -
DRY原則 - 宣言的な記述 を意識しています
1. 早期リターン 2. ファットコントローラーの解消 3. バリューオブジェクト導入 41 こんなリファクタリングしてます
42 3. バリューオブジェクト導入 Before
43 3. バリューオブジェクト導入 Before 可読性が低い! 変更する時大変! つらい
44 3. バリューオブジェクト導入 After
45 3. バリューオブジェクト導入 プロパティのみのクラス でデータを管理します
まとめ 46
1人システム開発を通じて感じたこと プラスの側面 1. スムーズに開発できる 2. お客様との距離が近い 3. やりたいことを即実行できる 47
1人システム開発を通じて感じたこと マイナスの側面 1. レビューを受けられない 2. やることが多い 3. さびしい(切実) 48
49 ご清聴ありがとうございました! 感想お待ちしています