初めてのポートフォリオ開発で「開発タスクの洗い出し」の大切さを知った話
こんにちは。
この記事は、初めてポートフォリオ用のWebアプリを開発し始めた初学者の備忘録です。
ざっと、CRUD操作を知った!とりあえず、Railsでアプリを作ろう!と動き出してみたものの、「まず何をすればいいのか分からない」という状態から始まりました。
結論として、開発をスムーズに進めるためには、実装の前に「やること(タスク)を細かく洗い出すこと」がとても大切だと学びました。
開発の進め方で最初にぶつかった壁
私の場合、Railsの教材や書籍では「コードの書き方」は学べても、
実際にポートフォリオアプリを1から作ろうとすると「どこから手をつけていいのかわからない」状態になりました。
- 画面は作りたいけど、何から着手すればいいのか
- DBってどうやって設計するのか
- そもそも「設計」って何よ
初学者のため、右も左もわかりません。
疑問が一気に押し寄せてきます。
「タスクの洗い出し」の考え方を知った
そこで様々な情報を受けて、「開発タスクの洗い出し」から始めることを学びました。
どんなことを書き出すのか?
- ユーザーはどう動くのか(ユーザーストーリー)
- 作るべき機能は何か(ログイン、一覧表示、登録ボタンなど)
- 必要な画面やページは何か
- どんなデータを保存する必要があるのか
例:ユーザーストーリー形式で書くとイメージしやすいらしい
- ユーザは、メールアドレスとパスワードでログインできる
- ユーザは、登録した内容をマイページで確認できる
そこから機能タスクに落とし込むらしい
- Deviseをインストールする
- Userモデルを作成する
- ログイン中のユーザー名を表示する
「段階的にやるべきこと」があると知った
開発は「とりあえず作ってみよう」ではなかなか進まないことも多いです。
そこで、段階を踏んで考えていくことが大切みたいです。
私が知ったステップ
- アプリのイメージを考える(画面・機能)
- やるべきタスクを洗い出す(ユーザーストーリー形式や機能形式)
- 登場する「情報の種類(データ)」を整理する(例:ユーザー、投稿など)
- 各データに必要な項目(カラム)を考える
- データのつながり(リレーション)を考える
- ER図を書く
※現段階的には、ほぼ手をつけられていません
初学者だからこそ、タスクを「細かく」「小さく」してみる
「画面を作る」
「DBを設計する」
というのは抽象的すぎて、初学者には難しいと感じました。
最初はタスクを細かく、できるだけ小さく分けることが大事だということでした。
看護師として患者と関わる時と似ているなと感じました。
私が学んだ「細かく分ける考え方」は以下(ほぼ、未着手ですが)
- 画面に出てくるものを紙に書き出す
- それぞれに「名前」「説明」などどんな項目があるかを考える
- それぞれの項目が「文字」「数字」などどんなデータの種類かをメモする
- どの情報がどの情報とつながっているかを線でつないで関係を図にする
- ターミナルでモデルを1つずつ作っていく
「そんな細かくやるの?」と思いましたが、やってみると頭の中が整理されて、
「とにかくコードを書き始める」よりずっと安心して取り組めるなあと実感しました。事前の準備ってとても大事ですね。
設計とタスク管理の大切さを知った
初学者にとって「設計」や「タスク管理」はとても地味に見えるかもしれません。
やってみて感じたのは
「いきなり実装」に飛び込まず、段階を分けて考えることで、迷いが減って、進め方に自信が持てるようになる。
ということだと思います。
使っているツール
- Notion:タスクを「ToDo / 進行中 / 完了」で整理できて視覚的にわかりやすい
-
Canva:画面遷移を図にする際に使用しました。
(Figmaも触ったことがあるのですが、今後操作できるようにしていきたい。)
今後やる予定のこと
- ER図をちゃんと描く
- seedでお試しデータを入れる
- 表示画面と連携させて、データが見えるようにする
学び
同じように「何から手をつければいいか分からない」初学者の方がいたら、
まずはタスクを洗い出すところから始めてみるとイメージしやすい。
ここまで読んでいただきありがとうございました。
引き続き、頑張ります。