งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

NJUG 4 Agile Software Development & Interactive TV application

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "NJUG 4 Agile Software Development & Interactive TV application"— ใบสำเนางานนำเสนอ:

1 NJUG 4 Agile Software Development & Interactive TV application
By Soothi Na-Ranong (Bomber) Mobile:

2 Topics Agile Software Development Interactive TV Application

3 Agile

4 Software Development Life Cycle
SDLC Software Development Life Cycle Planning Analysis Design Development Testing Deployment Maintenance

5 Waterfall Model Planning Analysis Design Development Testing
Deployment Maintenance

6 Iterative Design Development Analysis Testing Planning Deployment
Evaluation Initial Planning Maintenance

7 What is Agile? Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. – Wikipedia Agile is an iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner by self-organizing teams with "just enough" ceremony that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders. - Scott W. Ambler in Agile Modeling Agile development provides a set of practices simple enough to engage developers, managers, and customers yet sufficiently sound and disciplined to build quality software with predictability. - Dave Thomas (founding director of AgileAlliance.com)

8 การพัฒนาซอฟแวร์แบบ Agile เป็นแนวคิดที่ใช้เป็น กรอบ ระเบียบ
เพื่อให้การพัฒนาซอฟแวร์มีความคล่องตัวสูงสุด

9 หลักการของ Agile ความพึ่งพอใจของลูกค้าสำคัญที่สุด
ต้องแน่ใจให้ได้ว่า Process ที่ใช้ ช่วยให้งานคล่องตัวจริง บริหาร ลูกค้า Welcome changing requirements ใส่ใจพัฒนาความสามารถทั้งด้าน programming และ design ตลอดเวลา ผลงาน ลูกค้า ส่งมอบงานสม่ำเสมอ ฝ่าย Business และ Developer ทำงานร่วมกันตลอดเวลา สื่อสาร ผลงาน Simplicity สนับสนุนให้ Developer มีความสุขกับงานที่ทำ คนทำงาน ผลงานที่ดีเกิดจากความคิดของทีมงาน ผลงาน สื่อสาร Face-to-Face conversation บริหาร พร้อมที่จะเปลี่ยนแปลงปรับปรุง เพื่อให้ดียิ่งขึ้นไปอีก ความคืบหน้าวัดตัวจาก software ที่ทำงานได้ บริหาร

10 หลักการของ Agile ความคืบหน้าวัดตัวจาก software ที่ทำงานได้
ต้องแน่ใจให้ได้ว่า Process ที่ใช้ ช่วยให้งานคล่องตัวจริง พร้อมที่จะเปลี่ยนแปลงปรับปรุง เพื่อให้ดียิ่งขึ้นไปอีก บริหาร ลูกค้า ความพึ่งพอใจของลูกค้าสำคัญที่สุด Welcome changing requirements ส่งมอบงานสม่ำเสมอ ใส่ใจพัฒนาความสามารถทั้งด้าน programming และ design ตลอดเวลา Simplicity ผลงาน ผลงานที่ดีเกิดจากความคิดของทีมงาน ฝ่าย Business และ Developer ทำงานร่วมกัน ตลอดเวลา Face-to-Face conversation สื่อสาร สนับสนุนให้ Developer มีความสุขกับงานที่ทำ คนทำงาน

11 Agile Methods Extreme Programming (XP) Scrum Agile Modeling
Adaptive Software Development (ASD) Crystal Clear and Other Crystal Methodologies Dynamic Systems Development Method (DSDM) Feature Driven Development (FDD) Lean software development Agile Unified Process (AUP)

12 eXtreme Programming

13 The Rules and Practices of Extreme Programming
Planning User stories are written. Release planning creates the schedule. Make frequent small releases. The Project Velocity is measured. The project is divided into iterations. Iteration planning starts each iteration. Move people around. A stand-up meeting starts each day. Fix XP when it breaks. Coding The customer is always available. Code must be written to agreed standards. Code the unit test first. All production code is pair programmed. Only one pair integrates code at a time. Integrate often. Use collective code ownership. Leave optimization till last. No overtime. Designing Simplicity. Choose a system metaphor. Use CRC cards for design sessions. Create spike solutions to reduce risk. No functionality is added early. Refactor whenever and wherever possible. Testing All code must have unit tests. All code must pass all unit tests before it can be released. When a bug is found tests are created. Acceptance tests are run often and the score is published. Reference: extremeprogramming.org

14 แนวทางปัฏบัติใน XP Coding Planning XP Designing Testing

15 แนวทางปัฏบัติใน XP XP Planning User Stories Release Planning Iteration
Small Release User Stories Project Velocity Release Planning Iteration Iteration Planning Planning Move People Around Stand-up Meeting XP Fix XP

