半年前に免許を取ったばかりの初心者ドライバー、石川です。
最近のマイブームは、ルパン三世というアニメシリーズのテーマソングを聞きながら車の運転をすることです。映画みたいなカーチェイスをしている気分になれます。(※実際は安全運転)
今回、下記のブログで紹介されている、4年前に開発された見積書発行ページのリニューアルを担当しました。
以下はリニューアル後のサイトです。
URL: https://www.farend.ne.jp/quote/
見積書発行ページでは、当社が提供するプロジェクト管理SaaS「My Redmine」などの見積書をインターネット上で発行しています。社印入りの見積書をサポート窓口に依頼することなくPDF形式で即時ダウンロードできます。
Redmineのガントチャートを拡張するプラグイン「Lychee Gantt Chart Pro」をMy Redmineに組み込んだサービス「My Redmine with Lychee Gantt Chart」の見積書の発行もできるようにする、というのが最初の目標だったのですが、帳票ツール「ThinReports」のバージョンが古くテンプレートファイルの再利用が難しかったこともあり、一から作り直すことになりました。
デザインとしての大きな変更はありませんが、PDF出力前に内容を確認することが可能になったり、今までソースコードを書き換えることでしかサービスの項目を追加できなかったのですが、今は管理画面でそういった変更も行えるようになっています。
今回は、この見積書発行ページを作る過程で私がやったことや感じたこと、学んだことについて書きます。
前回のブログ でも少し書きましたが、今は、スクラムの手法を取り入れたシステム開発業務に取り組んでいます。スクラムとは、アジャイル型開発手法の1つです。
スクラム開発では短い期間ごとに開発を区切り、その単位で計画を立てていきます。 また、区切りが短いとゴールも近く、その目鼻の先にある目標向かって進むことができます。 ずっと先にある100km先のゴールを目指すよりも、目に見える1km先の給水所を目指す方がイメージしやすいですし、頑張れる気がしますよね? 私は運動が不得意なので1km先でもげんなりとしてしまうのですが、100km先よりはマシだと思えます。
今回紹介した見積書発行ページを作っている時には、計画を立てる段階でどんなタスクが必要なのかもいまいち分からず、「これが足りなかった」「あれが足りなかった」と、後からタスクが増えていってしまいました。
* * *
<その時のバーンダウンチャート>
※バーンダウンチャートとは、最初に見積もった作業量から終わっただけ引いていき、今までの作業の推移と残りの作業量を一目で確認することができる図です。
太い黒の線が実績線で、赤が最初に定めた理想線です。(細くて黒い線は書き間違い) 最初の予定としていた理想線の遥か上を実績線が通っています。 最終的に一つの区切りとしていた1週間のうちに終わったのは半分程度でした。
<今のバーンダウンチャート>
最初に比べるとある程度要領がつかめてきたのか、多少の誤差はありつつも確実に残作業が減っています。タスクがほぼ計画通りに消化できていることが分かります。
チームが一つのスプリントの中でどのくらいのタスクを消化できるかは、毎回データをとっており、それを基にして次のスプリントの内容を決めることで精度を高めることができます。
* * *
まだまだ慣れないことが多いですが、振り返りを定期的に繰り返しながらなんとか前に進んでいます。
<学生の時> 動けばいい
に対し、
<今> 今後改修時のことも考えなければいけない
勉強としてのシステムばかり作っていると、
新しいものを作る→動いた→やった!→次のものを作ろう→動いた→やった!→以下ループ
という流れに入ってしまいがちな気がします。
作ったものが実際に誰かに使ってもらえるような環境だったり、自分からそれを公開したり、というようなことがあればもちろん別だとは思いますが、悲しきことに私はそうではありませんでした。
この見積書発行ページを石川さん(私)が作り直したように、別の人が後から修正したりすることもあるから、その人がわかりやすいように作ろうね。
と教えていただき、改めて見てみると自分の書いたソースコードの読み辛さに気づきました。
また、ソースコードをレビューしてもらった経験もほとんどありませんでした。 精々学校でインデント(コードを見やすくするための字下げなどのこと)について指摘を受ける程度で、その結果可読性の低いものが量産されていました。
この見積書発行ページを作る中で、アドバイスをしていただいたり、プロの綺麗なソースコードを見たことで、たくさんの自分が直すべきことに気づくことができました。 適当な名前でテーブルや項目を作ってしまったが故に作り直す羽目になったりという失敗もありましたが、それもしっかりと学びにつながっています。
目指せ綺麗なコードが書ける人!!
を目標として頑張ります。
上記にもあるように、私は勉強として何かを作るばかりで、それを公開したり、使ってもらったりすることはありませんでした。 なので、今回初めて作ったものが公開されるということがとても嬉しいです。 この嬉しさを次へと繋げて、新しいプロジェクトを進めていこうと思います。
また、ファーエンドテクノロジーは、何かやりたいことがあればそれに挑戦させてもらえる素敵な環境です。「高校卒業後、進学するか就職するかで迷っていたんですよね」という話をした数日後、「通信制の短大で学んでみませんか?」というように言っていただきました。今、願書を取り寄せているところです。
これからも楽しみながらたくさん挑戦をしていきたいです。
2024年5月11日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催) ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。 |
|
入門Redmine 第6版 出版記念企画セミナー「Redmineのアクセス制御」【2024/5/30開催】 入門Redmine 第6版(2024年3月23日発売)の書籍から「Redmineのアクセス制御」について解説します。 |
|
My Redmine 初回ご契約で「入門Redmine 第6版」プレゼントのお知らせ Redmineのクラウドサービス「My Redmine」を初めてご契約いただいたお客様にRedmine解説書「入門Redmine 第6版」を進呈いたします。 |
|
2024年度ブランドパートナーに島根県在住のモデル ユイさんを継続起用 ユイさん(モデルスタジオミューズ所属)をファーエンドテクノロジーの2024年度ブランドパートナーとして継続して起用します。 |
|
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |