チケット駆動開発を読んだ

付箋の数と良書度は比例する(脳内調べ)。

アジャイルとウォーターフォールという二元論的な考え方は、その概念が普及する段階では役に立ちましたが、もうその次代は終わりつつあると思います。様々な開発法があるなかで、どのようなプロセスで開発するか、具体的な実践技術が求められているでしょう。

1347269572

僕のチケット駆動に対する期待は、創薬研究への応用なので、チケット駆動開発の背景にある考え方がぎっしり詰まった本書は、色々な発見や再発見があったり、今の仕事のアナロジーを見つけたりとかなり満足度の高い本だった。ただ、redmineをある程度使っているとか、アジャイルサムライ読んだとかそういいう基礎知識は必須なので、いきなり本書を読むよりは前作を読んだりしておいたほうがいいかなと思う。

ProductName Redmineによるタスクマネジメント実践技法
小川 明彦
翔泳社 / 3444円 ( 2010-10-13 )


ProductName アジャイルサムライ−達人開発者への道−
Jonathan Rasmusson
オーム社 / 2730円 ( 2011-07-16 )


本書は、ソフトウェアの使い方が載っているわけではない(mantisくらいかな)ので、そこは注意。

ProductName チケット駆動開発
小川 明彦
翔泳社 / 3444円 ( 2012-08-24 )


処理手順

障害管理ツールの処理手順(p.24)を創薬探索系に重ねると、

  • 障害発見者: アッセイ担当
  • BTS: BTS
  • 担当者: 合成担当

という感じになるかな。そうすると障害とは何か?という話になるが、創薬系だと予想外の結果ということになるだろう。

予想外というのは仮説駆動開発の文脈だったら、なんのために合成するのか?という最初の目的が達成されたかどうかで判断するところだろうが、明確な目的を持って合成されることは少ないので、MMPに照らし合わせてcliffかどうかで判断してもいいかもしれない。結局cliffは予測外の事象だからね。

リポジトリマイニング

創薬系だとリポジトリにあたるものは既に存在するので、そこから今後の予測を行う技術は非常に興味がある。本書では詳しく解説されてないので、他の文献をあたろうと思った。

バージョン

本書を読んでredmineのバージョンの使い方を理解した。だが、創薬系だと多次元で並行的に進めていくので、ソフトウェア開発だと2系と3系を同時に開発するみたいな感じかなあ。ちょっと難しい。

バージョンの概念は、単なるタグだけでなく、合意というマネジメント要素も含んでいるのです。

p.295のバージョンの概念が欠落する理由も参考になった。

2012.09.18追記

著者の方からレスポンスを頂いた。ありがとうございます。

Q.創薬系のプロジェクトのバージョンとは何か? A.プロジェクトのマイルストーンに相当します。  学会で報告する、創薬研究の開発が完了する、などのチェックポイントが大きなマイルストーンになりますが、たぶん1ヶ月単位で意味ある成果物を出せるように、マイルストーンの目的を明確にすればいいでしょう。

大きいマイルストーンはあるのだけど、一ヶ月単位で測れるようなマイルストーンというのはあまり見ない気がする。というわけで、今必要なのはそういうブレークダウンした形のマイルストーンをどう定義するかだな。そういう意味ではメトリクスも足りてないだろう。

もう一つは、創薬開発手法は生産ではなく開発だという点において、トヨタ生産方式みたいな工場の生産系よりはソフト開発手法にすごく似ているのだけど、大きく異る点が1つある。 それは探索の割合が非常に大きいということだ(ライフサイエンス全般に言えることだけど)。これは工学と明らかに違って、コントロール出来ない要因を多分に含んでいて、それを考慮したような仮説ドリブンなマイルストンが必要なんだろうなぁと。

もう少し丁寧に考える必要があるが、理解が前進したので嬉しい。

国際学会English―挨拶・口演・発表・質問・座長進行

読み流しておこうと思ったのだけど、結局時間がとれなかったというか、黒龍のひやおろしを呑み始めてしまったので、集中力が霧散して緩みまくっている。

