How Does AI Fit With Agile Values And Principles?

How Does AI Fit With Agile Values And Principles?

This article was originally published on the Gitential Blog

Soon, software companies will be actively using AI for Agile software development projects. Well, that’s at least what we hope, as we continue upgrading our performance analytics into an AI for Agile project management and DevOps. Some have expressed an interest in how AI fits to Agile values and principles. There’s not a whole lot out there on this matter. So, let’s explore!

How Does AI Fit With Agile’s 4 Values?

You can find the full Agile Manifesto and other Agile essentials over at the Agile Alliance.

AI serves to make it easier and faster for real people to carry out their work more accurately. This is especially true when it comes to working with large amounts of complex data, as is definitely the case when managing software development teams. Software development is expensive. The larger the company and/or project, the more complex it is and the more inclined it is to be challenged or fail outright.

AI heavily reinforces Agile’s first value, that, people come first. Everything about software development boils down to individual developers and team dynamics. Using AI for Agile project management involves a focus on continuously improving each developer’s skill and aptitude for teamwork. Everything else is a natural and logical extension of helping all software development stakeholders achieve their full potential and work better as a team.

Remember – successful software, at a minimum, is delivered on time, on budget, and according to specifications – all of which depend on team skill and teamwork. AI helps managers, and actually all stakeholders, better channel the resources, training, and mentoring, as well as improve work processes and team interaction to help everyone do their best.

1) Individuals and Interactions Over Processes and Tools

  • AI automates and processes data exponentially faster to reduce the tedium of manual research and generating reports.?
  • Data helps all stakeholders make higher quality decisions, improve teamwork, and cross-functionality.?
  • Less tedium facilitates improved job satisfaction and higher retention.

2) Working Software Over Comprehensive Documentation

  • Performance metrics identify ways to continuously improve cycle time and software quality.
  • The sum of all team data helps predict, mitigate and avoid risks to delivery.
  • Handpicked teams with the right mix of skill and experience will deliver higher quality software, faster.

3) Customer Collaboration Over Contract Negotiation

  • More accurate software cost estimations and scheduling predictability.
  • Faster and more responsive fielding of customer questions about starting projects and the impact of changes during development.
  • In later stages, identify features by value and effort so customers can focus on elements with a higher ROI (ostensibly tying to customer satisfaction).

4) Responding to Change Over Following a Plan

  • Dashboard provides continuous awareness of critical metrics and generates alerts as delivery threats arise.
  • Facilitates faster, data-driven decisions arising from changes.
  • Identifies programming language and technology gaps resulting from changes.

One of the biggest concerns some engineering managers and developers have about AI is its potential as a tool to eclipse the value of people. It is a tool, yes. But it can make people’s jobs a lot easier. If you had to dig a mile-long, five-foot-deep trench, a shovel would suffice – but it would be oh, so much easier with an excavator! Let AI do the heavy lifting.


No alt text provided for this image


How AI Fits With Agile's 12 Principles

Agile’s 12 principles are an extension of the four values above, so there’s some redundancy.

1. Customer satisfaction by early and continuous delivery of valuable software.

  • Insights On-Demand to continuously improve cycle time (and all the metrics that feed it).
  • Frontloads improvements by tackling the most impactful and easiest to fix issues sequentially.
  • Predict delivery risks early and on the fly to proactively prevent and mitigate them.

2. Welcome changing requirements, even in late development.

  • As reflected in values, facilitates faster, data-driven decisions arising from changes.
  • Identifies programming language and technology gaps resulting from changes.

3. Deliver working software frequently (weeks rather than months)

  • As per notes in the value of working software over documentation.
  • Reinforced by the insights that continuously improve cycle time and the many metrics that impact it.

4. Close, daily cooperation between business people and developers

  • Accelerates the development of cross-functional teams through the sharing of data and how each stakeholder’s efforts impact others.
  • Facilitates organizational alignment by helping all teams focus on the metrics important to strategic objectives.
  • Dramatically reduces research time to support reports and meetings.
  • Easier to generate reports plus transparent access to the data helps keep everyone on the same page with a single version of truth.

5. Projects are built around motivated individuals, who should be trusted

  • Identify your best developers (and vendors) on a per language or technology basis.
  • Evaluate and assess how their best practices can help lower-performing developers and teams.
  • Provide better matching in mentoring assignments on an organization-wide basis.

