• 締切済み

PG・SE 上流工程、下流工程とは?

初歩的な質問ですが、上流工程、下流工程とは何ですか? 就職するなら上流工程開発の会社の方がいいですか? また社内で開発するのと常駐先での開発ではどちらがいいのでしょうか? 社内開発の方が気は楽な気がしますが。 漠然とした質問なのですがよろしくお願いします。

  • popat
  • お礼率13% (17/127)

みんなの回答

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.6

私は品質の人間なので明確にお教えできますが、やめておきます。 理由は、皆さまがそれなりに回答されようとしているからです。 明らかに間違っているものもあるのですが、それを言うのはここのマナーとしてまずいから。 ポイントをひとつ言っておきます。これが語源なので。 ウォーターフォール工程、と言う言葉を検索してみてください。 水の流れ、ですね。 流れがあれば、上流、下流が当然あるので、それが上流工程下流工程という考えになります。 ある工程が別の工程より流れの前にあれば、そちらのほうが「上流」です。 上流工程というのが絶対的な名前のように考えるのは間違いです。 たとえばプログラム設計は上流工程とも下流工程とも言えません。 外部設計は、基本設計に対しては下流工程ですが、内部設計に対しては上流工程です。 最上流にあるのは間違いなく要件定義でありどちらかというと企画です。 これから考えたら最下流にあるものが何かは判断がつくと思います。 デバッグが最下流だとかいう人間がいますけど、そえが間違いであることはもうおわかりでしょうね。 そのことから言いますと、上流工程をする会社なんていうものが存在するかどうかは答えが一つです。 そんな会社はありません。 一つの会社の工程の中に流れがあって、必ず上流も下流も存在するからです。 一団体のなかに上流下流はあります。頭があったらしっぽがあるのがもののカタチですから。 複数の会社が連携して動作している場合は、別々の部品をパラレルにつくっているなら上流下流はありません。 でも、A社の生産したエンジン、B社のブレーキを使って自動車を組み立てているトヨタという会社があるならば、トヨタは下流工程をしているのです。 複数の会社を視点にいれている工程管理を誰かがしているなら、その視野の中では、という意味です。 誰もそんな視野で観察してないのであれば、トヨタは下流工程に見えないだけです。 このへんは品質の基礎中の基礎で、核心です。 理解したら一生仕事にブレはでませんから、ちゃんと勉強してみましょう。

  • bangdool
  • ベストアンサー率28% (11/39)
回答No.5

工程の区分けについては、もうすでに他の方が答えていると思います。 ただし上流工程のみというのはあまりないような気がします。 新人ならなお更、まずは下流工程(テスト)などに組み込まれるのが定石な気がします。 もちろん会社のやり方にもよるかと思いますが、仕様書だけ書いて、あとは 外注にプログラミング、テストをまかせるなんてのもあります。 面白いかどうかという話をすれば、当然上流でしょう。 ただ、品質というのはこういうものなんだと体感できるのは下流工程かもしれません。 社内開発かどうか、これは開発するターゲットにもよると思います。 ハード的なものが絡むもの(大型な装置、実験装置が必要なもの)は どうしても、メーカや実験施設で行うことになりますから、社外ということになります。 この場合、上司の目がないから楽といえば楽ですけど、 その社外の会社のルールと自分の会社のルールの板ばさみになることもあり、結構面倒だったりします。 慣れてくれば、よそ様で仕事してるというより、自分の会社のようになりますから(笑)気がねするようなことはなくなります。 社内はやはり、自分の会社ですから気が楽ですが、上司がいるのである意味サボれません(笑) よくメーカの人なんかは「いいな~俺も外にでてえな~」とか言ってます

noname#25230
noname#25230
回答No.4

