SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Agile Japan 2011
        キーノートセッション2




                     立ち上がれ、
                  「義理・人情プログラマ」
                UNIX哲学原点回帰による
            「使う人」「作る人」の二人三脚開発のススメ
                         2011年4月15日
                  有限会社ユニバーサル・シェル・プログラミング研究所
                            當仲寛哲
© usp lab. 2011                               1
1.イントロダクション



© usp lab. 2011                 2
自己紹介

       當仲寛哲(とうなかのぶあき)
       ・昭和41年生まれ 44歳 おとめ座
       ・USP研究所代表(設立6年)
       →シェルスクリプトで、企業基幹システム
        「はやく、やすく、やわらかく」構築する
        ユニケージ開発手法を研究、実践、普及

© usp lab. 2011               3
経歴
       ・兵庫県加古川出身
       ・18歳で上京(バブル期の絶頂)
       ・学生時代→アルバイトで自活。不登校
       ・金欲しさ+やけくそ+自分探し
        →80以上の職を点々と
        →ガテン職業観
        →海外放浪39カ国
        →帰国したら研究室の椅子がなくなっていた

© usp lab. 2011                4
コンピュータとの出会い



       ・コンピュータは独学(金と就職のため)
       ・場末プログラマの哲学
        =正確なのは当たり前
         「スピードがすべてを解決する」



© usp lab. 2011              5
挫折の時代

       ・大学と反りが合わず、フェードアウト
        (敗北)
       ・コンピュータを捨て、商売の世界へ
       ・スーパーマーケットの食品売場で
        店員として働く
        (2年間で人間リセット)

© usp lab. 2011             6
人生の転機
       ・松田康之さんとの出会い
       ・松田さんから学んだ3つの教え
        ①情報は自らが引き出すもの
          コンピュータによって「情報化」されるの
          ではない
         ②ソフトより大切なのはデータである
          データを決して消してはならない
        ③どんなことがあっても、
          絶対に諦めてはならない
© usp lab. 2011                 7
偶然の再会

       ・27歳のときに偶然UNIXと再会
       ・UNIXの思想がガテンな感性とシンクロ
                     まずは作って動かす
                     小さな道具を組み合わせて問題を解決
                      (コマンドとパイプ)
                     データはテキストファイルで保存する
        →松田さん+UNIX思想=ユニケージ

© usp lab. 2011                           8
業務改革にコンピュータをフル活用

       ・金無し、権限なし、素人だけ
       ・工夫(頭)+情熱(胸)+ネアカ(腹)
       ←PCの劇的な性能向上
        &PC-UNIXが後押し
       ・経営方針転換によってリストラ
       ・再びフリーターに
        (37歳、二度目の敗北)

© usp lab. 2011              9
ゼロからの再出発


       ・USP研究所創立(38歳)
       ・何もないところから再出発
       ・悔しい思いを何回か
       ・本業と稼業とは峻別
       ・ひたすらチャンスを信じて待つ

© usp lab. 2011          10
良品計画との出会い

       ・基幹160システムを
        6名、半年で構築
       ・ 不要労働根絶と社内
         コミュニケーション
         強化を、技術の力で、
         実現

© usp lab. 2011       11
これまでの実績(一部)


      ・採用実績:約20社
      ・内製化、ローコスト化、組織改革の道具




© usp lab. 2011             12
2.ユニケージ開発手法の技術




© usp lab. 2011                13
UNIX思想を手法として突き詰める


       ・テキストファイル(L1-L5)
       ・自作コマンド(グルーテクノロジー)
       ・パイプを使いまくる
       ・お作法が大切


© usp lab. 2011             14
データ中心主義
       コンピュータシステムは、
       データの入出力をしているに過ぎない
                               入力系
                        ファイル          ファイル
       3つを                     発生             3つの間は
    シェルスクリプトで                                  すべて
       作成                                     ファイルI/F


                        利用     ファイル   整理

                  出力系                        整理系
                                                        15
