1 / 16

Agile Development

Agile Development. In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation.

artie
Download Presentation

Agile Development

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. Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation. Responding to change over following a plan

  2. Agile Development • Agile Development was a “revolution” that attacked the old guard. • Agile Development was developed to overcome real and perceived weaknesses in conventional SE. • It is not applicable to all projects, products, people and situations. • But it can be applied as an overriding philosophy for all software

  3. Agile Development • It is often difficult or impossible to predict how a system will evolve. • Market conditions, end-user needs, new competitive threats, new technology all evolve without warning. • SE must be agile enough to respond to a fluid environment. • But it does not mean that we discard SE principles, concepts, methods, and tools. • The old SE must adapt to the challenges that demand agility.

  4. Agile Development: What is it? • Combines a philosophy and a set of development guidelines • Encourages customer satisfaction • Early incremental delivery of SW • Small, highly-motivated teams • Informal methods and development simplicity • Stress delivery of analysis and design • Active and continuous communication with customers

  5. Agile Development: Who does it? • Software engineers and project stakeholders work together. • An agile team that is self-organizing and in control of it’s destiny • Team fosters communication and collaboration among all members

  6. Agile Development: Why important? • Current environment is fast-paced and changing. • Offers an alternative to conventional software engineering for many (most?) projects. • It has demonstrated it can deliver successful systems quickly.

  7. Agile Development: What are Steps? • Agile Dev. Could be called software engineering lite? • Keeps basic steps: communication, planning, modeling, construction, delivery and evaluation. • But basic steps morph into a minimal task set that pushes the project team toward construction and delivery.

  8. Agile Development: What is work product? • There is only one really important work product is an operational “software increment” delivered to customer on commitment date.

  9. Agile Development: How to ensure it is done right? • If the team agrees that the process works. • If the team produces deliverable software increments on time. • If the SW satisfies the customers • Then it is done right!

  10. Agile Development: pros and cons • SW is done by people. People are different and show great variation in working styles. • People are different in • skill levels • creativity • orderliness • consistency • Spontaneity

  11. Agile Development: pros and cons • May not impose the discipline in communication, planning, modeling, construction, delivery and evaluation that is needed. • It is not license to hack out solutions. • Agility is dynamic, content specific, aggressively change embracing, and growth oriented.

  12. 12 Principles of Agile Development • Highest priority is to satisfy customer • Welcome changing requirements, even late changes. • Deliver working SW frequently • Stakeholders and SW team must work together continuously. • Build around motivated individuals. Give them support and resources… then trust them to get it done. • Most efficient info exchange: face-to-face

  13. 12 Principles of Agile Development 7. Working SW is primary measure of progress 8. The process promotes sustainable development. 9. Continuous attention to technical excellence and good design. 10. Simplicity – the art of maximizing the amount of work NOT done. 11. Best results emerge from self-organizing teams. 12. Teams regularly review their team to become more effective.

  14. Politics of Agile Development • There is considerable debate about benefits of Agile Development and more traditional software engineering. The two sides say: • Traditional SE Methodologists are anal retentive and would rather have flawless documentation than a good system. • Agile Developers are glorified hackers who will have big problems when they try to scale up their toys into enterprise strength SW.

  15. Agile Development: Human Factors • The SW process molds to the needs of the people and team • Competence – Innate talent, SW skills, knowledge of process used to develop SW • Common focus – all members of a team must have a common understanding of the goal(s). • Collaboration – with members of the team, with customers and with management. • Decision-making ability – team can control it’s destiny and has the autonomy for technical and project issues

  16. Agile Development: Human Factors • Fuzzy and ambiguous problem solving – Have to deal with vague estimates, guesses, uncertainty, etc. • Mutual trust and respect – team members must have this so the whole is greater than the sum of the parts. • Self-Organizing – 1) organizes the team, 2) team organizes the processes to be used, and 3) team organizes the work schedule.

More Related