6. Face-to-face conversation is the best form of communication

  • Less time on research plus better data serves to improve the effectiveness of all meetings – one-on-ones, standups, sprint planning, retrospectives, OKRs, etc.

7. Working software is the primary measure of progress

  • AI helps to optimize cost performance by reducing decision latency and improving decision quality through factoring in all of the complexities involved in software delivery team management.

8. Sustainable development, able to maintain a constant pace

  • More accurately predict and plan Sprints.
  • Optimize utilization for all developers to avoid burnout.
  • Objective data offset bias in performance, pay, and promotion evaluations, along with other mechanisms, to reduce turnover and improve team stability.

9. Continuous attention to technical excellence and good design

  • Facilitates an organization-wide effort, from CEO to individual contributor, where all stakeholders have a role in helping others be and do their best.
  • Helps all stakeholders focus on the metrics critical to organizational objectives and avoids working at cross-purposes as can happen with conventional team performance metrics.
  • Identify technology gaps to inform training and recruiting efforts.
  • Any improvement in velocity at the expense of quality is not really an improvement and this plays out in a variety of metrics and processes at the team and individual level in everything from mentoring, PR code reviews, commenting, and more.

10. Simplicity—the art of maximizing the amount of work not done—is essential

  • Identifies low-ROI tasks and features so efforts can be shifted to those with a higher ROI.
  • Spot (and remedy) perfectionist programming and unnecessary customized development.
  • Help optimize team size and mix to minimize “administrative overhead” and issues like code complexity.

11. Best architectures, requirements, and designs emerge from self-organizing teams

  • In a preliminary respect to new projects, selecting team members with the right mix of skills and experience relative to project requirements is critical to success.

12. Regularly, the team reflects on how to become more effective and adjusts accordingly

  • Ultimately, AI is a tool to help with continuously improving developer and team performance alongside changes in personnel and projects.
  • Provides an objective feedback loop to assess whether a developer, team, project or even the entire organization is actually improving and correlate that to impact on ROI.


Number 9… Continuous Attention To Technical Excellence

This principle is especially interesting from an org-wide perspective. It’s not just for engineers or getting down to the nitty-gritty of excellent code and coding practices. The CEO, HR and BI Teams, and others, probably aren’t coding, but what they do directly and indirectly impacts code. And too often, different teams work at cross-purposes. Shocking!

  • A CEO might say, “Hey, we need to improve our profitability!”
  • The BI Analyst might respond with, “Okay, we’ll lay off some of our devs – because developers are the biggest line item expense in software development.”
  • The HR Team says, “WTF? We’ll need to rehire again next quarter!”
  • The Engineering Managers shake their heads, “That’s more time on interviews, onboarding, and getting new team members up to speed.”
  • Individual Developers, seeing the instability and questionable decisions, especially if they’ve seen this cycle play out before will be looking for new jobs.

Similar situations can play out by swapping the BI Analyst with Sales Teams not signing enough new clients or perhaps signing too many, too fast. For fast-growing companies, HR teams can be very hard-pressed to find enough developers with the right skills (and salary expectations). More or less the same net effect. Similarly, a number of companies are pushing out releases for early access games with excessive defects – some so bad that they kill sales.

Leastwise, there exists any number of situations where teams within the same company can be pursuing results that come at the expense of other teams. It’s not just a technical issue.

So, let’s play the same game wherein everyone is working together toward improving critical metrics.

  • Deja vu – the CEO says, “Hey, we need to improve our profitability!”
  • The BI Analyst responds with, “Okay, we can improve ROI by aligning our best performers with our most valuable projects, and save a lot of recruiting expenses by focusing on skilling up our existing team.”
  • The HR Team nods, “Understood, we’ll focus on retention and training efforts to coincide with the new technologies we want to implement.”
  • The Engineering Manager smiles, “That’ll give me the time to work with our existing teams to discover each developer’s greatest challenges and help them overcome them!”
  • The Individual Contributor exits LinkedIn, “A radical reduction in chaos, more opportunities to learn new skills, a more profitable company will grow and open up advancement opportunities, so I don’t have to find a new job… yet.”

Okay, so that’s a little cheesy, and maybe an oversimplification, but organizationally, there’s a big difference between working together – or at cross-purposes. When it comes to developing Technical Excellence, the last thing anyone wants is Chaos.

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

Natalia Walendzik的更多文章

社区洞察

其他会员也浏览了