InfoQ ホームページ カルチャー&手法 に関するすべてのコンテンツ
-
大手ハイテク企業のエンジニアリング生産性指標に学ぶ
The Pragmatic Engineer Newsletterの著者であるGergely Orosz氏は最近、Measuring Developer Productivityという記事を発表した。DXのCEOであり、DevExフレームワークの共同開発者であるAbi Noda氏との共著である。この記事では、Noda氏が有名ハイテク企業の幅広い分野で使用されているエンジニアリング・メトリクスを調査した結果を分析している。Noda氏は、DORA やSPACEメトリクスを全面的に採用するのではなく、使用されている指標には多くのコンテキスト固有の定性的・定量的メトリクスが含まれていることを発見した。Noda氏とOrosz氏は、イネーブルメントチームが求める成果から逆算して、そのようなメトリクスを定義するためのガイダンスを提供した。
-
ChatGPTを使用してソフトウェア・テストのプラクティスを向上させ、ソフトウェア・デリバリーを支援する
人工知能はソフトウェア・デリバリーを支援し、ソフトウェア・テストの自動化とプロジェクト作業の最適化に利用できる。Dimitar Panayotov氏は、ChatGPTを使ってテストデータを生成し、電子メールテンプレートを作成し、テスト結果に基づいて説明を作成する。これにより、彼は時間を節約し、より生産的になるために投資できる。
-
パフォーマンスの高いソフトウェア・チームになるには
高業績ソフトウェアチームを可能にする4大要素は、「目的」、「分散化された意思決定」、「心理的安全性を伴う高い信頼」、「不確実性の受容」である。チームは働き方を実験することでパフォーマンスを向上できる。
-
説明可能なAIとインパクト分析による倫理的機械学習
より多くの意思決定が機械によってなされたり、影響を受けたりするようになるにつれ、人工知能の倫理規範の必要性が高まっている。主な疑問は、"作ることはできるが、作るべきか?"である。説明可能なAIは、公平性と説明可能性のチェックとバランスを提供でき、エンジニアはシステムが人々の生活や精神衛生に与える影響を分析ができる。
-
DevOpsのレンズを通してオープンソース統合をナビゲートする
オープンソースに対するDevOpsの視点を持つことは、OSSプロジェクトを環境に組み込むのに役立つ。DevOpsエンジニアは、サードパーティとの統合に抵抗がなく、異なるグループ間の壁を取り払い、チームワークを促進するというオープンソースの考え方に合致している。
-
安定性とユーザーフレンドリーを両立したUIを作るには
UI構築における重要な課題は、使いやすさと保守性、そして規模や複雑さのバランスを取ることだ。安定し、かつユーザーフレンドリーなUIを作るには、思慮深いコンポーネント設計と一般的な使用経路の理解が必要だ。自動化は、コードベースの効率と一貫性を改善する上で、画期的な変化となりうる。
-
感情をうまく扱うことで、コンフリクトに対処する
感情はコンフリクトの核心であり、コンフリクトの始まり、拡大、そして原動力に影響を与える。自分自身の感情を効果的に管理し、他者の感情を理解することは、コンフリクトの結果に大きな影響を与える。取るべき2つのステップは、感情にラベルを付けること、そして、どの感情に焦点を当てたいかを判断し、コントロールすることである。
-
ビッグテックはいかにして道を踏み外したか - アカウンタビリティ(説明責任)とリーダーシップ
大手テック企業ではアカウンタビリティが欠如しているように思える。上級職の人間が責任を問われることは稀だ。エンジニアは働きたいカルチャーを意識し、彼らの幸福に気を配るべきだ。一方、企業は人々の最高の仕事をサポートするためにリーダーに投資すべきだ。Andy Walker氏は、QCon London 2023で、大手ハイテク企業がどのように道を踏み外したかについて講演した。
-
継続的な実験文化: QConニューヨークからの学び
QCon New York 2023でSarah Aslanifar氏は継続的な実験文化の構築を発表した。彼女は、継続的な実験の文化を育み、継続的な学習の原則を活用することで、いかに効率を高め、無駄を省き、製品の成果を向上できるかを示したのである。
-
多くの入力パターンをテストできるProperty-based Testing
Property-based Testingは、特定の例に頼るのではなく、常に真となるはずのステートメントを指定するアプローチである。これにより、より少ないテスト回数で、多くの入力に対して機能をテストできる。
-
他者と自分のために、変化するエージェントになる
小さな貢献であっても、誰もが変革の当事者となることができる。また、自分でコントロールできることに集中することで、自分自身を変えることができる。変化の理由を知ることが重要であり、それを探求することで、まだ変化を起こす時期ではないことがわかるかもしれない。
-
CIシステムを製品として扱って、高速で高品質なフィードバックサイクルを実現しよう
継続的インテグレーション(CI)システムのフィードバック時間を改善し、テスト手法とクラスを最適化することで、開発チームにとってより効果的なフィードバックが得られるようになった。Tobias Geyer氏によると、CIシステムは開発プロセスの重要な一部であり、そのように扱われるべきだという。
-
関数型プログラミングによるレイトアーキテクチャ
ソフトウェアアーキテクチャの多くのアプローチはアーキテクチャを最初に計画することを前提としている。残念ながら、この方法で計画されたアーキテクチャは、後で変更することが難しい。関数型プログラミングは、事前の計画を最小限にとどめ、アーキテクチャの決定を後から変更できる程度の疎結合を実現するのに役立つ。
-
セマンティックHTMLによるウェブアクセシビリティの向上とテスト技法・ツールについて
ウェブアクセシビリティは、私たち全員に利益をもたらす。デザイナー、開発者、テスト担当者はウェブアクセシビリティをチェックでき、例えば、セマンティックHTMLの使用、コーディング時のウェブ標準への準拠、ウェブアクセシビリティのテストなどにより、ウェブやサービスをより包括的なものにすることができる。各国では包括的基準を実施するための規制を導入している。
-
ソフトウェア開発者が効果的に学ぶ方法
ソフトウェア開発者は、常に新しい言語、フレームワーク、ツール、テクニックを学んでいる。どの分野を学ぶべきかを判断し、自分の能力を見極め、挫けずに効果的な学習を続けるのは難しい。