Your SlideShare is downloading. ×
Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011

3,244
views

Published on

Tohnaka-san's keynote at AgileJapan2011 on Apr.15, 2011. …

Tohnaka-san's keynote at AgileJapan2011 on Apr.15, 2011.
Giri Ninjo Programmer, three-legged race with your customer.

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,244
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
46
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Agile Japan 2011 キーノートセッション2 立ち上がれ、 「義理・人情プログラマ」 UNIX哲学原点回帰による 「使う人」「作る人」の二人三脚開発のススメ 2011年4月15日 有限会社ユニバーサル・シェル・プログラミング研究所 當仲寛哲© usp lab. 2011 1
  • 2. 1.イントロダクション© usp lab. 2011 2
  • 3. 自己紹介 當仲寛哲(とうなかのぶあき) ・昭和41年生まれ 44歳 おとめ座 ・USP研究所代表(設立6年) →シェルスクリプトで、企業基幹システム 「はやく、やすく、やわらかく」構築する ユニケージ開発手法を研究、実践、普及© usp lab. 2011 3
  • 4. 経歴 ・兵庫県加古川出身 ・18歳で上京(バブル期の絶頂) ・学生時代→アルバイトで自活。不登校 ・金欲しさ+やけくそ+自分探し →80以上の職を点々と →ガテン職業観 →海外放浪39カ国 →帰国したら研究室の椅子がなくなっていた© usp lab. 2011 4
  • 5. コンピュータとの出会い ・コンピュータは独学(金と就職のため) ・場末プログラマの哲学 =正確なのは当たり前 「スピードがすべてを解決する」© usp lab. 2011 5
  • 6. 挫折の時代 ・大学と反りが合わず、フェードアウト (敗北) ・コンピュータを捨て、商売の世界へ ・スーパーマーケットの食品売場で 店員として働く (2年間で人間リセット)© usp lab. 2011 6
  • 7. 人生の転機 ・松田康之さんとの出会い ・松田さんから学んだ3つの教え ①情報は自らが引き出すもの コンピュータによって「情報化」されるの ではない ②ソフトより大切なのはデータである データを決して消してはならない ③どんなことがあっても、 絶対に諦めてはならない© usp lab. 2011 7
  • 8. 偶然の再会 ・27歳のときに偶然UNIXと再会 ・UNIXの思想がガテンな感性とシンクロ  まずは作って動かす  小さな道具を組み合わせて問題を解決 (コマンドとパイプ)  データはテキストファイルで保存する →松田さん+UNIX思想=ユニケージ© usp lab. 2011 8
  • 9. 業務改革にコンピュータをフル活用 ・金無し、権限なし、素人だけ ・工夫(頭)+情熱(胸)+ネアカ(腹) ←PCの劇的な性能向上 &PC-UNIXが後押し ・経営方針転換によってリストラ ・再びフリーターに (37歳、二度目の敗北)© usp lab. 2011 9
  • 10. ゼロからの再出発 ・USP研究所創立(38歳) ・何もないところから再出発 ・悔しい思いを何回か ・本業と稼業とは峻別 ・ひたすらチャンスを信じて待つ© usp lab. 2011 10
  • 11. 良品計画との出会い ・基幹160システムを 6名、半年で構築 ・ 不要労働根絶と社内 コミュニケーション 強化を、技術の力で、 実現© usp lab. 2011 11
  • 12. これまでの実績(一部) ・採用実績:約20社 ・内製化、ローコスト化、組織改革の道具© usp lab. 2011 12
  • 13. 2.ユニケージ開発手法の技術© usp lab. 2011 13
  • 14. UNIX思想を手法として突き詰める ・テキストファイル(L1-L5) ・自作コマンド(グルーテクノロジー) ・パイプを使いまくる ・お作法が大切© usp lab. 2011 14
  • 15. データ中心主義 コンピュータシステムは、 データの入出力をしているに過ぎない 入力系 ファイル ファイル 3つを 発生 3つの間は シェルスクリプトで すべて 作成 ファイルI/F 利用 ファイル 整理 出力系 整理系 15© usp lab. 2011
  • 16. テキストファイル(L1-L5) Level1 (イベントデータ) 生データ Level2(確定データ) 確定データ 整理・集計 Level3(5W1Hデータ) データ Level4(アプリケーションデータ) POMPA Level5(出力データ) 帳票データ等© usp lab. 2011 16
  • 17. 個性的なコマンド群 例)tateyoko :文字列の縦横変換 mojihame:テンプレートに文字をはめこむ sem :セマフォ操作 システムコールをコマンド化 keycut :レコードをキー毎にファイル分割 paraawk :並列処理 MapReduce日本版?© usp lab. 2011 17
  • 18. シェルスクリプトでシステムを作る 約40年間変わることのないUNIX/Linuxの基本的技術 #!/bin/bash join0 key=1 master URE | データのマッチング self 2 3 4/NF-1 | フィールドのセレクト sm2 1 2 3 4 | サムアップ sm4 1 1 2 2 3 4 | 中間計 self 1 2 4 3 5 | フィールドのセレクト sm5 1 3 4 4 | 合計 map num=1 | 縦横変換 comma 4 5 カンマ編集 exit 0© usp lab. 2011 18
  • 19. パイプを使ってマルチコアを味方に シェルスクリプトのパイプ処理 コマンド1 | コマンド2 | コマンド3 | コマンド4 | ・・・ コア1 コア2 コア3 コア4 プロセス単位に CPU コア分散される キャッシュ カーネルスケジューラの機能を素直に使う© usp lab. 2011 19
  • 20. 一休さん方式(データが先) 第1フェーズ データ整理 第2フェーズ アプリ開発 Level1 Level2 (生データ) Level3 Level2 Level4 (確定データ) (アプリケーションデータ) Level3 Level5 (5W1Hデータ) (出力データ) 画面 帳票 20© usp lab. 2011
  • 21. 床屋方式(2度開発方式) 1次設計 1次開発 2次設計 2次開発 + + 業務の リリース 便利機能 リリース 骨格と 設計 なる設計 短期間 少人月 短期間 少人月 業務重要度 業務重要度 7割 3割© usp lab. 2011 21
  • 22. ドキュメント 実用的かつ必要十分なもののみ 主なドキュメント: 業務フロー L1、L3のレイアウト 各アプリケーションのI/O仕様 シェルスクリプト(コメントいっぱい)© usp lab. 2011 22
  • 23. つづきはWEBで ・この後の懇親会などで質問してください ・コミュニティもあるよ USP友の会 usptomonokai.jp© usp lab. 2011 23
  • 24. 3.立ち上がれ、 「義理・人情プログラマ」© usp lab. 2011 24
  • 25. ユニケージ開発手法が目指すもの ・「義理」と「人情」と「コンピュータ」  技術の力でハッピーを広める  全方位的なスピードが必須  ソフトウエアの生産性だけでなく、 「人間力」も重視 →自律と協働 的確で明るい表現力 良い人間関係を築く力© usp lab. 2011 25
  • 26. USP研究所の現在 ・所在地:東京都港区西新橋 ・社員数:21名(うちエンジニアは10名) ・年齢層:21歳~76歳© usp lab. 2011 26
  • 27. USP研究所の現在 ・本業の他、農業支援、伝統工芸品の 販売、出版、コミュニティ活動なども ・会社は自分のため、世の進歩のため、人を守るため ・「自律と協働」ができる人材育成© usp lab. 2011 27
  • 28. エンジニアにまつわる状況(その1) ・楽しいプログラマがいなくなった (致命的問題) ・プログラマから失われた2つの力 ①自分で一からプログラムを書く力 ②パーツではなく、システムとして 動くプログラムを書く力© usp lab. 2011 28
  • 29. エンジニアにまつわる状況(その2) 三悪 1.顧客・開発会社: エンジニアを奴隷のように扱う 2.草食系エンジニア:暗くて不健康 3.ゼネコン体質業界: 甘やかしとピンハネでエンジニアを蝕む 世界を見渡しても、 エンジニアの地位が低いのは日本だけ© usp lab. 2011 29
  • 30. 原始、エンジニアはスターであった ・エンジニアは、ハッピーメーカーだ! 技術の力で世の中に大きな影響を及ぼす (人/会社/社会) ※スター(=正義の味方)の一例: スーパーマン(ドジな新聞記者) スパイダーマン(ぱっとしない学生) 只野仁(冴えない課長) エンジニアであることは、スターの入り口に立ったも同然© usp lab. 2011 30
  • 31. 事態を打開するには →圧倒的な生産性の高さを武器に戦おう メーカー視点 ユーザ視点 開発生産性= プログラム システム効果 要求仕様 業務ニーズ スキルを磨く 少人数でできる コミュニケーション ユーザーとの すぐできる 正のスパイラル 距離が縮まる 業務や変化が 提案力+行動力 わかる 業務の理解© usp lab. 2011 31
  • 32. 自分たちにできることは何か? それは、小さな勇気と不断の努力 ・時間を作る。街に出る。身体を使う ・「わかっている」から「できる」になる ・自分から話しかける ・人の誘いを断らない© usp lab. 2011 32
  • 33. エンジニアのみなさんへのエール ・ココロの壁を破って、勇気をもって 一歩前に出よう! ・多くの人があなたの活躍を 待っている! ・世界的にも歴史的にも、 尊敬されるのは「世の中」のために 生きた人© usp lab. 2011 33
  • 34. 仕事へのモチベーションは情熱だ! ・技術の力で困っている人を助けよう ・夢や希望を一緒に実現しよう →心に響き合う「熱い思い」こそが 仕事へのモチベーションになる! 参考例) ブラックジャック(ココロに響かないと仕事しない) ゴルゴ13(クールだけど、基本的には上に準ずる)© usp lab. 2011 34
  • 35. お金について、どう考えるか お金を払う方が「ゴメンナサイ」と謝る ・自分で出来ないことを人に頼む ・感謝の気持ちを「しかたなく」お金で表す お金を払うほうが「エライ」→ 仕事が金の毟り合いに堕落© usp lab. 2011 35
  • 36. 「作る側」と「使う側」の正しい関係 業務とシステムは表裏一体 →システムは業務にある (コンピュータは道具にすぎない) システムを語る 業務 = コンピュータを理解する コンピュータ システム プログラム 業務(システム)と ユーザー 社風を深く理解する エンジニア© usp lab. 2011
  • 37. 技術の力で、「信頼社会」を取り戻す 信頼社会のベース ①開かれたコミュニケーション ②各自が高品質な仕事を提供© usp lab. 2011 37
  • 38. 技術の力で、「信頼社会」を取り戻す ・お金、契約、資格、制度は信頼の「代わり」 ・信頼を取り戻すために →まずは自分が信頼されること →質の高い仕事をきっちり仕上げること →技術力を磨くこと 一人でも多くの人が 信頼に足るレベルに達することが パワーになる© usp lab. 2011 38
  • 39. 日本的なものを追求すると「Agile」になる 従来 Agile 日本的価値観 プロセスや チームワーク 個人と相互作用 ツール シンクロ 包括的な 動くソフトウェア 実利主義 ドキュメント 契約交渉 顧客との協調 和をもって尊し 計画に従う 変化への対応 現場力© usp lab. 2011 39
  • 40. 我唯足知(われただたるをしる) ×「現状満足」 ○様々な経験を通じて「足るを知る」 アジャイル実践は蜘蛛の糸© usp lab. 2011 40
  • 41. 賛同者・研究希望者・修行希望者は ご清聴ありがとうございました。 www.usp-lab.com© usp lab. 2011 41