What is "Agile"? What is "DevOps"?

No alt text provided for this image

If you are confused about what each of the terms "Agile" and "DevOps" mean, you are not alone.?I would go as far to say that the majority of senior executives do not understand what “Agile” means, nor understand how a “DevOps” structure works.?So, they leave it to the IT group to organise themselves as they see fit.?As long as the IT infrastructure works, they are happy.?For those of you who are interested however, here is an explanation of each.

Agile is a project management methodology.?Agile divides a project into smaller steps, and the outcomes, requirements and costs evolve as the project progresses. It is suited to smaller, well-defined projects, and was developed for just that – to quickly develop software upgrades. And the originators have never purported it to be anything other than that. That narrow definition has been expanded by consultants, and then by executives, to mean…well, whatever suited them to sell more consulting or to create an agenda for change.?Like “re-engineering” (process design), “digital transformation” (improving IT), and “management by objectives” (planning and delegation), agile has been stretched to have many meanings. Besides the one above, I have identified four other uses of the term agile:

1)???A project methodology for all types of projects – every project gets delivered using the agile method

2)???A description of a desired culture – this is where companies say they want an “agile”, “flexible” way of thinking and working

3)???A structure design principle – some companies describe developing “agile” structures

4)???An organisational philosophy – some organisations use agile as a term to underpin their whole operating model – culture, structure, business processes, saying they will become an agile business, responsive to customers

When someone uses the term “agile”, they could be meaning any of the above, a combination of the above, or in some cases, they may not be clear on what they mean by agile. The pure definition is that it is a project management methodology for small IT projects.

So, what is a Dev/Ops structure??For those organisations that used agile as a project methodology, many found that the quick, flexible, high energy "agile" projects were being slowed down by the time-consuming need to garner ICT resources from the classic Application Lifecycle structure.?The key groups in this Application Lifecycle model, of Architecture, Applications, Operations, Data/Information, all had other priorities, and so agile projects struggled for resources. The DevOps model seemed to provide a solution. It put all the people necessary to do ICT improvement projects in one team, accountable for specific groups of software and systems. One DevOps team might focus on corporate software/systems, while another on business software/systems.?Each team would have people from each of the functional IT groups - an architect, some BA's (operations), some developers (applications), and some testers. This was all the ICT skills a project needed from beginning to end. It was called DevOps because it had both developers and operational people as members, although as I have pointed out the teams had a broader range of skills than that.?If we described them using more standard terminology, we would say they are “multi-functional teams”.?The job satisfaction from employees in these groups was high because they learned new skills from the other skilled people in their team and had the satisfaction from seeing a project through from start to finish.?

The DevOps model has its own set of issues.?While solving the project resourcing issue, it results in a watering down of capability in the functional groups.?A lack of “enterprise” ICT integration across the business often results.

Hopefully, the “agile” buzz is dying down.?Rather than it being seen as a panacea for all IT and project problems, or as a way to fix the organisational or IT culture, or as a vision for a new way of operating, many organisations are seeing it as a business tool - a method to be used by projects when they are needing speed. If your IT group/CIO uses the term agile it might be interesting to ask their definition.

Useful summary - thanks!

回复

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

Don Purdon的更多文章

社区洞察

其他会员也浏览了