ProductName 国際学会English―挨拶・口演・発表・質問・座長進行
C.S.ラングハム
医歯薬出版 / 2625円 ( 2007-04 )


明日の新幹線のなかで流し読みしておこう。

というより、LBDDとかいいつつ120%量子化学に傾倒しているので、明日の内容はアウェーすぎるんじゃないかと不安がないわけではないが。まぁ、自分の中ではLBDDの行き着く先は量子化学計算だと思っているので空気を読まずに発表する。

そして、明日のセミナーが終わったら、次の日から二日間PyConJPなので楽しみだ。

自分用twitter bootstrapを管理する

ウェブ業界なんかだとデザイナーさんがいるので、「デザインがーーーーー」みたいなのはクリティカルな問題にはならないのかもしれないが、製薬系の研究所とかだと、研究所内のシステム構築のためにデザイナーを雇うとかまずあり得ないので、しょっちょう悩みます。

特に、イントラでウェブサービスやろうとか思ったらjQuery使って見ためを良くしたりとかユーザビリティとか考えて使いやすくしたりといったフロントエンドのスキルは必須。

つまり、モックを使ってできるだけ早く70点のユーザーインターフェイスを作るスキルが超重要なわけだ。

しかも、twitter bootstrapを使おうと思ったら、頻繁なバージョンアップに対応しないといけないわけで。

GitHub対応

GitHubハンズオンやったので、その時の@ishisaka資料を参考にすればいいと思います。

とりあえず、本家からforkしたらcloneして、upstreamを設定します。

git clone git@github.com:kzfm/bootstrap.git
cd bootstrap/
git remote add upstream https://github.com/twitter/bootstrap.git
git fetch upstream
git merge upstream/master

これで最後のニ行を叩けば常に本家の更新に追随できるようになります。

設定を変更

Twitter Bootstrap Customization Best Practicesの後半を参考に、bootstrap.lessとvariavles.cssをコピーして自分用の設定ファイルを用意する。my_bootstrap.lessとmy_variavles.lessにした。Makefileのbootstrap.lessもmy_bootstrap.lessに変えておく。

こうしておけば本家のファイル群を変更する必要がないので、いつでも

git fetch upstream
git merge upstream/master

すれば、本家の更新に対応できる。

コンパイルしたい場合には

