Salmonボブです。僕はイギリスに住んでいて、人やコンピューターが好きです。ああ、品質と、そしてデータもね。この記事はboagworldからの翻訳転載です。配信元または著者の許可を得て配信しています。開発者にとって、同僚とのコミュニケーションはコードを書くことと同じように大事なことです。わたしたちデジタル分野のプロは、GUIをはじめとするユーザーとコンピューター間でのあらゆる種類のインターフェイスについて心配することがよくあります。ところが、時には私たち自身がインターフェイスそのものとなり得ます。コンピューターと使用するユーザー間のインターフェイスではなく、コンピューターとコンピューターを理解する必要のある人との間です。プログラマーがコンピューターシステムを構築するためのスキルを磨く必要があるのと同じように、そのようなシステムを他のユーザーにいかにわかりやすく説明するかということも大事なのです。開発者は、管理する人たちと、彼らがビジネスの成功のために依存するテクノロジーとの間のインターフェイスと言えます。他者からあなたの仕事を理解してもらう必要性あなたが取り組んでいる開発プロジェクトを理解してもらうべきステークホルダーがいます。以下のような人たちです。見込み顧客:仕事の契約を交わす前に、顧客からの充分な信頼を得てあなたの仕事の進め方を十分に理解してもらう必要がある顧客:プロジェクトが完了して支払いの段階で、同意した内容を確認してもらう必要がある管理者たち:最終決定をする前に取れる選択肢のリスク・コストなどを理解する必要があるプログラマーの同僚たち:作業を始める前にあなたの専門の作業領域を理解する必要がある頭の中でシステムに関する知識を蓄えるのは素晴らしいことですが、それだけでは十分と言えません。あなたは他者とシステムに関する知識の間のインターフェイスなのです。同僚とあなたのコードの間の良いインターフェイスになる方法GUIが優れたインターフェイスにも、また貧弱なインターフェイスにもなり得るように、あなた自身のシステムに対する知識と他者に対するインターフェイスとしての役割も様々です。優れたUIには、ユーザーのニーズと能力を考慮する能力が求められます。結局のところ、インターフェイスは最終的にユーザー側のものであり、あなたのためのものではないのです。話す相手の反応に注意を払わない限り、あなたはただの退屈な人か、ただいつも顔を合わせる面白みのない取引先でしかないでしょう。ここで少し掘り下げてみましょう。詳細な情報を求めている全てのユーザーが特定のことに興味があるというわけではなく、実際のところあなたが正しいものを作ってくれるのかについて心配しているということであったりします。彼らは、すべての詳細を知ることこそが彼らの目的を達成することだと考えがちですが、それが正しいとは言えないかもしれません。リスクがある道を通ることは、最終的にユーザーが望む目的地に到達する効果的な方法かもしれません。構造について、概念的に(話し合う必要のあるすべての要素がどのように合致するか)、時系列で(何をどの時点で話し合うか)考えてください。GUIを作成するとき、視覚的な階層、タイポグラフィ、フローなどについて考えます。システムのすべての要素を一度に画面に表示するのは得策ではないのと同様に、頭の中のすべての詳細を一度に取り出して人に伝えようとすることはあまり良いアイデアとは言えないでしょう。下記の事柄を参考にしてみてください。あなたが説明しようとしていることの中心となるコンセプトは何ですか?まず最初に理解できる一番簡単なことは何ですか?なぜそれが重要なのでしょうか?すべての抽象的なものをまとめる具体的な例を挙げてみましょう。インターフェイスを設計するのと同じです。全体が可能な限り効率的になるように、各要素を配置するのです(細かい部分を取り除くことを含め)。それ自体で言葉として成立しているか、それとも図を表示する必要があるか、また例えばXMLのようなものを利用して、伝えるべきでしょうか?自然な流れでインターフェイスとしての役割を担うのは簡単なことではありませんが、今、あなたが行っている開発に関するテクノロジーやツールにも最初は不慣れだったはずです。時間をかけてこれらのスキルに取り組んで今日に至ったのと同様に、コミュニケーション能力を使って、取り組むべきものなのです。さまざまな理由でうっとおしく感じることもあるでしょう。ほんの少しの労力をかけるだけで彼らが必要としているものを必要としているときに把握できるよう効率的にコミュニケーションを行うことができれば、彼らがイライラしてしまう理由を減らすことができます。それでも尚、彼らが現実的でないリクエストをしてくることもあるかもしれませんが、あなたがやるべきことはやったと堂々と言えるでしょう。まとめ何かを設計して構築することが不可欠であるように、それを他の人に説明することも重要です。有益な世界を作り出すだけでなく、それはあなた自身の利益にもつながるのです。ユーザーを知ること、つまりユーザーが現在どんな状況に置かれていて、何を目的としているかを理解することが、ユーザーに合わせてインターフェイスを設計する上での基本です。この記事も、読者にとって日常的に使われている言葉で書くこともできました。コミュニケーションが必要な理由とその方法に懐疑的ともいえる技術者たちをターゲットにしているので、インターフェイス、状態、バグなどの技術的な言語を取り入れてみました。誰かに説明するときにバグが起きる場合もありますが、設計や構築と同様に、誰かに伝える能力はこれから生み出すバグを減らすためにあなたが働きかけることができるスキルなのです。MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。