BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ 品質 に関するすべてのコンテンツ

  • すべての質問には答えがある - 開発者にとって不可能とは

    すべての質問には答がある、と我々は思いがちだ。しかしながら、現在時刻を知りたい時のように、必ずしもそれは真実ではない。開発者は、想定外の障害モードに対する認識を高め、障害の可能性を広く告知し、戻ることのない返答待ちからの復帰にタイムアウトを用いる必要がある。

  • ゲーミフィケーションによるソフトウェア品質の向上

    バグハンティングやリスクストーミングゲームをプレイするBingo Bongoセッションにより、品質を向上させることができる。ゲーミフィケーションは学習を支援し、日常業務を面白くし、チームスピリットを強化することができる。ゲームをプレイすることはオフィスでの日常業務の一部であり、効果的な作業時間と見られるべきである。ゲーミフィケーションでは、創造的なプロセスによって真の価値が生み出される。

  • ディフェクト・マスの測定が重要な製品領域のテストにどのように役立つか

    「ディフェクト・マス」と呼ばれる測定を導入することで、プロジェクトは開発によって最も影響を受けた領域を見つけることができ、影響を受けた領域ごとに実行するテストの数を決定するのに役に立った。この測定値を他のKPIと一緒に使用することで、テストに集中する役に立った。顧客のインシデントの数を減らすことができた。

  • 実車を使用したリモートソフトウェアの実証と妥当性確認の実装

    Bosch は、シミュレートされた車ではなく、実際の車を使って自動回帰テストとユーザテストを行っている。目的は、テストエンジニアとユーザの両方の観点で、ソフトウェアを可能な限り迅速にテストすることだ。車にはリモートでアクセスが可能で、チームメンバは乗車せずに行うことができる。

  • ブロックチェーンシステムにおける品質の作り込み

    ブロックチェーン技術は、優れたソフトウェア品質を自然に提供可能なソリューションの構築に使用することができる。ブロックチェーンを使うことで、コントラクトにすべてを格納する、コンパクトなシステムへの移行が可能になるのだ。ただしそれには、データのニーズについて理解し、チェーン内に格納するものとしないものを判断した上で、要件、障害、テストといった履歴をコントラクトモデル内に構築する方法を検討する必要がある。

  • コードを読む上での課題とその対処方法

    コードの読むことは、多くの点で混乱を招く可能性がある。コードの読み方は明確に教えられておらず、コードの読み方を練習することはめったにない。ある役割を果たす認知プロセスを認識することは、コードをより適切に読むのに役立つ。

  • ゼロバグポリシを使ってバグを解決する

    ゼロバグポリシ(zero bug policy)を採用すると、バグの優先順位付けが容易になり、チームの可視性とバグへの対応性を向上することができる。ただし、過激な変革なので、意思決定とバグの修正時間に関して、自分自身の状況に合わせることが必要だ。

  • モブプログラミングの集団的習慣は技術品質を高めるための土壌になり得る

    モブ(mob)プログラミングは、プロダクトをアジャイル手法で開発する上で、古い習慣を新しく効果的な習慣に変えるための有効な手段だ。周りを人に囲まれた環境において集団で培われた習慣は、簡単に忘れることはない。モブプログラミングは各メンバに対して、新たな習慣を定常的に実践させることによって、それらを取り入れやすくする。チームは同じ作業の繰り返しを容認しない。仕事を行うためのよりよい方法を探しているのだ。

  • eBayでのソフトウェア品質認定の自動化

    eBayアプリケーションプラットフォームチームは、組織のソフトウェア品質を確保するために、Kubernetesオペレーター、Helm Charts、Jenkinsの使用を開始した。関連するコンテナと環境内で安全な変更を実行するために、チームはセルフサービスの「認証」ソリューションを開発した。

  • 開発者がE2Eテストを書くことで得たもの

    開発者がe2eテストを書くことによって、テスト可能なコードの記述、迅速なフィードバックの提供、バグの回避が可能になる。Wixでは、同社のプロジェクトマネージャ、開発者、QAエンジニアを対象に、QAのみによるテストから開発者によるe2eテストに移行することによって、QAの左シフト(上流への移行)とデリバリ速度の向上を実現した。

  • 継続的セキュリティテストを有効にしてテストにセキュリティを追加する

    チームは、テストプロセスにセキュリティテストを追加し、機能テストの自動化の一部としてセキュリティチェックを追加して領域の特定ができるようになるためにセキュリティの専門家によってトレーニングをうけることが可能だ。これにより、継続的なセキュリティテストが可能になり、すべてのリリースでセキュリティテストの対象範囲が広がり、セキュリティの欠陥を早期に発見できる。

  • テストピラミッドを使って品質を左シフトする

    品質の左シフト(前倒し)とは、開発終了後に品質テストを行うのではなく、ソフトウェア開発サイクルの早期に品質を作り込む、という意味である。テストピラミッドモデルを使うことで、テストをより早いステージに移動させることが可能になり、統合時に問題となる欠陥を開発早期に発見することが可能になる。

  • 品質の造り込みのためのアジャイル的アプローチ

    品質の造り込み(Built-in Quality)はアジャイルの重要な柱のひとつだ。しかしながら、これを大規模に実践するには、開発ライフサイクル全体を見る必要がある。組織のさまざまな層で、品質意識を向上させることが必要だ。アジャイルコーチは、アジャイル的作業方法を活用し、品質思考を推進することによって、これを支援することができる。

  • zero-bugポリシを実践する - Redgateの例

    zero-bugポリシは単純だが効果的なバグ管理システムだ。数か月、時には数年前のバグに埋もれてしまう事態を回避する上で、有効に機能する。修正の必要があると合意した重要なバグは即座に修正し、そうでないバグは修正せずにクローズするのだ。Tom Walsh氏はLean Agile Exchange 2020で、氏の属するRedgate Softwareにおいてzero-bugポリシを適用した方法について講演した。

  • “規律あるアプローチ”で変化に対応する

    企業がアジャイルを採用しようという時、最初に考えるべきなのは、"アジャイルの実践にはどのフレームワークがよいのか"ではなく、"我々の目標は何か"ということだ。変革に対する規律あるアプローチ(disciplined approach)は、アジャイルに移行する上での"デザインパターンブック"のように、実行可能なプラクティスから方法を選択し、そのプラクティスが有望かどうか、現在の状況がそのプラクティスにとって望ましいものかどうか把握する上で有用なものとなる。

BT