上流、下流については厳密な定義が有るわけではありませんが、プロジェクト1つを通してみたときに、前半の作業が上流、後半が下流と思っておけばだいたい合っていると思います(厳密にはちょっと違うんですけどね)。 また、会社についてですが、完全に上流しかやっていない会社というのはあまり無いと思いますよ。また、社内、常駐も、どちらか完全に一方、というのも難しいです。会社の仕事ってのはそんなに綺麗に切り分けられるものではなく、時にはメンバーの数名を下流工程をやっている下請け会社に派遣して、指揮を執る必要もあるでしょうし、下流がどうしようもない場合は、上流から人間を割り振る必要が出てくることもあります。 また、下流の作業を理解できていない上流は、正直使い物になりません。同様に、上流の手順をしっかり理解して、上流のやり方に沿って作業できない下流もダメです。 あなたの人生を通して考えたときに、たとえば50歳になって現場でプログラムを組んでいる、という状況はあまりよろしくないと思います。新技術の波に追いつくことは年齢とともに難しくなりますし、それをやりこなせる年配の人はあまり見たことがありません。 将来、長い目で見たときに自分は上流、またはさらに上で人を動かす立場に居るべきである、というのは真実だと思います。が、今のあなたの状態で、上流下流なんてことを考えるのはちょっとどうかと思います。 与えられたことを確実にこなし、仕事のやり方を覚えるまでは選り好みなんて正直「生意気」です ^^; ただ、将来、トップにたって指揮を執る役職、ポストがある会社を選ぶのは良いと思いますよ。上ばかりやっている会社はそうたくさんはありませんが、下しかやっていない会社はたくさんあります。とっかかりはそれでも良いとしても、将来は、上流で大きな仕事を指揮できる会社に居られるように努力されると良いと思います。

  • nisan23
  • ベストアンサー率16% (11/66)
回答No.3

>また社内で開発するのと常駐先での開発ではどちら>がいいのでしょうか? >社内開発の方が気は楽な気がしますが。 常駐先だと上司がいないので 気が楽なところもあると思います。 社内開発だと失敗プロジェクトの場合、 自社で全部責任をとらないといけないので サービス残業を行なうケースがあると思います。 客先常駐だと、契約にもよりますが 基本的に支援なので、最終的な責任は 回ってこないです。 社内開発だと、建物の賃貸料、光熱費などの 経費を自社で負担しなければいけないので コストがかかります。 客先だと賃貸料とかかからないです。 自社開発だと顧客と話したりする機会があるので そのコミュニケーション能力がつきます。 反対に客先常駐はプログラミングのスキルが 身に付きます。

  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.2

下流工程というのはいわゆるプログラミングですね。上流工程がメインの会社でも研修のために下流工程をやることはあります。下流工程のことを理解していないと上流工程はちゃんと出来ません。 上流工程は、顧客の業務分析から入ってどのような部分をシステム化すればいいかから考えます。場合によっては、システム戦略とか、システム化投資をどの程度するかというようなコンサルティングの領域も入ってきます。情報処理技術者試験のシステムアナリストの参考書をぱらぱらと立ち読みしてみてください。 開発場所ですが、社内開発でもPGで一生を終わるならともかくSE以上だと打ち合わせで顧客のところに頻繁に行くことになります。社内で開発するPGと顧客のつなぎですね。遠方だと移動時間がバカにならない。

  • kazuyat
  • ベストアンサー率11% (16/144)
回答No.1

開発手法により用語が違うので一般と思われる 表現で。 システム開発は大体以下の工程に分かれます。 (1)ユーザーインターフェース設計 (2)システム設計 (3)構造設計 (4)プログラミング (5)プログラムテスト (6)結合テスト (7)システムテスト このうち、上流とは前工程の(1)~(3)辺りの設計工程を指します。 それに対して下流とは(5)~(7)のテスト工程を指します。 分担の仕方ですが、(1)をした人が(7)を担当する方法が一般的です。 したがってシステムインテグレーターと言われる会社では、(4)のプログラミングを中心として外部に委託したりするのが一般的で両端は自社でやるのが一般的です。社内で開発するか常駐先かは、設計工程は、顧客などとコミュニケーション頻度が高い工程を常駐先などの顧客先で行うのが一般的でしょう。プログラミングに近いほどその制約は薄くなり、テスト工程が進展するほど、また顧客先の可能性が高くなるのではないでしょうか?

