Submit Search
Upload
「納品のない受託開発」を支えるコードレビューの取り組み
•
19 likes
•
6,133 views
Masahiro Nishimi
Follow
「納品のない受託開発」と共に、その現場で行われている開発の進め方と、ソースコードレビューの取り組みについてご紹介します。
Read less
Read more
Software
Report
Share
Report
Share
1 of 54
Download now
Download to read offline
Recommended
ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発
Masahiro Nishimi
「管理」をなくせばうまくいく
「管理」をなくせばうまくいく
Yoshihito Kuranuki
「納品のない受託開発」の先にある「エンジニアの働きかたの未来」
「納品のない受託開発」の先にある「エンジニアの働きかたの未来」
Yoshihito Kuranuki
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
Masahiro Nishimi
「納品のない受託開発」とこれからの受託開発について
「納品のない受託開発」とこれからの受託開発について
Yoshihito Kuranuki
中学生でもわかるシステム開発と新しい働き方
中学生でもわかるシステム開発と新しい働き方
Yoshihito Kuranuki
エンタープライズアジャイルからアジャイル企業へ
エンタープライズアジャイルからアジャイル企業へ
Yoshihito Kuranuki
ソフトウェア受託開発の未来
ソフトウェア受託開発の未来
Yoshihito Kuranuki
Recommended
ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発
Masahiro Nishimi
「管理」をなくせばうまくいく
「管理」をなくせばうまくいく
Yoshihito Kuranuki
「納品のない受託開発」の先にある「エンジニアの働きかたの未来」
「納品のない受託開発」の先にある「エンジニアの働きかたの未来」
Yoshihito Kuranuki
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
Masahiro Nishimi
「納品のない受託開発」とこれからの受託開発について
「納品のない受託開発」とこれからの受託開発について
Yoshihito Kuranuki
中学生でもわかるシステム開発と新しい働き方
中学生でもわかるシステム開発と新しい働き方
Yoshihito Kuranuki
エンタープライズアジャイルからアジャイル企業へ
エンタープライズアジャイルからアジャイル企業へ
Yoshihito Kuranuki
ソフトウェア受託開発の未来
ソフトウェア受託開発の未来
Yoshihito Kuranuki
本当にそのオフィスいりますか?全社員がリモートで働く幸せな働き方革命
本当にそのオフィスいりますか?全社員がリモートで働く幸せな働き方革命
Yoshihito Kuranuki
2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote
Masahiro Nishimi
Social Change〜エンジニアが経営者になるまでと、これからの戦略
Social Change〜エンジニアが経営者になるまでと、これからの戦略
Yoshihito Kuranuki
ソニックガーデン「部活」制度の紹介 〜 イノベーションを起こすために必要だったこと
ソニックガーデン「部活」制度の紹介 〜 イノベーションを起こすために必要だったこと
Yoshihito Kuranuki
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
Junichi Ito
複数拠点における開発効率の維持・向上
複数拠点における開発効率の維持・向上
infinite_loop
エンジニアが起業するとき気を付けること
エンジニアが起業するとき気を付けること
晋 奥山
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
de:code 2017
クソアプリのつくり方
クソアプリのつくり方
Yusuke Kon
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Yuji Otani
ネット広告のシステム関連の話
ネット広告のシステム関連の話
株式会社ジオロジック
もう「効率化」なんてゴミ箱に捨ててしまおう
もう「効率化」なんてゴミ箱に捨ててしまおう
Hiromasa Oka
エンジニアのキャリアを考える
エンジニアのキャリアを考える
MKT International Inc.
成功したチームと成功しなかったチーム 20160608
成功したチームと成功しなかったチーム 20160608
Keiichi Endo
地方IT企業が成功していくための3つのポイント
地方IT企業が成功していくための3つのポイント
infinite_loop
[CT10] CTO とチョークトーク! 私たちがクラウド時代/AI時代に求める技術者
[CT10] CTO とチョークトーク! 私たちがクラウド時代/AI時代に求める技術者
de:code 2017
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
KLab Inc. / Tech
CTOやフリーランスのキャリアについて
CTOやフリーランスのキャリアについて
Yusuke Kon
ソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospike
株式会社ジオロジック
ベストエンジニアな働き方
ベストエンジニアな働き方
Keiichi Endo
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
Yoshihito Kuranuki
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Yoshihito Kuranuki
More Related Content
What's hot
本当にそのオフィスいりますか?全社員がリモートで働く幸せな働き方革命
本当にそのオフィスいりますか?全社員がリモートで働く幸せな働き方革命
Yoshihito Kuranuki
2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote
Masahiro Nishimi
Social Change〜エンジニアが経営者になるまでと、これからの戦略
Social Change〜エンジニアが経営者になるまでと、これからの戦略
Yoshihito Kuranuki
ソニックガーデン「部活」制度の紹介 〜 イノベーションを起こすために必要だったこと
ソニックガーデン「部活」制度の紹介 〜 イノベーションを起こすために必要だったこと
Yoshihito Kuranuki
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
Junichi Ito
複数拠点における開発効率の維持・向上
複数拠点における開発効率の維持・向上
infinite_loop
エンジニアが起業するとき気を付けること
エンジニアが起業するとき気を付けること
晋 奥山
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
de:code 2017
クソアプリのつくり方
クソアプリのつくり方
Yusuke Kon
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
Yuji Otani
ネット広告のシステム関連の話
ネット広告のシステム関連の話
株式会社ジオロジック
もう「効率化」なんてゴミ箱に捨ててしまおう
もう「効率化」なんてゴミ箱に捨ててしまおう
Hiromasa Oka
エンジニアのキャリアを考える
エンジニアのキャリアを考える
MKT International Inc.
成功したチームと成功しなかったチーム 20160608
成功したチームと成功しなかったチーム 20160608
Keiichi Endo
地方IT企業が成功していくための3つのポイント
地方IT企業が成功していくための3つのポイント
infinite_loop
[CT10] CTO とチョークトーク! 私たちがクラウド時代/AI時代に求める技術者
[CT10] CTO とチョークトーク! 私たちがクラウド時代/AI時代に求める技術者
de:code 2017
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
KLab Inc. / Tech
CTOやフリーランスのキャリアについて
CTOやフリーランスのキャリアについて
Yusuke Kon
ソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospike
株式会社ジオロジック
ベストエンジニアな働き方
ベストエンジニアな働き方
Keiichi Endo
What's hot
(20)
本当にそのオフィスいりますか?全社員がリモートで働く幸せな働き方革命
本当にそのオフィスいりますか?全社員がリモートで働く幸せな働き方革命
2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote
Social Change〜エンジニアが経営者になるまでと、これからの戦略
Social Change〜エンジニアが経営者になるまでと、これからの戦略
ソニックガーデン「部活」制度の紹介 〜 イノベーションを起こすために必要だったこと
ソニックガーデン「部活」制度の紹介 〜 イノベーションを起こすために必要だったこと
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
複数拠点における開発効率の維持・向上
複数拠点における開発効率の維持・向上
エンジニアが起業するとき気を付けること
エンジニアが起業するとき気を付けること
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
クソアプリのつくり方
クソアプリのつくり方
「技術のインテリジェンスを創る」をどうやって実現するか
「技術のインテリジェンスを創る」をどうやって実現するか
ネット広告のシステム関連の話
ネット広告のシステム関連の話
もう「効率化」なんてゴミ箱に捨ててしまおう
もう「効率化」なんてゴミ箱に捨ててしまおう
エンジニアのキャリアを考える
エンジニアのキャリアを考える
成功したチームと成功しなかったチーム 20160608
成功したチームと成功しなかったチーム 20160608
地方IT企業が成功していくための3つのポイント
地方IT企業が成功していくための3つのポイント
[CT10] CTO とチョークトーク! 私たちがクラウド時代/AI時代に求める技術者
[CT10] CTO とチョークトーク! 私たちがクラウド時代/AI時代に求める技術者
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
CTOやフリーランスのキャリアについて
CTOやフリーランスのキャリアについて
ソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospike
ベストエンジニアな働き方
ベストエンジニアな働き方
Similar to 「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
Yoshihito Kuranuki
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Yoshihito Kuranuki
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
Yoshihito Kuranuki
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Yoshihito Kuranuki
「納品のない受託開発」で受託開発ビジネスにもイノベーションを!
「納品のない受託開発」で受託開発ビジネスにもイノベーションを!
Yoshihito Kuranuki
アンドロイダーが取り組むXamarin開発
アンドロイダーが取り組むXamarin開発
Daisuke Tsutsumi
ソフトウェアエンジニアの目指す道
ソフトウェアエンジニアの目指す道
Yoshihito Kuranuki
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
Yusuke Hirao
キャリアフォーラム講演資料
キャリアフォーラム講演資料
Norishige Nagase
IoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナー
shimane-itoc
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
智治 長沢
jbug#10(ジョイゾー星野)
jbug#10(ジョイゾー星野)
Tomohisa Hoshino
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
S Akai
キーワードで探る最新開発事情~変化する市場に対応するための高速で無駄のないソフトウェア開発とは~
キーワードで探る最新開発事情~変化する市場に対応するための高速で無駄のないソフトウェア開発とは~
Yoshihito Kuranuki
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
智治 長沢
ほめなれワーク
ほめなれワーク
広告制作会社
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Daisuke Tsutsumi
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
Tadayoshi Sato
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Masahiro Hidaka
Similar to 「納品のない受託開発」を支えるコードレビューの取り組み
(20)
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
Social Change 〜 ソフトウェア開発者が経営者になるまでと、これからの戦略
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
「納品のない受託開発」で受託開発ビジネスにもイノベーションを!
「納品のない受託開発」で受託開発ビジネスにもイノベーションを!
アンドロイダーが取り組むXamarin開発
アンドロイダーが取り組むXamarin開発
ソフトウェアエンジニアの目指す道
ソフトウェアエンジニアの目指す道
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
キャリアフォーラム講演資料
キャリアフォーラム講演資料
IoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナー
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
jbug#10(ジョイゾー星野)
jbug#10(ジョイゾー星野)
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
キーワードで探る最新開発事情~変化する市場に対応するための高速で無駄のないソフトウェア開発とは~
キーワードで探る最新開発事情~変化する市場に対応するための高速で無駄のないソフトウェア開発とは~
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
ほめなれワーク
ほめなれワーク
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
More from Masahiro Nishimi
技術的負債を生み出す構造とその対処について
技術的負債を生み出す構造とその対処について
Masahiro Nishimi
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
Masahiro Nishimi
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
Masahiro Nishimi
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Masahiro Nishimi
Agile samurai達が現場を変える
Agile samurai達が現場を変える
Masahiro Nishimi
Agile Samurai インセプションデッキ
Agile Samurai インセプションデッキ
Masahiro Nishimi
More from Masahiro Nishimi
(7)
技術的負債を生み出す構造とその対処について
技術的負債を生み出す構造とその対処について
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Agile samurai達が現場を変える
Agile samurai達が現場を変える
Agile Samurai インセプションデッキ
Agile Samurai インセプションデッキ
「納品のない受託開発」を支えるコードレビューの取り組み
1.
「納品のない受託開発」を⽀支える コードレビューの取り組み 倉貫義⼈人・⻄西⾒見見公宏 #jasst ライブコードレビューで学ぶ!
2.
http://www.sonicgarden.jp/ 倉貫義⼈人 「⼼心はプログラマ、仕事は経営者」 Amazon2部⾨門で1位!発売3週間で重版!
3.
http://www.sonicgarden.jp/ 株式会社ソニックガーデン 2009年年社内ベンチャー創業 2011年年MBOで独⽴立立 全員プログラマ 職⼈人集団社員12名
4.
http://www.sonicgarden.jp/ 「Remotty」 〜~リモートチームのためのツール まるでオフィスにいるようなコミュニケーション リモートワークにチームワークを https://remotty.net
5.
http://www.sonicgarden.jp/ 納品のない受託開発
6.
http://www.sonicgarden.jp/ 「納品のない受託開発」とは • ⽉月額定額で、開発と運⽤用を続ける • 顧問として全ての⼯工程を担当する •
働く時間でなく、成果を提供する • ビジネスの成⻑⾧長をITで⽀支えていく 「納品」をなくせばうまくいく
7.
http://www.sonicgarden.jp/ 「納品のない受託開発」で得られる顧客の価値 • 要件定義をしなくてもよい • 仕様変更更はいつでも出来る •
直接エンジニアに相談できる • 作らない提案をしてもらえる プロフェッショナルの仕事
8.
http://www.sonicgarden.jp/ 「納品のない受託開発」でやっていないこと • ドキュメントは⼀一切切、作りません • お客様のところには訪問しません •
なんでもする営業担当はいません • 納期を死守する約束はできません 圧倒的な費⽤用対効果を実現
9.
http://www.sonicgarden.jp/ 納品をなくした理理由
10.
http://www.sonicgarden.jp/ 「納品のない受託開発」をなぜするのか? • 発注者と受注者でのゴールの違い • 後で直せないから、詰め込む要求 •
⽣生産性が低いほど、⾼高くなる⾒見見積 • 使う価値よりも、要件定義に従う ビジネスモデルの構造的⽋欠陥
11.
http://www.sonicgarden.jp/ インターネット以降降に変わった顧客のニーズ • ⼩小さく始めてから⼤大きく育てたい • 事業の成⻑⾧長にあわせて改修したい •
内製はエンジニアの⾒見見極めが困難 • SIerは要件定義が必要で⾦金金額⾼高い 新規事業に向いた開発がない
12.
http://www.sonicgarden.jp/ 「納品のない受託開発」に求められること • 要件の予測は困難で⽇日々変化する • ユーザが使い始めてからスタート •
システムの完成は⽬目指していない • ⻑⾧長期的視野と経営視点を持つこと 事業の成⻑⾧長を⽀支えるパートナー
13.
http://www.sonicgarden.jp/ プロセス
14.
http://www.sonicgarden.jp/ ⻄西⾒見見 公宏(にしみ まさひろ) 「⼼心はプログラマ、仕事もプログラマ」
15.
http://www.sonicgarden.jp/ 「納品のない受託開発」を始める前に • ビジネスモデルとビジョンの共有 • 何のために作るのか?を追求する •
コストと期間を固定し機能を調整 • 3ヶ⽉月で出来るものにフォーカス 作らなくて済むなら作らない
16.
http://www.sonicgarden.jp/ 「納品のない受託開発」の進め⽅方 • 毎週定例例MTGを⾏行行って開発が進む • 定例例MTGの中で確認と設計をする •
常に動くソフトウェアで確認する • 正しい仕様は現在動いているモノ 完成させることを⽬目指さない
17.
http://www.sonicgarden.jp/ 「納品のない受託開発」のエンジニアリング 本番環境 (ユーザ向け) テスト環境 (クライアント向け) エンジニア コードの共有 エンジニア コードレビュー 継続的デリバリー 同⼀一環境エンジニア ペアオペ テスト 駆動開発 ペアプロ (たまに)
18.
http://www.sonicgarden.jp/ コードレビュー
19.
http://www.sonicgarden.jp/ 「納品のない受託開発」の進め⽅方(再) • 毎週定例例MTGを⾏行行って開発が進む • 定例例MTGの中で確認と設計をする •
常に動くソフトウェアで確認する • 正しい仕様は現在動いているモノ 完成させることを⽬目指さない
20.
http://www.sonicgarden.jp/ ソフトウェアに求められる特性は何か? • 常に仕様を追加/変更更できること • 常に本番リリース可能であること •
スピード感をもち開発できること • 不不具合はすぐ修正可能であること 持続して変化できること
21.
http://www.sonicgarden.jp/ 外的環境からも変化は求められる Ruby(最新2.2.2) Rails(最新4.2.1) 2008年6月 Ruby1.8.7リリース 2014年7月末 Ruby1.8.7、Ruby1.9.2 セキュリティメンテナンス終了 2010年8月 Ruby1.9.2リリース 2015年2月末 Ruby1.9.3 セキュリティメンテナンス終了 2011年10月 Ruby1.9.3リリース 2013年6月27日 4.0リリース 3.1メンテナンス停止 Ruby1.9.3以上必須 2010年8月29日 3.0リリース 2011年8月31日 3.1リリース アセットパイプラインの登場により バージョンアップのハードル上がる 2012年1月20日 3.2リリース 2014年4月8日 4.1リリース 2013年2月 Ruby2.0.0リリース 2015年4月 Ruby2.2.2リリース 2015年3月19日 4.2.1リリース
22.
http://www.sonicgarden.jp/ 特性を満たすための技術的な戦略略 • ソフトウェアはクラウドで運⽤用 • ⾔言語/フレームワークの統⼀一 •
全ての設定をソースコードで表現 • 技術要素共通化による知⾒見見の共有 ソースコードで全てを回す
23.
http://www.sonicgarden.jp/ ソースコードの品質を⾼高めるために何をするか? • 過去はペアプロでコードを共有。 ただ時間がとてもかかる • レベルの⾼高い⼈人同⼠士だとコードレ ビューで理理解し合えることがわ かった。効率率率化された コードレビュー中⼼心への変化
24.
http://www.sonicgarden.jp/ ソースコードレビューで守りたい品質は何か? • ずっと開発/運⽤用を続けていける • 速いスピードで改修を加えられる 保守性 ⽣生産性 保守性と⽣生産性の両⽴立立
25.
http://www.sonicgarden.jp/ レビューされないソースコード・・・ https://flic.kr/p/4GW2c2
26.
http://www.sonicgarden.jp/ レビューされないソースコード・・・ https://flic.kr/p/6oUuWj
27.
http://www.sonicgarden.jp/ 誰がコードレビューをするのか • 「⼀一⼈人前」がコードレビュー • コードの善し悪しはそれなりのレ ベルにある⼈人間にしか分からない •
⼀一⼈人前は「良良いコード」とは何か の共通認識識を持っている ⾃自分たちの思う、良良いコードへ
28.
http://www.sonicgarden.jp/ ランチタイムディスカッション 共通認識識の醸成
29.
http://www.sonicgarden.jp/ 具体的なプロセス • Githubでリリース対象のコードを プルリクエスト/レビュー依頼 • レビュワーが共通のレビュー観点 に基いてコードレビュー •
指摘箇所を修正しマージする プルリクエストベース
30.
http://www.sonicgarden.jp/ コードレビューのタイミング • ローンチ前の全体レビュー • 本番リリース前レビュー •
リリース前レビューは毎回実施。 週1回〜~が⽬目安 レビュー時間は1時間が⽬目安
31.
http://www.sonicgarden.jp/ レビューの観点 • 意図をくみとれるソースコードか • テストコードは書かれているか •
リリース時に問題が起こらないか • 障害時リカバリは考えているか • 環境まわりの変更更はないか 「読みにくい」と正直に⾔言う
32.
http://www.sonicgarden.jp/ 良良いコードの共通認識識 • DRY (Don't
Repeat Yourself) • YAGNI(シンプルに実装) • 意図の伝わるコード • フレームワークWAYである 価値観をあわせる
33.
http://www.sonicgarden.jp/ コードレビュー7つの秘訣 1. レビューの観点を明確にすること 2. 我が⾝身に返ることを恐れずに指摘すること 3.
何故悪いコードなのかを論論理理的に説明すること 4. 良良いコードについて共通認識識を持つこと 5. ⼩小さい単位でレビューを繰り返すこと 6. 指摘は素直な気持ちで受け⼊入れること 7. 指摘は⼈人格否定でないことを理理解すること
34.
http://www.sonicgarden.jp/ どのようにコードレビューするのか? • 今回はソニックガーデンで⾔言う 「良良いコード」についてライブ コードレビューでご説明します
35.
http://www.sonicgarden.jp/ ライブコードレビュー • 株式会社ラビックス ⾼高橋洋平さん •
株式会社メンバーズ 早坂貴⼤大さん • 根本さんの後輩(2名) • ソニックガーデン2年年⽬目(⽥田上) ご協⼒力力ありがとうございます!
36.
http://www.sonicgarden.jp/ サンプルコードのお題 券売機問題 ver.1 とある鉄道会社の券売機をつくることになりました。 券売機では200円、250円、300円の切切符を購⼊入することができます。 駅員の⽅方と仕様を整理理したところ、以下のような機能が必要であることが分かりました。 ・10円⽟玉、50円⽟玉、100円⽟玉、500円⽟玉、1000円札を1つずつ投⼊入できる ・投⼊入は複数回できる ・投⼊入⾦金金額の総計を取得できる ・払い戻しを⾏行行うことができる ・払い戻しを⾏行行うと投⼊入⾦金金額の総計が釣り銭として出⼒力力される ・200円/250円/300円の切切符を購⼊入することができる ・投⼊入⾦金金額が⾜足りない場合は何もしない ・購⼊入⾦金金額を差し引いた釣り銭を出⼒力力する ・現在の売上⾦金金額を取得できる 動作のシミュレーションのため、Rubyで上記の機能を実装し、 それぞれの機能が確認できるようなプログラムを作成してください。
37.
http://www.sonicgarden.jp/ コードレビュー実践のために⼤大事なこと • ⾃自分たちの開発プロセスに適した レビュー観点を設定する • レビュー観点に基づく良良いコード の共通認識識をチームで持つ •
レビューは⼩小⼝口化し継続的にする ⼈人の⽬目を⼊入れて腐らせない
38.
http://www.sonicgarden.jp/ 本当にうまくいくのか?
39.
http://www.sonicgarden.jp/ 「納品のない受託開発」の事例例
40.
http://www.sonicgarden.jp/ ⼦子育てシェアサービス
41.
http://www.sonicgarden.jp/ お客さまの声 世の中の多くのシステム会社は、受注したシステム を作ることが⽬目的だけど、「納品のない受託開発」 の場合は⽂文字通り「納品がない」ので、システムを 作ることが⽬目的ではなくて、AsMamaが実現した い世界を成り⽴立立つようにする、そのための仕組みを 作ることが⽬目的だ、ということです。ソフトウェア を作って終わりではない。 「納品のない受託開発」のいいところは、こちらの ビジョンを⼤大切切にしてくれること。普通の開発会社 は、そんなことはどうでもよいとまでは⾔言いません が、軽視しているんじゃないでしょうか。ソニック ガーデンは、そういうことこそが本当に⼤大事だと ⾔言ってくれます。別の表現をすれば、経営⽬目線があ るんです。いわば社外取締役みたいな存在です。 本当にわが社にもCTOができた、と思っています。 古臭い⾔言葉葉で⾔言えば、同志のような存在です。 書籍”「納品」をなくせばうまくいく”より抜粋
42.
http://www.sonicgarden.jp/ プログラマの本当の仕事とは
43.
http://www.sonicgarden.jp/ ソフトウェア開発とは何ではないか? • 同⼀一品種の「⼤大量量⽣生産」ではない • 「ルーチンワーク」ではない •
そもそも⽣生産でも⼯工業でもない • よって「製造業」ではない モノづくりではなかった
44.
http://www.sonicgarden.jp/ ソフトウェア開発とは何か? • 再現性のない「問題解決」の仕事 • それすなわち「ナレッジワーク」 •
「コンサルティング」こそ本質 • 「プロフェッショナルサービス」 「顧問プログラマ」という職業
45.
http://www.sonicgarden.jp/ 「顧問プログラマ」とは何か • プログラミングのスキルを使って、 顧客の問題解決をする職業のこと • ビジネスの理理解と提案、ソフト ウェアの設計、プログラミング、 運⽤用までの全てに責任をもつ仕事 難しいからこそ価値がある
46.
http://www.sonicgarden.jp/ 顧問としてのプログラマ
47.
http://www.sonicgarden.jp/ 技術から事業の成⻑⾧長を⽀支える 顧問プログラマの果たす役割と責任 • 問題を把握して解決案を提案する • ソフトウェアの設計と実装をする •
安定して動くように運⽤用し続ける • プロジェクトをマネジメントする
48.
http://www.sonicgarden.jp/ 顧問プログラマの⽣生き⽅方:職⼈人の世界 • 弟⼦子・⼀一⼈人前・師匠・巨匠・親⽅方 • 将来は、のれん分けで独⽴立立を⽀支援 •
定年年はなく、⼀一⽣生の仕事にできる • 技術を極め、⾃自分の⼒力力で⽣生きる! ⽣生涯をかけるに値する仕事
49.
http://www.sonicgarden.jp/ エンジニアの働きかたの未来 ⼀一⽣生の仕事としてのプログラマ 新規創造 問題解決 ハイリスク ローリスク 起業家 フリー 顧問趣味
50.
http://www.sonicgarden.jp/ 皆さんの選ぶ未来は?
51.
http://www.sonicgarden.jp/ ソニックガーデンと共に働く意味 • 年年俸制による安定した報酬の確保 • リモートワークでどこでも働ける •
⾃自分の為に使える時間が得られる • 共に切切磋琢磨しあえる仲間の存在 エンジニアとして⾼高みを⽬目指す
52.
http://www.sonicgarden.jp/ 幸せなエンジニアとお客さまを増やすビジョン • 「納品のない受託開発」を広げる • 志のあるエンジニアを応援したい •
雇⽤用と働きかたの選択肢を増やす • プログラマが輝ける場所をつくる ⼈人⽣生を賭けるに値する使命
53.
http://www.sonicgarden.jp/ ソニックガーデンのビジョン、私のミッション 顧客企業の真のパートナーとして 価値を提供し続ける プログラマを⼀一⽣生の仕事にする、 ⾼高みを⽬目指し続ける いつまでも、いつからでも 夢に挑戦できる社会にする プログラマを憧れの職業にする
54.
http://www.sonicgarden.jp/ ありがとうございました http://kuranuki.sonicgarden.jp
Download now