社内勉強会「ソフトウェアテストわいわい会」

本エントリはクリエーションラインアドベントカレンダー4日目の記事です。 私はアジャイルコーチとしてクリエーションライン株式会社を支援しています(2024年現在)。すでに6年ほどお手伝いしておりいろいろな形で関わらせてもらっていますが、その中でもひと…

テスト駆動開発 (TDD) のテストリスト/TODOリスト作りに生成AIを使ってみよう

テスト駆動開発(TDD)ではテストリスト、あるいはTODOリストを作ります。テストリストは実現したいことの全体を網羅しつつ、問題を着手できるくらい小さな項目に分割しながら、一度に1テストずつ進めていくためのツールです。開発を一歩ずつ、1テストずつ進め…

ケント・ベックの講演 "TDD Theme&Variations" Tech Excellence Conference

Tech Excellence Conferenceというオンラインカンファレンスが先日あって、ケント・ベックがTDDをテーマに講演とQ&Aをしました。 www.techexcellence.io なお他の講演者のものも含め、YouTubeで視聴できます。英語字幕もつくし、ライブ視聴者のコメントも見…

TDDで生成AIに仕様と設計を指示してみました

生成AIでプログラミングするには、コードを導くプロンプトを書きます。テスト駆動開発 (TDD) ではプロダクトコードを導くテストを書きます。それならば、人がテストを書いてAIにプロダクトコードを書いてもらったらどうだろうか。 そう思って実験してみたと…

スクラムが上手くいってないなら上手くいってる

「スクラムでやっているんですが、問題が多くて、スクラム合わないのかなと思って……」 「問題あるならスクラムが上手くいってますね」 という会話をした。 スクラムをやっていて、いろいろ問題が起きる。スプリントゴールがわからないとか、チームの協力が難…

『成長を支援するということ』(リチャード・ボヤツィス メルビン・スミス エレン・ヴァン・オーステン著、高山真由美 和田圭介 内山遼子訳、英治出版)を読みました。 よかった点: 「思いやりコーチング」と称して、個人の夢を実現するために人生・生活全体に…

本日は「ボードゲーム・パズルプログラミング Advent Calendar 2022 - Adventar」アドベントカレンダーへのエントリーです。 asobannについて 新型コロナの影響でワークショップなどに人が集まれないようになってきた2020年から、オンラインのボードゲームサ…

テスト駆動開発(TDD)のゴール「動作するきれいなコード」について考えてみる

「偉大な書籍は偉大な出だしで始まる。ケント・ベック著『テスト駆動開発』(2003, 2017)はこう始まります。 「動作するきれいなコード」。Ron Jeffriesのこの簡潔な言葉が、テスト駆動開発(TDD)のゴールだ。 」 テスト駆動開発エバンジェリストとして活躍し…

What it takes for TDD to make Clean Code That Works?

