1 / 42

NJUG 4 Agile Software Development & Interactive TV application

NJUG 4 Agile Software Development & Interactive TV application. By Soothi Na-Ranong (Bomber) soothi@gmail.com soothi@truevisionstv.com Mobile: +66-8-6563-6763. Topics. Agile Software Development Interactive TV Application. Agile. SDLC. S oftware D evelopment L ife C ycle. Planning.

bruis
Download Presentation

NJUG 4 Agile Software Development & Interactive TV application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Topics • Agile Software Development • Interactive TV Application

  3. Agile

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

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

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

  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. 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 testfirst. 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. The Rules and Practicesof Extreme Programming 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 SmallRelease UserStories ProjectVelocity Release Planning Iteration IterationPlanning Planning Move People Around Stand-upMeeting XP Fix XP

  16. แนวทางปัฏบัติใน XP Refactoring Simplicity XP No functions Added early Designing SystemMetaphor CRC cards SpikeSolutions

  17. Coding แนวทางปัฏบัติใน XP Collective code Owner ship SystemMetaphor Move People Around Standards PairProgramming SequentialIntegration AlwaysAvailable Unit TestFirst IntegrateOften Simplicity Optimization XP NoOvertime

  18. แนวทางปัฏบัติใน XP XP Testing Unit Test Acceptance Test When a Bugis Found UserStories

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

  20. CRC VendingMachine UI PaymentController Changer Inventory Product

  21. เงินทอนในตู้ไม่เพียงพอเงินทอนในตู้ไม่เพียงพอ หากภายในตู้มีเงินทอนไม่เพียงพอที่จะทอนเงินให้แก่สินค้าใดๆ เมื่อเปรียบเทียบกับจำนวนเงินที่หยอดเข้าตู้แล้ว สินค้านั้นๆ จะไม่สามารถเลือกซื้อได้ จะเลือกซื้อได้แต่เฉพาะที่พอดีกับเงินทอนเท่านั้น Pair programmers Testers& User Development Create New UserStories Foundbug CreateUnit Test Acceptance Test Acceptable Write Code Ready to release ContinuousIntegration Run UnitTest Pass all tests Commit torepository

  22. Scrum

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

  24. Scrum ProductOwner ScrumTeam ScrumMaster

  25. Index Card By Henrik Kniberg

  26. PVR Team

  27. PVR Team DevelopmentTeam QATeam Graphic Designer Developers ServicePlanner Architect ServicePlanner Developers

  28. Every month EvaluationProcess& Product Designing Testing daily Coding Integrate Process Every month Brainstorm Session Feature Listing 1 Month User Story AdditionStories Release Plan IterationPlan Deliverable PairProgramming AcceptanceTest Every week ProjectVelocity 1-2 weeks

  29. 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

  30. References • http://en.wikipedia.org • http://www.extremeprogramming.org • http://www.ambysoft.com/essays/agileLifecycle.html • http://www.agilemanifesto.org • http://www.softhouse.se • http://www.infoq.com/minibooks/scrum-xp-from-the-trenches • http://www.crisp.se/planningpoker/

  31. PVR Architecture

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

  33. DVB-SIGenerator Encoder Encoder Multiplexer Modulator Conditional Access System Video . . . Audio EPG managementSystem Internet ITV applicationServers Carousel Server Return Path Server

  34. End

  35. Planning Poker Estimating without planning poker

  36. Planning Poker Estimating without planning poker

More Related