Documente Academic
Documente Profesional
Documente Cultură
Topics
Introduction Terminology Terms Glossary Why Agile ? Agile Software Development Values of Agile Principles behind Manifesto Myths of Agile Agile Methods Conclusion References
What Is Agile
Agile - readiness for motion, nimbleness, activity, dexterity in motion Agility - The ability to both create and respond to change in order to
profit in a turbulent business environment
Chaordic
Exhibiting properties of both chaos and order
The blend of chaos and order inherent in the external environment and in people themselves, argues against the prevailing wisdom about predictability and planning Things get done because people adapt, not because they slavishly follow processes
Terms Glossary
Impediments Anything that prevents a team member from performing work as efficiently as possible is an impediment. Each team member has an opportunity to announce impediments during the daily Scrum meeting. Product Owner Product owner is a a person who represents the business or user community and is responsible for working with the user group to determine what features will be in the product release. Story A story is a particular business need assigned to the software development team. Scrum Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development. Its focus is on "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional, sequential approach ScrumMaster Scrum is facilitated by a ScrumMaster, who is accountable for removing impediments to the ability of the team to deliver the sprint goal/deliverables. Sprint A sprint is the basic unit of development in Scrum. The sprint is a "timeboxed" effort, i.e. it is restricted to a specific duration.The duration is fixed in advance for each sprint and is normally between one week and one month.
Terms Glossary
Daily Scrum Meeting A fifteen-minute daily meeting for each team member to answer three questions: "What have I done since the last Scrum meeting? (i.e. yesterday)" "What will I do before the next Scrum meeting? (i.e. today)" "What prevents me from performing my work as efficiently as possible? Release A release is a deployable software package that is culmination of several iterations of development. Product Backlog Prioritization of features of products with descriptions of functionality desired. Iterative Development: Iterative development is a way of breaking down the software development of a large application into smaller chunks. Product Owner: Product owner is a scrum development role for a person who represents the business or user community and is responsible for working with the user group to determine what features will be in the product release.
Agile Myths
no design no testing no documentation no idea of progress poor quality no plan auditors wont allow it
Human Factors
Competence Common focus Collaboration Decision-making ability Fuzzy problem-solving ability Mutual trust and respect Self-organization
Agile Methods
Extreme Programming (XP) SCRUM Agile Modeling Agile Unified Process (AUP) Crystal Clear and Crystal Methods Dynamic Systems Development Method (DSDM) Feature Driven Development (FDD) GSD Kanban (development) Lean software development Velocity tracking Tailored
Extreme Programming
A system of practices that a community of software developers is evolving to address the problems of quickly delivering quality software, and then evolving it to meet changing business needs.
Scrum
Delivering the highest business value in the shortest time. Rapidly and repeatedly inspect actual working software (every two weeks to one month). The business sets the priorities. Our teams self-manage to determine the best way to deliver the highest priority features.
Process Comparison
Incremental Development
Divide Development in Sprints of 1 3 Weeks Bugs and QA part of Sprint Deploy with each Sprint Take customer feedback within 2 working days Incorporate feedback for next sprint Allow changes in sprint plans based on customer priorities, show stopper bugs and unexpected issues
Conclusion
Agility is about flexibility and leanness. Promotes feedback based development. Agility != Lack of Structure. Agile development is a concept and can be implemented through different frameworks. Change of process control from Top-Down to BottomUp
Conclusion a high degree of flexibility promises a high probability of success an anticipating culture increases the sense of urgency promotes the sharing of knowledge encourages dense communications facilitates honesty among developers
References
[1]. Abrahamsson P, Salo O and Ronkainen J. Agile software development methods (Review and analysis). [2]. Scott W Ambler. Agile model driven development. [3]. Cohen D, Lindvall M, Costa P. Agile software development. [4]. http://en.wikipedia.org/wiki/Agile_Modeling. [5] http://en.wikipedia.org/wiki/Scrum_28development29.
Questions ?