Thoughtworks Technology Radar, Volume 29 เปิดเผยแล้ว
(thoughtworks.com)แสดงภาพและอธิบายเทรนด์ล่าสุดในด้านเทคนิค/เครื่องมือ/แพลตฟอร์ม/ภาษาและเฟรมเวิร์กสำหรับการพัฒนา แบ่งเป็น 4 ระดับคือ Hold/Assess/Trial/Adopt
การพัฒนาซอฟต์แวร์ที่มี AI ช่วยสนับสนุน
- Open-source LLM สำหรับการเขียนโค้ดจะเข้ามาเขย่าสภาพแวดล้อมของเครื่องมือพัฒนา
- นอกจากนี้ยังมีศักยภาพสูงนอกเหนือจากการเขียนโค้ด เช่น การช่วยเขียน user story, การทำ user research, elevator pitch และงานที่เกี่ยวกับภาษาอื่นๆ
- ในขณะเดียวกัน นักพัฒนาต้องใช้เครื่องมือเหล่านี้อย่างมีความรับผิดชอบ และต้องระวังเรื่องอย่าง package hallucinations ด้วย
การวัดผลผลิตนั้นมีประสิทธิผลแค่ไหน?
- การพัฒนาซอฟต์แวร์อาจดูเหมือนเวทมนตร์สำหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญด้านเทคนิค และด้วยเหตุนี้ผู้จัดการจึงพยายามวัดว่านักพัฒนาทำงานได้มีประสิทธิผลเพียงใด
- Martin Fowler เคยเขียนบทความชื่อ "ไม่สามารถวัด productivity ได้" ในปี 2003
- จนถึงตอนนี้ ตัวชี้วัดทดแทนของ Activity ในกรอบ SPACE (Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow) เช่น จำนวน pull request หรือจำนวน issue ที่แก้ไข ก็ยังไม่ค่อยดีนัก
- แทนที่จะวัด productivity โดยตรง วงการเริ่มหันมาโฟกัสที่ "engineering effectiveness" ซึ่งหมายถึงการ "วัดองค์ประกอบที่ช่วยให้เกิดหรือขัดขวาง flow"
- แทนที่จะโฟกัสที่กิจกรรมของรายบุคคล ควรโฟกัสที่สาเหตุของความสูญเปล่าในระบบ และเงื่อนไขที่พิสูจน์เชิงประจักษ์ได้ว่ามีผลต่อการรับรู้เรื่อง "productivity" ของนักพัฒนา
- เครื่องมือใหม่อย่าง DX DevEx 360 พยายามแก้ปัญหานี้ด้วยการเน้นที่ developer experience แทนการวัดผลลัพธ์เฉพาะอย่าง
- อย่างไรก็ตาม ผู้นำจำนวนมากยังคงพูดถึง "productivity" ของนักพัฒนาในลักษณะที่คลุมเครือและเป็นเชิงคุณภาพ
- การกลับมาสนใจเรื่องนี้อย่างน้อยส่วนหนึ่งน่าจะเกี่ยวข้องกับผลกระทบของการพัฒนาซอฟต์แวร์ที่มี AI ช่วย ซึ่งก่อให้เกิดคำถามว่า "มันกำลังสร้างผลกระทบเชิงบวกอยู่หรือไม่?"
- การวัด productivity อย่างแท้จริงยังคงเป็นเรื่องยาก
LLM จำนวนมหาศาล
- LLM (large language model) เป็นรากฐานของนวัตกรรม AI สมัยใหม่จำนวนมาก
- ปัจจุบันการทดลองจำนวนมากรวมถึงการแสดงอินเทอร์เฟซผู้ใช้คล้ายแชตอย่าง ChatGPT หรือ Bard
- โดยกว้างๆ แล้ว LLM เป็นเครื่องมือที่สามารถแก้ปัญหาได้หลากหลาย ตั้งแต่การสร้างคอนเทนต์ (ข้อความ ภาพ และวิดีโอ) ไปจนถึงการสร้างโค้ด การสรุป และการแปล
- โมเดลเหล่านี้ใช้ "ภาษาธรรมชาติ" เป็นชั้น abstraction ที่ทรงพลัง จึงมอบชุดเครื่องมือที่ดึงดูดใจอย่างกว้างขวาง และมีคนทำงานสายข้อมูลจำนวนมากใช้งานอยู่
- มีการพูดถึง LLM ในหลายแง่มุม รวมถึง self-hosting ที่ให้การปรับแต่งและการควบคุมที่แข็งแกร่งกว่าการใช้ LLM ที่โฮสต์บนคลาวด์
- เมื่อความซับซ้อนของ LLM เพิ่มขึ้น เราจึงพิจารณาความสามารถในการ quantize และรัน LLM ใน form factor ขนาดเล็ก โดยเฉพาะบนอุปกรณ์ edge และในสภาพแวดล้อมที่มีข้อจำกัด
- ยังได้พิจารณา "ReAct Prompting" ที่สัญญาว่าจะช่วยเพิ่มประสิทธิภาพ พร้อมกับ LLM-powered autonomous agents ที่สามารถใช้สร้างแอปพลิเคชันแบบไดนามิกที่ก้าวข้ามการโต้ตอบแบบถาม-ตอบ
- นอกจากนี้ยังกล่าวถึง vector database หลายตัวที่กลับมาได้รับความนิยมอีกครั้งเพราะ LLM รวมถึง Pinecone
- ความสามารถพื้นฐานของ LLM ทั้งด้านการทำงานเฉพาะทางและความสามารถในการ self-hosting ยังคงเติบโตอย่างระเบิดระเบ้อ
วิธีแก้ปัญหาเฉพาะหน้าของการส่งมอบงานแบบรีโมตเริ่มสุกงอม
- ทีมพัฒนาซอฟต์แวร์แบบรีโมตใช้เทคโนโลยีเพื่อก้าวข้ามข้อจำกัดด้านภูมิศาสตร์มาหลายปีแล้ว แต่ผลกระทบจากโรคระบาดได้เร่งนวัตกรรมในด้านนี้ จนทำให้งานแบบรีโมตเต็มรูปแบบหรือไฮบริดกลายเป็นแนวโน้มต่อเนื่อง
- Radar ครั้งนี้พูดถึงวิธีการและเครื่องมือสำหรับการพัฒนาซอฟต์แวร์แบบรีโมตที่เติบโตขึ้น พร้อมทั้งวิธีที่ทีมยังคงผลักขอบเขตต่อไปโดยเน้นการทำงานร่วมกันอย่างมีประสิทธิภาพในสภาพแวดล้อมที่กระจายตัวและเปลี่ยนแปลงตลอดเวลามากกว่าที่เคย
- บางทีมยังคงนำเสนอวิธีแก้ปัญหาที่สร้างสรรค์ด้วยการใช้เครื่องมือทำงานร่วมกันแบบใหม่
- บางทีมยังคงปรับใช้และพัฒนาแนวปฏิบัติแบบพบหน้าที่มีอยู่เดิมสำหรับกิจกรรมอย่าง pair programming แบบเรียลไทม์หรือ mob programming รวมถึงเวิร์กช็อปแบบกระจายตัว (เช่น remote event storming) โดยทำได้ทั้งแบบ asynchronous และ synchronous
- แม้งานแบบรีโมตจะมีข้อดีหลายอย่าง (รวมถึงการเข้าถึงแหล่งบุคลากรที่หลากหลายกว่า) แต่คุณค่าของปฏิสัมพันธ์แบบพบหน้ายังคงชัดเจน
- ทีมไม่ควรปล่อยให้ feedback loop ที่สำคัญสูญหายไป และต้องตระหนักถึงข้อดีข้อเสียที่เกิดขึ้นเมื่อเปลี่ยนไปสู่การตั้งค่าการทำงานแบบรีโมต
[Techiniques]
Adopt
- Design systems
- Lightweight approach to RFCs
Trial
- Accessibility-aware component test design
- Attack path analysis
- Automatic merging of dependency update PRs
- Data product thinking for FAIR data
- OIDC for GitHub Actions
- Provision monitors and alerts with Terraform
- ReAct prompting
- Retrieval-Augmented Generation (RAG)
- Risk-based failure modeling
- Semi-structured natural language for LLMs
- Tracking health over debt
- Unit testing for alerting rules
- Zero trust security for CI/CD Assess
- Dependency health checks to counter package hallucinations
- Design system decision records
- GitOps
- LLM-powered autonomous agents
- Platform orchestration
- Self-hosted LLMs
Hold
- Ignoring OWASP Top 10 lists
- Web components for server-siderendered (SSR) web apps
[Platforms]
Adopt
- Colima
Trial
- CloudEvents
- DataOps.live
- Google Cloud Vertex AI
- Immuta
- Lokalise
- Orca
- Trino
- Wiz
Assess
- ActivityPub
- Azure Container Apps
- Azure OpenAI Service
- ChatGLM
- Chroma
- Kraftful
- pgvector
- Pinecone
- wazero
[Tools]
Adopt
Trial
- AWS Control Tower
- Bloc
- cdk-nag
- Checkov
- Chromatic
- Cilium
- Cloud Carbon Footprint
- Container Structure Tests
- Devbox
- DX DevEx 360
- GitHub Copilot
- Insomnia
- IntelliJ HTTP Client plugin
- KEDA
- Kubeconform
- mob
- MobSF
- Mocks Server
- Prisma runtime defense
- Terratest
- Thanos
- Yalc
Assess
- ChatGPT
- Codeium
- GitHub merge queue
- Google Bard
- Google Cloud Workstations
- Gradio
- KWOK
- Llama 2
- Maestro
- Open-source LLMs for coding
- OpenCost
- OpenRewrite
- OrbStack
- Pixie
- Tabnine
[Languages and Frameworks]
Adopt
Trial
- .NET Minimal API
- Ajv
- Armeria
- AWS SAM
- Dart
- fast-check
- Kotlin with Spring
- Mockery
- Netflix DGS
- OpenTelemetry
- Polars
- Pushpin
- Snowpark
Assess
- Baseline Profiles
- GGML
- GPTCache
- Grammatical Inflection API
- htmx
- Kotlin Kover
- LangChain
- LlamaIndex
- promptfoo
- Semantic Kernel
- Spring Modulith
1 ความคิดเห็น
Thoughtworks Technology Radar, เปิดตัว Volume 28
เผยแพร่ Thoughtworks Technology Radar ฉบับที่ 27
Thoughtworks Technology Radar ฉบับที่ 26 (PDF 39 หน้า)
เผยแพร่ ThoughtWorks Technology Radar ฉบับที่ 23
เผยแพร่ ThoughtWorks Technology Radar ฉบับที่ 22 [PDF 32 หน้า]
ข่าวเทคโนโลยีที่ ThoughtWorks เผยแพร่ทุก 6 เดือน - Radar Vol.21