Get familiar with popular variations of agile

Variations of agile

There are many variations of agile, but we’ll go over these more popular ones: Scrum, Kanban, eXtreme Programming (XP), Feature-Driven Development (FDD), and Dynamic Systems Development Method (DSDM). Since agile developed from Lean, we’ll touch on this as well. We’ll also go over a popular scaling framework for agile, SAFe.

Lean vs agile

Lean?focuses on short cycles, small batches, frequent reviews, & retros with small improvements, eliminating waste, speeding up learning, and empowering teams to deliver a quality product as early as possible.

  • Value: Create a product that only has what the customer needs. Remove unnecessary steps in the process
  • Value stream mapping: Visualize each step in the process to locate wasted time and improvement opportunities.
  • Create flow: Improve steps in value stream to optimize processes
  • Pull system: Only start work if customer asks for it. Support just-in-time production.
  • Continuous improvement: Use lean techniques to identify and eliminate waste in the process.

Agile?focuses on short sprints and high visibility, collecting continuous feedback and reprioritizing features each sprint. Requires high team collaboration & information sharing via daily standups and weekly leads meetings to remove blockers.

Scrum: Stay on track with daily meetings

Scrum practices:

  • Control over empirical processes: Focuses on transparency, adaptation, and frequent evaluation to continually test and improve at each stage of the process.
  • Self-organization: Each team member must adopt Scrum, so must have high level of independence and be able to self-organize.
  • Collaboration: Teams share responsibility and accountability.
  • Value-based prioritization: Adapt to and address new demands and requirements. Constantly evaluate and reprioritize each task.
  • Time-boxing: Sprint is two weeks long with daily standup meetings (usually 15–30 minutes).
  • Iterative development: Constant improvement and flexibility facilitate a high-quality product.

Kanban: Be transparent

Kanban principles:

  • Start with current state
  • Pursue incremental, evolutionary change,
  • Respect process, roles, responsibilities & titles
  • Encourage acts of leadership at all levels

Kanban practices:

  • Visualize the work, the workflow, and the business risks: Identify areas that need improvement. Understand how to get an item to completion and optimize workflow.
  • Limit Work in Progress (WIP): Cut out wasted time and resources to maximize efficiency.
  • Manage flow: Focus on task flow to identify and remove bottlenecks.
  • Make policies explicit: Define and share processes and policies so everyone understands how work is done, what the goals are, and maintains objectivity in making decisions.
  • Improve collaboratively, evolve experimentally: Teams must have a shared knowledge and understanding of problems. Use scientific model to experiment, analyze, & improve.

eXtreme Programming (XP): Tell the truth; no excuses

XP values:

  • Simplicity: Do only what has been asked for. Every step is broken down into small, achievable goals.
  • Streamlined communication: Work together on everything, including requirements, coding, daily standups, and addressing issues immediately.
  • Consistent, constructive feedback: Adapt process to project and customer needs, demoing software often to get feedback and make changes.
  • Respect: “All for one and one for all”: Each team member is respected for their contributions, and respects customer opinions.
  • Courage: Take responsibility for your work, and tell the truth about progress — no excuses. Value teamwork over ego.

XP practices:

  • Planning: Create user stories with business value and priority of each feature. Only enough detail to determine time to implement.
  • Managing: Project manager sets sustainable pace, daily standups, measures velocity, reassigns work, adjusts processes.
  • Designing: Start with simplest design that takes less time. Refactor code often. Perform spikes to explore potential solutions.
  • Coding: Everyone reviews code, adds functionality, fixes bugs, or refactores. Practice paired programming and commit code often.
  • Testing: Performs unit tests and fix bugs before code is released. Run acceptance tests often.

Feature-driven development (FDD): Rely on docs

Unlike Scrum, FDD is focused on features instead of deliverables. Each feature is essentially a customer value-added user story. Because the team creates and relies on documentation to share information, they don’t meet as frequently and it reduces confusion and rework.

FDD stages:

  • Stage 0: Gather data: Learn the why, what, and for whom about the system to be created.
  • Develop overall model: Draft outline using primary goal as guide. Develop domain models to merge into one. Add details as team learns.
  • Build features list: List features that can be completed in 2 weeks’ time. These should be purposes or small goals, not tasks.
  • Plan by feature: Plan tasks for each feature, assessing complexity to determine order of implementation and who is assigned. Feature teams have specific roles.
  • Design by feature: Break down work into tech design and framework areas. Team reviews whole design before moving to next stage.
  • Build by feature: Build user interfaces, as well as components detailed during tech design. Test and approve.

Dynamic Systems Development Method (DSDM)