"Great books begin with great openings. 'Test-Driven Development' by Kent Beck (2003) begins with this sentence: Clean code that works, in Ron Jeffries' pithy phrase, is the goal of Test-Driven Development (TDD)." (Quoted from talks by Tak…

オンラインホワイトボードで自己紹介

「神経の衰弱しない自己紹介」という、オンラインホワイトボードを使ったグループアクティビティを紹介します。初めての人が集まるリモートの場で、アイスブレークを兼ねた自己紹介をするものです。CC-BY 4.0で公開します。(CC-BY 4.0 やっとむ, 合同会社や…

ストーリーポイント見積りって難しくない?

ストーリーポイントの見積りは難しいと思います。ストーリーポイントが難しいと言うよりは、見積りが難しいのですが。たくさんのチームでストーリーポイントを使ってきての感想ですが、コミュニケーションの道具としてはものすごくよくできています。一方、…

短期も長期も両方大事

この文章は、Yves Hanoulle編纂 "Tips from the agile trenches" に寄稿したエッセイ(tips!)を元に、概要を日本語にしたものです。書籍はLeanPubで購入できます。 私がスクラムマスターとして一緒に働いたチームの話です。そこのプロダクトオーナーは、ユー…

モダンアジャイルについて

2021年7月1日に「モダンアジャイル 再考 2021」というイベントが分散アジャイルチームについて考える会の主催でありました。 distributed-agile-team.connpass.com このイベントのきっかけは、私のFacebookでのつぶやき?でした。 これへのコメントできょん…

スクラムマスターの資格って必要?本当に答えます

スクラムマスターに資格(職務に就くための必須の条件)はありませんが、認定(スクラムマスターとして有能である、十分である)はいくつかあります。 ですので、タイトルに直接答えれば「資格は必要ありません(そんなものはありません)」となります。 いっぽう…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問10. 仕様変更時、テストが壊れるケースがあると思います。どのようにプログラム修正するのが良いでしょうか?リファクタリングとは異なり、新…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問9. DBアクセスを含む処理をテストする場合、どのように環境を整えるのが良いと思いますか? 例.開発環境DBにつなぐ/クライアント端末にDBを…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問8. リモートでペアプロするときのメリット、デメリットはありますか? リモートペアプロは、ツールやデバイスを上手く使えば十分に有効です。…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問7. TDD導入に関する質問です。 実際にテスト駆動の場合は、最初のリリース時は以前に比べると工数、費用はかかり、運用保守まで考えて効果が…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問6. テストコード部分の品質はどのように維持するのでしょうか?テストコードのテストコードを作るのではないと思いますが…… ひとつは、プロダ…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問5. 実際にTDDで運用したとき、それでも不具合が発生したことがありました。 データの量、質が問題視されたことがありました。 受け取った情報…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問3. かなり最初の方のスライドにありましたが、「テスト自動化で新規のバグが見つかることは稀である」の意図とは何でしょうか? STARソフトウ…

こちらの講演時にいただいた質問への回答です。 「テスト自動化とテスト駆動開発」講演資料 - やっとむでぽん 質問1. テスト駆動開発した結果のテストコードは、最終的にテスト自動化に寄与しますか? はい、テストコード自体は寄与しないことも多いですが、…

「テスト自動化とテスト駆動開発」講演資料

クライアント企業から依頼をいただいて、「テスト自動化とテスト駆動開発」という講演をしました。その資料を公開してよいことになったので、(若干手を入れて)公開しています。 speakerdeck.com 以下のような内容です。 ねらい 主に顧客向けの業務システム(B…

Dave Thomasが"Agile Is Dead (Long Live Agility)"を書いたきっかけ

あやふやな記憶からFacebookのみなさんに助けていただいたので、記録として。 pragdave.me あらすじ(動画の話をベースに): インドで開催されるカンファレンスへ飛行機で移動していたときのこと。時間の関係で、登壇者がたくさん乗っていた。自分の前の席にも…

asobannのAWS ECSデプロイでやったことと引っかかったこと その3

yattom.hatenablog.com その1でasobannをAWS ECS上に構築、その2でその構成をCloudFormation化した。したのだけどもう一息、Service Discoveryの対応と、MongoDBのデータ永続化が残っている。 SRVレコード対応にはPythonコードの実装が必要だった その1にも…

asobannのAWS ECSデプロイでやったことと引っかかったこと その2

yattom.hatenablog.com その1でasobannをAWS ECSに手作業でインフラ構築できた ので、これを自動化したい。CloudFormationかTerraFormを使うといいらしいと聞いて、あまり考えずにCloudFormationを使ってみることにした。これも初めて。 CloudFormationにア…

asobannのAWS ECSデプロイでやったことと引っかかったこと その1

asobannは現在herokuにデプロイしてMongoDBを使っているが、「herokuのMongoDBが11月で使えなくなるよー」という通知が来た。なるほど。また、サーバーをスケールするためにはFlask-SocketIOを複数プロセス起動してロードバランサを置かないといけないのだけ…

受入条件はプロダクトオーナーのもの、完成の定義は開発チームのもの

プロダクトバックログアイテム(PBI)が完成したか、リリース可能と言えるかどうかは、開発チームとプロダクトオーナが判断する。判断基準は様々で、ちゃんと動くか、使いやすいか、重かったりしないか、デザインが整っているか、脆弱性が存在しないか、SLAを…

リモートモブプロ勉強会をrepl.it+Zoomでやれそう

モブプロ勉強会のリモート開催の可能性を考えて、簡単な素振りをしてみました。 repl.it(オンラインIDE)は言語やフレームワークの幅が広く、使える replt.itのMultiplayer機能で、ブラウザ上で複数人(無料では4人まで)で共有できる。VSCode LiveShareとほぼ…

自分がどんなふうにインセプションデッキ作りをファシリテートしているか

インセプションデッキ Advent Calendar 2019 - Adventarの参加エントリです。 アジャイルコーチとして活動する中で、インセプションデッキ作りを手伝うことがよくあります。私がファシリテートする場で、どんなことを考え、どんなことをしているのか、思いつ…