チケットドリブン開発をしてみるよ(準備中)

あるクライアントから
作業の進行状況、納期などのタスクを随時分かるようにしてほしいって要望があった。

まあ、報告・連絡・相談は、キチンとやってるんだけど、言われるだけで「見える化」がされてなかったのが原因なのかなと。

そんで何故、チケットドリブン開発なのかっていうと。

あらかじめやる事(実装する機能や、修正案件)をチケットとしておけば、「あといくつのタスク(チケット)があるか」「納品まで何工程あるか」とかが、一目瞭然とするんじゃないかと思ったわけです。

チケット駆動開発 Wikipedia

チケット駆動開発 (ticket-driven development; TiDD) とは、プログラム開発手法の一種で、作業をタスクに分割しBTSのチケットに割り当てて管理を行う開発スタイル[1]。作業量や優先順位を正しく見積りながら仕事を進めることができる。 エクストリーム・プログラミングでの実装を想定している。

  • イテレーション計画を作る
  • 仕事を細かいタスクに分割し、タスクを書き出す(チケットの発行)
  • イテレーション単位でタスクをまとめる
  • タスクを一つ選び、実装する
  • 差分をコミットし、完了する(チケットのクローズ)
  • タスクがなくなるまで繰り返す
  •  

    で、使用するバグトラッキングシステムなんですが、LAMP環境で使える Mantis を採用。

    他のバグトラッキングシステムは、何故かRubyやらPythonで書かれたものが多いんですが、使い慣れたPHPを採用してるって事で。

    インストール時に迷ったところ

    よくあるCMSなんかと違って、インストール時には、DBの生成をしないので、インストール時に表示されるSQLをphpMyAdminなどで、実行する必要がある。

    開発者向けAPIツールを作ってみているよ

    週末を利用してAPIツールみたいなものを制作中。

    一応、簡単なユーザー登録制にして、簡単に利用できるようにしようと考えている。

    できる事(できるようにしたい事)

    • Yomi-Searchなどの相互リンク登録フォームに「リンク設置確認」機能
    • 任意の画像に任意のテキストを画像合成した「クーポン」などの発行機能
    • 任意のスクリプトにPageRank機能
    • etc…

    無料のスクリプトや、CGIに、「こんな機能があれば」というのを”3行以内の記述”で実装できるものを検討中。

    今週は、ユーザー登録ページを作成してみた。
    次回は、登録ユーザーに対して、使用するAPIの承認プロセスを作成予定。

    APIごとに使用の許可ができるようにする。
    イメージとしては、「NINJA TOOLS」みたいな感じになるかな。

    有料化するかどうかは、今後の検討案件。

    顧客からの相談、メールサポートを今から準備しておく

    ECサイトのみならず、さまざまな業種で使えると思うメールトラッキングシステム。

    メールトラッキングシステムとは

    問い合わせ内容をメールで送りつつ、ウェブにアーカイブしておき、全体の問い合わせ案件を一元管理できるシステム。

    これを入れると、従来のメールだけのシステムでありがちな「担当者によって対応が違う」「過去の応答を参考にしにくい」などと行った事がすくなるなる(と思う)

    ようは、メール送受信機能が付いた「プライベート掲示板」みたいなシステム。

    スタッフは、管理ページにログインして新しくきている案件や、担当している案件の返信をこなし、マネージャーは自分の部署の案件全体を管理し、対応状況の確認やノウハウを蓄積、整理していく。
    そしてまたスタッフは整理されたノウハウ情報を基に、さらに高度なサポートにも対応できるようになっていく。

    そんなシステム。

    osTicket が使いやすそうだったんだ・・

    PHP + MySQL 環境で簡単に利用できてカスタマイズしやすそうな osTicket を選んだんです。

    osTicket は、表示言語をソース(テンプレート)にハードコーディングしてあって、日本語環境にするには、全ソースの書き換え&メール送信関数の修正が必要。

    なもんで、どうせ全ファイルをいじるんだから言語パックみたいな仕様を組み込んじゃえー。
    って思い切って、japanese.lang.php なるファイルを作成して日本語環境にしてみたんですね。

    だいたい出来上がって(アドミンページを残すのみ)、ネットをブラリとしていたら、

    osTicket は eTicketになってたのね。知らなかった

    なんて記事を見つけてしまった・・・orz

    eTicket は lang.php がデフォでついてます

    やっちまった感がいっぱいです。

    eTicket のポイント

    • 投稿時に Captcha で画像認証できる
      (osTicket には実装されていない)
    • トップページが新規問い合わせフォーム+ログインフォームの構成になっている
      (osTicket は新規ページへボタンでリンク)
    • theme ディレクトリでテーマ変更も簡単(みたい)
      (osTicket は、テーマ変更の概念が無い)

    ん~。どっちで進めるべきか悩む。

    ま、とりあえず最初のサイトはせっかくなので osTicket でいっています。
    基本的なオペレーションは変わらないみたいなので。

    MOONGIFT: » 必見!怖くなるくらい優秀なCMS「concrete5」:オープンソースを 毎日紹介

    よさげなCMSツールの紹介。

    まだインストールもしてないので、公式デモをちょいいじってみただけ。

    日本語に関しては、問題なく通るみたいなので、そのまま使用可能のようです。

    ちょうど一緒にデモサイトにアクセスしている人がいるみたいで、テストページが追加されたりしていますが、デモサイトのコンテンツは毎時間リセットされるとのこと。

    CMSツールとしては、MODx をおすすめな私ですが、もしかしたらコッチに浮気してしまうかも。

    こんど、試してみよう。

    MOONGIFT: » 必見!怖くなるくらい優秀なCMS「concrete5」:オープンソースを毎日紹介

    一般価格と会員価格 Zen Cart [Group Pricing(per Item)]

    ゲストユーザーには、一般小売価格を表示しておき、会員登録すると「会員向けの価格」を表示。

    日本語フォーラムでも何度か取り上げられていた話題ですが、本家Zen Cart .comの方に、いい感じのモジュールがあったので、日本語ファイルをつくってみた。

    Group Pricing (per Item)

    モジュール概要

    • 割引グループを機能拡張
      Group Pricing用の割引グループを4つまで設定可能。
      デフォルトでは、グループごとに割引%での設定しかできなかったのが「グループごとの『会員価格』」を「商品ごと」に設定できるようになります。
    • 商品価格の項目拡張
      商品価格の設定をデフォルトの1個の他に、割引グループごとに4個の設定項目を追加。 「これがやりたかった」まさにそんな機能!商品に複数の価格を設定でき、割引グループに応じて表示価格を設定できます。

    インストール自体は、割と簡単。おまけにアンインストール用のSQLも付属しているので、安心感(信頼感)高いです。
    (国産リソースには、まだこの辺が足りなくて、アンインストールに四苦八苦する事が多い)

    ただし、今現在のバージョン(V.1.3.1)は、最近のMySQLインジェクション関係のパッチが当たってないので、その辺をZen Cart に導入済みの物と比較して編集が必要です。

    私の場合、ゲスト購入モジュールも導入しているので、ゲストには、「一般価格で販売」会員には、「会員価格で販売」ができるように、登録時のデフォルトグループを Group Pricing の割引グループになるように修正。

    登録時のデフォルト割引グループ設定

    includes/modules/YOUR_TEMPLATE/create_account.php

    zen_db_perform(TABLE_CUSTOMERS, $sql_data_array);

    という行の直前に、

    $sql_data_array[‘customers_group_pricing’] = 1;

    の行を追加。(1は、設定したい割引グループID)

    結果、サイトの表示は・・

    (ゲスト(未ログイン)の時)
    Ci081018194135 
    一般価格:29,800円
    会員価格:ログインして下さい。

    (会員ログインしている時)
    Ci081018194208 
    一般価格:29,800円
    会員価格:22,000円

    なんて感じの表現が可能になりました。
    (ログイン時の「一般価格」を表示するには、function_price.php をちょこっといじる必要があります)

    管理画面ではこんな感じ

    Ci081022155500

    一般価格の下に4種類の会員価格設定欄があるのが分かると思います。
    これが、それぞれの割引グループでログインした際の商品価格になります。

    インストールしたベースの Zen Cart は bigmouse さんとこの Zen Cart v.1.3.8a です。