アドベントカレンダー駆動開発の失敗と原因

この記事はN高等学校 Advent Calendar 2018 7日目の記事です。

Posted by Atnanasi on 2018/12/07 00:00:00

この記事はN高等学校 Advent Calendar 2018 7日目の記事です。

どうも、zvezdaことAtnanasiです。

アドベントカレンダー駆動開発の失敗と原因

この記事では、私が何を作ろうとしていたのか、なぜアドベントカレンダー駆動開発に失敗したのか、についてお話します。 一応、技術的な話です。

ブログをなんとかしたい

私がアドベントカレンダーで公開したかったのは、ブログとWikiを混ぜたような新しいWebアプリケーション、kasienatysです。

約1ヶ月前にGitHubにリポジトリを作った記録が残っていますが、コミットログを見ると分かるように、つい最近からやっと開発をし始めていますね。

kasienatysとは

個人のメモを取るならWikiが便利です。何か公表したいならブログが便利です。 しかし、ブログに公開している記事は実は個人のメモを他人に公開出来るような形にしているという事に気付いてしまったのです。

それなら、簡単にメモを取れて階層構造を持ち、公開されているメモを日付順なので分かりやすく表示できれば、つまるところWikiとブログを組み合わせれば便利なのではないか!と思って開発を始めたWebアプリケーションです。

バックエンドはRuby on Rails、フロントエンドはVue.js(になる予定)です。

影響を受けやすいオタクなのでdev.toにかなり影響を受けて超高速SPAにしたいと考えています。 あと最新技術も好きなので、出来る限りモダンな構成でやっていきたいと思って、このような構成にしました。 もっとモダンな構成があれば教えてください。

なぜアドベントカレンダー駆動開発に失敗したのか

そもそも、アドベントカレンダー駆動開発とは何か。アドベントカレンダー駆動開発とは、アドベントカレンダーのネタにする為に開発を行うことです。

kasienatysも構想は前からあったけど、なかなかやる気が起きなかったところにアドベントカレンダーという明確な目標ができたので、開発が進んだという背景があります。

しかし、1つだけ大きな問題がありました。 それは、アドベントカレンダー参加を決めてから、実際のアドベントカレンダー投稿日当日が遠すぎたのです。 私は忘れっぽいので、参加を決めてすぐにリポジトリを生やしたにもかかわらず、一瞬で存在を忘れてしまっていたのです。

時々思い出すことはあっても、「まあ今時間ないから後でやるかー」とか「まだまだ時間あるし余裕っしょw」などと愚かにも先延ばしをし続けたのです。 気付いた時には、もう手遅れでした。

もう1つ、そこそこの問題がありました。Ruby on Railsを書くのがつらかったのです。

最初にバックエンド側をある程度書いてからフロントエンドを書くつもりでしたが、いつまで経ってもバックエンド側がまともになることはありませんでした。

Ruby on RailsはTogelackに少しコントリビュートした程度しか経験がなく、Ruby on Railsは今まで触ったフレームワークの中でもかなりよく分かってない物だったので、まったくと言っても過言ではないほど開発が進みませんでした。

今もRESTfulなAPIを作りたいけどネットでググってもクソ古い rails new --api しましょう。みたいな記事しか出てこなくて全然分からん~~~~となってしまっています。

もうつらいのでRailsやめようかなと思ってるぐらいです。

発見もあった

Vim最強!Vimめっちゃ良い!になったので、Vimの環境を作っていく所存です。 私の設定はdotfilesにあるので、参考にして頂けると嬉しいし、オススメとかあれば教えてください!

おわりに

  • 予定はしっかり組もう
  • 粒度の細かいissueいっぱい立てて進めると楽だよ
  • Railsつらすぎ、誰か教えて…

という感じです。 kasienatysは今後も開発を進めるので、皆さんPRやIssueなどじゃんじゃん送ってきて頂けると🙏

Next day is...

himanoa大先輩がとても素晴らしい事を書いてくださってるので、是非楽しみにしましょう!(プレッシャー)(また飯いきましょう)