PMP Agile Flashcards
Types of agile methodologies
Scrum, extreme programming (XP), lean development, Kanban
What is converting the triangle?
Agile manifesto values
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
What is meant by customer collaboration over contract negotiation.
One of the four agile manifesto values. It means to be flexible and accommodating instead of fixed and uncooperative. Manage change, don’t suppress change. Shared definition of done. Requires trusting relationship.
Agile guiding principles
Customer sat through early and continuous delivery of valuable software, welcoming, changing requirements, deliver working software frequently, business people and developers, must work together daily, build project around motivated individuals and give them supportive environment and trust, face-to-face conversation, working software is primary measure of progress, agile processes, promote sustainable development (maintain constant pace, indefinitely), continuous attention to technical excellence and good design, enhances, agility, simplicity, self, organizing teams, reflection and retrospective
Low tech, high touch
One of the gating principles of agile is to involve face-to-face conversation wherever possible. Whiteboards and close proximity interaction is encouraged.
Core values of extreme programming
Simplicity, communication, feedback, courage, respect
Extreme programming roles
Coach (scrum, agile, project manager, or scrub master), customer (scrum product donor), programmers, testers
What is another name for a sprint and extreme programming?
Scrum term is a sprint. Extreme programming term is an iteration.
Practices in extreme programming
Release planning, iteration planning, small releases frequently, customer tests, collective code ownership (cross training), code standards, sustainable pace (reduce frequency of long hours), metaphor (helps translate user requirements into technical understanding), continuous integration (and frequent bills to bring code together to identify problems quickly.), test driven development, pair programming, simple design, refactoring
Test driven development (TDD)
Extreme programming practice. The team writes the test prior to developing the new code. The code will pass the test once it is written correctly.
Pair programming
An extreme programming practice. Production code is written by two developers, working as a pair to write and provide real time reviews of the software as it emerges. Working in pairs helps spread knowledge about the system through the team.
Simple design
Extreme programming practice. Code is always testable, brows, understandable, explainable. Replace complex with simple design. The best architecture requirements and design designs emerge from self organizing teams.
Refactoring
Remove redundancy, eliminate, unused functionality, rejuvenate, obsolete designs. Ref factoring throughout the entire project lifecycle saves time and increases quality. Code is kept clean and concise so it’s easier to understand modify and extend.
Difference between sag, crumbum, and XP
Principles of the Toyota lean methodology
Using visual management tools, identifying, customer defined value, building in learning and continuous improvement
Seven principles of lean software development
Eliminate waste, and power, the team, deliver fast, optimize the whole, build quality in, deferred decisions, amplify learning
Eliminate waste
A principle of lean software development. To maximize value, waste must be minimized. For software systems, waste can take the form of partially done work, delays, handoff, unnecessary features.
Empower the team
Don’t micromanage, respect team members superior knowledge of the technical steps required on the project.
Deliver fast
One of the seven principles of lean software development. Quickly delivering valuable software and iterating through designs.
Optimize the whole
One of the seven principles of lean software development. We aim to see the system as more than the sum of its parts.
Amplify learning
One of the seven principles of a lean software development. This concept involves facilitating, communication early and often, getting feedback as soon as possible, and building on what we learn.
Seven wastes of lean
Partially done work, extra processes, extra features, task, switching, waiting, motion (unnecessary processes that create overhead like making most of the team travel upstairs for stand-up because the product owner works on a different floor), defects
Kanban five core principles
Visualize the workflow, limit work in progress, manage flow, make process policies explicit, improve collaboration
A tool used to coordinate task handovers