MENU
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • プログラミングレッスン
    • フリーランス転向支援
  • 対応エリア
  • FAQ
  • パートナー募集
    • 制作会社さまのITパートナーとして
  • お問い合わせ
  • イベント
  • 記事一覧
FUNBREW
あなたの会社のIT顧問
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • プログラミングレッスン
    • フリーランス転向支援
  • 対応エリア
  • FAQ
  • パートナー募集
    • 制作会社さまのITパートナーとして
  • お問い合わせ
  • イベント
  • 記事一覧
FUNBREW
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • プログラミングレッスン
    • フリーランス転向支援
  • 対応エリア
  • FAQ
  • パートナー募集
    • 制作会社さまのITパートナーとして
  • お問い合わせ
  • イベント
  • 記事一覧

システム開発でどうしても手が止まるとき。タスクのブレイクダウンをしよう

2023 2/08
システム開発 プログラミング初学者
2023年2月8日 2023年2月8日

ファンブリューの金井です。

システム開発をしていると、「やることは何となくわかるけど、なぜか手が動かない」という経験はありませんか。

しっかりと仕様書を揃えている現場であればいいのですが、小さなプロジェクトでは資料がないことの方が多いでしょう。

またエラーが発生した時に、エラー文を読む以外の方法が思いつかなくて、手が止まってしまった経験はありませんか。

今回はタスクをうまくやっつけるための考え方についてご紹介したいと思います。

目次

タスクのブレイクダウンをやってみよう

タスクをもっと分割する

例えば、あるシステムの管理画面で「ユーザー情報をCSVで出力する」というタスクがあったとします。

タスクのタイトルを見れば、おおよそ何をするのかは予想がつきますが、具体的な手順はどこまで想像できるでしょうか。

やり方の細部までイメージするには、まずはタスクを小さくすることから始めるとお勧めです。

今回の例で言うと、次のように分割できるのではないでしょうか。

タスク分割の例
  • ユーザー一覧画面を表示する
  • ユーザー一覧画面にCSVダウンロードのボタンを設置する
  • システム内でユーザー情報の入ったCSVを作成する
  • 作成したCSVを読み込んでダウンロードさせる

このようにいくつかにやることを分ければ、少しは想像がしやすくなるはずです。

しかし、これでもまだ実装内容が想像できないこともあります。

そんなときは同じように、分割したタスクをさらに分割するということを繰り返していきます。

例えば、「ユーザー情報の表示」とは具体的にどんなことをすればいいのか考えたとき、以下のように分割できるかもしれません。

「ユーザー情報の表示」をさらに分割する例
  • ユーザー情報を表示する画面はソースコードのどこに当たるのか
  • ウェブシステムならルーティングを行っているはず。URLの定義があるファイルを見てみる
  • もし存在しないなら、ユーザー一覧画面から作成
  • そもそも、このシステムのユーザーとは何を指すのか。依頼者に確認する

このように箇条書きで良いので、丁寧に分割してみるといいでしょう。

そうすれば、時間はかかっても、一歩ずつ先へ進んでいる実感が持てます。

最終的なタスクには程遠いですが、手前の部分をおろそかにすればするほど、全体を考えるときの足枷となります。

タスクの分割は多くの人が無意識でやっていることではありますが、意識してやることで頭の中が整理されます。

とにかくタスクを開始する

とっかかりがあるなら、まずは作業に入ってみる

タスクをうまくブレイクダウンできれば、「やってみようかな」と言う気持ちが芽生えやすくなります。

ただ、一部でも不明なところがあると、「できるかわからない」と言う気持ちも残ります。

そんなときは、とにかく初めてみることをお勧めします。

まずは作業を始めてしまって、軽く脳をウォーミングアップしましょう。

少し調べたり、コードを書いたりしているうちに、新たな気づきを得られることもあれば、単純に作業に慣れてくることもあります。

タスクを始める前に深く考えられないのは、エンジンがかかっていないからです。

また、何かを思いつくためには、少しでも動き出して情報を集めていかなければなりません。

一度に大きなタスクをこなそうとするのではなく、焦らずに少しずつ取り組んでみると、着実に進んでいけるでしょう。

タスクに疑問を投げかける

タスクの内容を見て詳細が想像できないのは、うまく洞察ができていないときに起こります。

例えば、「ユーザー情報をCSVでダウンロードする」というタスクで、これを何回読んでも文字情報しか入ってこないなんてこともあります。

そんなときは、次にのように、なぜ、どうやって、どこでといった言葉をタスクに投げかけてみましょう。

「どうやって」とタスクに問いかける例

どうやってユーザー情報を取得するのか?

どうやってCSVのデータを作るのか?

どうやってダウンロードさせるのか?

タスクの意味が分かりづらい時には「なぜ」を使うとイメージしやすくなります。

「なぜ」を使ってタスクの背景を探る

なぜユーザー情報なのか?

なぜCSVなのか?

なぜダウンロードさせるのか?

