web-dev-qa-db-ja.com

ずさんな企業文化をどうやって変えることができますか?

解決する必要のある問題が発生したときに、小さなプログラムを個人的なツールとして作成するのが最も簡単な解決策である場合があります。私がそれを使用するのは私だけなので、私はそれを非常に使いやすくしたり、非常に堅牢なものにしたりしていません。

次に、同僚がプログラムを見てそれを要求します。彼が同じ問題に遭遇し、ツールが役立つ可能性があるためです。私は彼に「それはきれいではありませんが、仕事を成し遂げるでしょう」という免責事項を与え、彼にそれを許しました。

次に知っていることは、上司が電話をかけてきて、クライアントのコンピューターでソフトウェアを動作させようとしているのに、Xエラーメッセージが表示されているということです。 WTF ??そのソフトウェアはリリースの準備ができていませんし、リリースの準備が必要であるとは言われていませんでした。しかし、何らかの理由で、私の上司はそれで十分だと考え、元の開発者に何も言わずにリリースしました。

現在、この特定の問題はMessageBox.Show("DO NOT GIVE TO CLIENTS!");で簡単に修正できます。ただし、この問題ははるかに深い問題を示しています。当社の企業文化はずさんです。ずさんなソフトウェアはOKで、ずさんなプロセスはOKです。将来について心配する必要はありません。今のところほとんど動作しないように十分な努力を払い、バイナリを.Zipファイルに入れて出荷してください。政府の仕事には十分です。

これは、フルタイムの従業員が10人いる小さな会社で、成長しており、しばらくの間存在しています。誤解しないでください。私はここで働くのが大好きで、会社も大好きです。走るように言わないでください。私は会社をより良くするための一部になりたいです。どのようにしてこの種の文化に良い変化をもたらし始めますか?

28
Phil

変更する唯一の方法は、だれでもずさんな文化のマイナス面を見て、おそらくもっと重要なことには、それを修正するために経営陣の賛同を得ることです。しかし実際にはそれは起こりませんし、それを変更することはできません。それはあなたが聞くことを期待していた答えではないかもしれませんが、ずさんな文化を変えるためにいくつかの仕事で試みて失敗した5年かそこらの後、私はそれを行う価値は通常ない価値があるとある権威と言うことができます。

最初のステップは、だれがずさんな文化を知っているか気にしているかどうかを見つけることです。あなたが問題を見たonly人であるなら、あなたの努力は無駄です。

20
Wayne Molina

同僚や上司と一緒に座って、自分がプロトタイプでクライアントが使用する準備ができていなかったことを説明する必要がある場合があります。クライアントが使用できるようにしたい場合は、十分な時間をかけてそれらの変更を加えることができますが、「迅速かつ汚い」ものを取り、顧客に渡さないでください。何かがうまくいくからといって、学ぶことを学ぶのは良いことではありません。あなたが免責事項を与えた間、さもなければこれが起こり得ることであるとして、それをいくらか尊重するために言われるべきものがあります。

8
JB King

あなたは愚かを修正することはできません。あなたの上司があなたがそのありそうもないことを説明するようなことをしているなら、あなたはそれを変えることができるでしょう。特に彼が所有者でない場合-覚えておいてください、彼は他の方向から来る圧力を持っています、そしてその方向は彼の給料小切手に署名します。他の同僚と同じです。あなたが取ることができる最善の行動最初のコースは、自分を守る習慣を身につけることです。あなたが説明するメッセージボックスのようなテクニックを使ってください。すべてのメールを保管してください。できるだけ多くを書面で入手してください。このようにして、愚かさが襲ったときに、矢面に立つことはありません。次に、昇進するにつれて、監督下にあるものに必要な変更を加えます。

3
GrandmasterB

先日、同僚から、ラボのエンジニアがウィジェットに単一のコマンドを発行し、コマンドに関連する変数を変更できるようにする簡単なテストツールの話がありました。これは9年前に書かれたもので、最後に彼が知っていたのは、今日でもまだ使われていることです。ラボで何かが機能することを証明するために最小限のテストで数時間で書かれたツールは、エンジニアリングラボ全体のテストツールの基礎となりました。コードを記述したら、それは存在します。それが何か有用なことをして他の人に見られたら、人々はそれを望んでいるでしょう。それがうまく機能している場合、人々はXを実行するためにそれを要求するでしょう。次に知っておくと、シンプルなツールは重要なコンポーネントです。

最初の責任はソフトウェア開発者にあり、コードを見たりツールを使用したりする人は誰でも、それがプロトタイプであるか本番システムではないことを理解し、なぜそうなのかを説明する必要があります。あなたがそうしたように聞こえますが、同僚はその責任を果たすことを怠っていました。これに対処するために、私は彼らに話しかけることをお勧めします。これは本番のコードではなく、あなたの仕事を容易にするためにのみ書かれたものであることを繰り返し述べます。彼らが便利だと思う場合は、ツールに取り組むか、ツールに取り組んでいる他の人々をサポートして、ツールを強化し、本番環境により適したものにすることを提案します。

