サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
martinfowler.com
Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl Birgitta is a Distinguished Engineer and AI-assisted delivery expert at Thoughtworks. She has over 20 years of experience as a software developer, architect and technical leader. This article is part of “Exploring Gen AI”. A series capturing Thoughtworks technologists' explorations of using gen ai technology for software development.
Birgitta is a Distinguished Engineer and AI-assisted delivery expert at Thoughtworks. She has over 20 years of experience as a software developer, architect and technical leader. This article is part of “Exploring Gen AI”. A series capturing Thoughtworks technologists' explorations of using gen ai technology for software development. The discourse about to what level AI-generated code should be re
I’m about to head away from looking after this site for a few weeks (part vacation, part work stuff). As I contemplate some weeks away from the daily routine, I feel an urge to share some scattered thoughts about the state of LLMs and AI. ❄ ❄ ❄ ❄ I’ve seen a few early surveys on the effect AI is having on software development, is it really speeding folk
From Strategy to Real Results OKRs have become a popular way to connect strategy with execution in large organizations. But when they are set in a top‑down cascade, they often lose their meaning. Teams receive objectives they didn’t help create, and the result is weak commitment and little real change. High‑performing teams work in another way. They define their own objectives in an organization t
It's become a common habit for developers to give Large Language Models (LLMs) a persona when working with them. The first time I ran into this was my colleague Birgitta characterizing her LLM as a stubborn donkey (called “Dusty”). She picked it because it had the traits of: eager to help stubborn very well-read, but inexperienced (for Dungeons and Dragons fans: high intelligence, low wisdom) won’
Birgitta is a Distinguished Engineer and AI-assisted delivery expert at Thoughtworks. She has over 20 years of experience as a software developer, architect and technical leader. This article is part of “Exploring Gen AI”. A series capturing Thoughtworks technologists' explorations of using gen ai technology for software development. Ever since AI coding assistance started gaining traction I’ve he
Like most loudmouths in this field, I've been paying a lot of attention to the role that generative AI systems may play in software development. I think the appearance of LLMs will change software development to a similar degree as the change from assembler to the first high-level programming languages. The further development of languages and frameworks increased our abstraction level and product
As computer systems get more sophisticated we've seen a growing trend to value deep specialists. But we've found that our most effective colleagues have a skill in spanning many specialties. We are thus starting to explicitly recognize this as a first-class skill of “Expert Generalist”. We can identify the key characteristics of people with this skill - and thus recruit and promote based on it. We
Shodhan Sheth is head of Enterprise Modernization and Principal Technologist at Thoughtworks. He is always looking to apply technology towards positive business outcomes Since the release of ChatGPT in November 2022, the GenAI landscape has undergone rapid cycles of experimentation, improvement, and adoption across a wide range of use cases. Applied to the software engineering industry, GenAI assi
As we move software products using generative AI technology from proof-of-concepts into production systems, we are uncovering a range of common patterns. Evals play a central role in ensuring that these non-deterministic systems are operating within sensible boundaries. Large Language Models need enhancement to provide information beyond a generic and static training set. Most of the time we can d
Design tokens are design decisions as data and serve as a single source of truth for design and engineering. Utilizing deployment pipelines, they enable automated code generation across platforms, allowing for faster updates and improved consistency in design. Organizing tokens in layers—progressing from available options to tokens that capture how they are applied—ensures scalability and a better
When a single-page application needs to fetch data from a remote source, it needs to do so while remaining responsive and providing feedback to the user during an often slow query. Five patterns help with this. Asynchronous State Handler wraps these queries with meta-queries for the state of the query. Parallel Data Fetching minimizes wait time. Fallback Markup specifies fallback displays in marku
Measuring developer productivity is a difficult challenge. Conventional metrics focused on development cycle time and throughput are limited, and there aren't obvious answers for where else to turn. Qualitative metrics offer a powerful way to measure and understand developer productivity using data derived from developers themselves. Organizations should prioritize measuring developer productivity
Improvements in communications technology have led an increasing number of teams that work in a Remote-First style, a trend that was boosted by the forced isolation of Covid-19 pandemic. But a team that operates remotely still benefits from face-to-face gatherings, and should do them every few months. Remote-first teams have everyone in a separate location, communicating entirely by email, chat, v
LLM engineering involves much more than just prompt design or prompt engineering. In this article, we share a set of engineering practices that helped us deliver a prototype LLM application rapidly and reliably in a recent project. We'll share techniques for automated testing and adversarial testing of LLM applications, refactoring, as well as considerations for architecting LLM applications and r
Regression bugs are newly appeared bugs in features of the software that have been around for a while. When hunting them, it usually valuable to figure out which change in the software caused them to appear. Looking at that change can give invaluable clues about where the bug is and how to squash it. There isn't a well-known term for this form of investigation, but I call it Diff Debugging. Diff d
A collection of articles on common problems startups face when scaling. Throughout Thoughtworks’ history, we’ve been partnering with startups to help them scale. We’ve worked with organizations at various stages in their development — from helping early-stage startups experiment, land on the right idea and create an MVP, to helping later-stage scaleups create the right technical platform and organ
Generative AI and particularly LLMs (Large Language Models) have exploded into the public consciousness. Like many software developers I am intrigued by the possibilities, but unsure what exactly it will mean for our profession in the long run. I have now taken on a role in Thoughtworks to coordinate our work on how this technology will affect software delivery practices. I'm posting various memos
Any large software effort, such as the software estate for a large company, requires a lot of people - and whenever you have a lot of people you have to figure out how to divide them into effective teams. Forming Business Capability Centric teams helps software efforts to be responsive to customers’ needs, but the range of skills required often overwhelms such teams. Team Topologies is a model for
Platform teams have a unique reliance on other teams to ensure adoption of their platform - getting code changes into other teams' codebase is critical to their success. There are a variety of patterns for that cross-team collaboration, and selecting the right ones depends on both the phase of platform adoption and the ability of both teams and codebases to accept external influence. 19 July 2023
Martin is the host of martinfowler.com, the author of Refactoring, and the Chief Scientist at Thoughtworks. Xu Hao (徐昊) is Thoughtworks's Head of Technology for China. He is the host speaker of a popular Chinese tech vlog (八叉说 - Ba Cha Shuo ). Coder, foodie, classical guitar luthier and collector. You can contact him at hxu@thoughtworks.com. Recently I watched a fascinating call on Zoom. Xu Hao, T
Established UI patterns are often underutilized in the frontend development world, despite their proven effectiveness in solving complex problems in UI design. This article explores the application of established UI building patterns to the React world, with a refactoring journey code example to showcase the benefits. The emphasis is placed on how layering architecture can help organize the React
Martin is the host of martinfowler.com, the author of Refactoring, and the Chief Scientist at Thoughtworks. I've been a heavy user of Twitter over the last decade, and while Musk's purchase of Twitter hasn't got me running for the exit, it has prompted me to take a look at possible alternatives should Twitter change into something no longer worthwhile for me. The obvious alternative is for me to e
Pretty much all the practitioners I favor in Software Architecture are deeply suspicious of any kind of general law in the field. Good software architecture is very context-specific, analyzing trade-offs that resolve differently across a wide range of environments. But if there is one thing they all agree on, it's the importance and power of Conway's Law. Important enough to affect every system I'
Friction Between Product and Engineering; Lack of trust and collaboration slowing down product growth 19 October 2022 Richard is the North American Head of Modern Application and Platform Services for Thoughtworks with nearly 30 years of technology leadership experience Kennedy is the Head of Product and Design for Thoughtworks NA’s Central Market, where he helps clients understand how technology
For more on Data Mesh, Zhamak went on to write a full book that covers more details on strategy, implementation, and organizational design. The original writeup, How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh - which I encourage you to read before joining me back here - empathized with today’s pain points of architectural and organizational challenges in order to become data-
I have the habit of creating Neologisms to describe the things I see in software development. It's a common habit amongst writers in this field, for software development still lacks much useful jargon. One of the problems with building a jargon is that terms are vulnerable to losing their meaning, in a process of semantic diffusion - to use yet another potential addition to our jargon. Semantic di
Accumulation of tech debt; experiments and shortcuts are core components 09 March 2022 Tim Cochran is a Technical Director for the US East Market at Thoughtworks. Tim has over 19 years of experience leading work across start-ups and large enterprises in various domains such as retail, financial services, and government. He advises organizations on technology strategy and making the right technolog
次のページ
このページを最初にブックマークしてみませんか?
『martinfowler.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く