Webコンサルタントの愚痴とアジャイル,生産性向上,Trac,オープンソースなどの与太話
ということで、平均5時35分。やっぱり週末に目覚ましかけないで寝ると、起床時間が遅くなっている。これは仕方ないような気がするが、やはり出だしが遅いと一日がグダグダになってしまう傾向にあるので、改めた方がいいかなぁ~。
Joel on Softwareによるソフトウェア開発チームの評価について、あちこちでエントリがあったので便乗。
このテスト、12項目あるが、12点は完璧、11点は許せる範囲、10点以下だったらその組織は深刻な問題かかえている、とかいってしまう厳しいテストだ。
はてなは12点満点。
アプレッソは10点
ちなみに自分の所は、1,2,4,5,6,7、9、12で、8点。ちょっと甘目かも知れないけど、いま目指している所で、順次適用中なので、そのように採点してみた。
ただ、大事な事は、「成し遂げたい目標のために、今何をやるべきか、この先何をやるべきかを決めたら、腹くくってやり続ける」ってことだ。色々な本に色々な事が書いてある。同じことが書いてある場合もあれば矛盾する場合もある。でも一度決めたら自分が納得して良し悪しが分かるまで徹底的にやるしかない。中途半端にあちこち齧っては方向転換を繰り返すような組織ではいかん。
1. ソース管理システムを使っているか?
2. 1オペレーションでビルドを行えるか?
3. 毎日ビルドを行うか?
4. 障害票データベースを持っているか?
5. 新しいコードを書くまえにバグを修正するか?
6. 更新可能なスケジュール表を持っているか?
7. 仕様書を持っているか?
8. プログラマは静かな労働環境にあるか?
9. 買える範囲で一番良い開発ツールを使っているか?
10. テスト担当者はいるか?
11. プログラマを採用するときにコードを書かせるか?
12. 「廊下での使い勝手テスト」を行っているか?
使っている。Subversion。少なくとも最近全案件で必須にしていて、ソースだけじゃなく、ドキュメントやテストコードも対象範囲にしているから、まぁ問題ないだろう。しかし一方で静的サイト構築案件をやっているチームだとこれが出来ていない。自分の管轄ぢゃないけど、いつもデグレしたとか、大騒ぎしている。
DBに初期データ登録して、設定変更して、どうのこーのして、みたいなことは順次止めている。昔の協力会社が作った糞なソースなんて、IF文で、快活環境だったらこっちに繋げて本番環境だったらあっちに繋げるみたいな記述があって、本番用にはコンパイルしなおす、とかいう驚愕の実装があったな。最近は、デプロイ⇒即稼動前提にしているし、初期データの投入もインストーラ化しちゃうから問題ないだろう。
そもそも俺らはスクリプト系ばっかだ。ビルドって概念は無い。まぁ毎日自動回帰テストするかどうかって聞かれればしていない。CruiseControlとかPHPUnderControlとか使うと良いのは分かっているが、まだ出来ていない。
Tracで全部管理。新規要望も不具合もTracに突っ込んで、チケットドリブンで開発。沢山のメールに追われてどの不具合が直し終わった/終わってない、とかの苦労をすることはなくなっている。個数が見えると減らしたくなるのが人情だ。
そりゃそうだよ。テストコードが全部書けているわけではないところが痛いところだが。
普通にある。まぁたまに納期だけ先に決まったスケジュールがあるが、そういう場合は実装機能を減らす。それも許されなかった案件があるが、品質はとてつもない。もうそんな経験はしたくないな。
普通に概要設計、詳細設計、テスト仕様書・・・と揃っているものもあれば、テストコードだけが揃っているものもある。但し仕様書は所詮中間生成物なので、個人的には大量なものは要らないと考えている。設計の思想と、本当に重要な箇所だけに絞れば良い。あとはテストコードが仕様を明らかにしてくれる。
こりゃダメ。とにかく電話が鳴りすぎ。思考を中断されると、生産性は格段に低下する。家でソース書くと会社の数倍のパフォーマンスは出るな。
これは口をすっぱくして言っている。人的コストが一番高いのだから、生産性をあげるためには、必要な道具は揃えるべきだ。僕のところだと、全員パソコン2台以上、メモリも増設、デュアルディスプレイもOKで、20インチ以上の環境。良いものが出たらどんどん買い換えている。
開発ツールは、Eclipseとか、Subversionとか、デファクトスタンダードに揃えている。
この間やった案件ではいたんだけどね。ひたすらSeleniumでテストを記録しては、デイリーで実行したり、モンキーテストしたり。ただ全部の案件でやるのは無理だなぁ。テストはテストのための能力が必要だとは思う。
これやりたい。けどやっていいのかなぁ?一応ブログの有無は聞いている。アドレスは聞いていないけど。でもやっぱり会社のためにも本人のためにも、お互いが理解しあった上で採用した方が良いとは思う。人事と親分に相談してみるか。
まぁやっているように思う。俺なんかは特に、作ったものは直ぐ見せたい人だし。
現行システムの見える化,どうしていますか?:ITpro
http://itpro.nikkeibp.co.jp/article/OPINION/20080825/313313/
「見える化するよい方法があれば,ぜひ教えてほしいよ」――。取材で訪れたある製造業のIT部門に所属するAさんはこうぼやく。Aさんは最近,生産管理システムの刷新に伴い,現行システムの調査に乗り出した。ところが,過去に各プログラマがソースコードを次々とコピーして修正を加えた結果,同じようなソースコードがあちこちにあった。どれが信頼できるソースコードなのか分からない。これじゃあプロジェクトが始められないと,Aさんらは数カ月をかけて全ソースコードを一つずつ確認する羽目になった。Aさんは言う。「現行システムを見える化する“魔法の杖”はないものか。結局,目視による地道な調査をするしかないのか」と。
えーと、こんなソース調査するのやめて、改めて要件確認して、不要機能も選別して、作り直した方が良いと思われ。
ちなみに「現行システムを見える化する“魔法の杖”」はある。使っているユーザに、聞きに行けば良いだけだ。その仕様が正しいのか業務で使えるのかを決めるのはエンドユーザーだ。ソースだけ見たってそんなもん分からんよ。
部下が使っていたPCがちょっと前に壊れて、新しいのを買いつつ保証期間内なので修理したみたいなんだけど、結局そのPC使わないらしいので、バッテリーだけ貰った。
これで長野出張の際に「バッテリーがneeeeee」みたいな悲しい思いをしなくて良くなる。
そういえば、昔まだ競馬場に行って馬券を買っていた頃、ノートPC持って行って色々やってたんだけど、その時も替えのバッテリー持参で行ってたな~。東芝のDynabookSS3010。社会人1年目の冬のボーナスで買ったような記憶がある。当時にしては、超軽量薄型で画期的だったと記憶している。
その前も東芝のリブレット30かなんかを使ったなぁ。そのうち使わなくなって知り合いに譲ってしまったが。
Firefoxに導入した拡張の一覧を作るにはExtension List Dumperというアドオンを使う。
インストールはいつも通り、インストールリンクをクリックして、インストール後Firefoxの再起動を実施すれば良い。
以降は、ツール(T)⇒アドオン(A)で拡張の管理画面をクリックすると、画面最下部に一覧を生成(D)というメニューボタンが現れる。

んで、このボタンをクリックすると、

な感じで、表示される。
なお、html形式での出力も出来るので、自分のサイトへの拡張リストの掲載とかも簡単。ということでオイラが導入している拡張一覧は以下の通りだ。
アプリケーション: Firefox 2.0.0.16 (2008070205)
週末自分が立会いした件以外にもう1件リリースあり。こっちも無事に終わった。これでしばらく精神的には安泰だな。
先週あれだけツイていなかったのは、週末うまくいくためだった、ということにしておく。
さぁ今週も頑張ろう。
いまシステムのリリースで夜間立会い中なんだけど、あんまりやることは無い(溜まっていることは色々あるのだけれど、やる気がしない・・・)のでブログを書いてみる。
ここんところずっと大物案件続きで忙しいのだけれど、今週は特に忙しかった。ちょっと振り返ってみる。
まじで疲れた。さぁリリースだ。
それが終わったら・・・、溜まってるメールの処理と提案書作成と・・・・・・考えたくない。
明日長野に出張だってのに、非常に困った。
事の発端は昨日の長野出張(中一日で往復9時間かかる場所に行くというFunky加減)での帰りの電車。普通にイーモバイルで繋いで仕事してたんだけど、どこかのトンネル入るまでは接続できていたのに、トンネルでたら、赤い電波なしランプを点滅して、全くつながらなくなった。
今朝、再度試したら、うまく接続できたので、一時的な問題かな?と思っていたが、やはり帰りの電車の中では繋がらなかった。
症状としては、明らかに圏外じゃないだろ!!って場所で常に圏外になってしまう、という症状で、普通に考えるとカードの中が逝ってしまっているのだと思われる。ためしに別のノートPCに挿してみたけど症状変わらなかったし。
ちなみにイーモバイルのサイトを探したが事例は載ってなかった。
FAQのエンジンにOKWeb使うくらいならもっと一杯FAQ乗せてくれる方が良いと思うが・・・。
・・・・明日どうしよ・・・・。W004SHで低速モデム通信で我慢か・・・。
それにしてもカードは交換してくれるのかな?
とうとう来たか。
そもそもThunderbirdってログ自体は生ログに近い形で残しているんだよね。
んで、実は以下の方法で簡単に出来る。
2.ここで、新規(N)を選択して、フィルタルールの新規設定を行う。
新規のルールでは、条件について「全てのメッセージに一致(M)とし、一致した時のアクションを、メッセージのコピーにする。これによって、メール受信時にこのフィルタを通過した全メールは指定した場所にコピーされる。なお、コピー先は、別ファイルになるように注意すること。でないとInboxが膨らんで壊れやすくなってしまう。(ローカルフォルダにすることを強く推奨。さらにメールボックスとローカルフォルダのディスクのパーティションが違ったりするとさらに良い。)

日記 PHP オープンソース Linux Trac Perl wordpress フリーソフト Agile 自宅サーバ phpMyFaq Plugin 書評 Delphi apache プラグイン Subversion アジャイル mojavi セキュリティ Ruby Firefox Ajax/Web2.0 eclipse サーバ Zope フレームワーク CakePHP 文字化け scuttle OpenVZ 自宅 phpBB CMS 翻訳・日本語化 Excel ApacheDS 生産性向上 仮想化 hacks CodeIgniter XAMPP LDAP SBM taskfreak Ajax 修正 言語ファイル mod_security ダウンロード HTML::FillInForm 情報共有 格安 メンテナンス 移転 アンケート レンタル PhpScheduleIt 翻訳 API