1 / 24

NAUG Knowledge Evening – 01 27 th February 2007

NAUG Knowledge Evening – 01 27 th February 2007. Agenda. Welcome Warm up – Minimalist Agile 6:30 PM  6:40 PM Anurag Shrivastava Scrum and Extreme Programming 6:40 PM  7:20 PM Priyanshu Goyal Break 7:20 PM  7:30 PM Agility & the Practice of Software Architecture

ahanu
Download Presentation

NAUG Knowledge Evening – 01 27 th February 2007

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. NAUGKnowledge Evening – 0127th February 2007

  2. Agenda • Welcome • Warm up – Minimalist Agile • 6:30 PM  6:40 PM Anurag Shrivastava • Scrum and Extreme Programming • 6:40 PM  7:20 PM Priyanshu Goyal • Break • 7:20 PM  7:30 PM • Agility & the Practice of Software Architecture • 7:30 PM  8:10 PM Amit Goel • Closing Remarks

  3. Minimalist Agile • Frequent Delivery • Reflective Improvement • Osmotic Communication

  4. Scrum and eXtreme Programming Priyanshu Goyal 27th Feb 2007 NCR Agile User Group

  5. Agenda • What is Scrum? • What is XP? • Scrum with XP NCR Agile User Group

  6. What is Scrum? • An iterative, incremental process for developing any product or managing any work. ... • A "lean" approach to software development • A simple framework used to organize teams and get work done more productively with higher quality • Allows teams to choose the amount of work to be done and decide how best to do it. NCR Agile User Group

  7. What is Scrum? Cont… • Focuses on prioritizing work based on the business value, improving the usefulness of what is delivered, and increasing revenue • Designed to adapt to changing requirements during the development process at short, regular intervals • Assumes that the software development process is complicated and unpredictable. • Easy to learn and low risk to implement NCR Agile User Group

  8. The Zen of Scrum • Scrum is simple • Small number of practices • Practices are straightforward • Scrum is hard • Requires involvement and common sense • Requires constant inspection/adaptation to project realities • All about common sense and feels very different NCR Agile User Group

  9. Scrum Flow Product Release Cycle (1 to 3 sprints…) NCR Agile User Group

  10. The Framework of Scrum • Iterative, incremental framework • Each iteration driven by product needs • Team selects target functionality for increment and determines how to build it • Iterations have a fixed timebox • Each iteration produces completed product increments • Two nested cycles – Sprint and Daily NCR Agile User Group

  11. Roles • Scrum Master • Facilitator and coach • Product Owner • Manages product vision and ROI • Development Team • Realizes the product plans NCR Agile User Group

  12. Practices • Daily Scrum Meeting – Daily 15 minutes, Three questions, impediments and decisions • Scrum Teams – Self organising, Cross-functional, 7+-2, committed to work, authority to do whatever required • Product backlog – List of emerging, prioritized, estimated functionality and issues • Sprint – Thirty calendar day iteration, team builds functionality that includes product backlog and sprint goals • Sprint backlog – Owned by development team, captues team implementation strategy NCR Agile User Group

  13. Concerns • Sprint Length? – Four, two, one week or may be different each time. • Daily Standup Withdrawals – Why everyday? • Can the team really deliver without anyone keeping an eye on them? Should Scrum Master assign the work? • Why the team member do not have specialized job descriptions or roles? NCR Agile User Group

  14. What is XP? • Founded on four core values • Communication • communicate with customers and fellow programmers • Simplicity • keep design simple and clean • Feedback • testing software from day one • Courage • respond to changing requirements and technology NCR Agile User Group

  15. XP core practices NCR Agile User Group

  16. XP core practices Cont… • 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. NCR Agile User Group

  17. XP core practices Cont… • Designing • Simplicity. • Choose a system metaphor. • Use CRC (Class, Responsibilities, and Collaboration ) cards for design sessions. • Create spike solutions to reduce risk. • No functionality is added early. • Refactorwhenever and wherever possible. NCR Agile User Group

  18. XP core practices Cont… • Coding • The customer is always available. • Code must be written to agreed standards. • Code the unit test first (TDD). • All production code is pair programmed. • Continuous integration. • Use collective code ownership. • Leave optimization till last. • Sustainable Pace. NCR Agile User Group

  19. XP core practices Cont… • 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 scoreis published. NCR Agile User Group

  20. XP Programming project NCR Agile User Group

  21. Scrum and XP • Every process can be best understood by the concerns that it is trying to address • Scrum emphasizes Management and organisation practices • Scrum emerged from the product development processes and focusses on the delivery cycle • XP emphasizes Programming • XP emerged from the pattern movement and addresses code quality • They are complimentary methodologies NCR Agile User Group

  22. Planning Scrum xP Sprint Sprint Planning End of Sprint Review Daily Scrum Product Owner Scrum Master Product Backlog Sprint Backlog Simple Design Testing Test and Code Refactoring Pair Programming Collective Ownership Continuous Integration Coding Standards NCR Agile User Group

  23. Concerns • Pair Programming – What about productivity? • How can we start implementation without the whole design/framework? • Lets do it the best way the first time. • Assign it back to him, he worked on that piece. • Testing is for the testers. NCR Agile User Group

More Related