Hatena::ブログ(Diary)

気になるITまわり RSSフィード

2011-05-22

[]スピード感

自分への戒めをこめて・・・

開発時のスピードとは?

ネットの求人を見ていると、ベンチャー系の企業ではやたらと「スピード感をもって」という標語が多く使われているのに気づきます。


なぜか?10年前に比べて、作り方によっては同じものが半分以下の時間で作れるようになったり、すごく専門的な知識を必要としていたものが、それほど多くの専門知識を必要とすることなく作れるようになってきたというのがあって、アイデアが出てきてから、そのアイデアを形にするまでの時間が勝負になっているというのがひとつの要因でしょう。


ただ、この「スピード感」という言葉には騙されていけないところがあります。スピード感の定義には簡単に考えて以下の二つがあって、それぞれの企業がどっちのことを言っているのか分からないと大変なことになりかねないからです・・・

  • 開発人数 × 開発時間
  • 開発人数 × 開発日数

ぱっと見では、そんなに違いがないように見えますが、大きな違いがあります。たとえば5日間で同じものを作ろうとした場合以下のような違いが出ます。

定義人数平均業務時間日数トータルコスト
開発人数 × 開発時間28580
開発人数 × 開発日数2125120

開発を依頼したほうからすれば、5日間で物が出来上がってくるという点で何も違いはありませんが、開発しているほうからすれば見え方がまったく違います。


社内でコスト計算する場合は、たいてい「開発人数 × 開発時間」を使いますが、なぜか、外へアピールするときは「開発日数が短い=スピード感がある」といって、裏の激務を隠します。


色んな話を聞きますが、ベンチャー系の場合は多くが「開発人数 × 開発日数」を「スピード感」と言うことが多いので、激務をしたくない人には注意が必要です。


ただ、IT系の企業に関しては、ベンチャー系のほうが技術力が高いということもおうおうにしてあるので、そのあたりも注意が必要ですね。

2011-05-16

[]残業にも色々ある

会社に入ってよくわかったが、残業にもいろんな種類がある。今日はそんな話・・・

普通の残業

残業代をもらって仕事をする普通の残業

自主的残業

若年層に多い。

「能力がなかったので、業務時間に終わらなかった」という口実の元、自主的に残業を申請せずに残業をする。

本人は良かれと思ってやっているが、そもそも法律違反。そして、「残業申請しない=作業時間がない」とのことになるので、今後のプロジェクトにおける工数の見積もりが悪化する恐れあり。

パワハラ的残業

SIer業界にありがち。

スケジュールがある程度順調に進んでいるにもかかわらず、プロジェクトメンバーの誰もが定時に帰らない。

そもそも、プロジェクト全体から、「定時に帰るなんてありえない」という雰囲気がかもし出されている。

メンバーから、「いや〜、昨日、xx時まで残業でまいっちゃったよ」とか地獄の三沢口調でいらぬ報告をされたり、定時で帰った次の日に「昨日、早く帰ったけど、帰って何してたの?」のような、いやみ的なことを言われる。

パワハラ残業

うえの「パワハラ的残業」が進化したもの。

プロジェクトの遅延がいちじるしく、赤字になっているために、残業代を出さずに残業をさせる。

言ってしまうと法律違反なので、やたらと怖い顔で「わかってるよね?」みたいな感じで無理やり残業をさせる。

自分の勤めている会社でこのパターンを見たことはない。

結論

長時間の残業や徹夜は頭の働きが悪くなるので、帰ってしっかり寝て次の日に少し早くきて仕事したほうが能率がいいことは誰でもわかっているんですが、それができないのもSIerだったりします・・・

結論としては、残業はなるべくしないほうがよい、残業代が出ないなんてもってのほかです、そういう場合は帰りましょう。

まぁ、残業を出さなくていいように、色々と仕掛け(裁量労働制給与に予め残業代を載せていたり)をしている会社もたくさんあるんですけどね・・・

2011-05-15

[]向上心のない人が残るSIerという業種

ここでいうSIerはいわゆるBtoBで、1次請けの案件が売り上げの多くを占める企業という前提にしたい。なぜかと言うと、2次請け、3次請けの会社はどちらかと言うと、自分の感覚だと、SEといよりはPGに近い職種になってしまうから。

SIerと残業

世の中のSIerのイメージは、やたらと残業だらけで徹夜をするという印象を持っている人が多いかもしれない。その通りだ。

一部のSIerでは残業するのが当たり前となっている。悪しき習慣だ。

SIerで働いている人の多くが、「残業するのは仕方ない」と思っているが、ただ、そんなSIerの中で働いている人でも、残業をものすごく毛嫌いしている一部の人達がいる。

どんな人達か?向上心のやたらと強い人達だ。自分の周りだと、特にITスキルに対して貪欲な人達。

彼らは、仕事を時間内に片付けられないのは、その人の能力不足だと考え、かっこ悪いことだと思っている。そのため、自分の仕事に関しても時間内に終わるようにスキルを磨く。そもそも、彼らは平日でも社外でOSS勉強会などに行くので、残業などもってのほかなのだ。

