3

この質問は、UI に関するより具体的なレベルの同様の投稿で対処されています。

より一般的な設計レベルでこの問題に取り組みたいと思います。

高い品質を確保するために、日々デザインを決定しています。しかし、私はときどき、中間管理職や経験の浅い開発者と、物事を「正しい方法」で行うことのメリットについて話し合います。

「信じてください。これがどこにつながるかを見てきました。私たちは別の方法でやっています」と言うときもあれば、特定の一連の選択が問題を引き起こすシナリオを作成しようとするときもあります。ほとんどの場合話している相手に届いていないように感じます。「私を信じて」と言った方がいいかもしれません。

上級ソフトウェア担当者としての私の能力の 1 つは、会社としての技術的な選択を説明し、動機付けすることであるべきだと思います。経済的でユーザー経験のレベルでそれを行うことができます.

しかし、最初は実装が難しく、不必要に複雑に見えるかもしれないにもかかわらず、一部の設計選択が「間違っていると感じる」理由と、他の設計選択が単により正しく有益であると感じる理由を、技術的および疑似技術的なレベルで説明できていないようです。

幸いなことに、私は時々良い結果を示します。

ここにいる他の人がこれについて何を言っているかを読むのは本当に興味深いと思います.

前もって感謝します!

4

9 に答える 9

10

技術的負債の議論を試しましたか? リンクを引用する (Martin Fowler のサイトから):

... 物事を迅速かつ汚い方法で行うと、金銭的負債に似た技術的負債が発生します。金銭的負債のように、技術的負債は利息の支払いを引き起こします。これは、迅速で汚い設計の選択のために、将来の開発で行わなければならない余分な労力の形で発生します...

于 2009-02-10T14:42:09.563 に答える
8

これが私の皮肉な答えです:

物事を正しく行うことに関心がある人と、そうでない人の 2 種類の人がいます。あなたに同意する人を説得する必要はないので、あなたが心配しなければならないのは、物事がどのように行われるかを気にしない人たちです. 物事を「正しい方法」で行うことを気にしない人々は、事前の時間のペナルティ、異なる実装との混乱など、他のことを深く気にかけていることに気付くでしょう。あなたができる最善のことは、他の人々が本当に気にかけ、それらに対処するのは何ですか。

たとえば、物事を正しい方法で行うと開発時間が長すぎるのではないかと心配している場合は、正しい方法で行うことで長期的にどのように時間を節約できるかを示します。

ただし、注意が必要です - すべての純粋主義者 (私自身を含む) が「正しい方法」に反対するときはいつでも常に尋ねなければならない、これまでになく重要な質問を常に自問してください。

私はこれを「正しい方法」で行っていますか?

答えが「はい」の場合は、おそらく引き下げる必要があります。

于 2009-02-10T14:42:12.637 に答える
2

2 つのポイント:

  1. 自分の論理的根拠を他の人に説明できていない場合は、自分自身がそれを十分に理解していない可能性があります。したがって、他の人に伝えられるようにしようとすると、間違っている可能性のある自分の仮定に光が当たることがよくあります. したがって、どんなに困難であっても (それが難しいことはわかっています)、他の人のために自分のアイデアを具体化するために積極的な努力をすることをお勧めします。書き留めたり、図を作成したり、なんでも構いません。それでもコミュニケーションが取れなくても、判断の誤りに気づくことができるかもしれません。
  2. あなたが話している相手は、ソフトウェア エンジニアリングにあまり詳しくないかもしれません。その場合、大まかなアイデアを押し進める代わりに、最初の原則を 1 回だけ説明することをお勧めします。あなたの思考が左右される重要なアイデアを説明するプレゼンテーションを (ここでも図などを使って) 作成し、セッションを開催します。この最初のセッションでは、少し頑張る必要があるかもしれません。ただし、彼らがそれを取得した場合、あなたの残りの人生はずっと楽になるかもしれません.
于 2009-02-10T14:39:31.660 に答える
1

多くの場合、このような議論は宗教的または政治的な議論に発展する可能性があります。誰もが意見を持っていますが、誰も答えを持っていません. 自分の考えに実質を加えるためにできることは何でも、自分の考えを推し進めるのに役立ちます。

About FaceThe Design of Everyday Thingsなどの既存の資料を読んで、いくつかのことが間違っていると感じているというあなたの気持ちを裏付ける事実を特定できないかどうかを確認してください.

于 2009-02-10T14:41:28.677 に答える
1

