header image

携帯対応

QRコード

RING

人気ブログランキング

新着記事

2008/08/31 07:44:10 日記 none Comments

ということで、平均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. 「廊下での使い勝手テスト」を行っているか?

1. ソース管理システムを使っているか?

使っている。Subversion。少なくとも最近全案件で必須にしていて、ソースだけじゃなく、ドキュメントやテストコードも対象範囲にしているから、まぁ問題ないだろう。しかし一方で静的サイト構築案件をやっているチームだとこれが出来ていない。自分の管轄ぢゃないけど、いつもデグレしたとか、大騒ぎしている。

2. 1オペレーションでビルドを行えるか?

DBに初期データ登録して、設定変更して、どうのこーのして、みたいなことは順次止めている。昔の協力会社が作った糞なソースなんて、IF文で、快活環境だったらこっちに繋げて本番環境だったらあっちに繋げるみたいな記述があって、本番用にはコンパイルしなおす、とかいう驚愕の実装があったな。最近は、デプロイ⇒即稼動前提にしているし、初期データの投入もインストーラ化しちゃうから問題ないだろう。

3. 毎日ビルドを行うか?

そもそも俺らはスクリプト系ばっかだ。ビルドって概念は無い。まぁ毎日自動回帰テストするかどうかって聞かれればしていない。CruiseControlとかPHPUnderControlとか使うと良いのは分かっているが、まだ出来ていない。

4. 障害票データベースを持っているか?

Tracで全部管理。新規要望も不具合もTracに突っ込んで、チケットドリブンで開発。沢山のメールに追われてどの不具合が直し終わった/終わってない、とかの苦労をすることはなくなっている。個数が見えると減らしたくなるのが人情だ。

5. 新しいコードを書くまえにバグを修正するか?

そりゃそうだよ。テストコードが全部書けているわけではないところが痛いところだが。

6. 更新可能なスケジュール表を持っているか?

普通にある。まぁたまに納期だけ先に決まったスケジュールがあるが、そういう場合は実装機能を減らす。それも許されなかった案件があるが、品質はとてつもない。もうそんな経験はしたくないな。

7. 仕様書を持っているか?

普通に概要設計、詳細設計、テスト仕様書・・・と揃っているものもあれば、テストコードだけが揃っているものもある。但し仕様書は所詮中間生成物なので、個人的には大量なものは要らないと考えている。設計の思想と、本当に重要な箇所だけに絞れば良い。あとはテストコードが仕様を明らかにしてくれる。

8. プログラマは静かな労働環境にあるか?

こりゃダメ。とにかく電話が鳴りすぎ。思考を中断されると、生産性は格段に低下する。家でソース書くと会社の数倍のパフォーマンスは出るな。

9. 買える範囲で一番良い開発ツールを使っているか?

これは口をすっぱくして言っている。人的コストが一番高いのだから、生産性をあげるためには、必要な道具は揃えるべきだ。僕のところだと、全員パソコン2台以上、メモリも増設、デュアルディスプレイもOKで、20インチ以上の環境。良いものが出たらどんどん買い換えている。
開発ツールは、Eclipseとか、Subversionとか、デファクトスタンダードに揃えている。

10. テスト担当者はいるか?

この間やった案件ではいたんだけどね。ひたすらSeleniumでテストを記録しては、デイリーで実行したり、モンキーテストしたり。ただ全部の案件でやるのは無理だなぁ。テストはテストのための能力が必要だとは思う。

11. プログラマを採用するときにコードを書かせるか?

これやりたい。けどやっていいのかなぁ?一応ブログの有無は聞いている。アドレスは聞いていないけど。でもやっぱり会社のためにも本人のためにも、お互いが理解しあった上で採用した方が良いとは思う。人事と親分に相談してみるか。

12. 「廊下での使い勝手テスト」を行っているか?

まぁやっているように思う。俺なんかは特に、作ったものは直ぐ見せたい人だし。

2008/08/27 06:41:00 日記 2 Comments

現行システムの見える化,どうしていますか?:ITpro
http://itpro.nikkeibp.co.jp/article/OPINION/20080825/313313/

「見える化するよい方法があれば,ぜひ教えてほしいよ」――。取材で訪れたある製造業のIT部門に所属するAさんはこうぼやく。Aさんは最近,生産管理システムの刷新に伴い,現行システムの調査に乗り出した。ところが,過去に各プログラマがソースコードを次々とコピーして修正を加えた結果,同じようなソースコードがあちこちにあった。どれが信頼できるソースコードなのか分からない。これじゃあプロジェクトが始められないと,Aさんらは数カ月をかけて全ソースコードを一つずつ確認する羽目になった。Aさんは言う。「現行システムを見える化する“魔法の杖”はないものか。結局,目視による地道な調査をするしかないのか」と。

