社内環境とソフトウェア開発環境[非公開]


13

業界では、ソフトウェア開発者が会社自身が使用するコードを書いている「社内開発」環境と、ソフトウェアが販売/配布されるように構築されている適切な「ソフトウェア開発」環境との間で区別があります。一般に。

とりわけ、両者の明らかな違いの1つは、ソフトウェア開発志向の企業は通常、仕様作成、テスト、構築などのソフトウェア開発ライフサイクルを順守するのに対し、社内志向のショップは通常、彼ら自身がエンドユーザーであり、正しく行われなかった何かを常に修正できるため、よりカジュアルな方法で物事を行います。

学生として(他のほとんどの学生と同じように)、ソフトウェア開発環境で仕事をすることを期待していましたが、社内のやり方で運営する会社で最初の地位を得ました。

時には、本格的なソフトウェア開発の経験を逃していないのではないかと思います。この気持ちの根拠はありますか?適切なソフトウェア開発環境に参加しようとする必要がありますか?


9
私はあなたが一般化を超えていると思います。使用されている方法論は、社内製品と市販のプロジェクトとは何の関係もありません。ベストプラクティスと考えられるものの多くを無視して、非常にアドホックに開発された出荷済みの製品に取り組んできました。また、詳細な仕様、テストスイート、および多数の品質管理プラクティスを備えた社内プロジェクトにも取り組みました。
トーマスオーエンズ

あなたが提起した両方の質問は、自分でのみ答えることができます。
レオ

6
私見、あなたの問題は、社内対ソフトウェア会社を見逃すこととは何の関係もありません。構造化されていない開発環境にいることに苦しんでおり、ベストプラクティスに従うのに役立つ強力なメンターがいないように聞こえます。
maple_shaft

1
ソフトウェアが販売用に開発されているか、社内で使用されているかに関係なく、すべて「ソフトウェア開発」と呼ばれます。商用は、「ソフトウェア開発」と呼ばれるものよりも良い用語かもしれません。
カレブ

1
ソフトウェア開発の2つの側面-アドホック対構造化開発プロセス、および社内対製品開発を統合します。それぞれの程度は独立して変化します。
ショーンマクミラン

回答:


13

私の経験では、「社内」と「配布可能な製品」の区別は間違っています。

ソフトウェア開発プロセスを真剣に考えている企業とそうでない企業があります。「社内」、「特注」、「シュリンクラップ」のいずれの場合も、それほど入ってこない傾向があります(ただし、「シュリンクラップ」プロバイダーの場合、プロセスがない場合はおそらくビジネスになりません)長いです)。

あなたが探している開発の基準を持っている場所を探してください-面接するとき、これらの質問をする必要があります。


あなたが投稿したとき、私はこれに似たものを書いていました。すべての有効なポイントですが、最後の文に対してのみ+1。
トーマスオーエンズ

@ThomasOwens-ええ、私の答えを投稿した後に質問へのコメントを見て、あなたからも答えを期待していました;)
Oded

10

この記事を読むことができます

http://www.joelonsoftware.com/items/2007/12/04.html

ジョエル・スポルスキー、あなたの質問を正確に扱っています。

私はここ数年、中規模のソフトウェア製品の販売と社内ソフトウェアの両方に取り組む必要がありました。その経験から、これらの2つのプラットフォームには違いがあることがわかりますが、状況はJoelが説明したほど悪くはありません。

たとえば、社内ソフトウェアのほとんどは、非常に制限された環境でのみ実行する必要があります。特定のスプレッドシートまたはデータベースバージョン、特定のネットワーク環境、制限された数のユーザー、インストールルーチンが不要などで機能するツールがたくさんあります。当社の出荷製品。他方、それは「社内」プログラム用の私のコードが低品質であったり、より「カジュアルな」方法で書かれていることを意味するものではありません。


6

ずっと前に、アジャイルプロジェクト管理に関する本を読みました(タイトルを思い出せたらいいのですが)。著者は、システムの欠陥に対する耐性のレベルに基づいてシステムを区別しました。欠陥の許容範囲は、非常に高い値(たとえば、他の開発者が使用するユーティリティ(バグは単に不便です))から、非常に低い値(たとえば、宇宙飛行士の生命維持を実行しているシステム(バグが発生する可能性がある)命にかかわる)。

著者のポイントは、開発方法論(および形式)を、システムの耐障害性(または臨界)にスコープする必要があるということでした。社内開発と一般配布用のソフトウェアを区別するのではなく、この区別が最も重要だと思います。

医療の質に影響を与える可能性のある医療記録システムを構築する社内開発者がいる病院を想像してください。この場合、社内ショップは、一般の人々が使用するウェブ製品を構築しているウェブサイトのコンサルタント会社よりも厳しいでしょう。


3

私はソフトウェアハウス、マーケティングエージェンシー、携帯電話会社、銀行などで働いてきましたが、その1つは、適用されるプロセスのレベルを決定する会社の文化と業界です。私が今まで経験した中で最も厳格で、遅く、制限的で、テストされた環境は、銀行の社内開発でした。最もカジュアルなのはマーケティング代理店でした。

この経験から学び、次の仕事の将来の方向性を決定するためにそれを使用することをお勧めします。ソフトウェア開発業界は科学ではなく、その芸術/科学であるため、企業ごとの違いや違いがあります。コードに関して正しいことをすることを学ぶことがより重要です。失敗やプロセスの不足を心に留めておくと便利ですが、上司がより良いプロセスを実装できる場合に役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.