ベトナムオフショア開発 - ver. 2.0
オフショアプロジェクトでは
アトラシアン社の JIRA と Stash (Git レポジトリ)を
活用している
JIRAのチケットから
ブランチを作成し
チケットと紐づけたり
Stashから
プルリクエストしたソースコードに
インラインで
レビューコメントが書けたりと
何かと便利だ
JIRA、レビューコメント、コミットコメント
すべて英語で記述している
英語のよいところは
手厳しいレビューコメントを書いても
あまりカチンとこないところだ
日本人どうしだと遠慮してしまうような指摘も
(先輩のコードレビューとかは気をつかいますよね)
たとえば
英語だと命令形で
Remove this line. で済むところが
日本語だと
この行を消せ
この行を消してください
この行はいらないのでは?
この行は無い方が良いと思いますがどうでしょうか?
うー、めんどくさいw
ベトナム人も日本人も
英語ネイティブでは
ないので
よけいな婉曲表現は
不要だ
I'd like you to do that.
ではなく
Plz do that.
KISS Keep It Stupid Simple
プログラミング言語を書く様に
英語を書く
作業指示に
感情表現はいらない
Plz do that ;-)
ベトナムオフショア開発 - ver. 1.0
ここ何年かベトナムでオフショア開発に携わっている
ベトナム人、とても素直である
日本の若者なら、「すいません。俺、そんなつまんないこと無理っす。」と
言われてしまうような
つまらない仕事でも
彼らは、Yes, Sir! と言ってやってくれる
じつに、気持ちがいい
彼らは乾いたスポンジのようでもある
何でも興味を持って吸収してくれる
これまで膨大なドキュメントを書いてきた
ITにおいて彼らが知っておいた方が良いこと
日本人なら当たりまえすぎる(なのに知らない) こと
小学校の先生も、同じような気持ちなのだろうか?
ITの進歩は早い
彼らと仕事することで
逆に教えられることもある
お金以外のなにか
人にとって、とても大切なことを
教えてもらった
Done is better than perfect.
完璧より完成のほうがいい。
日本の技術のクオリティは世界一だ。
技術だけでなく、接客や、サービス
道路だって、街の奇麗さだって
電車は時間通りに来るし、
とにかく、すべてが perfect
一度、perfect な環境になれてしまうと、
サービスのレベルを下げるのは非常に難しい。
海外にいくとそのサービスレベルの低さに
いらっとし、帰国すると、ほっとしてしまう。。。
だが、不景気の昨今、この行き過ぎたサービスのレベルを
維持するのは非常にコストがかかり、
日本人全体が疲弊してしまう。
日本がグローバルで戦うには、このサービスレベルを武器にするという
考えもある。
だが、世界のほとんどの人は貧困層であり、
この貧困層をターゲットとしたビジネスをしなければ。
かといって、われわれの製品はフェラーリでもオメガでもエルメスの
ようなブランド価値もない。
ガラパゴス日本が生き残る策はあるのか?
なぜ日本人は英語が上達しないのか?
を考えてみた。
いろいろな原因があり
一概にこれが根本原因ってのはない。
ただひとつ最近感じるのは
残音
が大事だと。
例えば、友達に日本語で
「今日はあついね。」
と言われたとする。
おそらくほとんどの人は
「今日はあついね。」
を脳のなかでリピートすることができる。
友達でなく、両親や、恋人なら
その人の声、イントネーション等もふくめて
かなり正確に再生することができる。
さて、これが英語になるとどうだろうか?
ほとんどの人は出来ない。
相手のいったことを影のようにまねてリピートする
英語の練習方法
これをするには相手の話したことを脳の中に
残音
として残し
その脳の残音を聞きながら
声に出す。
さて、では残音を正確に脳に残すには
どうすれば良いのだろう。
それにはやはりフォニックス(音素)を
正確に脳に学習させる必要があるとおもう。
r, lの違い
hot, hat, hutの違い
それらを正確に聞き分けることで
残音の精度をあげ
ディクテーションの精度をあげること
おそらくこれは赤ん坊が母親のいう言葉を
学ぶプロセスで使われるのだと。
われわれは母親の言葉を残音として残すのは得意だ。
外人とつき合うと英語が早く上達する。
これは、愛するひと、大好きなひとの言葉を
残音として残し、心の中で何度もリピートする。
結論として、なぜ日本人は英語が上達しないのか?
それは、ほとんどの人が、肉親、親友、恋人に
イングリッシュスピーカを持たないから。
言葉を覚えることは
コミュニケーションがとても大事。
と思う。
アジャイル開発はオフショア開発に適用できるのか?
一般的なオフショア開発はウォーターフォール開発に基づき
日本のSIerのブリッジSEが顧客との要件定義、仕様書、基本設計を行う。
あとはコアメンバーのみを残し、
製造工程部分のみをインド、中国のオフショアする。
そして、システムテスト工程から日本に戻し
オフショアはバグフィックス要員を残し、多くはリリースする。
要するにウォーターフォール
決まった期間のみ要員を確保出来る。
(人件費を安く)
外国人エンジニアが顧客と対話する必要がないため
日本語が流暢に話せなくてよい。 <- ここが大きなポイント!
さて、アジャイル(スクラム)では、顧客とエンジニアの緊密な関係が求められ、
要件はプロジェクトが進むにつれ変化する(させる)
この場合、以下の問題が考えられる。
1. 日本語が流暢で日本の商習慣とうの複雑な業務知識を
兼ね備えたな外国人エンジニアはほとんどいない。
2. 要件が変化することは、一括請負ではなく業務委託契約で行う必要がある。
この問題をクリアするには、日本人自体が変わる(グローバル化)必要がある。
1. もっと英語を勉強する。
2. ガラパゴス的な日本の商習慣を捨てる。
それには、日本の顧客が海外進出、グローバル化を行う必要があるのだろう。
iOS6のパスブックはかなり面白いと思う
iOS6のPASSBOOKというアプリが結構面白い。
http://www.apple.com/ios/ios6/
飛行機のチケット、スタバ等のプリペイドカード、野球場、映画のチケット
ショッピングモールの割引クーポン件をiPhoneアプリで一元管理できる。
また、飛行機のチケットの場合、搭乗ゲートが変更になった場合、
ノーティフィケーションで通知される。
クーポン券の期限切れをチェックしたり、プリペイドカードの残高を確認できる。
日本で発売されるとき、どこと提携するのか非常に興味深い。
家電量販店のポイント、マッサージ屋のポイントカードだけでなく、
免許証、保険証、キャッシュカードなんかもはいっちゃえば
財布を持ち歩かなくていい時代がくるかも?
チケットを交換したり、売買するマーケットプレイスなんか面白いかも?
Google App Engine で英語を勉強してみる。
Google App Engine の Why App Engine
https://developers.google.com/appengine/whyappengine
を読んでみる。
Google App Engine enables you to build web applications
Google App Engine で web アプリが構築できるよ。
enables you to do ...
とか
allows you to do ...
のように、
YOU になんとかをさせる、
はよくでる。
なんで、直訳的な文章を見ると
Google App Engine は、あなたにweb applicaion を構築させます。
と、やけに あなた が多くなる。
your system
our system
英語は所有者をはっきりさせるので
日本語に訳すときは、はしょるべき。
easy to scale as your traffic and data storage needs grow
トラフィックやデータサイズが増えたとき、スケールが簡単よ。
as the project proceeds.
プロジェクトが進むにつれ
as the size of data increase.
データサイズが増えるにつれ
なんとかが、なになにするにしたがって、進むにつれ
といったニュアンスは、as を使う。
また、because の意味で使う場合もある。
all you have to do is write your application code and we'll do the rest
自分のアプリケーションを書くだけで、残りはわれわれがやります。
all you have to do
は、あなたがする全部は○○
つまりいいかえると、
あなたは○○だけすればよい
all I want to do is figure out how it works
all I know is
your applications can take advantage of the same scalable technologies
Googleが使っているのと同じスケーラブルテクノロジを使えます。
take advantage of
make use of
leverage
employ
use
既存のものを横転して利用するニュアンス