1 Why Agile Project is complex Response to heavy documentation and frequent requirement change
1.2 About Agile
Iterative and incremental approach Performed in highly collaborative manner Self-organizing teams High quality software in cost effective and timely manner Meets the changing needs of the customer
1.3 Agile Manifesto:
1) Individuals and interactions over processes and tools 2) Working software (s/w progress and value) over comprehensive documentation 3) Customer collaboration (progressively determine project requirement) over contract negotiation 4) Responding to change (embrace change to meet dynamic needs of the customer) over following a plan Note: while there is value in the items on the right, we value the items on the left more 1.4 Agile principles / guidelines: 1) Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2) Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. 3) Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale. 4) Business people and developers must work together daily throughout the project. 5) Build projects around motivated individuals. Give them the environment and support they need, then trust them to get the job done. 6) The most efficient and effective method of conveying information to and within the development team is face-to-face conversation. 7) Working software is the primary measure of progress. 8) Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9) Continuous attention to technical excellence and good design enhances agility. 10) Simplicity — the art of maximizing the amount of work not done — is essential. 11) The best architectures, requirements, and designs emerge from self-organizing teams. 12) At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 2.1 What is SCRUM? Scrum: Proven software development method to increase speed and flexibility of commercial product development
2.2 Scrum Benefits:
1) Higher Productivity, lower development costs -Developing only what’s absolutely essential for the customer 2) Improved Stakeholder satisfaction -Collaboration between customer and developer brings clarity of what is to be developed and delivered 3) Higher quality software -TDD, Continuous Integration, ADD, Refactoring (Code Refactoring is the process of clarifying and simplifying the design of existing code, without changing its behavior) 4) Improved employee engagement -Empower team to be self-organize and determine how to deliver value to the customer and ensure sustainable pace for same 5) Faster time to market, early ROI -Incrementally and iteratively deliver working software for deployment so that customer can soon realize the Return on Investment Scrum delivers value at end of each Sprint 2.3 Scrum Features