タスクの背景がわかるようになれば、依頼者の意図を汲んで仕事ができるようになります。

例えば、新規登録のユーザーが見たいという背景でCSVダウンロードのタスクが生まれたなら、毎日新着のユーザーをメールで管理者に通知するといった方法でも、要件を満たすことができるかもしれません。

シンプルにしよう

タスクを簡単にシンプルにする

似たような話になりますが、タスクが難しいなら簡単に、シンプルにすることを意識してみましょう。

例えば、ユーザー情報のCSVをダウンロードさせる方法がわからなくて悩んでいるとしましょう。

特にCSVのダウンロードの部分に引っ掛かりを感じているのであれば、まずはその機能を簡単に実装できないか考えてみます。

初めからユーザーのCSVデータを作るのは手間ですから、適当なCSVファイルを用意して、それがうまくダウンロードできるかどうか確認してみます。

それができたら、あとはそのCSVをユーザー情報の入ったものに差し替えるだけです。

もちろん、ユーザー情報をCSVにするというタスクは残っていますが、同じような考え方で、できるだけ簡単になるようにタスクを改変します。

CSVの作り方だけを知りたいなら、適当なデータを用意して、それがうまく書き込めるか見れれば十分でしょう。

そうすれば、ユーザーのデータをどうやって取ってくるかは、後で考えればよくなります。

分解する癖をつけよう

突然ですが、例えば、営業さんが「売上を上げる」と目標を掲げたとき、それだけでは行動は起こせません。

具体的に何をすればいいのかわからないからです。

システム開発のタスクも似たようなところがあり、特に関わっているプロジェクトの業務知識が不足していると作業にはなかなか入れません。

普段からタスクを細かくする癖をつけておけば、時間はかかったとしても着実に進むことができます。

タスクを分割して分析が進めば、何がわからないのかもわかってきます。

そこまで気づくことができれば、誰かに質問をしても、より良い答えが返ってきやすくなります。

今回は私がタスクに取り組むときの方法について書いてみました。

拙い文章ではありますが、ここまでお読みいただきありがとうございました。

未経験でエンジニアを目指すなら

ファンブリューではエンジニアになりたい人を支援しています。

現在こんなお悩みがあれば、ぜひ一度ご相談ください。

  • プログラミングを学習したいが、何から始めたらいいかわからない。
  • IT業界に就職するために必要な知識が何かわからない。
  • 実務経験がなくて現場に入れない
お問合わせはこちら
システム開発 プログラミング初学者
  • システム開発の着手金とは何か?先に代金を払うメリットとデメリットと気をつけるべきこと
  • フリーランスエンジニアに大事なアウトプットの考え方。退場にならないために意識すべきこと

金井 泰樹のアバター 金井 泰樹 FUNBREW代表

FUNBREWの代表。
新卒からIT系の企業に勤め、SES、スマホアプリ開発、自社開発の会社で経験を積んで独立。
新卒時代にエンジニアとしてのキャリアを積むのに失敗し、その後に苦労した経験から、現在教育事業の立ち上げを準備中。
強みはウェブシステム開発全般と迅速なレスポンスです。

この著者の記事一覧へ

関連記事

  • SESの会社に入社したらやること。最初の現場に入れたらひたすらスキルアップ
    2023年3月10日 2023年3月10日
  • flutterで外部からアクセスさせる
    2023年3月7日 2023年3月7日
  • Laravelのconfigを使って定数を設定をする
    2023年3月6日 2023年3月6日
  • Laravel Forgeの開発でdevドメインをSSL化する方法
    2023年3月3日 2023年3月3日
  • SESの会社に入社したらやること。まずは最短で現場に入るために努力する
    2023年2月24日 2023年2月24日
  • プログラマーの即戦力が意味するものとは?技術力以外で求められていること
    2023年2月15日 2023年2月15日
  • システム開発会社に早めに相談するメリットとは?壁打ち相手として利用する
    2023年2月15日 2023年2月15日
  • プログラマーに求められる意外な資質とは?これからエンジニアを目指す人、何かが足りないと思う人に読んでほしい
    2023年2月14日 2023年2月14日
  1. ホーム
  2. システム開発
  3. システム開発でどうしても手が止まるとき。タスクのブレイクダウンをしよう
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • システム開発
    • ウェブサイト制作
    • プログラミングレッスン
    • フリーランス転向支援
    • ITサポート
  • 対応エリア
  • FAQ
  • パートナー募集
    • 制作会社さまのITパートナーとして
  • イベント
  • お問い合わせ
  • 記事一覧
  • お知らせ

© FUNBREW

  • メニュー
  • FUNBREWについて
    • 営業日・営業時間
  • 事業内容
    • システム開発
    • ウェブサイト制作
    • プログラミングレッスン
    • フリーランス転向支援
    • ITサポート
  • 対応エリア
  • FAQ
  • パートナー募集
    • 制作会社さまのITパートナーとして
  • イベント
  • お問い合わせ
  • 記事一覧
  • お知らせ
目次