16 แนวทางปัฏบัติใน XP XP Designing Simplicity System Metaphor CRC cards
Refactoring Simplicity XP No functions Added early Designing System Metaphor CRC cards Spike Solutions

17 Sequential Integration
แนวทางปัฏบัติใน XP Collective code Owner ship System Metaphor Move People Around Standards Pair Programming Sequential Integration Always Available Unit Test First Coding Integrate Often Simplicity Optimization XP No Overtime

18 แนวทางปัฏบัติใน XP XP Testing Unit Test Acceptance Test User Stories
When a Bug is Found User Stories

19

20

21

22

23

24 User Stories: ตู้ขายเครื่องดื่มอัตโนมัติ
แสดงยอดเงินที่หยอดเข้าไปในตู้ ยอดเงินเริ่มต้นที่ 0 หลังจากหยอดเหรียญเข้าไปในเครื่องแล้ว หน้าจอจะแสดงจำนวนเงินที่หยอดเข้ามา จนกว่าจะกดคืนเหรียญ หรือกดเลือกเครื่องดื่มแล้ว เปิดไฟบนปุ่มกดสินค้าที่ซื้อได้ ตามปกติแล้วปุ่มกดสินค้าจะไม่มีไฟ แต่หากยอดเงินที่หยอดเข้าตู้เพียงพอที่จะซื้อสินค้าชิ้นใด ให้เปิดไฟบนปุ่มนั้น กดปุ่มเลือกซื้อสินค้า หากยอดเงินพอซื้อสินค้าที่กด เครื่องจะปล่อยสินค้าออกมาจากช่องรับสินค้า และทอนเงินที่อยู่ในตู้ที่เกินราคาสินค้าที่กดออกมายังช่องรับเงินทอน แสดงข้อความสินค้าหมด หากสินค้าใดหมด ให้แสดงไฟสินค้าหมดบน label ของสินค้านั้นๆ

25 CRC Vending Machine UI Payment Controller Changer Inventory Product

26 Continuous Integration
Development Create New User Stories Found bug Pair programmers Create Unit Test Acceptance Test Acceptable Write Code Ready to release Testers & User Continuous Integration Run Unit Test เงินทอนในตู้ไม่เพียงพอ หากภายในตู้มีเงินทอนไม่เพียงพอที่จะทอนเงินให้แก่สินค้าใดๆ เมื่อเปรียบเทียบกับจำนวนเงินที่หยอดเข้าตู้แล้ว สินค้านั้นๆ จะไม่สามารถเลือกซื้อได้ จะเลือกซื้อได้แต่เฉพาะที่พอดีกับเงินทอนเท่านั้น Pass all tests Commit to repository

27 Scrum

28 ตามเป้าหมายที่กำหนดไว้ให้ได้ ภายใน 30 วัน
Scrum Scrum เป็นวิธีการพัฒนาซอฟแวร์รูปแบบหนึ่ง ในหลายรูปแบบของ Agile โดยแนวคิดจะอยู่บนพื้นฐานของ Sprint และพุ่งความสนใจไปที่การทำให้สำเร็จ ตามเป้าหมายที่กำหนดไว้ให้ได้ ภายใน 30 วัน

29 Scrum Product Owner Scrum Team Scrum Master

30 Index Card By Henrik Kniberg

31

32 PVR Team

33 PVR Team Development Team QA Team Graphic Designer Developers
Service Planner Architect Service Planner Developers

34 Evaluation Process & Product
Every month Brainstorm Session Feature Listing Evaluation Process & Product Every month 1 Month User Story Addition Stories Release Plan Iteration Plan Designing Deliverable Pair Programming daily Acceptance Test Testing Coding Every week Integrate Project Velocity 1-2 weeks

35 Tools IDE – Eclipse Bugs Tracking – Bugzilla
Knowledge Base – MediaWiki User Story – PowerPoint, Visio Product Backlog – Excel Code repository & version control – Subversion Designing Tool – White board, Paper, PowerPoint, Visio Project Tracking – MS Project, White board

36 References http://en.wikipedia.org http://www.extremeprogramming.org

37 PVR Architecture

38 Set-top box architecture
Applications Middleware Custom Interfaces Middleware Glue Custom Functionality Drivers Real-time operating system Hardware

39 . Internet Encoder Video Audio Encoder Modulator DVB-SI Generator
Multiplexer Conditional Access System EPG management System Internet ITV application Servers Carousel Server Return Path Server

40 End

41 Planning Poker Estimating without planning poker

42 Planning Poker Estimating without planning poker


ดาวน์โหลด ppt NJUG 4 Agile Software Development & Interactive TV application

งานนำเสนอที่คล้ายกัน


Ads by Google