見出し画像

コードを書く前に考えること

1.課題を定義する

背景・目的の設定

現時点の環境では様々な問題があって、そういった困っていることをシステム化によって解決したいなど、まずは、問題点を列挙します。アプリ開発をする場合、例として、以下のような問題が挙げられます。

  • 無料アプリではいまいち。

  • 有料アプリは、会社の制約があってできない。

  • 既存アプリでは、自分好みの(会社に適した)設定ができない。例えば、あんな機能やこんな機能が欲しいなど。

ゴールイメージの設定

上記の問題設定に対する答え(ゴール)を設定します。

  • 無料アプリのような広告もなく、サブスクもなく、自社にあった設定で、あんな機能やこんな機能が盛り込まれている。

やらないことの設定

後で実装できれば良い機能や、開発コストが大きい事柄は、コアな作業から外します。例えば、以下のような機能をやらないようにします。

  • 最低限以外の機能を実装する。

  • 本来の目的から大きく拡張して、高度な機能を導入する。

  • 設備投資をする。インフラを整える。

作業量を把握(必須)

無駄な作業を削除するためには、以下のように、作業を細かく設定して(ここ大切)、その後、コード作成の作業に入ります。

  1. 最終目標を正確に把握する。

  2. 最低限必要な項目をリストアップする。

  3. 各々の作業を細かく設定する(始業前に作業1時間程度のタスクに分解)。例えば、トップ画面を作るための作業(リンクを貼る、フォントを決める、デザインを決める)を列挙する。ログを表示するページを作るための作業(データベースへ保存、登録画面を表示する)を列挙する。Webに公開するための作業(アカウント作成、連携)を列挙する。など。

  4. わからない技術要素は、簡単な部分から細かく作業する。例えば、PHPのコード、データベースを保存、HTMLやCSSでWebページのデザイン、公開する作業、などに分割すると、少しづづコードを構築する。

  5. テキストでアプリの動きやWebページの動きを再現する。

2.必要条件の設定

目的とゴールを設定したら、次は、システムを運用する上でのルール(条件)を設定します。例として、以下の条件設定があります。

業務の条件

業務で必要な作業フローに沿っていることが大切です。要するに利用者の使いやすさ。フロー図などで作業フローを作成します。マインドマップでも良いです。無料かつウェブアプリであれば、Text2MindMapがオススメです。

機能的な条件

  1. アプリの表示されるページの流れをフロー図にします。入力フォームやボタンをイメージし、前項の作業フローを見える化させる。

  2. アプリを表示させるワイヤフレームを書いて、並行して機能とデータを定義する。このボタンをクリックすると、どうなるか、どのようなデータが蓄積されるか、エラーメッセージの条件などを記述する。

機能的じゃない条件

  • 性能はどれくらい必要か。

  • 拡張性は予定しているか。

  • 可用性はあるか。

  • セキュリティはどのようにするか。

運用や保守の条件

  • 運用体制はどうするか。

  • 保守体制はどうするか。

  • 障害時体制はどうするか。

何かを始める前に段取り、大切ですね。

この記事が気に入ったらサポートをしてみませんか?