DSDM sets cost, quality, and time constraints, then prioritizes features and scope to meet those constraints.

DSDM principles:

  • Focus on business need: Develop a realistic and solid business case. Prioritize requirements and features.
  • Deliver on time: Timebox to create trust between team and stakeholders.
  • Collaborate: Create psychologically safe environment. Get feedback from stakeholders.
  • Never compromise quality: Agree on quality standards and uphold them during the project.
  • Build incrementally from firm foundations: Define project scope to ensure common vision. Release features early to determine if heading in the right direction.
  • Develop iteratively: Features are tested and released throughout the project lifecycle, then improved by feedback.
  • Communicate continuously and clearly: Communicate with stakeholders to ensure the project meets expectations. Team collaborates via daily standups, simple documentation, & workshops.
  • Demonstrate control: Track and monitor the project’s progress using relevant Key Performance Indicators (KPIs).

Scaled Agile Framework (SAFe)

Software companies generally have global teams, and many companies gain market share due to mergers and acquisitions, so SAFe relies on the proven practices and case studies of lean and agile, realizing that there is no one-size-fits-all solution. Per Gartner, SAFe is the #1 most adopted agile scaling framework.

SAFe practices:

  • Take an economic view: Deliver the best value in the shortest sustainable time, balancing risks & costs. Provide guardrails for decentralized decision-making.
  • Apply systems thinking: Optimize system components only when they contribute to the larger goal of the system and of the company.
  • Assume variability and preserve options: Keep design options open longer in the cycle, using data to determine which optimizes trade-offs of revenue and costs.
  • Build incrementally with fast, integrated learning cycles: Develop incrementally in short iterations, enabling team to get feedback, mitigate risk, and pivot when necessary.
  • Base milestones on working system evaluations: Everyone shares responsibility to make the system successful. Evaluate at milestones throughout the lifecycle.
  • Visualize and limit work in progress: Reduce work batches to increase throughput while still meeting capacity. Manage queues to decrease wait time.
  • Unlock intrinsic motivation of knowledge workers: Ensure team members have autonomy to ideate and optimize. Deeper engagement creates better outcomes for everyone.
  • Decentralize decision making: To deliver value quickly, empower employees by decentralizing decision-making to reduce delays, improve flow, get feedback faster, and create better products.
  • Organize around value: To be competitive, a company must cooperate across functional areas to deliver value quickly and adapt to change.

References

Agile Business Consortium. (n.d.).?Chapter 3: Philosophy Fundamentals. Retrieved October 23, 2022, fromhttps://www.agilebusiness.org/dsdm-project-framework/philosophy-fundamentals.html

Agile Business Consortium. (n.d.-a).?Chapter 2: Choosing DSDM. Retrieved October 23, 2022, from?https://www.agilebusiness.org/dsdm-project-framework/choosing-dsdm.html

Gisclard-Biondi, H. (2021, July 5).?What is DSDM? Learn the 8 Principles of This Agile Framework. appvizer.com. Retrieved October 23, 2022, from?https://www.appvizer.com/magazine/operations/project-management/dsdm

Landau, P. (2021, November 15).?What Is Lean Manufacturing??ProjectManager. Retrieved October 23, 2022, from?https://www.projectmanager.com/blog/what-is-lean-manufacturing

Leffingwell, D. (2022, September 2).?SAFe Lean-Agile Principles. Scaled Agile Framework. Retrieved October 23, 2022, from?https://www.scaledagileframework.com/safe-lean-agile-principles/?_ga=2.6706422.573627240.1666543425-2032723366.1666543425

Lucidspark. (n.d.). An Introduction to Scrum. Lucidspark.com. Retrieved December 4, 2022, from?https://lucidspark.com/blog/introduction-to-scrum

Lynn, R. (2021, May 21).?What is FDD in Agile??Planview. Retrieved October 23, 2022, from?https://www.planview.com/resources/articles/fdd-agile/

Infosys. (n.d.).?Agile Evolution — 20 Years Later. Retrieved October 23, 2022, from?https://www.infosys.com/iki/perspectives/agile-evolution.html

Inflectra. (n.d.). What is Scaled Agile? | Methodologies | Inflectra. Retrieved October 23, 2022, from?https://www.inflectra.com/Methodologies/Scaled-Agile.aspx

Scaled Agile, Inc. (2022, August 11).?Why SAFe?? It’s The Framework of Choice For Leading Organizations. Scaled Agile. Retrieved October 23, 2022, from?https://scaledagile.com/what-is-safe/why-safe/

要查看或添加评论,请登录

社区洞察

其他会员也浏览了