LoginSignup
2
3

はじめに

どうも、自社開発企業の SES 部隊として日々客先で業務をこなしているはずれと申します。未経験からエンジニアに転職し、だいたい 1 年半くらいが経ちました。
今回は、私がプログラミングを始めた頃から、ユーザー目線でコードを書くようになるまでの経緯を振り返り、その重要性(個人の意見)等をお話ししたいと思います。

この記事の対象者

  • プログラミング未経験者
  • プログラミング経験者でも、ユーザー目線での開発に興味がある方

プログラミングにおける 3 つの要素

① ユーザーの要件 ≒ アウトプット

ユーザーの要件を明確に理解することが最初のステップです。これは、何を実現したいか(アウトプット)を定義します。要件定義フェーズでは、ユーザーインタビュー、ユーザーストーリーの作成、機能要件のドキュメント化などが含まれます。これにより、どのような機能が必要か、どのような問題を解決するかが明確になります。

② それに対しての前情報等 ≒ インプット

次に、その要件を実現するために必要なデータや情報(インプット)を特定します。これは、アプリケーションが処理する入力データや、外部システムから取得する情報、またはユーザーが直接入力する情報などです。このステージで、どのようなデータが必要で、どこからそれを取得できるかを決定します。例えば、ログイン機能を実装する場合、ユーザー名とパスワードが必要になります。

③ インプットからアウトプットを作成する ≒ プログラミング処理

最後に、具体的なプログラミング処理を行います。このステージで、受け取ったインプットを処理し、要件に合わせたアウトプットを生成します。ここでは、アルゴリズムの設計、コーディング、テストが行われます。例として、受け取ったユーザー情報を認証し、アクセス権を決定する処理が挙げられます。

初心者の頃の私のアプローチ(②→③→①)

やっていたこと

プロジェクトに入りたてのプログラミング初心者の頃は、主に「インプットからアウトプットを作成する」ステージから開発を始めていました。コーディング楽しい!処理が動いたヤッター!状態で、ユーザーの要件を理解することを後回しにしていました。

結果

  • 無駄の多いコードの量産
  • ユーザーの要件を満たしていない
  • ユーザーからのフィードバックが多い(戻り工数の発生)

そりゃもう、たくさんの指摘を受けました(泣)

今の私のアプローチ(①→②→③)

やっていること

今は、ユーザーの要件を理解することから開発を始めるようにしています。結局のところ、ユーザーが求めているものを提供することが開発の目的です。そのため、ユーザーの要件を理解し、それに対して必要なインプットを特定した上で、プログラミング処理を行うようにしています。

結果

  • ユーザーの要件を満たすための最小限のコードを書くことができる
  • ユーザーからのフィードバックが減った(戻り工数の削減)
  • ユーザーの満足度が向上
  • 自分の評価も上がった!

学び

  • 結局のところユーザーが求めているのはアウトプットのみ
  • アウトプットを実現するための最小限の処理を行うことが重要
  • エンジニアの自己満足でコードを書くのは厳禁

おわりに

ユーザー目線でコードを書くことの重要性について、私なりの考え方をお話しました。これからプログラミングを始める方、またはユーザー目線での開発に興味がある方にとって、少しでも参考になれば幸いです。また今話した内容は、私の個人的な意見です。他の方の意見も参考にして、自分なりの考え方を見つけていただければと思います。そして私にもっとユーザー目線でコードを書くためのヒントを教えてください!

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3