タグ付けされた質問 「architect」

10
アーキテクトは自己組織化スクラムチームとどのように連携できますか?
多数のアジャイルスクラムチームを持つ組織には、「エンタープライズアーキテクト」として任命された少数の人々のグループもいます。EAグループは、品質と意思決定の遵守のためのコントロールおよびゲートキーパーとして機能します。これにより、チームの決定とEAの決定が重複します。 たとえば、チームはライブラリXを使用するか、SOAPの代わりにRESTを使用する場合がありますが、EAはそれを承認しません。 現在、これはチームの決定が却下された場合にフラストレーションにつながる可能性があります。十分に考えれば、EAの人々がすべての力を「つかむ」可能性があり、チームはやる気がなく、あまり機敏ではないという感じになります。 スクラムガイドこれはそれについて言いたいことがあります。 自己組織化:開発チームに、製品バックログをリリース可能な機能の増分に変換する方法を教えてくれる人はいません(スクラムマスターでさえも)。 それは合理的ですか?EAチームは解散すべきですか?チームは拒否するべきですか、それとも単に従うべきですか?

4
ソフトウェアアーキテクトとして何をテーブルに持ち込むべきですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 StackOverflowおよびProgrammers SEでのソフトウェアアーキテクト(SA)の役割について、多くの質問があり、適切な回答があります。私はそれらよりも少し焦点を絞った質問をしようとしています。SAの定義は非常に広いため、この質問のためにSAを次のように定義します。 ソフトウェアアーキテクトは、プロジェクトの全体的な設計をガイドし、コーディング作業に関与し、コードレビューを実施し、使用するテクノロジを選択します。 言い換えれば、私は管理上の休息と、頂上(さらに押韻された言葉は省略された)タイプのSAについては話していない。何らかのSAポジションを追求する場合、コーディングから離れたくありません。クライアントやビジネスアナリストなどとのやり取りに時間を割くかもしれませんが、私はまだ技術的に関わっており、ミーティングで何が起こっているのかだけを知っているわけではありません。 これらの点を念頭に置いて、SAはテーブルに何をもたらすべきですか?彼らは「法を定める」(いわば)「特定のツール」の使用を「彼らのやり方」、つまりコーディングガイドライン、ソース管理、パターン、UML文書などに強制するという考え方で入るべきですか?または、彼らは最初の方向と戦略を指定してから、船の方向を修正するために必要に応じて元に戻して飛び込むべきですか? 組織によっては、これが機能しない場合があります。すべてを実施するためにTFSに依存するSAは、StarTeamのみを使用する雇用主で計画を実施するのに苦労する場合があります。同様に、SAはプロジェクトの段階に応じて柔軟である必要があります。新しいプロジェクトの場合は選択肢が多くなりますが、既存のプロジェクトでは選択肢が少なくなる可能性があります。 私の質問への回答がこれらの問題にいくらかの光を当てることを期待して、いくつかの背景を共有する方法として私が経験したいくつかのSAの物語があります: 私は、チームのすべてのコード行を文字通りコードレビューするSAと協力しました。SAは、プロジェクトだけでなく、組織内の他のプロジェクトに対してもこれを行います(これに費やされる時間を想像してください)。最初は特定の標準を実施することが有用でしたが、後にそれは不自由になりました。FxCopは、SAが問題を見つける方法でした。誤解しないでください。ジュニア開発者に教えて、選択したアプローチの結果を考えさせることは良い方法でしたが、上級開発者にとってはやや厳しいと見なされていました。 ある特定のSAは、特定のライブラリの使用に反対し、遅いと主張しました。これは、他のライブラリが多くの時間を節約するであろう一方で、物事を異なる方法で達成するために大量のコードを書くことを強制しました。プロジェクトの最終月に早送りすると、クライアントはパフォーマンスについて不満を言っていました。唯一の解決策は、開発者からの早期警告にもかかわらず、当初無視されていたアプローチを使用するように特定の機能を変更することでした。その時点までに、多くのコードが破棄され、再利用できなくなり、残業とストレスにつながりました。悲しいことに、このプロジェクトに使用された推定値は、私のプロジェクトが使用することを禁じていた古いアプローチに基づいていたため、推定の適切な指標ではありませんでした。首相が「これをやったことがある」と言うのを聞くでしょう すべてのプロジェクトでDTO、DO、BO、サービスレイヤーなどの使用を強制するSA。新しい開発者はこのアーキテクチャを学習する必要があり、SAは使用ガイドラインを徹底的に実施しました。ガイドラインに従うことが絶対に困難である場合、使用ガイドラインの例外が作成されました。SAはそのアプローチに基づいていました。DTOのクラスおよびすべてのCRUD操作はCodeSmithを介して生成され、データベーススキーマも同様のワックスボールでした。ただし、このセットアップをあらゆる場所で使用したため、SAはLINQ to SQLやEntity Frameworkなどの新しいテクノロジーに対してオープンではありませんでした。 私はこの記事を通気用のプラットフォームとして使用していません。上記のSAストーリーに関する私の経験には、プラス面とマイナス面がありました。私の質問は次のように要約されます: SAはテーブルに何をもたらすべきですか? 彼らは意思決定においてどのようにバランスを取ることができますか? 特定の基本ルールを実施しなければならないという考え方で、SAジョブ(前に定義したとおり)にアプローチする必要がありますか? 他に考慮すべきことはありますか? ありがとう!これらの仕事のタスクは、上級開発者や技術リーダーである人々に簡単に拡張できると思いますので、その能力についてもお気軽にお答えください。

