情報システムの設計に関する注意事項

私の最後の記事、病院建設の例に関する成功したIP設計秘密(情報システム)は、コメントの中で激しい議論を引き起こしました。 したがって、私はこの議論に基づいて多くの論文を述べることにしました。



設計はプログラマ向けではありません



情報システムのプロジェクトを設計および実装する方法を議論するとき、開発者(プログラマー)によるこれらの方法の批判をよく耳にします。 開発者は、コードを書くことに加えて、要件を特定、策定、調整するという重大な組織的要素をプロジェクトが持っていることを単に見ないことがあります。これは、ユーザーを教育し、すべてのプロセスを再構築するのが難しいタスクです-1日だけではありません。



親愛なるプログラマー、システムが何をすべきかを知るためには、C#やJAVAではなく、サブジェクト領域を所有していることを知る必要があります。 ロジスティクスシステムを設計するには、ロジスティクス担当者である必要があります。この分野またはいくつかの関連する同様の分野での経験があります。 したがって、システムの機能的な外観を決定することがタスクであるビジネスアナリストがいます。



せいぜい、顧客は必要な情報の30〜50%を提供し、残りは独立して考えるべきです。 そして考えることは非常に重要です。 最初は、顧客は自分が何を望んでいるかわからない! 原則として、ビジネスモデルの共同開発が行われ、その後でのみ関数のリストがコンパイルされます。



これには、サブジェクト領域の知識が必要です。 顧客を簡単に理解する必要があります。彼はまだアイデアを語っていますが、なぜ彼がそれを必要とし、最も重要なことは、それがどのように編成され、そのようなビジネスがソフトウェアだけでなくどのように機能するかをあなたはすでに知っています。



アジャイルノート



アジャイルは新しい宗教ですか?



ディスカッショントピックアジャイルと デザインテクノロジー(カスケード、滝、滝)は、宗教的な狂信者間の論争のようなものです! この記事はアジャイルに関するものではありませんでしたが、コメントはすべて「柔軟な」ものに関するものでした。 みんな! まあ、もっと広く見て、両方の方法に太陽の下に場所があることを見るのは本当に不可能ですか?!



私の意見では、アジャイルの鋭い拒絶は、この技術の非常に積極的な推進に対する反応です。 柔軟な技術の「説教者」に耳を傾けると、アジャイルが存在する前はソフトウェア開発に長年の経験がなかったようです。一般に、アジャイルは啓発されていないため、私たちの前に働いていた人は誰でも愚かで恐ろしい罪人でした。 ナイーブ! このような世界観は青少年に典型的ですが、私たちは...

程度を下げて、各プロジェクトのさまざまなアプローチを冷静に評価してみましょう。



設計技術のように、アジャイルはどこにも適していません



あるコメンターが書いたように、 「アジャイルはITのためではなく、ITのためでもありません。 ビジネスおよびプロビジネス向けのアジャイル 。 確かに、あなたは非常に迅速な結果を得る必要があり、少なくとも何かを賭けて投資家を見つけるために少なくとも何かで市場に参入する必要があります。 または、新しい技術の開発があり、その要件を作成することは困難です。 これは間違いなくアジャイルニッチです。



一方、柔軟な技術に取り組むことをいとわない顧客はどこにいますか? 市場での注文の70〜80%は、標準設計技術を使用する政府機関です。 さらに、GOST 34によると、彼らはこれに対して十分に支払います。

さらに、これらの方法を1つの開発に組み合わせることができます。コアは設計技術を使用して作成され、一部のパーツは試行錯誤(アジャイル)によって作成されます。 まあ、すべてが事前に考えることができるわけではありません。 さらに、設計技術には柔軟性があります。試運転のようなものがあり、その間に多くのことを変更できます。



アジャイルは開発者の考え方です



私はすべての人を保証することはできませんが、プログラマーは「柔軟に」考えているようで、アジャイルは彼らの思考の構造を満たしています! 結局のところ、プログラミングは最良のソリューションを常に探し求めているからです。 あなたはタスクに座って、それがどのように解決されるべきかまだわかりません。 結果も期限も事前に予測することはできません(はい、開発者の期限を6〜10倍にして、テストと改善を忘れたため、実際の状況を把握するだけです)。 これは多くのプログラマーの考えです。なぜなら彼らは創造的な個人だからです。 そのため、創造的な個人にプロジェクトの退屈を強制する必要はありません。 このために、アナリスト、プロジェクトマネージャーがいます。



アジャイルは開発者の思考の本質であることがわかりました。 しかし、顧客はそうではないと考えています! そして顧客は、開発が始まる前に、自分が支払うものを理解し、将来の結果に「触れる」ことを望んでいます。 そして、それはゲームを1つの目標に導きます。それは開発者にとって便利であり、顧客は夜眠らない、うまくいくかどうか、そしてうまくいくなら、何が起こるか、どれくらいの費用がかかるかを考えます。 しかしLafプログラマーに-私は冷静に仕事をします。私がやるのはそれで、それが終わったらそれをやります。 そうじゃない?



しかし、顧客はそう言う必要がある場合があります。新しいことを行うため、条件、コスト、結果を予測する準備ができていません。 同意しますか? その後、我々は行います。 これは少なくとも正直です。



常に頭をオンにする



ソフトウェア開発は、常に何かを学ぶという点で他の分野とは異なります。 各プロジェクトは新しい世界のようなものです。 各プロジェクトには独自の要件があります。 したがって、ヘッドは常にオンにしておく必要があります。 1つの手法、1つのアプローチにとらわれないでください。 私はほとんど常に即興演奏しなければなりません。



何かを批判するには、それを勉強する必要があります。



設計技術またはアジャイルのいずれかを批判するとき、批評家は彼らのinりの主題をめったに知りません。 本当に勉強して(標準を含む:GOST、ISO、IEEE)、設計技術を真剣に適用しようとした人はほとんどいません。 しかし、彼女の批評家は十分です。 本当に成功しているチームはごくわずかです(その結果、クライアントは満足しました!)アジャイルを適用しますが、十分な「説教者」がいます。



繰り返しますが、アジャイルとカオスを混同しないでください。 設計方法がわからないため柔軟な方法を選択すると、混乱が生じます。



アジャイルの展開を成功させるには、設計技術よりもさらに多くの労力が必要になる場合があります。 チームの一貫性、メンバーの資格、顧客と共通の言語を見つける能力。



著者による他の記事を読む:






All Articles