© usp lab. 2011
テキストファイル(L1-L5)

                  Level1 (イベントデータ)   生データ

                   Level2(確定データ)     確定データ

                                     整理・集計
                  Level3(5W1Hデータ)
                                      データ

      Level4(アプリケーションデータ)            POMPA

                   Level5(出力データ)     帳票データ等

© usp lab. 2011                               16
個性的なコマンド群
       例)tateyoko :文字列の縦横変換
         mojihame:テンプレートに文字をはめこむ
         sem      :セマフォ操作
                   システムコールをコマンド化
         keycut :レコードをキー毎にファイル分割
         paraawk :並列処理
                   MapReduce日本版?


© usp lab. 2011                    17
シェルスクリプトでシステムを作る
       約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
パイプを使ってマルチコアを味方に
         シェルスクリプトのパイプ処理
          コマンド1 | コマンド2 | コマンド3 | コマンド4 | ・・・




                  コア1   コア2   コア3   コア4
                                          プロセス単位に
        CPU                               コア分散される
                         キャッシュ



     カーネルスケジューラの機能を素直に使う
© usp lab. 2011                                     19
一休さん方式(データが先)
    第1フェーズ データ整理              第2フェーズ アプリ開発

                   Level1             Level2
                   (生データ)             Level3

                   Level2          Level4
                  (確定データ)      (アプリケーションデータ)

                   Level3                 Level5
                  (5W1Hデータ)             (出力データ)
                              画面 帳票
                                                   20



© usp lab. 2011
床屋方式(2度開発方式)


      1次設計                 1次開発       2次設計      2次開発
                             +                    +
          業務の              リリース       便利機能
                                                リリース
           骨格と                         設計
          なる設計

                  短期間           少人月    短期間           少人月



                        業務重要度                業務重要度
                          7割                   3割

© usp lab. 2011                                            21
ドキュメント
       実用的かつ必要十分なもののみ
                  主なドキュメント:
                   業務フロー
                   L1、L3のレイアウト
                   各アプリケーションのI/O仕様
                   シェルスクリプト(コメントいっぱい)




© usp lab. 2011                         22
つづきはWEBで
       ・この後の懇親会などで質問してください
       ・コミュニティもあるよ




                  USP友の会 usptomonokai.jp
© usp lab. 2011                            23
3.立ち上がれ、
                  「義理・人情プログラマ」



© usp lab. 2011                  24
ユニケージ開発手法が目指すもの
       ・「義理」と「人情」と「コンピュータ」
                 技術の力でハッピーを広める
                 全方位的なスピードが必須
                 ソフトウエアの生産性だけでなく、
                  「人間力」も重視 →自律と協働

                    的確で明るい表現力
                    良い人間関係を築く力
© usp lab. 2011                      25
USP研究所の現在
       ・所在地:東京都港区西新橋
       ・社員数:21名(うちエンジニアは10名)
       ・年齢層:21歳~76歳




© usp lab. 2011                26
USP研究所の現在
       ・本業の他、農業支援、伝統工芸品の
        販売、出版、コミュニティ活動なども




       ・会社は自分のため、世の進歩のため、人を守るため
       ・「自律と協働」ができる人材育成

© usp lab. 2011                   27
エンジニアにまつわる状況(その1)

       ・楽しいプログラマがいなくなった
        (致命的問題)
       ・プログラマから失われた2つの力
         ①自分で一からプログラムを書く力
         ②パーツではなく、システムとして
          動くプログラムを書く力

© usp lab. 2011             28
エンジニアにまつわる状況(その2)
       三悪
                  1.顧客・開発会社:
                    エンジニアを奴隷のように扱う
                  2.草食系エンジニア:暗くて不健康
                  3.ゼネコン体質業界:
                    甘やかしとピンハネでエンジニアを蝕む

       世界を見渡しても、
       エンジニアの地位が低いのは日本だけ