3
優れたアーキテクト/マネージャー/主任開発者を作るのは何ですか?
私は小さなソフトウェア会社の主任開発者です。過去2年間で、私のチームは1人の開発者(私)から約9人のグループに成長しました。私たちのほとんどは非常に有能なシニアエンジニアであり(1人あたり20年以上ソフトウェアを構築した経験があります)、ほとんどの場合、手で持つ必要はほとんどありません。スクラムを使用して作業を管理し、通常は最小限の書面要件で多くのことを迅速に完了します。 チームが成長するにつれて、プロジェクト全体の技術的な監視を維持しながら、かなりの量の新しいコードを自分で作成することが困難になったため、自分の役割を調整する時が来ました。ほとんどの時間を開発に費やしていないときに、チームにとって最も役立つものにするにはどうすればよいですか? 私の目標は、開発者を追加することでグループをさらに成長させる(つまり、スクラム速度を上げる)ことです。そのため、単にチームに意思を課す「アーキテクチャポリス」になりたくありません。言い換えれば、私は不必要な官僚主義の層を追加することによって物事を遅くする男ではなく、物事がより良く働く/気分を良くする男になりたいです。それでも、私たちの主なリスクの1つは、すべてを同じページに保持するのに十分な構造を持たずにさらに人を追加すると、物事が制御不能になることです。 私の目標を達成するための最良の方法は何ですか?

10
あなたが今まで見た中で最悪のテクノロジーの決定は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前休業。 これには、アーキテクチャの決定、プラットフォームの選択、またはこのような悪い選択が悪影響をもたらした状況が含まれます。

4
ソフトウェア設計者は開発のどの部分を行うべきですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 8か月前に閉鎖。 私のマネージャーは最近私を「ソフトウェアデザイナー」に昇進させました。このタイトルが存在することを知りません。私の知る限り、SAは高レベルのコード設計を作成し、図を作成します。 高レベルのコード設計を理解するのに苦労しています。私のマネージャーによると、すべてのクラスとそれらのクラス内のすべてのメソッドを設計する必要があります。つまり、コード構造全体を設計し、チームに各関数またはクラスの機能を実装させます。たとえば、CRUDシステムでは、どの関数を使用するか、どのクラスを作成するかを計画できるはずです。 私のソフトウェア設計の経験を考えると、これを実行することは非常に不可能であることがわかりました。開発者として、私は常に自分のクラスを作成し、自分の関数を定義して実装しています。他の人のために機能を設計した経験はありません。 私の質問は: これは一般的ですか?非常に大規模なシステムの場合、コードベースは常に変更されませんか? これはできますか? ここでは明白で愚かな質問をしているのかもしれませんが、私はこれまで常に正規の開発者であり、システム全体の設計経験はありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.