アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、システム開発における品質について、勉強中です。
ネットでいろいろと調べてみると、ISO9001取得、CMMIレベル5取得などと書かれています。
品質を向上させる、品質を維持していくためには、どういった努力が必要になるのでしょうか?
そもそも、品質と言ったものが漠然としか理解できてないため、うまく質問できないのですが、品質とはこうあるべきだと言う意見がありましたら、いろいろと教えて頂きたいと思います。
よろしくお願いします。

A 回答 (5件)

品質とは何でしょう?


ISOのグロッサリーから定義を引っ張ってきました。

---ここから---
製品またはサービスが、明示してあるか、あるいは暗黙の要望を満たす能力としてもっている特性の総称(ISO8402-1986)

ソフトウェアの品質特性(ISO/IEC9126:1991)
機能性、信頼性、使用性、効率性、保守性、移植性
---ここまで---

平たく言えば、「お客様が満足するもの」が「品質の良いもの」になるわけです。これは、ソフトウェア、ハードウェア、サービス、なんでも同じことだと思います。

> 品質を向上させる、品質を維持していくためには、どういった努力が必要になるのでしょうか?

業界の動向としては、CMM/CMMi に則った組織/プロセス改善が主流だと思います。ただし、CMM/CMMi は「重たい」ので、推進しようとするとなかなか大変です。
    • good
    • 0
この回答へのお礼

返事が遅くなりましたが、回答ありがとうございます。
業界の動向としては、確かにISO9001からCMMIが主流になってきていますね。
レベル4,5となるとかなり大変だと思いますし、まだ一部の企業しか取得してないですね。
品質の良いもの=お客様が満足し、信頼のおけるものなのかなと思いました。

お礼日時:2005/06/23 10:07

ISOとかCMMとかは品質は組織から作るって感じかなぁ。

一番大事なことですね。

>品質とはこうあるべきだ
Made in JAPANの車や家電の品質が基準でしょう。遠いです。

動けばいい!儲かればいいという考えの元に
知ってか知らずか悪徳建築業者のような仕事を
している輩が多いです。ISO企業でも同じです。

>どういった努力が必要になるのでしょうか?
基本的には、システム稼動後、それに関係する全ての人がシステムのことで困らないように仕組んでおくことが必要です。

・普通に継続的に使用できること
・拡張性やリスクが想定され、その対応(仕組み)がなされていること。
 客が想定できないこともSEが想定できないといけない。
・メンテナンスへの考慮がされていること。実行イメージで同じでも、
 ドキュメントやモジュール構成、ソースが適当ならメンテナンスできない。


個人的に車から学ぶことは多いです。デザインや性能、機能はもちろん、使い易さ、快適さ、メンテナンス性、拡張性、燃費、安全性等など。色々考えて実現してるよなぁって思います。

システム開発業界はまだ発展途上です。それより既に品質を確保しているトヨタ自動車等の本を一読されてみてはいかがでしょう。
    • good
    • 0
この回答へのお礼

返事が遅くなりましたが、回答ありがとうございます。
トヨタ自動車の件は、いろいろと勉強になりました。
1980~1990年代、日本の自動車の品質って高かったんですね。
日本は、工程で品質を作りこみ、欧米は、設計段階で品質を作りこむって言う言葉もうなずけました。
これによって、立場が逆転してしまったんですね。
全く同じではないにしろ、読んでいると面白いです。

お礼日時:2005/06/23 10:17

実際にシステム開発に携わっている者の私見です。



システム開発における品質レベルの維持・向上は非常に難しい問題です。
なぜなら、システム開発の底辺はプログラミングであり、その領域は個人の技量に大きく依存するからです。

ISO9001などは、組織の取り組みに対して与えられるものであり、組織を構成している(=システムを実際に開発する)個人に対して与えられるものではありません。

自動車など他の製造業では、製品の製造は大量生産が可能な工場でラインに乗せて行われる為、組織の取り組みが直接、製品の品質に影響することは理解できます。

しかし、システム開発においてはどうでしょうか?

組織の取り組みとして、いくらドキュメント整備やレビュー開催を義務付けたところで、個人の技量が向上するとは思えません。

とは言っても、最近のシステム開発は信頼できるフレームワークやミドルウェアの組み合わせで実現できることが多くなってきました。
つまり、個人の技量があまり高くなくても、組み合わせのパターンを覚えれば、それなりに品質の高いシステム開発が可能になってきています。

これは一戸建ての建設に似ています。
昔は、大工さんの腕に左右されていた一戸建て建設ですが、最近では2x4工法など様々な工法が開発されてパターン化されてきています。(トヨタホームでは各パーツをトヨタの自動車工場のラインを利用して8割程度まで作成してしまうそうです。)
つまり、工法をパターン化することで大工さんの技量によって品質にバラツキが出ないようにしているのです。

システム開発においても、現状の個人の技量に左右されるような開発を続けていたのでは、何時まで経っても品質レベルの維持・向上など不可能です。
ISO9001に代表されるような組織の取り組みの強化と平行して、個人の技量に左右されないシステム開発のパターン化が必要不可欠です。

この2つがそろって初めて、自動車業界などの他の製造業と同じレベルで品質について語ることができるのではないでしょうか。
    • good
    • 1
この回答へのお礼

