Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

なでしこ開発記録

3,650 views

Published on

  • Be the first to comment

なでしこ開発記録

  1. 1. なでしこ開発の実態 日本語プログラミング言語 「なでしこ」開発体制の紹介
  2. 2. なでしことは? <ul><li>日本語プログラミング言語 </li></ul><ul><li>母国語でプログラミング。みんなに優しい。 </li></ul><ul><li>命令が豊富。 1000 以上の組み込み命令。 </li></ul><ul><li>Excel/Word/ データベースなど実務処理で便利な命令がたくさん。 </li></ul>
  3. 3. なでしこ何に使えるの? <ul><li>母国語であることを利用して、プログラミングの学習に。 </li></ul><ul><li>専門学校や短大などで、利用実績が増えている。 </li></ul>「こんにちは」と表示。 3+5 × 2を言う。 もし、A>5ならば   「Aは 5 以上」と表示。
  4. 4. なでしこ何に使えるの? <ul><li>なでしこは、日常のバッチ処理(提携業務)を記述するのに優れた言語 </li></ul>
  5. 5. どのくらいの人が使っているの? <ul><li>毎月、 4000 件のダウンロードがあります。 (多い時は、 1 万件) </li></ul><ul><li>だいたい、月 1 回、定期的にバージョンアップしているので、アクティブユーザーが 4000 ~ 5000 人くらい?! </li></ul>
  6. 6. 祝!公式バイブル発売 (2008 年 6 月 ) <ul><li>2004 年の「公式ガイドブック (MYCOM) 」に続いて、 2008 年 6 月に「公式バイブル ( ソシム ) 」が発売された! </li></ul><ul><li>公式ガイドブックは、オークションで、 10 倍以上のプレミアがついていたので朗報!! </li></ul>
  7. 7. なでしこ開発体制について 共同開発の様子など
  8. 8. 開発サイクル アバウトに 案件の提案 開発 テスト ベータ版リリース Trac に登録 自動テスト バグが見つかれば 差し戻す これがメイン リリース
  9. 9. 開発メンバーは? <ul><li>主な開発者:クジラ飛行机(プログラマー) </li></ul><ul><li>サブ開発者:しらたま(大学生?) </li></ul><ul><li>開発メーリングリストのメンバー </li></ul><ul><ul><li>参加者は多いが、アクティブメンバーは 10 人? </li></ul></ul><ul><ul><li>テスト協力や意見交換など </li></ul></ul><ul><li>気まぐれなアクティブユーザー </li></ul><ul><ul><li>オープンソースなので、ちょくちょくソースを見てアドバイスやバグ報告をくれるユーザーがいる </li></ul></ul>
  10. 10. 役割分担 <ul><li>今はアバウト </li></ul><ul><li>できるところを、できる人が担当する </li></ul>
  11. 11. 共同開発に使っているツール <ul><li>バージョン管理は、 Subversion </li></ul><ul><li>案件管理は、 Trac </li></ul><ul><li>まとめは、 Wiki (Pukiwiki/Konawiki) </li></ul>
  12. 12. Trac 便利すぎる <ul><li>仕事でも、 Trac を利用している->なでしこにも採用の流れ </li></ul><ul><li>しかし、 Trac の タイムライン機能が便利。 </li></ul><ul><li>開発の流れを時系列にチェックできる。 </li></ul><ul><li>RSS で開発MLメンバーが確認して突っ込み </li></ul>
  13. 13. Trac のタイムライン
  14. 14. コミュニケーション <ul><li>メーリングリスト(開発用 + 一般用) </li></ul><ul><ul><li>公開されず記録に残るのは、メールが一番 </li></ul></ul><ul><li>質問用の掲示板 </li></ul><ul><ul><li>意外とチェックが大変。工夫が必要かも </li></ul></ul><ul><li>バグ報告の掲示板 </li></ul><ul><ul><li>現在休止中-> Trac に移行しつつあるが一般ユーザーにはハードルが高い </li></ul></ul><ul><li>直接メール </li></ul><ul><li>( ラフに )Twitter </li></ul><ul><li>( どうしても必要なとき ) メッセンジャー </li></ul>
  15. 15. ユーザーからのフィードバック <ul><li>オープンソースの醍醐味 </li></ul><ul><li>掲示板 -> バグ報告、意見、アドバイス </li></ul><ul><li>ダウンロードアンケート </li></ul><ul><li>直接メール </li></ul>
  16. 16. テストの自動化 <ul><li>組み込み命令が 1000 以上あるので テストがかなり重要 </li></ul><ul><li>命令を追加したら、ユニットテストっぽいものを作成することが義務 </li></ul><ul><li>(1)リリース前に全ての自動テストを実行 </li></ul><ul><li>(2)ベータ版を開発MLメンバーで試す </li></ul><ul><li>(3)問題がなければリリース </li></ul>
  17. 17. バグとの戦い <ul><li>月1バージョンアップ の悩み </li></ul><ul><li>バグの修正が不徹底-> ユーザーの不信感 </li></ul><ul><li>自動テストに頼りすぎている </li></ul><ul><li>自動テストできない部分でバグが出る </li></ul><ul><li>-> とにかく、様々な要素を自動テストで実行できるようにする </li></ul>
  18. 18. 開発メンバーの勧誘 やりたいことに対して 人力が足りなさすぎ
  19. 19. 開発メンバーを増やしたい <ul><li>なでしこ-> CodeGear Delphi で開発 </li></ul><ul><ul><li>デメリット-> Delphi 使いが少ない </li></ul></ul><ul><li>OSCなどへの出展、オフ会の開催 </li></ul><ul><li>なでしこ開発に参加するメリットは? </li></ul><ul><li>今後、アンケートを告示するなど、開発参加者のモチベーションを維持するための仕組みが必要かも </li></ul><ul><li>C言語で書きなおすプロジェクト発動中 </li></ul>
  20. 20. コア開発者2人 <ul><li>ActiveBasic にならって、開発者ミーティングを開催しようと画策するも、失敗。 </li></ul>
  21. 21. モチベーションを高める <ul><li>オープンソースの開発ではモチベーションが重要 </li></ul>開発 公開 感謝、感想、要望 満足感・達成感
  22. 22. コミュニティの育成 <ul><li>なでしこのユーザーコミュニティが形成されつつある </li></ul><ul><li>オフ会、OSCへの出展、開発合宿の開催 </li></ul><ul><li>今後、勉強会なども定期的に開きたい </li></ul><ul><li>はてなグループの活用 </li></ul>
  23. 23. マニュアルの完全 Wiki 化達成 <ul><li>なでしこのマニュアルは、ほとんど自動生成される。コマンド追加時に、基本的な使い方の記述を強要される仕組み </li></ul><ul><li>マニュアルの自動生成+Web上の Wiki と統合されている (SQLite を利用 ) </li></ul><ul><li>誰でもマニュアルを追記 できる仕組み(ただし、 スパム対策は大変) </li></ul>
  24. 24. ビジネス化 <ul><li>「なでしこ」開発で飯が食えるようになること </li></ul><ul><li>なでしこデラックス版の販売 </li></ul><ul><li>なでしこ FileMaker プラグインの販売 </li></ul><ul><li>毎週のコラム執筆 </li></ul><ul><li>書籍の執筆 </li></ul><ul><li>なでしこを使った開発案件の受注 ーーー </li></ul><ul><li>実現度-> 30% 達成 </li></ul>
  25. 25. 今後のバージョンアップ予定 ( 未定 ) <ul><li>(1) GUIを主体にした開発環境を作る </li></ul><ul><ul><li>Mac OS X の Automater </li></ul></ul><ul><ul><li>Squake </li></ul></ul><ul><ul><li>Lego MindStorm </li></ul></ul><ul><li>(2) C 言語で作り直す </li></ul><ul><ul><li>Windows/Linux/Mac OS X で動くようにする </li></ul></ul><ul><ul><li>開発者を増やす </li></ul></ul><ul><li>(3) ActionScript への移植 </li></ul><ul><ul><li>Flash/Flex/AIR で動くようにする(ウィジェット化) </li></ul></ul>

×