組織のプロセスや文化が変化する限り、しばらく時間がかかることを期待してください。例を設定することから始めます。 The Pragmatic Programmer を読んでいない場合は、読んでください。 「あなたの工芸品について気をつける」、「変化のカタリストになる」(より良い方法を人々に示す)、壊れたウィンドウに共存しない、責任を負わずに問題を解決するなどのヒントに注意してください。これらのヒントで対処されているいくつかの問題を認識しているようですので、同僚に模範を示し、実践してみましょう。

2
Thomas Owens

意思決定者が不正なコードの影響をもはや許さなくなり、問題を解決するための方法を支払う/変更するまで。

これらは、小規模で成長中の企業にとって難しい決定です。彼らはすべての努力をどこに置くべきか分かりません。一晩でビジネスルール、場合によっては事業全体が出現、変更、消失すると、コードが堅牢になりすぎるリスクがあります。

良いコードを書くように努めてください。全員が情報に基づいた決定を行えるように、結果を全員に通知してください。不正なコードが本番環境に導入された場合、可能であればそのコードに注意を払い、特にビジネスのその部分が重要になった場合は、引き続きコードの改善を提案してください。

最小限の実行可能コードと見なされるものを人々に待つことは、現在の期待を超えているようです。

1
JeffO

ここでの問題のその部分は、最初に迅速で汚れたツールを作成したことです。確かに、正当な理由がありました。確かに、それは仕事をしました。 しかし、問題を解決するanythingは、問題を解決し始めると、「十分な」解決策の罠に陥ることがわかりました。

仲間がそれを望んでいる場合は、完全に機能しているわけではないことを丁寧に伝え、キーを保持していることになります。あなたは時々彼のためにそれを実行することができます。または、できればプロジェクトの最初から追加の機能を追加します。

この時点での私の迅速で汚れたツールはすべて、十分にテストされたスケルトンファイルからのものです。これにより、すばやく作業を開始でき、作業の開始点が提供され、必要な鈍いエッジをすべて追加する必要がなくなります。 getoptsライブラリとその癖について心配する必要はありません。 Pythonを使用する場合、メモリ管理に関する詳細を覚える必要はありません。 1つの単純なタスクと1つだけを実行するようにプログラムをビルドします。これにより、ユーザーが曲げて変形させていないかどうかを簡単にテストできます。

最後に、有限状態マシンアーキテクチャを利用します。考えられるすべての状態に進むことがわかっている場合は、ユーザーが何があってもトラックをジャンプできないようにするのがはるかに簡単です。このパラダイムに従うために書いたプログラムがあります。バイト単位で読み取る任意の入力ファイルを受け入れます。クライアントがバイナリ実行可能ファイルを読み取るように指示した場合でも、問題は発生しません。探しているものが見つからないため、内部バッファがいっぱいになります。それはそれをきれいに片付け、閉じ、そして私にそれを見る必要があることをユーザーに報告します。

1
Spencer Rathbun

まあ、答えはプログラミングとはあまり関係がありませんが、ソフトウェアは品質を簡単に判断することが難しい優れたものです。

文化を変えることができないかもしれません。なぜなら、人々は本当の動機を持っていないかもしれませんnotずさんだということです。ソフトウェアの品質に影響を受ける人々はプロセスとはあまり関係がないからです。たとえば、クライアントは仕事をするためにソフトウェアを購入して使用する必要があるかもしれませんが、そのソフトウェアがどれほど効果的であるかについて個人的な関心はほとんどありません。なぜなら、競合するソフトウェアの方が優れているかどうかは誰にもわからないからです。したがって、tooを長くとらずに機能のリクエストに応えるだけでよいのですが、バグがあるかどうかについてはそれほど心配する必要はありません。だから、あなたはすべて、結果なしでかなりずさんな状態になる可能性があります(あなたに影響を与える決定をした人にとって)。

このようなことが当てはまるかどうかはわかりませんが、そうしようとすると、文化を変えるのに苦労する可能性があります。

彼らが利益を上げれば、彼らがそうする理由を彼らに納得させることができるので、あなたはそれをより簡単に過ごせるかもしれません。残念ながら、だらしのないような政治状況がなければ、そもそもおそらくbeずさんなことはしないでしょうから、それは難しいでしょう。あなたはいつも「いつかあなたは正しいことをする必要のある仕事をするかもしれない」という議論を試すことができます(おそらくより外交的に表現されています...)

0
psr