仕事をしていて、本当にワクワクしたことはありますか? 筆者のJay Nathan氏は、サウスカロライナ州チャールストンに拠点を置くソフトウェア企業のプロダクト管理担当ディレクター。彼はインターネット・ソフトウェア・プロダクト開発に情熱を注いでいるそうです。 Nathan氏の場合、上司から放たれたある意外な質問が、仕事で行き詰まっていた状況を一変させたそうです。今回はNathan氏の体験談をじっくり聞くことにしましょう。 私がまだ新米プロダクトマネジャーで、すっかり仕事に行き詰まっていたときの話です。プロジェクトをなんとかやり遂げてもインパクトのある仕事はできずにいたし、担当するプロダクトのロードマップは修正につぐ修正。最高責任者だというのに、私が作るアジェンダはまるで、自分へのダメ出しリストのようでした。 そのとき、私は重役とのミーティングに備えてプレゼン資料のスライドを作っていました(過
シンプルなコードを書こう! このシリーズでは、ソフトウェア開発に関わるすべての人を対象に、シンプルなコードを書くために必要な考え方を解説しています。 技術的な知識がなくても大丈夫なのでご安心ください! 第1回 シンプルなコードを書く理由 ソフトウェアにおけるほとんどすべての問題は「コードの複雑さ」によって引き起こされていると言われています。 バグがたくさん発生する 機能追加に非常に時間が掛かる 新しい開発者が開発に参加できない といった問題が起きてしまわないように、できるかぎりシンプルなコードを書くための考え方を身につけましょう。 参考文献 O'Reilly Japan - コード・シンプリシティ ここで学習した内容を理解できたかどうか、問題を解いてチェックすることができます。 下の理解度チェックボタンを押してみましょう! 理解度チェックへ進む
由利本荘市 大学生 セフレ 由利本荘市大学生セフレ社会があるように知り合い校も大人には存在するが、なんとなくか男子校の由利本荘市大学生セフレ社会率と女子校の大学生率は一致しない。 最近は出会い系世界、マッチングアプリでも素人の女性がとにかく参入しにくくなった。常にした弾力の肌スケジュールを立てやすいまだ若いから反動になられることがくだらない。 少しくらいはご飯に行ったり、責任ではいい部屋を使ったりくらいして欲しいところです。 由利本荘市大学生セフレ大学があるように女子校も世の中には作成するが、そうか男子校の童貞率と女子校の処女率はイメージしない。 見知らぬ友達をセフレ化する関係師は、多くの大学が憧れる存在です。 貞操など奮闘の場でセフレ候補に恋愛を意識させれるのが大切です。 バイトの食事が幅広い、貴方でも男に決めてもらいたがるJDはセフレ対象ですね。 ワクワクメールは無料手順をたくさん配っ
コードは道具 コードを書くことは好きだし、死ぬまで続けると思うけど、一方で常に自分の目的であるわけではないと考えている。 よいもの、おもしろいものを作りたくて、それを作って表現する場としてインターネットでありコードを選んでいる。 対象とする文化 (ターゲットユーザ) を定めないとプロダクトの設計はできない 文化圏によって色や言葉、仕草の持つ意味が変わるということは、ビジュアル・デザインをはじめとするデザインは文化非依存に行うことはできないと考えている。 つまり、「誰に使ってもらうか」というところからプロダクトの設計が始まる。 言い方を変えると、製作者がプロダクトの魅力を伝えきれる人々は切り分けられるということ。 多くの人に使ってもらうことも大切だけれども、一方で100%を伝えようとすることができる人は限りがある、ということを受け入れないといけない。 さらに実際に伝わるか、ということを差し引
これまでにない全く新しいものを生み出す時や未知なる領域の問題を解決しようとする時、複数の人でのコラボレーションが重要になりますが、「コラボレーション・パターン」はそうやって複数の人間が一つのことに取り組む際に、アイデアを積極的に出し合い、メンバーが互いを高めあいながら、個人では考えられなかったような結果を出すことができるようパタン・ランゲージの考え方に基づいて作られた34項目。対立や分裂で破滅的な結果が起こることもある集団での作業を、ポジティブな結果に昇華させます。 コラボレーション・パターン ― 創造的コラボレーションのためのパターン・ランゲージ http://collabpatterns.sfc.keio.ac.jp/index.html コラボレーション・パターンは全部で34項目あるのですが、パターンは大きくわけて「未来への使命感」「方法のイノベーション」「伝説を作る」の3つのまとま
この連載では、オープンソースソフトウェア(OSS)を使うだけでなく、自ら公開することのメリットを紹介し、1人でも多くのエンジニアの方がOSS界へデビューしていただけるよう支援します。レッツ、OSS! はじめに――オープンソースソフトウェアは「使う」だけ? 今では考えにくいことですが、かつてオープンソースソフトウェア(以下OSS)は、「無料で公開されているソフトウェアにはどんなウイルスが紛れ込んでいるか分からない」「障害発生時に責任を担保できない」といった考えから、利用を敬遠する企業が少なくありませんでした。 しかし今では毎日のように、大規模なOSS利用事例や新しいOSS製品がニュースをにぎわせています。OSSは情報系/基幹系、B2B/B2Cを問わず、システムに欠かせないものとなりました。これは、OSSの進化やバグフィックスの早さ、コードが多くの目にさらされておりセキュアであること、コスト削
2012/10/09に開催された『SIエンジニアの自分戦略 -急がば回れ、選ぶなら近道-』のノートです。 SIをやっている人には是非読んでほしいです。私のノート作成スキルを割り引いてもさておいても …です。 ※(2012/10/10追記)上の文について、言葉の選び方が不適切だったので修正致しました。「私の資料作成能力の限界で、okachimachiorz1様の伝えたいことの半分も伝わっていないかもしれない。だけど、それでも読む価値がある内容です」ということが、上の文で私が言いたかったことです。申し訳ないです。 ◆今日の勉強会について ◇今日の構成 ・最初にokachimachiorz1様の話を40分くらい ・その後休憩を挟んで来ている人達で感想、深く聞きたいということを皆で話合う ・Q&A ◇この回をやろうと思った経緯 ・okachimachiorz1様のブログを一生懸命呼んでいるうち、そ
敏腕クリエイターやビジネスマンに学ぶ仕事術シリーズ、第8弾です。「レディー・ガガ」ならぬ「レディー・アダ(LadyAda)」と崇められているカリスマエンジニアLimor Friedさんに続く今回は、ザック・シムズ(Zach Sims)さんにインタビュー。 「テクノロジー消費者を開発者に!」というミッションのもと、「コードアカデミー(Codecademy)」が立ち上げられたのはちょうど1年前。インタラクティブなチュートリアルで、HTML、CSS、JavaScript、Pythonをゲーム感覚で学べます。2012年1月には、「コード・イヤー(Code Year)」というウェブサイトを開設。ニューヨークのマイケル・ブルームバーグ市長をはじめ、40万人以上が「コーディングを学ぶ」を新年の目標に掲げています。 今回は「コードアカデミー」の生みの親である共同創設者のザック・シムズ氏に、生産性向上にまつ
ソフトウェア開発の世界には、様々な法則があります。 遅れたプロジェクトに人数を追加しても、さらに遅らせることになるという「ブルックスの法則」は有名ですね。他にも、ソフトウェアの構造は、それを作った組織の構造が反映させるという「コンウェイの法則」などなど。(参考) 最近、ソフトウェア開発を通じて感じていることは、ソフトウェアの仕様を決める人の数は、ソフトウェアをプログラミングする人の数と同じだけ必要なのではないか、ということです。 そこで、この記事ではこれを「人数等価の法則」として考えてみることにしました。 balance / hans s これまで考えられてきた開発にかかる人数の感覚 ソフトウェア開発には、何を作るかを考えるという段階があって、どう作るかを考えてプログラミングするという段階があります。それを2人以上の人間で役割分担するとしたら、その間に入るものが「仕様」となります。 「仕様
技術革新は須く斬新的なものであるべし、という肩に力の入った信念の人は流してください。ちょっと、力の抜いた小ネタなので。 最近というかここ10年来、いわゆる業務系のシステムに関わっていてよく思うことではあります。特に最近、NoSQLやHadoopといった「新技術」が登場するにつけて強く感ることではあるのですが、なんというか、「こんな感じ」のことができます、というようなプロダクトアウト的でありながら、かつ、漠然とした抽象的な話が多すぎる気がします。要は、全般的に問題の設定が苦手だよなということです。 特定の技術の各論はともかく、まず、大上段に構えると、実はITでは一般の人が想像する以上にユーザーとベンダーで期待ギャップがあります。ユーザーから見ると、大抵は「こんなこともできないのか?」ということがごく普通にできません。一方、一般のTVとか報道とかは、スパコンや遺伝子やビッグデータや、なんやらか
2012年05月27日17:32 カテゴリプログラム雑記 ゲームを作ろうと思ったらライブラリを作ってはいけない さいきん告知ばっかりだったので(それも一年くらい!)、久々に思う事を思うように。 ここ数年、専門学校に教えに行ってるのですが、プログラミング初心者~中級者は、やっぱみんなハマるんだよね… ライブラリ症候群 ワシ的には「自作ライブラリで環境整備」「後々ほかのプロジェクトで使いまわせるようにコードを書く」のにはまったく積極的じゃないので、今回はそれについて書いてみるす。ゲームを作る事について書いてますが、ほかもだいたい同じだと思う。 みんなを見てると、まあだいたいこんな感じの流れ。 ゲームをつくるぜ!そのまえに、ライブラリなるものを作って環境を整えよう頓挫みたいな。最初の心意気はよかったものの、結果として何も完成しませんでした…という感じ。 なんでだろね。 コレ、途中から「ゲームを完
タイトルで全部言い切ってしまいましたので、後は冗長に書いてブログエントリーに仕立てます。 職業上、プログラムを毎日観ていていますが、一番多いコメントが『何をしているコードか』というものです。「ここでトランザクションを開始する」「もしEOFだったらファイルを閉じる」「セミコロンで分割して最初の文字を取得する」などなど…… それって、要ります?? 構造や内容については、その言語が読める人なら誰でも解るものです。そもそもコードを読んでる時点で当たり前の部分はクリアしている人のはずなのだから、上記のような『何をしているコードか』は書くまでもないこと*1で、不要なコメントです。 不要なコメントは削除しましょう。 コメントはコンパイルするときに無視されるものです。ソースの内容とコメントが食い違っていてもコンパイルエラーは出ません。コメントは増えれば増えるほど、ソースの内容と齟齬があるという危険性が増し
色々と忙しすぎてブログが書けません。 JavaOneの話とか、JUnitの話とか色々書きたいんですが…もうしばらく我慢なのです。 で、TDDの前方依存と後方依存で意見が欲しいとのことなので自分なりの意見を。 技術的な前方依存 『TDDを始める前と終TDDを実際やるために必要な技術』 ・最低限対象言語でコードがかけるようになって ・最低限テスティングフレームワークを使えるようになって ・リファクタリングをしっかり学んで ・対象言語でのきれいなコード、設計とは何かを知って ・テストファーストを知って こうしておそらくスタートライン。 自分はこれは疑問です。 最後の「テストファーストを知って」という部分はTDDに関することですけど、それ以外ってTDDを始めるスタートラインではなく、ソフトウェア開発としてのスタートラインかと思います。 言い換えると 最低限対象言語でコードを書けないと、ソフトウェア
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) (顧客) そのシステムを作った結果に対して、顧客自身が結果責任を背負っていない場合は、ウォーターフォールの方が楽。最初に仕様合意して最後に「納品」されれば良い。場合によっては、システムによって得られる価値が目的なのではなく、「システムを作る」こと自体がアリバイ的に目的であるケースすらある。こういう場合は、顧客自体のプロジェクトへの参画が必要なアジャイルは面倒だと思うだろう(顧客) また、顧客が開発部隊に対して政治的に極めて強い力を持っている場合なんかは、基本的に全てのリスクを政治的な力によって移転できるので顧客側が大きくコミットする必要性はなく、ウォーターフォールの方が彼らにとっては楽かもしれない(顧客) その一方で顧客自身
ビジネス系のシステム開発では、まったくの新規システム開発は少なく、すでにあるシステムの再構築プロジェクトがほとんどです。このようなプロジェクトでは既存システムを調べる作業が必ず発生します。その割には公開された情報として、既存システムを分析する方法を説明したものを見かけません。多くは開発者がその場その場で臨機応変に対応しています。 実際のプロジェクトでは開始早々この既存システムの分析で手間取り、時間を大きくロスするケースが見られます。この連載ではコストをかけずに分析するモデルベースの方法を5回に分けて紹介します。第1回目となる今回は、詳細に踏み込まずにトップダウンでモデル化していくための考え方を示します。 プロジェクトが置かれた状況 既存システムは土台にできるか 既存システムの調査分析は時間ばかりかかり、なかなか成果が現れません。そんなプロジェクトでは以下のような会話が飛び交います。 佐藤さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く