私は企業の開発者であり、いくつかのStackOverflowポッドキャストで「落ち込んでいる」と呼ばれる種類のJoelSpolskyです。私の会社はソフトウェア会社ではないので、ソフトウェアの専門家が会社が開発者の生産性のために従事することを推奨する多くの手段を実行するビジネス上の理由はほとんどありません。
プライベートオフィスやデュアル30インチモニターはありません。私たちのソース管理システムはMicrosoftVisualSourceSafeです。十分に言った。その一方で、私は自分の一日を埋め、仕事にいくつかの多様性を加える多くのことをするようになります。私は、事業分析、プロジェクト管理、開発、生産サポート、国際的な実装、トレーニングサポート、チーム計画、およびプロセス改善に携わっています。
集中できて、主要なプログラミングタスクがあるときは、1日の85%をコーディングに費やすことができます。しかし、多くの場合、私は1日の約50%をコーディングに費やしています。本番サポート(コーディングに関連しない)が重い場合は、1日の15%しかコーディングできない可能性があります。
私が働いてきた企業のほとんどは、アジャイルプロセスやテスト駆動開発の評価に積極的に取り組んでいませんでしたが、ウォーターフォールの仕事もうまくいきませんでした。彼らの開発者のほとんどは、無頓着なカットアンドペーストのカウボーイのように働いていました。
時々私は家から、そして子供たちと一緒に仕事をします、それはひどいです。私は仕事でより生産的です。
私の生産性は良好ですが、メンタルコンテキスト切り替えの中断要因とコストを取り除くと、より良くなる可能性があります。生産サポートとプロジェクト管理のオーバーヘッドはどちらも、これらのタイプの中断を引き起こします。しかし、どちらも仕事に必要な部分なので、私はそれらを取り除くことはできないと思います。私が検討したいのは、プロジェクトの担当者がプロジェクトに集中できるようにチームを再編成し、他の担当者がサポートに専念することで中断をブロックできるようにすることです。そして、プロジェクトが終わったときに交換します。
残念ながら、誰もサポートを望んでいないので、私が望む他の生産性向上策は次のいずれかです。
- 単体テストを高速化するためのより優れたテストツール/方法論
- 新規開発の品質を改善し、本番サポートの負荷への貢献を制限するためのより優れたビジネス分析ツール/スキル