© usp lab. 2011                          29
原始、エンジニアはスターであった
       ・エンジニアは、ハッピーメーカーだ!
                  技術の力で世の中に大きな影響を及ぼす
                  (人/会社/社会)

       ※スター(=正義の味方)の一例:
          スーパーマン(ドジな新聞記者)
          スパイダーマン(ぱっとしない学生)
          只野仁(冴えない課長)
   エンジニアであることは、スターの入り口に立ったも同然
© usp lab. 2011                        30
事態を打開するには
        →圧倒的な生産性の高さを武器に戦おう
                           メーカー視点    ユーザ視点
                  開発生産性=   プログラム     システム効果
                           要求仕様      業務ニーズ

    スキルを磨く                 少人数でできる   コミュニケーション

                                       ユーザーとの
           すぐできる           正のスパイラル     距離が縮まる

                           業務や変化が
     提案力+行動力                 わかる
                                       業務の理解

© usp lab. 2011                                  31
自分たちにできることは何か?


       それは、小さな勇気と不断の努力
                  ・時間を作る。街に出る。身体を使う
                  ・「わかっている」から「できる」になる
                  ・自分から話しかける
                  ・人の誘いを断らない


© usp lab. 2011                         32
エンジニアのみなさんへのエール
       ・ココロの壁を破って、勇気をもって
        一歩前に出よう!
       ・多くの人があなたの活躍を
        待っている!
       ・世界的にも歴史的にも、
        尊敬されるのは「世の中」のために
        生きた人
© usp lab. 2011            33
仕事へのモチベーションは情熱だ!

       ・技術の力で困っている人を助けよう
       ・夢や希望を一緒に実現しよう
       →心に響き合う「熱い思い」こそが
         仕事へのモチベーションになる!
       参考例)
        ブラックジャック(ココロに響かないと仕事しない)
        ゴルゴ13(クールだけど、基本的には上に準ずる)


© usp lab. 2011                    34
お金について、どう考えるか


       お金を払う方が「ゴメンナサイ」と謝る
       ・自分で出来ないことを人に頼む
       ・感謝の気持ちを「しかたなく」お金で表す


          お金を払うほうが「エライ」→
          仕事が金の毟り合いに堕落
© usp lab. 2011               35
「作る側」と「使う側」の正しい関係
       業務とシステムは表裏一体
       →システムは業務にある
        (コンピュータは道具にすぎない)

                           システムを語る
                  業務
                   =     コンピュータを理解する
                                       コンピュータ
            システム                       プログラム
                         業務(システム)と
                  ユーザー   社風を深く理解する     エンジニア

© usp lab. 2011
技術の力で、「信頼社会」を取り戻す



       信頼社会のベース
         ①開かれたコミュニケーション
         ②各自が高品質な仕事を提供



© usp lab. 2011           37
技術の力で、「信頼社会」を取り戻す
       ・お金、契約、資格、制度は信頼の「代わり」
       ・信頼を取り戻すために
          →まずは自分が信頼されること
          →質の高い仕事をきっちり仕上げること
          →技術力を磨くこと


                     一人でも多くの人が
                  信頼に足るレベルに達することが
                      パワーになる
© usp lab. 2011                     38
日本的なものを追求すると「Agile」になる
                  従来      Agile   日本的価値観
       プロセスや                   チームワーク
                       個人と相互作用
       ツール                     シンクロ
       包括的な
                       動くソフトウェア   実利主義
       ドキュメント

       契約交渉            顧客との協調     和をもって尊し

       計画に従う           変化への対応     現場力



© usp lab. 2011                             39
我唯足知(われただたるをしる)
       ×「現状満足」
       ○様々な経験を通じて「足るを知る」




                  アジャイル実践は蜘蛛の糸

© usp lab. 2011                  40
賛同者・研究希望者・修行希望者は




                  ご清聴ありがとうございました。
                   www.usp-lab.com
© usp lab. 2011                      41

Weitere ähnliche Inhalte

Ähnlich wie Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011

New Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューションNew Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューションmotani_kamakura
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2Takuya Nishimoto
 
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~leverages_event
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトuchan_nos
 
ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」Masaru Nagaku
 
opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1Takuya Nishimoto
 
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化Fujio Kojima
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということKazuho Oku
 
Software Engineering And Role of Agile
Software Engineering And Role of AgileSoftware Engineering And Role of Agile
Software Engineering And Role of AgileKenji Hiranabe
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門You&I
 
Xp Terakoya No02
Xp Terakoya No02Xp Terakoya No02
Xp Terakoya No02takepu
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラLeapMind Inc
 
Xp入門 ~これで分かる!究極のxp入門~
Xp入門 ~これで分かる!究極のxp入門~Xp入門 ~これで分かる!究極のxp入門~
Xp入門 ~これで分かる!究極のxp入門~takepu
 
Distributed Agile using UML
Distributed Agile using UMLDistributed Agile using UML
Distributed Agile using UMLKenji Hiranabe
 
The current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printingThe current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printingNaruhiko Ogasawara
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングYuya Unno
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTKiyoshi Ogawa
 
Cytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructureCytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructureKeiichiro Ono
 

Ähnlich wie Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011 (20)

New Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューションNew Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューション
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2
 
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~
【ヒカ☆ラボ】株式会社エアー様~ETLツール活用法について~
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
 
ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」ワークショップ「ゲーム開発チームにおけるパトレット」
ワークショップ「ゲーム開発チームにおけるパトレット」
 
最小セット
最小セット最小セット
最小セット
 
opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1opensource and accessibility (Dec2000) Part 1
opensource and accessibility (Dec2000) Part 1
 
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
 
Software Engineering And Role of Agile
Software Engineering And Role of AgileSoftware Engineering And Role of Agile
Software Engineering And Role of Agile
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
Xp Terakoya No02
Xp Terakoya No02Xp Terakoya No02
Xp Terakoya No02
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep Learningコンパイラ
 
Xp入門 ~これで分かる!究極のxp入門~
Xp入門 ~これで分かる!究極のxp入門~Xp入門 ~これで分かる!究極のxp入門~
Xp入門 ~これで分かる!究極のxp入門~
 
Distributed Agile using UML
Distributed Agile using UMLDistributed Agile using UML
Distributed Agile using UML
 
The current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printingThe current problems and future of the desktop Linux printing
The current problems and future of the desktop Linux printing
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニング
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWEST
 
Osc tokyo20141019
Osc tokyo20141019Osc tokyo20141019
Osc tokyo20141019
 
Cytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructureCytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructure
 

Mehr von Kenji Hiranabe

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication Kenji Hiranabe
 
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会Kenji Hiranabe
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsKenji Hiranabe
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyKenji Hiranabe
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceKenji Hiranabe
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XPKenji Hiranabe
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and AgileKenji Hiranabe
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraKenji Hiranabe
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノートKenji Hiranabe
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションKenji Hiranabe
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Kenji Hiranabe
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDKenji Hiranabe
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabeKenji Hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Kenji Hiranabe
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now nessKenji Hiranabe
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsKenji Hiranabe
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age Kenji Hiranabe
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industryKenji Hiranabe
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upKenji Hiranabe
 

Mehr von Kenji Hiranabe (20)

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication
 
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XP
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and Agile
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear Algebra
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーション
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVID
 
Agile Ba with Covid
Agile Ba with CovidAgile Ba with Covid
Agile Ba with Covid
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now ness
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industry
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
 

Kürzlich hochgeladen

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Kürzlich hochgeladen (9)

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011

  • 1. Agile Japan 2011 キーノートセッション2 立ち上がれ、 「義理・人情プログラマ」 UNIX哲学原点回帰による 「使う人」「作る人」の二人三脚開発のススメ 2011年4月15日 有限会社ユニバーサル・シェル・プログラミング研究所 當仲寛哲 © usp lab. 2011 1
  • 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
  • 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