一般的に、「私を信じてください。私が話していることはわかっています」という議論を使用する必要がある場合は、戻って説明し、実装しようとしていることを再考する必要があることがわかりました。時々、何かが良いか悪いかの感覚が得られますが、それは、何かをすべきか、すべきでないかについて具体的な理由がないため、見直さなければならない指標です.

あなたが注意を払うべきもう一つのことは、彼らの肩書きのために「ジュニア」の人々を解雇することです. あなたはもっと経験があるかもしれませんが、それは彼らが賢くなく、彼らの言っていることが正しいかもしれないという意味ではありません. 実際には、経験年数は、誰かが同じ種類の仕事をしてきた年数にすぎないため、ほとんど意味がありません。これは、その人がキャリアのどの段階にいるかを示す良い指標ではありますが、実際にいつでも適切な決定を下すことができるという自動決定ではありません。

于 2009-02-10T14:46:18.337 に答える
1

私の上司はあまり技術的な人ではありませんが、「私を信頼してください」という回答を受け入れるのにも苦労しています。問題を彼に関連付けるには、時間コスト、工数、費やしたお金などの観点から問題を定量化することが重要であることを理解するのに少し時間がかかりました.

その人が理解していることに関連することで、通常はあなたの答えをより受け入れやすくなります。

于 2009-02-10T15:36:17.640 に答える
1

コスト的に考えてみます。ある意味では、「速い、良い、安い: どれか 2 つを選ぶ」に戻ります。一貫して速くて安いものを選ぶと、がらくたになります。

私は、特定の機能のチャンクを 3 ~ 4 年かけて設計および構築することを好みます。私がその自由度を持っていて、余分な努力の必要性と利点について徹底的に説明できれば、すべてが良くなります.

具体例を挙げましょう。私は、画像のコレクションを取得して画像から PDF を生成するコードのチャンクに追加する機能を割り当てられました。既存のコードは簡潔で簡潔で、顧客のニーズを満たすために書かれていましたが、成長するように構築されていませんでした。既存のコードを使用して機能を追加し、チェックインすることはできましたし、実際に行いましたが、それは見苦しく、その後のすべての機能が見苦しくなってしまいました。それからさらに 2 週間かけて、生成 PDF の完全な機能モデルを作成し、消費者としても機能するように設計しました。完了後、PDF ジェネレーター全体を新しいモデルに再実装するのに数時間かかりました。厳密には必要ではありませんが、モデルを構築することで実現可能なテクノロジが作成され、既存のコードに機能を追加するコストが削減されることを非常に簡潔に説明できました。現在、このテクノロジに完全に基づいた 4 つの主要な製品または機能セットがあり、さらに検討しています。スラムダンク。

于 2009-02-10T15:23:55.110 に答える
1

おそらく、中間管理職と技術的な決定について議論すべきではありません。それは、間違った抽象化レベルで議論することになります。たとえば、「リファクタリングに X 日かかり、新しい機能を実装するには Y 日かかります」と答える代わりに、「(X+Y) 日かかります」とだけ答えてください。

若手開発者との議論に関しては、レトリックや「議論の仕方」について尋ねているようです。これは非常に大きなトピックです。たとえば、多くの手法の 1 つは「権威に訴える」ことです。たとえば、「この手法については<、尊敬されている著者によるこの優れた本>で読んだ」と言う...または、何かを証明できない場合でも、リスクを軽減するという根拠...

ただし、最も重要なことは、耳を傾けることです。彼らが他のことを主張したい理由を見つけて、彼らの主張に対処してください。たとえば、誰かからの時間的プレッシャーにさらされているために、すぐにやりたいという理由で「間違った」方法でやりたいと思っているのかもしれません。もしそうなら、その懸念に対処してください。

于 2009-02-10T14:56:33.383 に答える
0

私も良いセールスマンではありません。それがあなたの問題のようです。私が人々に別のルートを取るよう説得したいとき、私にとって非常にうまく機能することがわかったのは、誘導的な質問をすることです. 唯一の論理的な答えが探しているものになるように質問してみてください。これには、その人が解決策を自分で考えていると信じているという追加のボーナスがあります。つまり、解決策を信じる可能性が高くなります. 練習が必要ですが、あなたの性格タイプでない場合は、セールスマンになるよりも簡単に習得できます. また、正しい解決策につながる質問をする方法を知るためには、自分のことを本当に知っている必要があることも意味します.

このアプローチには、主要な質問に直面しても異なる解決策に到達できる場合、独自の解決策を再検討する必要があるという副次的な利点もあります。

于 2009-02-10T15:02:38.140 に答える