返事が遅くなりましたが、回答ありがとうございます。
確かに、プログラマの技量によって、左右されてしまいそうですね。
上流工程の設計段階から、品質を組み込むことにより、曖昧な部分を削除することによって、品質を高めることができるようなことも書かれていました。
でも、現状、低コスト、短納期で高品質を求める顧客も多いようですね。
そうなると、テストにかける時間が少なくなり、バグの多いシステムができあがってしまうとの意見もありました。
実際、設計-開発-テストと言う段階がありますが、一番、重要視するのはテストなんでしょうか?

お礼日時:2005/06/23 10:37

#1さんの回答の


>「お客様が満足するもの」が「品質の良いもの」
これがポイントなのですが
やっかいなのが「システム開発」の発注者(お客さん)が望むのも品質向上の為のシステム発注だったりします・・・。
故にこれという形があるのなら、そもそもそこに発注がなく・・・。
(例えば中古買取に於いて、担当者による買取価格のばらつきが出ない様にするのもシステムの設計だったりします。)

で、ここで単なる自動化,コンピュータ化と絞って考えると
経験則からパターン化が出来ます。
現在のシステム開発に於ける品質とは、この点に限った事かと・・・。

例えば、日本車の品質は高いとして、
その製造のシステムをよりよくする為のシステム開発もある訳で・・・。


う~む。
システム開発に於いて、品質とはこうだというものは無いかと・・・。

だってよく考えたら、パターン化というか同じ物なら、
デジタルですからコピーで品質100%望む物・・・。
パターン化された判断ならプログラム化可能で、
そうすれば100%決められた通りの結果に。
システム開発の問題点は、それこそ作った通りにしか動かないから、
事前に全てを予見して適切に製造する事・・・。
結局、その時々に人の判断が必要となり・・・。


>品質を向上させる、品質を維持していくためには、
>どういった努力が必要になるのでしょうか?
その為の技術をとりあえず覚える(暗記する)事と、基本の理解かと。
覚えるだけで済む事なら、とっくに自動化されているはずです。
切り分けの問題かと。
    • good
    • 0
この回答へのお礼

返事が遅くなりましたが、回答ありがとうございます。
品質とは、どういうものなのか?わたしもここで悩みました。
こうあるべきってことは、分かるのですが、目に見えないものなんですよね。
品質を向上させるためには、テクニカルスキルも必要ですが、業務スキルも必要なんですね。
そのためにも経験とノウハウの蓄積が重要なのかなと思いました。
それを積み重ねることによりCMMIにもつながっていくのかと・・・なかなか難しいです。

お礼日時:2005/06/23 10:45

一口にシステムテムの品質と言った場合、ISO9001に則れば概略こういうことです。



 (1)適正な開発価格
 (2)開発要員の質
 (3)開発方法・手順
 (4)試験方法・品質保証
 (5)顧客満足の調査
 (6)上記の推進・監査体制の確立と維持

等が底流にあり、各項目ごとに詳細な取り決めがあります。
こうした約束事に従って製造されたソフトウェアに対して、一定の品質が約束されるということです。
ISO9001取得は一朝一夕には実現せず、その維持にも社内監査方面の人件費、つまり資金が必要になりますから、よくよく検討されることですね。

(1)適正な開発価格
  通念以下の価格で受注すると、赤字を恐れるあまり、安かろう悪
  かろうの製品が製造されることになります。また、価格決定し、
  契約が終了するまで開発に着手してはならないことになっていま
  す。

(2)開発要員の質
  開発要員の役割を明確にし、担当範囲を明確にします。
  そして、遂行にあたって必要となる技術を網羅し、実際に資格等
  を取得しているかの確認もします。なお開発と並行して、技術取
  得を目的とした講習会に参加させることも含みます。

(3)開発方法・手順
  開発装置を決め、その管理方法を定めるいっぽうで、定期会合の
  頻度やその議事録,仕様変更記録等を管理し、同時に開発スケジ
  ュールを管理します。ウィルス対策もこの項目に含まれます。

(4)試験方法・品質保証
  客先承認済みの検査仕様書をもとに、検査を実施し、バグ曲線が
  一定水準に到達するまで全体を管理します。そして、完成後の障
  害対策を策定し、プロジェクトの成果物を所定の場所に保管して
  おきます。

(5)顧客満足の調査
  システム稼動後一定期間が経過した時点で顧客満足のアンケートを
  行い、評価を次のプロジェクトへフィードバックします。

(6)上記の推進・監査体制の確立と維持
  この項目がいちばん大切なところです。定期的に実施中のプロジ
  ェクトを監査委員がサンプリングして、手順どおりにプロジェク
  トが進行しているのか、口頭および資料をもとに監査し、違反の
  ある場合は是正させます。

およそこんなところですが、詳しくはISO9001文書をひもといてください。ISO9001に飽き足らなくなったときがCMM移行への潮時です。
    • good
    • 0
この回答へのお礼

返事が遅くなりましたが、回答ありがとうございます。
ISO9001に対する貴重なご意見ありがとうございます。
私が勤める会社でも、ISO9001の取得は、将来的には必要なことだと思っています。
ただ現状、まだまだ小さな会社なので、そこまで経費をかけられない事情があったり、人員が足りなかったりと問題もいっぱいです。
今後、会社を大きくしていくためにも、品質を高めていくことは重要だと思っています。
まずは、ISO9001、次にCMMIってところでしょうか?
なかなか難しい問題なので、もう少し勉強してみます。

お礼日時:2005/06/23 10:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!