その一方で問題なのは「時間がかかってもいいから、終わればいいや」と考えてる人だ。

この層の人は「残業するのは仕方ない」と思っているので、時間内に仕事が終わるように、仕事以外で自分のスキルを磨こうとはしない。

はっきり言って、ITスキルを必要とする仕事で、ずっと一線で活躍をし続けるには、仕事だけからのスキル習得では到底無理だ。IT分野は日進月歩で、これを業務だけで追い続けるのは不可能な話なのだ。

どちらかというと、「残業するのは仕方がない」と思っている人のほうがかなり多いように思う。

確かに、「残業するのは仕方がない」というシチュエーションは存在するが、残業が常態化してしまうのは大きな問題だ。

向上心の強い人はSIerに残らない

自分の見てきた中だと、そういった向上心の強い人達は遅かれ早かれSIerを辞めていく。

そう、結局、「残業するのは仕方ない」と思っている人達が残るので、SIerから残業はなくならない。

はっきり言って、自分が見てきた中だと、お偉いさんたちは「残業をなくそう(少なくしよう)」とか言うけど、具体的な手は何もうたないし、たぶん、本気でなくそうとは思っていないと思う。

ただ、今まではそれでよかったかもしれないが、ここ数年の人間の質の変化と、社会の変化が大きいので、「残業するのは仕方ない」という文化を持ったSIerという業界は変わらないと廃れる一方になるだろう・・・

2011-05-11

[]町のIT屋さん

PCの疑問点どうする?

エアコンが動かなくなった、テレビが点かなくなった、さてどうする?

サポートセンターに電話をする、もしくは、近くの電気屋さんに電話をするってのが、よくある解決法でしょうか。

じゃ、PCのネットがつながらなくなった、エクセルマクロがわからない、こういった場合はどうするか?

PCに強い友人にヘルプを頼む?yahoo知恵袋に投稿する?そもそもネットにつながらなくなった場合、yahoo知恵袋には投稿できない。

PCがネットにつながらない場合、自分のPCが悪いのか、ルーターなどの機器が悪いのか普通の人には判断できない。ってか、たぶん自分も判断できない・・・

おそらく、サポートセンターに電話してもいらいらするだけだと思う。色んな話を聞いたけど、サポートセンターが素晴らしくて、サポートセンターをよく使うって人は聞いたことがない・・・。みんな、仕方なくサポートセンターを使っているだけだ。

幸い、自分の周りにはコンピュータに強い人が多かったのもあるし、自分がコンピュータの勉強をしてきたおかげで、なんとなく今までは解決してきた。いや、ひょっとしたら買い換えないと駄目だと思っていたものが、実は簡単に直っていたかもしれないが・・・

法律や、税のことに対しては、弁護士や税理士がいるのに、ITにはなぜそういう存在がないのか?

気軽にITのことを相談できる場所が、町にあったら結構いいと思うんだけどな・・・

2011-05-10

[]Pythonにおけるアクセス修飾子

しばらくPythonから離れていたので、細かいところを忘れていたのでメモ。

アクセス制限

PythonにはJavaのようにprivateとかprotectedみたいなアクセス修飾子がない。「_(アンダーバー)」による規則として扱う。

「_」のようにアンダーバーがひとつの場合は、オブジェクトの中で使用する変数。やろうと思えばオブジェクトの外からアクセスできるけど、あくまでクラスを作った人の意図を表すものとして使用する。

「__」のようにアンダーバーが2つの場合は、外からは簡単にアクセスできなくなる変数Javaで言うところのprivateみたいな感じ。

class Foo:
  def __init__(self, name):
    self._name = name
    self.__name = name

f = Foo('bar')
print(f._name)
print(f.__name)

一番下の行はエラーとなる。内部的な動きとしては__nameは難読化されてるだけで、アクセスしようと思えばできる。

2011-05-05

[]ITの限界

そもそもITってなんなんだろう?

WikipediaではITは以下のように定義されてます。

情報処理(コンピュータ処理)および情報伝達(通信処理)の、工学およびその社会的な応用技術の総称。

ITAAの定義では「特にソフトウェアによる業務やコンピュータハードウェアなど、コンピュータをベースとした情報システムの、教育、設計、開発、適用、実装、保守、管理」である。ITは電子的なコンピュータコンピュータソフトウェアを使用して、情報に対するセキュリティ、変換、保管、処理、転送、入出力、検索などを取り扱う。

Wikipediaの定義を見ていると、現在、ITの範疇に入らないものの方が少なく感じますね。それこそ昔ながらの方法でやってる農業とかそれくらいしか、ITの範囲から外れないような気がしてきます・・・

でも、たぶん、本当にその通りで、今コンピュータが入ってないものってほとんどないですよね。

ってことで、ここでは「IT=コンピュータ」という定義にしたいと思います。

自分が勝手にひいていた限界