えーと、こんなソース調査するのやめて、改めて要件確認して、不要機能も選別して、作り直した方が良いと思われ。

  • 長い時間かけて調査した結果を受けて何するんだっけ?仕様の洗い出し?その仕様が正しいかどうか保証できないんだったらくまなく調査するだけ時間の無駄。
  • そもそも数ヶ月かけてソース解析するくらいなら、1ヶ月くらいでコア機能作って、それベースに仕様調整した方が早いんぢゃ?
  • 過去度重なる機能拡張をしたというが、本当に全機能くまなく使っているはずがない。不要部分は一杯あるはずだ。システムは小さく保てが鉄則だ
  • 刷新ってことは完全作りなおしだと思うが、万一、こいつに機能追加した時に、既存部分の動作に影響がないかどうかのテスト(品質保証)が極めて難しい。作り直してユニットテスト化するなり、自動回帰テストできるようにしちゃった方が良い。自動テストできれば、やったらめったらな大量ドキュメントなんていらん。
  • ちなみにうちの会社でもそうだが、プログラマが次々コピペしちゃうようなレベルだと、品質は時間とともに悪化していく。
  • そういうレベルだとハードコーディングとかマジックナンバーだらけとか、意味不明な特殊対応とか一杯ある
  • 当然、過去になんでその対応をしたのか経緯は分からない。どうすんだ?ゴルァ。

ちなみに「現行システムを見える化する“魔法の杖”」はある。使っているユーザに、聞きに行けば良いだけだ。その仕様が正しいのか業務で使えるのかを決めるのはエンドユーザーだ。ソースだけ見たってそんなもん分からんよ。

2008/08/26 07:18:57 日記 none Comments

部下が使っていたPCがちょっと前に壊れて、新しいのを買いつつ保証期間内なので修理したみたいなんだけど、結局そのPC使わないらしいので、バッテリーだけ貰った。
これで長野出張の際に「バッテリーがneeeeee」みたいな悲しい思いをしなくて良くなる。

そういえば、昔まだ競馬場に行って馬券を買っていた頃、ノートPC持って行って色々やってたんだけど、その時も替えのバッテリー持参で行ってたな~。東芝のDynabookSS3010。社会人1年目の冬のボーナスで買ったような記憶がある。当時にしては、超軽量薄型で画期的だったと記憶している。
その前も東芝のリブレット30かなんかを使ったなぁ。そのうち使わなくなって知り合いに譲ってしまったが。

2008/08/25 06:07:42 日記 2 Comments

Firefoxに導入した拡張の一覧を作るにはExtension List Dumperというアドオンを使う。

インストールはいつも通り、インストールリンクをクリックして、インストール後Firefoxの再起動を実施すれば良い。
以降は、ツール(T)⇒アドオン(A)で拡張の管理画面をクリックすると、画面最下部に一覧を生成(D)というメニューボタンが現れる。

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

な感じで、表示される。
なお、html形式での出力も出来るので、自分のサイトへの拡張リストの掲載とかも簡単。ということでオイラが導入している拡張一覧は以下の通りだ。

アプリケーション: Firefox 2.0.0.16 (2008070205)

  • bbs2chreader 2ch.net(Japanese Web Forums) Browser
  • Copy URL + Copies to clipboard the document’s URL along with the title or the selected text.
  • Extension List Dumper インストールした拡張(アドオン)の一覧を生成します。
  • Firebug Japanese Web Development Evolved
  • Google Toolbar for Firefox Googleのパワーをどこでも活かそう
  • Greasemonkey A User Script Manager for Firefox
  • Html Validator Adds HTML validation to the View Page Source of the browser. The validation is done by Tidy or a SGML Parser from W3c.
  • IE Tab Mozilla/Firefox に IE のレンダリングエンジンを組み込みます。
  • Link Evaluator Customizable pre-evaluation of web links and linked content
  • Live HTTP Headers ウェブページとブラウジング中の HTTP ヘッダを表示します。
  • Make Link コンテキストメニューからHTMLやWiki記法のリンクを作成
  • Pearl Crescent Page Saver Basic ウェブページを画像ファイルとして保存します。
  • Safari View Win View a page in Safari on Windows.
  • Selenium IDE Record, edit and play Selenium tests
  • Table2Clipboard HTML の表から選択した行や列をクリップボードにコピーできるようにします
  • User Agent Switcher Adds a menu and a toolbar button to switch the user agent of the browser.
  • Web Developer[日本語版] Adds a menu and a toolbar with various web developer tools.
  • XSS Me An extension to test for Cross Site Scripting vulnerabilities
2008/08/25 05:55:38 日記 none Comments

