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
200
なぜ、コメントを書くべきなのか?(A Philosophy Of Software Designより)
tatsuroyajima
0
250
Other Decks in Business
See All in Business
会社説明資料
xinghr
0
600
インキュデータ会社紹介資料
okitsu
3
51k
株式会社カウシェ Company Deck
kauche
2
220k
クリヤマジャパン㈱採用資料
uemura2024
0
6.2k
「事業目線」の正体 〜3つのフェーズのCTO経験から見えてきた、EMが持つべき視点 @ EMConf JP 2026
sotarok
7
1.7k
「自我を出さなかった」私がアジャイルに出会って─冷笑を捨て、自分の人生を「経験主義」で動かした話
kaedeyamazaki0820
1
410
習慣化するための技術 / Techniques for Habit Formation
3l4l5
3
370
DATUM STUDIO - 会社紹介資料
datumstudio
0
310
VISASQ: ABOUT US
eikohashiba
15
560k
jinjer recruiting pitch
jinjer_official
0
170k
Women in Agile Tokyo2026 「個をあるがままに生かす」は綺麗事でも簡単なことでもなかった
nekoyanagi
0
440
株式会社セレス 会社紹介資料【エンジニア向け】
hnagatomo
0
1.3k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
140
HDC tutorial
michielstock
1
510
Evolving SEO for Evolving Search Engines
ryanjones
0
150
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
260
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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 ご清聴ありがとうございました! 感想お待ちしています