$ make bootstrap
mkdir -p bootstrap/img
mkdir -p bootstrap/css
mkdir -p bootstrap/js
cp img/* bootstrap/img/
recess --compile ./less/my_bootstrap.less > bootstrap/css/bootstrap.css
recess --compress ./less/my_bootstrap.less > bootstrap/css/bootstrap.min.css
recess --compile ./less/responsive.less > bootstrap/css/bootstrap-responsive.css
recess --compress ./less/responsive.less > bootstrap/css/bootstrap-responsive.min.css
...
cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js
rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js

bootstrapディレクトリ以下にコンパイルされる。

その先

あとは、Twitter Bootstrap+その他で「本当に」イケてるモックを作る手順なんかを参考にしながらいい感じの自分用モックを量産すればいいと思うのだが、そういうのをもくもくとやるといい気がしませんか?

というか、やることにしたので興味があれば参加するといいと思います。プレゼンしたいひとも歓迎。

静岡デベロッパーズつくる会#6 (Mock! Mock!)

だらだらと作ってもよし、黙々と作ってもよしのつくる会です。前回同様、好きな時間に来て好きな時間に帰ってかまいません。

今回はMock! Mock!とモックをモクモクいじる回にしてみました。みんなで一緒にtwitter bootstrapをいじりましょう。

ProductName レスポンシブ・ウェブデザイン標準ガイド あらゆるデバイスに対応するウェブデザインの手法
こもりまさあき
エムディエヌコーポレーション / 2625円 ( 2012-05-25 )


通勤どこでも仕事術

だいたい知っていることだった。出張報告書の予想版を予め書いておくというのは参考になった。

ProductName 通勤どこでも仕事術
美崎栄一郎
ぱる出版 / 1470円 ( 2011-07-30 )


電源タップは持ち歩くのに便利なのが欲しいなぁと思ったので、モバイルタップを買ってみた。

ProductName SANWA SUPPLY モバイルタップ 2P・3個口 ホワイト TAP-M1W

サンワサプライ / 682円 ( 2012-01-31 )


チケット駆動開発の本を読み返した。

2月くらいからredmineを使い始めて、中規模なサイトを2,3個作って、チケットの粒度とか運用サイクルとかリズム(トヨタ生産方式でいうタクトに近いかな)なんかについて色々とわかってきたので改めて読んでみた。

ProductName Redmineによるタスクマネジメント実践技法
小川 明彦
翔泳社 / 3444円 ( 2010-10-13 )


最初は複数人で使うつもりで啓蒙してみたりしたんだけど、予想通り難しかったので、他人にふった仕事もIssueとして全て自分で管理したら、うまくまわった。4.2節の権限ポリシーをワークフロー型に振って、他人に仕事をアサインするっていうタスクをチケットとして切ったことになるのかな。

他人への仕事のアサインを不確実性のあるタスクとして登録して、タイムアウトしたら自分に再アサインするというやり方にしたわけだけど、これで淡々とこなせるようになったし、さらにイライラしなくなって精神的にも都合が良かった。

ついでにチケットも会議と紐付けるようにしたので、会議を定期的にやれば、プロダクトの開発サイクルもそれにつられてタイミングが揃うようになったし、会議の議題とかチケットの粒度も次の会議までの期間でできそうな(3週間くらい)に揃えやすくなった。

変化を受け入れる技術、プロジェクト管理、開発環境がなければ、アジャイル開発は絵に描いた餅です

これはそうだよなとしみじみと思った。というわけで、これも読む予定

ProductName チケット駆動開発
小川 明彦
翔泳社 / 3444円 ( 2012-08-24 )


その他

化合物の合成を1つのチケットにしてbacklogsプラグイン使えば、かなり便利に使えると思うんだけどどうかな?と思った。そのうち試してみたい。

ライフサイエンスQAにケミストリーな質問をしても良いらしい

先日のtwitterのやりとりが、FAQっぽかったので@32nmのススメもあってLSQAに投稿しておいた。LSQAは主にバイオインフォマティクス系の話題をとりあつかうもんだと勘違いしていたので、これからはもう少し質問しよう(回答も)と思った。

うちの職場でもOSQAを入れているのだが、なかなかアクティブにならないので、検索した時にヒットしなかったら別のサイトに検索書けるようにならんだろうか?P2PみたいにQAがつながらないかなぁと。GitHubみたいにQAがフォーク出来る感じだといいんだけど。

まぁ、ユーザー100人規模だとなかなかアクティブにしにくいのかなぁ?もっとずっと規模の大きい研究所で試してみたいなぁと思うこともあるが、それは甘えなのかな(多分そうなんだろう)。

ただ、個人的にはこういうことをやる場合のユーザー数は時間を超えた述べで考えないといけないのかなと思っていて(つまり一年後の自分は他人)、持続的で効率的な研究スタイルのためには絶対必要な仕組みだと思うんだけど、プロジェクトに張り付いていると、目先の問題を解くことで一杯一杯でなかなか理解してもらえないとこがもどかしい。

そういう意味では、ChEMBLはちょっとしたブレークスルーかもねーなんて思ったりする。従来メディシナルケミストリー的な情報は閉じていて出てこなかったのが、気軽にデータをあつかえるようになったから、個人の趣味レベルで色々やれるようになったし、パブリックデータベースに閑する質問はパブリックでやればいいだろうから、これからもっと面白い情報も出てくるんじゃないかなーと。

夏休みの一週間は子供の宿題をみたりしていて色々気づくことが多かった

今週は夏休みってことで会社を休んでいた。

で、朝起きてご飯を食べたら、コードを書いたりブログを書いたりしている隣で、娘が夏休みの宿題をやるというルーチンだったのだけど、色々気づくことが多かった。

特に「学ぶことの習慣化」と「学習レベルのコントロール」は家庭でやるべきなんだろうなぁと。

一方息子はポケモンばっかりやっていた。あいてのポケモンが穫れないとか言ってブチ切れたりしてたなー

ProductName ポケットモンスターホワイト2

任天堂 / 3927円 ( 2012-06-23 )


wifiの通信対戦(ランダムとかレーティング)のやつは結構面白い。勝った負けたは結構熱くなるね。

「原因は何か」より「どう解決するか」。それが、「解決志向」

コミュニケーションスキルの本。NLP多め

NLPにおけるミスコミュニケーションの分類

  • 言語の歪曲
  • 言語の省略
  • 言語の一般化

コミュニケーションには癖があり分類すると

  • 視覚型(Visual)
  • 身体感覚型(Kinesthetic)
  • 聴覚型(Auditory)

NLPではミスコミュニケーションは情報処理の癖が違うことで起こりやすいという立場に立つらしい。

が、自分を当てはめようと思って考えてみたけど、どれにも当てはまらないような気がする。目の動きの話とかちょっと眉唾っぽいんだよなー。

wikipedia

NLPは、効果を実証する不十分な経験的証拠しかないため、プロフェッショナルな信頼性の問題があり[1]、一般の社会科学からは広く無視されている

  • 新型うつ病は若者が発達していく上での心理的疾患

裏方はおいしい

事務局力のススメ。技術としては面白かったけど、これに頼ったジョブはどうなんだろうね。

「管理職を目指す行動指針」では管理職にするらなれない

評価制度に関しても

短期的な評価の積み上げが長期的な出世につながる人事評価メカニズムは、近視眼的な思考を促す。その結果、視野の狭い仕事だけで評価された人が管理職になって、経験不足で失敗することになる

と、客観的にみている。そういう状態で会社でうまくやるには事務局力をつけて裏方から仕事を動かすことを説く。まぁ、普通は転職と天秤に賭けるんだろうけど、本書は如何に頑張るかという内容なので、そういうことは書いてない。

ProductName 裏方ほどおいしい仕事はない!
野村 恭彦
プレジデント社 / 1500円 ( 2009-10-15 )


  • 社内をぶらぶらしよう
  • 情報はどんなひとのところに集まるか
  • 提案が通るかどうかは、内容よりも参加者の顧客満足によって決まる
  • ホウレンソウに対比して「置き石、水やり、待ちぶせ」

トヨタ流現場の人づくり

ちょっと人情系入りすぎだけど、改善した後の短縮された時間をどう使うのかという認識が一致していないとうまくいかないというのは盲点だった。

改善するための前提

たとえば導入した結果、従来と同じ量の製品をつくるのに要する時間が、一時間短縮できたとする。この短縮した1時間をどう使うのか。そこをはっきりさせておかないと、時間を短縮した意味がなくなる。

自分の場合、効率的に仕事をして、余った時間は「より高度なことにチャレンジするか、早く帰って家で新規な技術を試すかっていうこと」に突っ込むの当たり前じゃんって思ってたので。

単に時間労働って考えている人にとっては時間ギリギリまで引き伸ばすのは当然の事なので違和感を感じるのかと気づいた。思い返せば確かにグダグダ言ってるな。

ホウレンソウとは

事実は起きた瞬間に事実ではなくなり、見たものの主観に左右されてしまうからである。主観で書かれたものは、もはや事実ではない。

プロジェクトの報告もプロジェクト側から語られるものはそういう性格を帯びる。そういうのを客観的に眺めたくて色々チャレンジしているところ。

僕もホウレンソウのうち報告と連絡は無駄だと思っている。あんなのはコンピューターが定期的にレポートを出して、相談に時間を費やすべきであろう。

ムダとはどこからみて

答えは、ひとつ。あくまでも「後工程」にとってムダかどうかである。

これはどうなんだろう。ちょっと悩んでいる。生産だとシーケンシャルだから、後工程ってのは直後の行程であることが多いだろう。多次元最適化とかやってる場合後工程ってのはデータが全部出揃ったとこのことなのだろうか?

失敗を貴重な体験と考えよう!