The Dos and Don’ts of Applying AI in Agile Software Development: My Perspective

AI has become a powerful tool in agile software development, offering opportunities to streamline processes and improve efficiency, especially in the world of low-code platforms like Microsoft’s Power Platform. However, like any tool, it must be used thoughtfully to avoid potential pitfalls. Based on my experience as a Solution Architect, here are some dos and don’ts to keep in mind when incorporating AI into your agile software development workflows.

This is just my take on the subject, but I hope it helps spark conversations and ideas.


Dos:

Making AI Work for You

  1. Reduce Repetitive Work AI shines at automating tedious tasks, allowing you to focus on higher-value activities. For example, Power Automate and AI Builder can handle bulk data entry, process automation, or form recognition tasks that might otherwise consume hours of manual effort.
  2. Work in Manageable Increments Large tasks can overwhelm AI tools, leading to errors or ambiguous outputs. Instead of asking Copilot to generate an entire app, start with a single formula, automation, or a small UI component. Review and refine as you go.
  3. Leverage AI for Quality Checks AI tools can act as a second set of eyes. In Power Apps, for example, use AI Builder to identify accessibility issues or optimize workflows. Always validate the AI’s recommendations to ensure they meet your organization’s standards.
  4. Augment, Don’t Replace Use AI to support your team, not substitute them. For example, while AI can assist in drafting components of a Power Platform governance strategy, final decisions should still be made by people who understand the broader business context.
  5. Explore the Full Range of AI Capabilities While large language models like Copilot are gaining attention, remember there are other AI tools tailored for specific purposes. For instance, Power BI’s natural language Q&A feature can help you generate visualizations quickly, while AI Builder excels at data extraction and predictive analytics.

Making AI work for Agile

  1. Support Agile Ceremonies with AI Use AI to prepare for and optimize agile rituals. For example, AI-powered insights from tools like Azure DevOps can identify sprint blockers or provide retrospective summaries based on team velocity trends.
  2. Enable Adaptive Planning Agile thrives on adaptability, and AI can help analyze backlog items to identify priority shifts based on historical sprint performance or changing business requirements.
  3. Use AI for Incremental Improvements AI tools can assist in continuous integration/continuous delivery (CI/CD) pipelines by detecting code-quality issues early and providing recommendations for improvement. For instance, AI can review Power Platform components, suggesting performance or accessibility enhancements before deployment.
  4. Enhance Cross-Functional Collaboration AI can bridge gaps between technical and non-technical stakeholders. Use tools like Power Virtual Agents to build conversational bots that explain technical workflows or help gather feedback during sprint reviews.
  5. Optimize Resource Allocation Agile relies on balancing workload effectively. AI tools can help predict team capacity, flagging potential bottlenecks or under-utilized team members, allowing you to adjust resource allocation dynamically.

Don’ts:

Avoiding Common Pitfalls

  1. Don’t Blindly Trust AI Outputs AI models often generate hallucinations or inaccurate results. When Copilot creates a workflow or data transformation, verify its accuracy against your requirements. Think of AI outputs as drafts rather than final products.
  2. Avoid Automating Complex, Context-Dependent Tasks Decisions around architecture, governance, or requirements gathering require deep understanding and collaboration. Use AI to support brainstorming or documentation, but rely on human expertise for critical decisions.
  3. Skip Large-Scale Generation Asking AI to generate extensive documents, apps, or code in one step can lead to errors. For instance, when using Copilot in Power Automate, break down tasks into smaller pieces—such as creating individual flows or email templates—and review each one.
  4. Don’t Treat AI as a Source of Original IP Outputs from AI models are not truly original and may incorporate elements from their training data. Be cautious when using AI for proprietary projects, ensuring human input drives innovation and creativity.
  5. Avoid Using AI to Replace Human-Centered Activities Agile practices thrive on collaboration. While AI can assist with visualizing workflows or automating documentation, it cannot replace the nuanced discussions that occur during planning sessions. Use tools like Microsoft Teams and Planner to facilitate human-driven conversations.

Avoiding Agile Pitfalls with AI

  1. Don’t Rely on AI for Sprint Goal Definition Sprint goals require a nuanced understanding of business needs and team capabilities. While AI can provide data-driven insights, defining meaningful goals should remain a human-led activity to align with strategic objectives.
  2. Avoid Using AI to Replace Team Communication Agile frameworks prioritize face-to-face interaction. Using AI for updates or stand-ups (e.g., generating sprint summaries without team discussions) risks undermining the collaboration that makes agile effective.
  3. Don’t Skip Iterative Validation AI outputs must be reviewed continuously during sprints to ensure alignment with the Definition of Done (DoD). Automating tasks without validation can lead to rework and wasted effort.
  4. Avoid Over-Optimizing Early Agile focuses on delivering value iteratively. Avoid using AI to over-engineer or perfect features early in development, as priorities may shift in future sprints. Focus on delivering MVPs (Minimum Viable Products) and refining them over time.
  5. Don’t Treat AI-Generated Work as Final Deliverables AI can generate drafts or prototypes but shouldn’t produce deliverables without team input. For example, a Copilot-generated Power Automate flow might meet technical requirements but fail to account for end-user feedback gathered in sprint reviews.

Final Thoughts

AI has immense potential to enhance agile software development when used appropriately. By focusing on augmentation, maintaining oversight, and leveraging tools like Power Platform’s AI Builder and Copilot strategically, teams can unlock significant value while avoiding common pitfalls.

I’d love to hear how your team is applying AI in software development—what’s working for you, and what challenges have you faced?



Leave a Reply

Your email address will not be published. Required fields are marked *