AI是协作者,而非替代者--探讨AI高效协作开发
如果无法正常显示,请先停止浏览器的去广告插件。
1. AI-First Software
Development
Scott Shaw, APAC CTO, Thoughtworks
2. © 2024 Thoughtworks | Confidential
2
3. AI-First Software Development
Scott Shaw
APAC Regional CTO
© 2024 Thoughtworks | Confidential
4. McKinsey predicts
software engineering
will be the business
function most
impacted by
Generative AI
© 2024 Thoughtworks | Confidential
4
5. Can we finally just
do architecture
and tell the bots
what code to write?
© 2024 Thoughtworks | Confidential
5
6. What will software delivery look like if we
truly partnered with AI in all aspects of the
process?
© 2024 Thoughtworks | Confidential
6
7. First, let’s talk about coding assistants
© 2024 Thoughtworks | Confidential
7
8. © 2024 Thoughtworks | Confidential
8
9. Coding assistance
Our developers really like
copilot
Experience level:
5
4
3
2
How likely are you to recommend Copilot?
5
5
4
4
3
3
2
2
1
1
1
● 1-5 x-axis is a Likert scale of “Strongly Disagree (1)” to “Strongly Agree (5)”
● 1-10 x-axis is the NPS Likert scale for “How likely are you to recommend”
● The stack colors show self-assessed experience level from 1-5
Copilot was frequently useful to me
© 2024 Thoughtworks | Confidential
5 4 3 2 1
5 4 3 2 1
I would
keep
I would like
like to to
keep the
the license
license
5 5 4 4 3 3 2 2 1 1
5 4 3 2 1
9
10. Software engineering agents are starting to gain
traction
© 2024 Thoughtworks | Confidential
10
11. Software engineering agents are starting to gain
traction
© 2024 Thoughtworks | Confidential
https://www.swebench.com/img/teaser.png
11
12. Software engineering agents are evolving quickly
© 2024 Thoughtworks | Confidential
https://www.swebench.com/img/teaser.png
12
13. Software engineering agents are evolving quickly
© 2024 Thoughtworks | Confidential
https://arxiv.org/html/2406.01304v1
13
14. Code assistants
amplify everything
The good and the bad
Poisoned Context Automation Bias
Anchoring Effect Security flaws
Code is read far more than it is written.
There are objective standards for
“good” code but training sets only take
correctness into account, not what
makes the overall code base better.
© 2024 Thoughtworks | Confidential
14
15. The trends in code quality are not encouraging
Github codebases are getting bigger without getting better
Churned
Added
https://gitclear-public.s3.us-west-
2.amazonaws.com/Coding-on-
Copilot-2024-Developer-
Research.pdf
© 2024 Thoughtworks | Confidential
Moved
15
16. Empirical evidence is not encouraging
Github codebases are getting bigger without getting better
Click to add body copy text
https://gitclear-public.s3.us-west-
2.amazonaws.com/Coding-on-Copilot-2024-
Developer-Research.pdf
© 2024 Thoughtworks | Confidential
16
17. Practices still matter
Engineering practices still matter, if not more.
If you can code
faster, can you fill
the backlog faster?
© 2024 Thoughtworks | Confidential
Higher coding
throughput
If you can code faster,
can you review faster?
Can you ship faster?
If you can produce more
code, can you also keep
your technical debt in
check?
17
18. Coding assistants alone are not AI-first
© 2024 Thoughtworks | Confidential
18
19. Software lifecycle
Beyond coding: Potential for
AI across the lifecycle
●
●
●
●
●
●
●
●
●
●
Market Research
Competitor Analysis
User Needs Identification
Feasibility Study
Technology Exploration
Regulatory Requirements Identification
Security Considerations
Existing System Analysis (for modernization)
Mobile Platform Analysis (for mobile projects)
Data Analysis (for data projects)
Research
●
●
●
●
●
●
●
●
●
●
●
●
Software Architecture Analysis
Data protection impact assessment
Requirement Gathering
Compliance Requirement Identification
Requirement Analysis
Business Process Analysis
User Interface Analysis
Security Analysis
Existing System Analysis
Data Analysis
Vulnerability Assessment
Data Source Analysis
Planning
●
●
●
●
●
●
●
●
●
●
●
●
Project Scope Definition
Communication Planning
Project Governance
Documentation Plan
Mobile Platform Selection
Resource Planning
Budget Planning
Risk Management
Quality Assurance Planning
Data Migration Plan
Security Planning
Project Scheduling
© 2024 Thoughtworks | Confidential
Analysis
Design
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Refactoring
Coding
Database Management
UI/UX Implementation
Security Implementation
Reverse engineering
Data Modeling
Data Integration
Data Security Implementation
Integration
API Development
Testing (Unit and Component)
Data Processing Implementation
Continuous Integration
Database Design
Data Migration
Data Validation
Database Implementation
Development
System Design
Software Architecture Design
UI/UX Design
Compliance-Driven Design
Security Design
API Design (for application development)
Microservice Design (for modern applications)
Mobile Design (for mobile applicalions)
Data Pipeline Design (for data platforms)
Risk management policy creation
Incident response plan creation
Infrastructure Design
Database Design
Privacy policy creation
Terms of service creation
Security policy creation
Data retention policy creation
●
●
●
●
●
●
●
●
●
●
●
●
●
Testing
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Change Management
Cutover Management
Performance Tuning
Mobile App Store Submission
Environment Setup
Release Preparation
Data Migration
Software Installation
System Monitoring
Load Balancing
Compliance monitoring
Backup and Recovery Setup
SEO Setup
Deployment
Alpha Testing
Compliance Testing
Accessibility Compliance
Defect resolution
System Testing
Non-functional Testing
User Acceptance Testing (UAT)
Beta Testing
Mobile App Testing (for mobile projects)
Data Testing (for data projects)
Accessibility Testing
Load and Stress Testing
Compatibility Testing
Defect tracking
Unit Testing
Integration Testing
Functional Testing
Regression Testing
Automation Testing
Test data management
Test reporting
Maintenance
● Release and patch
management
● System audits
● Incident Management
● Security Updates
● Performance Tuning
● Backup and Recovery
● System Documentation
● Compliance Checks
● Decommissioning
● Mobile App Updates
● Data Validation
● Security monitoring
● Performance monitoring
● Security monitoring
● Capacity planning
● Software Upgrades
● User Support
● Performance monitoring
● Application monitoring
19
20. How we can help
Big picture: The AI-first software delivery stack
Buy
OSS & self-host
Chatbot
Team
assistance portal
Coding
assistant
3rd party
model
Buy
Build
Extensions
to the existing
delivery toolchain,
using 3rd party
models
Issue
tracker
Wiki
Developer
Portal
Prompt sharing platform
Data stores
for retrieval
© 2024 Thoughtworks | Confidential
Text chat
Embeddings
Coding
specific chat
Cloud
Console
OSS & self-host
Foundation
model access
OSS
Buy
… …
Design
tools CI/CD
Tool
Buy
Buy
OSS & self-host
20
21. Consider the
factory pre-
electification
© 2024 Thoughtworks | Confidential
https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/Line_shaft_and_powe
r_looms_at_Boott_Mills%2C_Lowell%2C_Massachusetts.JPG/1600px-
Line_shaft_and_power_looms_at_Boott_Mills%2C_Lowell%2C_Massachusetts.JP
G?20140715052744
21
22. How did the electric
motor change
manufacturing?
Electrify the line shaft (1890)
Unit drives didn’t become common
until the 1920s
© 2024 Thoughtworks | Confidential
Devine, W. D. (1983). From Shafts to Wires: Historical Perspective
on Electrification. The Journal of Economic History, 43(2), 347–372.
http://www.jstor.org/stable/2120827
22
23. Real productivity gains
required a complete
reimagination of how
factories operate
© 2024 Thoughtworks | Confidential
23
24. Do coding assistants merely electrify the
line shaft of software delivery?
© 2024 Thoughtworks | Confidential
24
25. “Software is a communication medium for
expressing knowledge”
Hao Xu, 2023
© 2024 Thoughtworks | Confidential
25
26. “Software development is a form of
knowledge engineering”
Hao Xu, 2023
© 2024 Thoughtworks | Confidential
26
27. How we can help
Our Team Assistant Accelerator
Knowledge Amplification
Engineering
Organization
Team
Thoughtworks recommended
practices “just in time”
Generative AI and
prompt upskilling
Team Assistant
(web application)
Prompts
Knowledge
Organisational
experience and
advice
Low cost of
experimentation
3rd party model
services of choice
●Domain and architecture
descriptions
●Organisational resources
●External resources
Documentation / Guidance
© 2024 Thoughtworks | Confidential
27
28. Haiven™
Team
assistant
How we can help
We’re continually adding new features.
Haiven TM now includes:
● General Chat, with saved
‘useful’ prompts for the team
● Epic breakdown
● Story brainstorming
● Technical Tasking
● Test DB exploration
● Knowledge Base
(PDF / vector-DB query)
● Diagram visual understanding
and discussion
© 2024 Thoughtworks | Confidential
28
29. 1. Generative AI is poised to transform
software delivery
1. Obsessing on coding assistants is a
distraction
1. The real revolution will come when teams
use AI to augment their collective
knowledge of the business
© 2024 Thoughtworks | Confidential
29
30. Thank you!
Scott Shaw
APAC Region CTO, Thoughtworks
sshaw@thoughtworks.com
© 2024 Thoughtworks | Confidential
30