タグ

ブックマーク / blog.livedoor.jp/lalha (21)

  • SIについて私が思ったこと。そしてSIerにおけるモダン開発について : 小野和俊のブログ

    ひとことで言えば、「レビュー文化は良くない」ということになるだろうか。 Slack導入、そして同時期に開始した服装の自由化、バイモーダルという考え方の浸透、AIやブロックチェーンを活用したPOC等の取り組みによって、SIerとしてのセゾン情報システムズは、社内の雰囲気もずいぶんと変わってきた。 しかし、こうした取り組みだけではどうにもならないものも少なからずあった。 そのひとつは、「悪い報告がしづらい」ことだった。 これは他のSIerでも同様のことが多いのではないかと思うが、問題プロジェクトに認定されると、品質管理部のモニタリングが強化されたり、第三者によるプロジェクト監査が始まったり、経営会議での定期的な報告が求められたり、何をやっているのかとレビューでこっぴどく叩かれたり、、、。 そうした責任感から、遅れをキャッチアップできるよう少しでもがんばろう、と励まし合う中で、それなのに四方から

    SIについて私が思ったこと。そしてSIerにおけるモダン開発について : 小野和俊のブログ
    hush_puppy
    hush_puppy 2017/04/12
    コードレビューはアドバイスとしては有用なのだけど、クソな指示してクソなコードにしないと通さないのがいたのはまいった。監獄実験か。
  • SlackをSIerに導入した話。そしてSIerの未来 : 小野和俊のブログ

    Slackを入れるとSIerはどうなるのか?」 しばらくブログを休んでいたので少しだけ自己紹介をしよう。アプレッソというベンチャー企業を立ち上げて、セゾン情報システムズという会社にexitした。そしていまはアプレッソの社長として仕事をする傍ら、セゾン情報システムズのCTOの仕事もしている。どちらかというといまはセゾン情報の仕事の比重が高いから、リアルの世界では「セゾン情報の小野」と思っている人の方が増えてきていると思う。 「このままでは、SIに未来はない。だから変わらなければならない。」 「当社の社員は言われたことしかできない。」 SIerの経営者と会話していると、よくこんな言葉を耳にする。 自分たちの未来を悲観している人たちが、未来を明るくできるのだろうか? だから私は、喜びと驚きのポジティブスパイラルで、SIerはどんな風に良くなるのか、壮大な実験をしてみようと思った。 その第一弾と

    SlackをSIerに導入した話。そしてSIerの未来 : 小野和俊のブログ
    hush_puppy
    hush_puppy 2016/11/29
    泣ける話。チーズを与えることで次はボトムアップでミルクを要求するようになればいいな。その要求が消えるか出てこないルートを特定して出るようにしないとか。/この手の逸話はリーンエンタープライズ面白かった。
  • わたしのバイモーダル戦略 : 小野和俊のブログ

    このところ知人からよく、「小野さんはプログラマーから経営者になった」と言われる。これはまさにその通りで、かつてソースコードを美しくリファクタリングすることに情熱を燃やした私は、いまは組織をより良いものにしていくことに情熱を燃やしている。つまりリファクタリング対象がソースコードから会社に変わったのだ。 そんな私が今やや苦戦しつつもやりがいを感じて取り組んでいるのが、「2つの異なる文化の共存協調」だ。具体的には、大企業的な文化とベンチャー的な文化を共存させ、かつ協調させようにしようとしている。ウォーターフォール的な文化アジャイル的な文化の共存協調、と言い換えることもできるだろう。 アプレッソでかなり自由にやってきた私にとって、当初、セゾン情報の動き方は不慣れであり、また動きが遅く感じることもあった。だが少しすると、こうした動き方や文化にも相応の合理性があり、アプレッソで取り入れることが望まし

    わたしのバイモーダル戦略 : 小野和俊のブログ
    hush_puppy
    hush_puppy 2016/07/21
    なるほど、混ざらないようにガーディアンがいるのか。
  • レジリエンスについて : 小野和俊のブログ

    レジリエンスという言葉が話題になっているのを見て懐かしく感じている。 私がWoWで学んだことは数多くあるが、レジリエンスもその一つだった。 この記事から引用すれば、企業や個人にとってのレジリエンスとは次のようなものだ。 「何かが起きることは間違いないから、その変化とそれによって受けるダメージに耐え、吸収し、そして次の新しい均衡環境(=成長もしくは衰退)につなげられるようにしよう(=レジリエンス)」 「一撃で致命傷を負わない能力」 が想起される。その後仕様が変わったようだが、WoWにおいて初期のレジリエンスとは、敵からクリティカルヒットを受ける確率を下げ、またクリティカルヒットを受けてしまった時のダメージ(クリティカルダメージ)を軽減するもので、対人戦で最も重要なパラメーターだった。 致命傷を負って立ち直れなくなればもう勝負に勝つことはできないが、ダメージを受けても致命打は受けず生き残ってい

    レジリエンスについて : 小野和俊のブログ
  • HRTの原則 〜ソフトウェア開発はバーでしっとり語り合うように 〜 : 小野和俊のブログ

    「HRTの原則」という言葉をご存知だろうか。 これは書籍 Team Geek ―Googleのギークたちはいかにしてチームを作るのか で紹介されている言葉であり、書ではほぼ一冊すべてをかけてこのHRTの原則とその実践方法とを様々な角度から紹介している。 1. 謙虚(Humility) 2. 尊敬(Respect) 3. 信頼(Trust) の3つの価値が大切にされており、エンジニアとしてもチームや組織、顧客との対話においてこれらの価値を重んじていくことが成功につながる、というものである。 あらゆる人間関係の衝突は、謙虚・尊敬・信頼の欠如によるものだ Team Geek p.15 プログラマとして成功するには、最新の言語を覚えたり高速なコードを書いたりするだけではいけない。プログラマは常にチームで仕事をする。君が思っている以上に、チームは個人の生産性や幸福に直接影響するのである。 Team

    HRTの原則 〜ソフトウェア開発はバーでしっとり語り合うように 〜 : 小野和俊のブログ
    hush_puppy
    hush_puppy 2014/04/07
    銃を突きつけながらコードレビューすればいいのか。HRT(Hostage Rescue Team)は過酷だな。
  • コードレビューについて : 小野和俊のブログ

    伊藤直也さんが「些末なコードレビュー」というエントリを書いて話題になっている。このエントリで伊藤さんはコードレビューの話と、はてなJavaScriptの話と2つの話題に触れている。前者のコードレビューについてはアプレッソでは8年ほど前から「コードレビューを通っていないコードはコミット不可」というルールですべてのソースコードに対してコードレビューを必須にしてきた関係で私も思うところがあるので、エントリを書いてみようと思う。 伊藤さんが例示しているように、インデントやreturnの省略などの話は好みの問題であり、議論してもソフトウェアの改善につながらない。なのでコードレビューでこうした宗教論争が起こるようなら、コーディング規約を見直すべきだ。「無駄に悩んだり議論したりすることを減らす」ことはコーディング規約の主たる効果のひとつだと言える。 コードレビューに慣れないチームが、何の考えもナシにコ

    コードレビューについて : 小野和俊のブログ
  • 人生のパフォーマンスチューニング : 小野和俊のブログ

    プログラマーはソフトウェアを開発する際、無駄な処理や非効率的な処理を極力排除しようとする。この意味においてプログラマーは処理の効率化の専門家であると言える。ならば私たちプログラマーはソフトウェアだけでなく、自分自身の人生についてもパフォーマンスチューニングできるはずだ。 プログラムでしばしばパフォーマンスのボトルネックになるのは、「ループの中の処理」だ。例えば10万行10列のデータを1列ずつ処理していくようなループ処理の中身を1ミリ秒速くすれば、全体で約16分の速度向上が見込める。 人生においても、実行頻度の高い処理はパフォーマンスチューニングの効果を得やすい。 例えば職種を問わず毎日2回ずつ実行される処理として、通勤がある。通勤のチューニングにより、営業日が月に20日だとして、もし通勤を片道30分短縮できれば、月20時間の時間を得ることができる。具体例として私の場合、「通勤を徒歩10分以

    人生のパフォーマンスチューニング : 小野和俊のブログ
  • エンジニアの成長と「快適な職場」について : 小野和俊のブログ

    「時間あれば軽く飲んでいきます?」 一年前のちょうど今くらいの季節に、Diablo3のオフ会の後に伊藤直也さんと2人で新宿三丁目のバーに向かった。 伊藤さん曰く、 「グリーにいたとき、すごく優秀な人がいて。お願いしたいことを短い言葉で伝えるだけで、行間を読んでこちらがやりたいことを全部理解して、必要な指示を出して自分も動いてあっという間に成果を出しちゃう。」 一般に、エンジニアの楽園のような職場 - 快適で自由闊達に意見が言えて、技術力があり、それぞれが自主性を持ってのびのびと仕事をしている職場の方が、エンジニアは良いアウトプットを出せるし、類は友を呼んで優秀なエンジニアが集まってきやすい。これは確かなことだろう。ただ、エンジニアの成長を考える時、そういう職場は当に理想的なのか、という点については、少し立ち止まって考える必要がある。 人の成長には、明るく楽しく周囲も優秀でコミュニケーショ

    エンジニアの成長と「快適な職場」について : 小野和俊のブログ
    hush_puppy
    hush_puppy 2013/06/06
    ありそう。でも結局、自分自身を振り返ると、快適な時期のほうが伸びてるなあ・・・
  • 硬直化を避けるために希望を語る : 小野和俊のブログ

    昨夜は某SIerの方々と飲んだ。 企業の大小に関わらず、大企業病的なものがあるけど、 どんな感じですかねぇ、と、そんな話になった。 問題が起きた時、これは誰のせいなんだという話になってしまうと、 萎縮して自分で手を上げることができなくなってしまう。 それで動きが鈍くなってしまうことが多々ある。 ひとつ希望が持てるのは、自社では、取締役がやるんだ、と 言ったことについては、未知の領域やリスクのある領域についても 突き進んでいくことができる企業体質があること。 しかしこれはこれで別の問題が浮上してきている。 それは、「取締役が言ったんだから」という言葉を盾に、 踏み込んで考えたり、創意工夫したりすることをせず、 思考停止してしまう人がいること。 それでね、私はこうするようにしてるんです、とO氏は続ける。 何かやりたいという夢や情熱や興味を持っている人がいれば、 とにかくまずやってみればいい。

    硬直化を避けるために希望を語る : 小野和俊のブログ
  • レガシーコード改善ガイド : 小野和俊のブログ

    以前からパラパラと部分的には目を通していたレガシーコード改善ガイドを、週末に最初から最後まで通して読んだ。 テスト駆動開発入門(以下TDD)がゼロからテスト駆動でソフトウェアを開発するための方法を示した書籍であるのに対し、書はテスト駆動で開発されなかったソフトウェアを、後からテスト駆動に変えていく方法を示した書籍である。書の定義によれば、最近開発されたソフトウェアでも、テストコードのないコードはレガシーコードであり、そのレガシーコードを改善し、レガシーコードでなくしていくための道筋を提示するのが書の目的だ。 TDDに興味は持ったものの、自分たちのソフトウェアはすでに完成してユーザーに使われており、今からTDD化のためだけに大きな予算や工数を取るわけにもいかず、「TDDは良いと思うけれど、次のプロジェクトから」という結論に落ち着いた事例を目にしたことがある人は少なくないだろう。そして

    レガシーコード改善ガイド : 小野和俊のブログ
  • Metro UIは「UXアプリ養成ギプス」 : 小野和俊のブログ

    昨日、今日とWindows Developer Days(WDD)に参加してきた。二日間セッションに参加して感じたのは、「Metro UIは『UXアプリ養成ギプス』だ」ということである。 デザインの原則がある。 例えば原則のひとつに、”Content before Chrome”というものがある。これは、「コンテンツを主役にし、ツールバーやメニュー等のコンテンツへの没入を妨げるものは最小限にする」というものだ。 こうしたデザインの原則やガイドラインがきちんと決められている、ということは重要なことではあるが、それ自体はさほど驚くべきことでもない。先日ブログに書いたように、最近の主要なプラットフォームには、大抵UX/UIのデザインガイドラインが定められているからだ。 では私が何に驚いたかというと、Metro UIではこのデザインガイドラインが「半強制」されていることだ。 UX/UIに意識の高い

    Metro UIは「UXアプリ養成ギプス」 : 小野和俊のブログ
  • UX/UIデザインガイドライン : 小野和俊のブログ

    このところ、アプレッソの中でも、MIJS製品技術委員会でも、自分たちのソフトウェアのUX/UIをブラッシュアップしていくためにどんなことができるのかをディスカッションしている。 UX/UIデザインガイドラインとして各社の推奨する指針をまとめたものがWebで公開されているので、プログラマーであれデザイナーであれ、ソフトウェアの画面設計に何らかの形で携わるのであれば、基礎知識として主要なものには目を通し、プログラマーがデザインパターンの用語で手短にコミュニケーションが取れるのと同じように、「ここは○○ガイドラインの△△パターンを使うのはどうかな?」というような会話ができるようにしていきたいと思っている。 ■ Apple ・アップル ヒューマンインターフェースガイドライン ・iOSヒューマンインターフェースガイドライン(PDF) ・iPadヒューマンインターフェースガイドライン(PDF) ■ M

    UX/UIデザインガイドライン : 小野和俊のブログ
  • ブラウザ三国志の課金システムを振り返る : 小野和俊のブログ

    1年前に一度引退宣言をしながらも、諸事情により完全には引退せず、先日まで隠居の身で細々と活動していたブラウザ三国志を、4/4の17鯖6期終了のタイミングで完全引退しました。 よく、「ソーシャルゲームゲームとしてクソ。金ばかり取ろうとして面白くも何ともない。」というような意見を耳にすることがありますが、この指摘については私は2つ意見があります。 確かに現在のソーシャルゲームはコンシュマー機向けの一般のゲームPC向けのゲームと比べるとゲームとしての完成度は高くないが、現状はまだ黎明期であり、これだけお金も人も動いている世界なので、これから進歩しないと考える方が不自然。現時点でもブラウザ三国志のようなゲーム性だけ見ても従来のコンシュマー機に劣らないものもある。 「もし自分が運営する側だったら」と想定してみると、今でも運営する側はどんなアクションに対してユーザーはどのように反応するか、という人

    ブラウザ三国志の課金システムを振り返る : 小野和俊のブログ
  • SIerでのキャリアパスを考える勉強会に参加してきた : 小野和俊のブログ

    このところ「SIerの今後について」というテーマについて、意見を求められたりディスカッションしたりすることが多く、またエンタープライズ業界に身を置く立場として、売り上げ比・人口比とも業界の大半を占めるSIerが今何に取り組んでいて、今後どのようになっていくのか、というのは私自身関心のあるテーマなので、昨日は「SIerでのキャリアパスを考える」勉強会に参加してきた。 というわけで勉強会の中で印象的だったことや考えたことを書く。 勉強会の前半パートではゆもとさんによるSIerの現状分析、ひがさんによるSIerの中でのキャリア戦略が話題に上り、その中でも特に「上流と下流が工程分断されている」ことが現状のSIerを取り巻く諸問題の元凶、という指摘があった。 この「分断」については、中島聡さんの「ソフトウェアの仕様書は料理レシピに似ている」というエントリが有名だが、今回の勉強会でのゆもとさんの資料

    SIerでのキャリアパスを考える勉強会に参加してきた : 小野和俊のブログ
  • dankogaiさんへの返信 : 小野和俊のブログ

    昨日、「メンテナビリティの高いソースコードを目指して」というエントリを書いたところ、dankogaiさんから、「コードも見せていないお前にコードを語る資格はない」と怒られてしまったので返信エントリ。 実はブログを初めて1,2年くらいの頃はコードを含むエントリをそこそこ書いてたのですが、プログラマーでない知人から「何の話か全然わからなかった」と言われ、またdankogaiさんも指摘している通り、「コードについて書く方がコードを書くより読まれる現実」があり、コードを含むエントリはJava Programming Tipsという別のブログに移した経緯があります。 ではどこに力を入れているかというと、私が一番力を入れいてるのはDataSpiderという商用ソフトウェアの設計と実装ですが、これはアプレッソの50人の社員を10年間支えてきてくれているソフトウェアなので「はい、どうぞ」とソースコードをお

    dankogaiさんへの返信 : 小野和俊のブログ
  • 小野和俊のブログ:メンテナビリティの高いソースコードを目指して

    ソフトウェアを中長期にわたってメンテナンスしていく場合、メンテナンスしやすいコードと、メンテナンスしにくいコードとの間には、同じ機能を実現していたとしても、その価値には雲泥の差があります。 メンテナンスの容易さを示す言葉として、メンテナビリティ(Maintainability)という言葉がありますが、私自身、アプレッソでDataSpiderを11年間開発・メンテナンスしていく中で、「この人の書いたコードは当にわかりやすいし無駄がない」とメンテナビリティの高いソースコードに感心させられることもあれば、「急いでいたとはいえ、このソースコードはリファクタリングしないと・・・」と、メンテナビリティの低いコードがソフトウェアに混入してしまったことを嘆くこともありました。 このエントリでは、一のソフトウェアを11年間開発・メンテナンスしてきた経験から、ソフトウェアのメンテナビリティについて考察して

    小野和俊のブログ:メンテナビリティの高いソースコードを目指して
  • 小野和俊のブログ:罪悪感駆動開発(zaiakukan-driven development; ZDD)

    みなさんは罪悪感駆動開発(zaiakukan-driven development; ZDD)という言葉をご存知だろうか。私はつい先ほどまでこの概念を知らなかった。なぜなら先ほど自分で思いついたばかりだからだ。 仕事をしていく中で、やるべきことが山積みなのについネットサーフィンをしてしまい、「うわ、今日仕事全然進んでない、やばい」という罪悪感から、その後の仕事が妙に捗る、という経験をしたことがある人は少なくないだろう。 罪悪感駆動開発は、こうした危機感や罪悪感といった人間が来持っている感情を引き出すことで、より高い仕事の成果を上げていくことを志向する。 罪悪感を感じるポイントは人によって個人差があるが、一般に仕事中に罪悪感が高まりやすい充填行為として、次のようなプラクティスが広く認知されている。 (a) 昼寝 (b) ネットサーフィン (c) ゲーム (d) タイピングソフトでランキング

    小野和俊のブログ:罪悪感駆動開発(zaiakukan-driven development; ZDD)
  • 人を萎縮させるやり方はその人の価値を下げる : 小野和俊のブログ

    はてなの近藤さんのブログの「怒る必要などない」というエントリーで、京都ではてなと同じビルに入っていた歯医者さんの引退飲み会に参加して、引退する彼の「怒る必要などない」という話を聞いたことが紹介されている。 先生が30代の頃は毎日スタッフのミスをメモし、診察時間が終わるとそのスタッフを怒っていたそうです。ところがある時、「怒る必要などない」ということを悟り、対等な人間として接するように変わったそうです。それから入ったスタッフの方の多くは、10年以上も勤務され続けたそうです。怒るのは自分の自信のなさの現れである、と仰っていました。 私個人としては、社内で人のことを「○○君」と呼ぶことにも抵抗があるタイプの人間で、「上司が部下を○○君と呼んだりしてるけど、もし立場が逆転したらどうするつもりなの?」と素朴に思ったりしてしまうわけだが、取引先や社内の関係者に対して、冷静な言葉を保てず、怒ったり威圧す

    人を萎縮させるやり方はその人の価値を下げる : 小野和俊のブログ
    hush_puppy
    hush_puppy 2011/03/01
    「リスクに挑戦してくれてありがとう」「ミスを隠蔽しないでくれてありがとう」と逆に感謝するのはどうだろう。感謝はともかく、前者はGoogleみたいな企業、後者は人命が関わるような現場では重要なことらしい。
  • はてな伊藤直也氏MIJS講演「プログラマでいること」 : 小野和俊のブログ

    昨日MIJSのコンソーシアム内での技術発表会があり、理事会の方から「参加ベンダーの技術者が集まるイベントなので、技術者に元気を与えられるような人に講演をお願いしたい」という話があったので、はてな伊藤さんに講演をお願いした。 伊藤さんにお願いしようと思ったのは、伊藤さんなら、エンタープライズの世界にウェブの世界の元気な風を吹き込んでくれるのではないかと思ったからだ。 以下、私なりに講演の内容をまとめてみた。 ■「建物の建て方」 つくる対象がどのようなものかで、作り方は当然変わってくる。これは建物もソフトウェアも同じ。1階建ての格好良い小さなロッジを建てるのと、60階建ての安全で高品質な巨大ビルを建てるのとは方法も道具も異なる。ロッジを建てる時にはノコギリを使うが、巨大ビルを建てるにはクレーンを使う。 よくブログの世界でソフトウェアの開発について、ぜんぜん違うことをやっている人が同じ土俵で議論

    はてな伊藤直也氏MIJS講演「プログラマでいること」 : 小野和俊のブログ
  • プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ

    プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ

    プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ
    hush_puppy
    hush_puppy 2009/05/16
    書く時間を減らすのではなく、読む時間を減らすってことだろうか