週末自分が立会いした件以外にもう1件リリースあり。こっちも無事に終わった。これでしばらく精神的には安泰だな。
先週あれだけツイていなかったのは、週末うまくいくためだった、ということにしておく。
さぁ今週も頑張ろう。

2008/08/23 01:24:18 日記 none Comments

いまシステムのリリースで夜間立会い中なんだけど、あんまりやることは無い(溜まっていることは色々あるのだけれど、やる気がしない・・・)のでブログを書いてみる。

ここんところずっと大物案件続きで忙しいのだけれど、今週は特に忙しかった。ちょっと振り返ってみる。

  • 月曜日
    • もう大分忘れたが、開発ガシガシ
    • 部下と二人でアジャイルプロジェクト。開発数日でお客さんに見せて認識あわせし、そのままゴールに向かって一直線。仕様書は後から部下が作る。僕はひたすらコーディング。CIで作ったが、かなり生産性高い。Rails程では無いが。
  • 火曜日
    • 往復9時間かけて長野出張
    • 帰りの電車の中でイーモバイルのカードが壊れる
    • しかも電車混雑してて車内販売も来ない
    • 会議が夕方スタートだったので、家ついたら日付変わる直前
  • 水曜日
    • 翌日の出張のチケットを確認したら、乗車券の経路が違う。指定席をとった列車の時刻が全然違う。誰かの切符と入れ違いになった模様。しかも入れ替わった人は外出⇒直行。仕方ないので緑の窓口で切符を買う。
    • そしたら、翌日の乗りたい時間の電車の指定席は売り切れ
  • 木曜日
    • 中一日で往復9時間かけて長野出張
    • 前日の切符事件で、座るために早めに家でた。そしたら1本前に乗れた
    • 往路、下諏訪で信号機が故障し、1時間以上立ち往生
    • しかもこういう時に限ってイーモバイルが壊れていたのでW004SHで接続するが遅すぎて、VPN経由でメールを受信しようとしたら、全然終わらない。
    • 結局、復旧見込みが立たないということで、そこからタクシーで目的地まで移動。おかげで昼飯がコンビニのオニギリになる
    • 横浜戻ったら雨。タクシー大行列。1週間がまだ終わらないことに殺意を覚える
  • 金曜日
    • 夜間立会いなので、14時過ぎに出社
    • 朝寝ておこうと思ったが思ったより眠れず
    • 会社ではとりあえずPHPの開発案件をガシガシこなす

まじで疲れた。さぁリリースだ。
それが終わったら・・・、溜まってるメールの処理と提案書作成と・・・・・・考えたくない。

2008/08/20 22:59:35 日記 2 Comments

明日長野に出張だってのに、非常に困った。

事の発端は昨日の長野出張(中一日で往復9時間かかる場所に行くというFunky加減)での帰りの電車。普通にイーモバイルで繋いで仕事してたんだけど、どこかのトンネル入るまでは接続できていたのに、トンネルでたら、赤い電波なしランプを点滅して、全くつながらなくなった。
今朝、再度試したら、うまく接続できたので、一時的な問題かな?と思っていたが、やはり帰りの電車の中では繋がらなかった。
症状としては、明らかに圏外じゃないだろ!!って場所で常に圏外になってしまう、という症状で、普通に考えるとカードの中が逝ってしまっているのだと思われる。ためしに別のノートPCに挿してみたけど症状変わらなかったし。

ちなみにイーモバイルのサイトを探したが事例は載ってなかった。
FAQのエンジンにOKWeb使うくらいならもっと一杯FAQ乗せてくれる方が良いと思うが・・・。

・・・・明日どうしよ・・・・。W004SHで低速モデム通信で我慢か・・・。

それにしてもカードは交換してくれるのかな?

2008/08/19 06:22:51 日記 2 Comments

とうとう来たか。

こことか、ここ参照。

2008/08/17 10:32:15 日記 none Comments

そもそもThunderbirdってログ自体は生ログに近い形で残しているんだよね。
んで、実は以下の方法で簡単に出来る。

1.ツール(T)からメッセージフィルタ(F)…を開く

2.ここで、新規(N)を選択して、フィルタルールの新規設定を行う。
新規のルールでは、条件について「全てのメッセージに一致(M)とし、一致した時のアクションを、メッセージのコピーにする。これによって、メール受信時にこのフィルタを通過した全メールは指定した場所にコピーされる。なお、コピー先は、別ファイルになるように注意すること。でないとInboxが膨らんで壊れやすくなってしまう。(ローカルフォルダにすることを強く推奨。さらにメールボックスとローカルフォルダのディスクのパーティションが違ったりするとさらに良い。)

 

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


ads

読まなきゃモグリ