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

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

NJUG 4 Agile Software Development & Interactive TV application By Soothi Na-Ranong (Bomber) Mobile: +66-8-6563-6763.

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


งานนำเสนอเรื่อง: "NJUG 4 Agile Software Development & Interactive TV application By Soothi Na-Ranong (Bomber) Mobile: +66-8-6563-6763."— ใบสำเนางานนำเสนอ:

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 SDLC Planning Analysis Design Development Testing Deployment Maintenance Software Development Life Cycle

5 Waterfall Model Planning Analysis Design Development Testing Deployment Maintenance

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

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 คืออะไร การพัฒนาซอฟแวร์แบบ Agile เป็นแนวคิดที่ใช้เป็น กรอบ ระเบียบ เพื่อให้การพัฒนาซอฟแวร์มีความคล่องตัว สูงสุด

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

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

11 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) Agile Methods

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 XP Planning Coding DesigningTesting

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

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

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

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

19

20

21

22

23

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

25 UI Product Inventory Payment Controller CRC Changer Vending Machine

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

27 Scrum

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

29 Scrum Product Owner Scrum Team Scrum Master

30 Index Card By Henrik Kniberg

31

32 PVR Team

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

34 Process Iteration Plan Acceptance Test User Story Feature Listing 1 Month Release Plan Addition Stories Deliverable Project Velocity Every week Brainstorm Session Every month Evaluation Process & Product Every month Pair Programming daily Designing Coding Testing Integrate 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

37 PVR Architecture

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

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

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 By Soothi Na-Ranong (Bomber) Mobile: +66-8-6563-6763.

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


Ads by Google