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
750
1人システム開発を通じて感じたこと
1人でシステム開発を経験する中で感じたことなどをまとめました。
後半はリファクタリングについても言及しています。
矢島 達朗 / Tatsuro Yajima
December 09, 2023
Tweet
Share
More Decks by 矢島 達朗 / Tatsuro Yajima
See All by 矢島 達朗 / Tatsuro Yajima
なぜ、データ駆動戦略が重要なのか?書籍『DMM.comを支えるデータ駆動戦略』より
tatsuroyajima
0
110
なぜ、コメントを書くべきなのか?(A Philosophy Of Software Designより)
tatsuroyajima
0
210
Other Decks in Business
See All in Business
20250816 「アジャイル」って?~"Do Agile"から"Be Agile"へ~
east_takumi
0
3k
Infcurion Company Deck
infcurion
2
30k
Steal This Stack: Automate Your Learning Campaigns
tmiket
0
100
AIが実現するプロダクトオーナーと開発者の架け橋
bicstone
2
230
「みんな、笑顔になぁれ」を実現する 職種混合開発組織の目標設定・評価の改善事例
daitasu
0
230
透明性レポート(2025年上半期)
mercari_inc
0
1k
2025年12月期 第二四半期決算説明資料
mobcast20040326
PRO
0
640
株式会社アドバンテッジリスクマネジメント会社紹介資料
arm0020
0
54k
Spice Factory Inc. Culture Deck
spicefactory
0
10k
コーポレートストーリー(新規投資家様向け会社説明資料)
gatechnologies
1
14k
Corporate Story (GA technologies Co., Ltd.)
gatechnologies
0
170
SHOW就活株式会社 会社紹介
showsyukatsu0801
0
200
Featured
See All Featured
Building an army of robots
kneath
306
46k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Rails Girls Zürich Keynote
gr2m
95
14k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
The Invisible Side of Design
smashingmag
301
51k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Facilitating Awesome Meetings
lara
55
6.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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 ご清聴ありがとうございました! 感想お待ちしています