今日、外をふらついていた時に、ふと、いやな場面に遭遇したんですが、それってITで解決できないのか?っと思ったんです。一応、IT関係の会社に勤めてたんで、普通の人よりはITに詳しいつもりなんですが、それゆえに何ができて、何ができないのか、っていうのはかなり敏感なんで、「あ、こりゃITじゃ解決できないな」と、瞬間的に判断したんです。

その時に、「あー、ITのことを、万能視してる人が結構いるから、ITの限界の話でも書きたいなぁ」と思った瞬間、「あ、さっきの解決できる!」と思ってしまったんです。直接的な解決策ではないんですが、ITが間接的にサポートすることで解決できると。

現状、ITで何ができないのか?

ざっくり言ってしまうと、たぶん、現状でITができないのは「人の行動を直接操作すること」「ひらめくこと」くらいなのかなぁと、色々考えて思いました。たぶんそれ以外のほとんどのことは間接的にITでサポートできるような気がします。

しかし、最近では頭で思ったことで義手を操作できたりとITの進歩は目覚しいので、そう遠くない未来に上に書いたようなこともできるようになってしまうかもしれません。ただ、「人の行動を直接操作する」ことなど、それが倫理的に本当にいいことなのかは、もっと議論が必要な気がします。

2011-05-03

[]もっとしっかりとリーチする大画面広告

大画面広告は誰が見ている?

新宿アルタの上の大画面テレビ広告や、渋谷スクランブル交差点から見えるいくつかの大画面広告、あれってたぶん広告出すのにかなりのお金がかかっていると思うんですが、どれくらいの人が真剣に見てるんでしょうか?そもそもそれだけの広告費をだす価値があるんでしょうか?たぶん、広告を出す側、広告を募集する側、共に、それなりに分析しているんでしょうが、結構微妙だと思ってるんですよね。なぜなら、自分の場合あれらの広告が印象に残らないから。

渋谷の場合、ある程度20代前後の女性っていう分かりやすいターゲットを決められると思うんですが、新宿アルタってどこにターゲットを置いているんでしょうか?まぁ、何かしらターゲットは置いていると思うんですが、そのターゲットにちゃんとリーチしているんでしょうか?

ターゲットが20代〜40代の人とか、それくらいだと何のCMを流すのが適切なんでしょうかね?そもそも、それくらいのターゲットが興味のあるものを絞れないような気がしています。

リアルタイムにターゲットを把握する

そもそも、今のターゲットの絞り方って古いと思うんですよね、調査の人とかを雇って女性がどれくらいで、男性がどれくらいで、年齢層がどうで、とか予備調査をやってるんだと思うんですが今更感が半端ないですよね。

で、リアルタイムにターゲットが把握できないものか?と思うわけです。だって今はほとんどがそうですよね?検索キーワードにあわせて広告が出たりします。(今、調べたらグーグルはいつの間にか検索結果に広告出さなくなってますね・・・)

じゃ、大画面広告でどうやってターゲットにリアルタイムにリーチするんだ?ってことですが、GPSとさまざまなソーシャルサービスを使います。

スマートフォンに広告用のアプリを入れておいて、大画面広告の前(どの範囲にするのかは検討の余地ありですが)にいる人をGPSで捕捉します、そして広告用のアプリに様々なソーシャルサービスにログインして情報を引っ張ってこれるようにします。今であれば様々なサービスがAPIを提供しているので可能です。たとえば、mixiFacebookはてな、last.fm、twitterなどなど。

これらのサービスから情報を取ってきて解析して、その場にいる集団の興味を分析するとリアルタイムにターゲットにリーチする大画面広告が可能になるはずです。このとき個人を特定する必要はありませんので、個人情報の類は一切収集しないようにしておけば、個人情報的にもそんなに問題にはならないでしょう。

これを応用すれば、テレビ売り場に行って、テレビの前に立つと、自動で自分の興味のあるチャンネルに変わって、それでテレビを選ぶなんてこともできるようになります。

さらに、このアプリを使っている人には、大画面広告の前にいるとリアルタイムで景品が当たるとか、そういった仕組みを用意すれば多くの人が使ってくれるようになるんじゃないでしょうか?

ネックになる個人情報

こういったサービスを考えるうえで、自分がいっつも考慮することがあります。それは「いかに個人情報を集めないか」です。個人を特定できる情報をなるべく使用しないようにするために、どういった仕組みを作るかをいつも考えています、個人情報は企業にとっては非常に厄介なもので、できれば持ちたくないのです。今回のソニー個人情報流出事件なんて最悪のパターンです。

後は間にいかに人間の手を入れないかです、人間がコンピュータに支配されるとき - 気になるITまわりでも書きましたが、人の手が入ると「自分に都合の良いように結果に手を加えているのではないか?」という余計な詮索をされてしまい、使ってくれる人が増えないからです。

使われるサービスというのは、機能も大事ですが、やっぱり使ってもらう人が気持ちよく使えるサービスというのが重要になると思います。