関連するQ&A

  • インフラの上流工程について

    IT派遣会社に勤めている者です。 これまで、インフラの下流(運用・保守)をメインに担当してきましたが、 今後はキャリアアップのために上流工程に進み、将来はサーバ・ネットワークに 精通したインフラエンジニアになりたいと思っています。 上流工程を担当している(した経験がある)方にお聞きしたいのですが、 下流→上流に進むためにはどのようなステップを踏めば良いのでしょうか? また、どのような知識・技術を身に付ければ良いのでしょうか? (現在はネットワーク資格(CCNA)の勉強中です)

  • 全工程を一人で担当

    SEを目指している大学生です。 SEでは上流工程と下流工程がありますが、上流工程をPM/PL(あるいは親会社)が担当し、下流工程をプログラマー(あるいは子会社)が担当するといったように、分業することが多いと聞きます。 私は一つのプロジェクトについて一貫して自分が担当したいと考えているので(要件定義だけやって開発は丸投げするとか、誰かに投げられた要件を開発するのは嫌)、上流工程も下流工程も自分でやりたいと考えているのですが、そういったケースは稀なのでしょうか。 全工程を担当するSEの求人もなくはありませんが、そういう求人は大概中小企業で、大企業の場合は分業制が敷かれていることが多い気がします。 別に中小企業をばかにはしませんが、ただでさえデスマーチの多いSIerにおいて、得体の知れない中小企業に入るのはやはり恐ろしいです。

  • 上流工程だけに携わるには?

    いつもお世話になっています。長い相談内容なので下記の項目に分けて記述しました。 アドバイスお願いします。m(_)m 【プロフィール】 29歳・女・法学部卒。小さな会社にプログラマとして入社し5年間在籍した会社を今年3月で退職しました。 【相談内容】 コーディング作業が嫌いなので上流工程を担当する会社に入社したいのですが、そういう会社はどう探せばよいのでしょうか? いわゆるコンサル会社を目標にすればよいのでしょうか? コンピュータの知識には自身が無いのでITコンサルではなく、業務寄りの提案・設計をしていける環境が良いなぁと漠然と思っています。 【職務経歴】 ・作業スタイルは所属会社が弱小企業だったので客先に一人で入って他の外注さん達と開発するのが主でした。 ・作業内容は詳細設計(製造の方が多い)~テストが主でしたが一度、人事給与パッケージの基本設計から携わった経験があります。 ・業務知識はほとんど無く、色々な言語を使えるくらいしかウリがありません。(VB/JAVA/Perl/C#) といっても基本的なコーディングが出来るレベルです。 【現状】 とりあえずお金の為に8月から個人事業主として開発の現場に戻りました。 でもコーディングが始まってストレスが発生してきており、こちらに相談させてもらった次第です。 【自分の気持ち・特性】 ・「システム開発」という仕事自体は嫌いではない ・仕様を考えて設計書を作成することは好き ・コミュニケーション能力はある方 ・上流工程に時間をかけてマッタリやって、製造工程になったら時間が無くなり残業続きで納期に 間に合わせる開発の仕方にはウンザリ ・安月給には戻れない。。。 ・数字が苦手なので会計関連以外の専門性のある知識を身につけてキャリアアップを図りたい 以上です。よろしくお願いします。

  • SEの「上流工程の実務経験」とは具体的にどういったものか

    SEの「上流工程の実務経験」とは具体的にどういったものか ■質問 「上流工程の実務経験があります」 SEとして、この言葉を職務経歴書に記載したり、胸を張って言えるのは、具体的にどういった経験をしてきた方だと思いますか? エンジニア経験者様にご意見をお聞きしたいです。 ●詳細 私はSEで、現在転職活動をしております。 転職活動にあたり、自身が「上流工程を経験してきた」と言っていいものか迷っています。 といいますのも、所属しているのは小さい独立系ソフトハウスで短納期の小規模案件が多く、上流工程といっても次のような経験しかないからです。 1. お客さんと仕様打ち合わせ   受託開発などで仕様書が既にある場合は、矛盾点などを発注元と調整 2. 必要に応じて機能仕様書、仕様提案書などを作成   求められない場合は作成しない 3. 実装   詳細設計書はソースから生成。先に設計書は作成しない 4. テスト、納品、サポート 1.2.が基本設計、3.が詳細設計にあたるのかな?と思いましたが、世間一般では ・基本仕様書作成 → 基本設計 ・詳細設計書作成 → 詳細設計 というように考えられていると感じました。 以上のような状況で、実務経験有りと言っていいものか自信を持てません。 ぜひ、ご意見をお聞きできればと思いました。 よろしくお願いいたします。

  • ネットワークエンジニアの業務は工程毎に、大体このぐらいの期間と言う目安

    ネットワークエンジニアの業務は工程毎に、大体このぐらいの期間と言う目安はありますか? 質問の背景として、NEは上流工程が終わったら、後は保守や監視の方が長いから、上流工程を行うようになっても、結局下流工程の仕事がメインになると言うような事を書いてあるのを、どこかで見て、気になりました。 保守や監視はシステムが動いてる限りはあるんでしょうが、上流も規模によると思いますが、どんな感じなのでしょうか?特に、人材派遣会社から出向する場合はこんな仕事が多いので、この工程はこのぐらいの期間になるなどの回答をお待ちしています。

  • 上流と下流の仕事で、必要なスキルは同じではない?

    SE等の経験がないまま上流工程に携わらせてもらって半年になる、会計系システムコンサルタントの見習いです。上司曰く、「上流と下流の仕事で、必要なスキルは同じではない」そうなのです。しかし、現状では、(システムで)できることとできないことの判別も付かないし、ささいなLANトラブル等でお客様から相談されても、先輩に取り次ぐことしかできていません。会社ではプログラミングをじっくり教えてもらえるような時間もなさそうです。 今後、私がシステムコンサルタントとして成長していくためには、仕事以外の時間にどのような勉強をしたらいいかアドバイスをいただけませんでしょうか? 状況 前職:経理(3年) 現在:先輩コンサルタントに同行して議事録を取ったり、マニュアルもどきを作成したりといった仕事をしています。仕事以外では、独学でExcelVBAはわりと自由に使えるようになり、今はSQLをテキストで勉強中です。 皆様のお知恵をお貸しください。よろしくお願いします。

  • SE,PGについて。

    私は現在情報系大学院1年の者です。 先日、企業から内定をいただき、そこで働くことを決めました。 私は就職活動をする上で”プログラムは勿論、サーバの扱い、データベースの扱い”などさまざまな技術を自発的に学んでいける企業に重点を置いていました。 そして活動中にIT業界のことを同時に学びましたが、この業界では大手と呼ばれる企業では、自分が学びたい技術を学ぶことができないという印象を受けました。 それは、大手さんでは主に上流工程を行い、それ以降は他の企業に丸投げし、上流工程を行う人はプログラムをかけない人もいるという話を良く聞いていたからです。 そこで私は、大手企業とパートナーを組んでいる良中堅企業ならば、私の要望していることを満足することができるだろうと考え、従業員500人程度の(自分が感じた)良中堅企業を主に訪問し、現在その中の一社に決定しました。 勿論残業は当然のように厳しいとは思いますが、自分のためになっていることを考えると、我慢できると思います。 そこでぜひ参考意見をお聞きしたいと思うのですが、 (1)これらの考えで、中堅企業を選んだことは果たして正解だったのか?(自分が学びたいことは学べるだろうか?) (2)500人程度の中堅企業では、院生出身者の比率はどの程度だろうか? (3)会社で働くまでに約1年。どのようなことに力を入れるべきか この3点をお聞きしたいです。 (3)に関しては、基本情報は持っているのでソフ開の勉強を進めるべきか、または、現在C言語は毎日使っているのでjavaなど他の言語を扱えるようにすべきかということにお答えいただくと幸いです。 よろしくお願いいたします。

  • 上流開発SEに必要な知識、経験、技術とは?

    システム開発における上流工程担当のシステムエンジニア への転職を志望している者です。 私が雑誌やネットの記事で調べた限りでは上流開発SEに必要なのは、 1.コミュニケーション能力(調整、折衝、統率) 2.業務知識(各業界のビジネスの仕組み) 3.会計、財務知識(日商簿記一級など) 4.広く浅い技術力 (情報工学、データベース、セキュリティ、ネットワークなど) 必ずしも必要とされないのは、 1.プログラミング能力(JAVA、C言語、SQLなど) 2.技術系の資格(Oracle Master、JAVA認定、CCNPなど) 現役の上流開発SEの方に質問ですが、 私の認識に間違いはないでしょうか? よろしくお願いします。

  • SEについて質問があります

    SEに就職しようかと思っています。 理由は、宇宙システムに携わりたいから。(1宇宙系2ゲーム) ちなみに、私は文系です。理系に行けばよかったと後悔しない日はないです。 そこで、質問があります。 SEにも下流とか上流とかいろいろあると思います。 宇宙関連のシステムに携わるにはどういった会社に就職すべきというのがあったら教えてください。 (今は関われなくても、将来的には転職してでも宇宙系に関わりたいと思っています)

  • 社内SEとは・・・?

    システムエンジニア(SE)について質問です。通常のSEと呼ばれる職業と社内SEとでは何が違うのでしょうか?今のところ自分の考えでは、社内SEとは自社のシステム開発に携わるといった感じかな?と思っているのですが。 通常のSEと比較して待遇(給料面や労働時間など)や 将来性(管理職への出世や上流工程の仕事が出来るか。長く続けられる仕事かなど。) はどうなんでしょうか?

専門家に質問してみよう