Build an organization

Introduction
This section focuses on what to think about when building an organization that will contain the capability of executing the network automation strategy. Many activities are done in parallel and others tend to be revisited numerous of times. It is therefore difficult to plot tasks/actions according to a specific timeline.
Organization
Setting the appropriate organizational structure is an essential piece in building a well working an efficient network automation practice. The below picture is an illustrative view of what a structure could look like and the number of Full Time Equivalents (FTEs) of course depends on the automation scope.
For more details about each role stated above, please see the section called "Roles".
The three main groups/teams
It is suggested to initially focus on building a small autonom, powerful and competent team called the Automation Core Team (ACT). Their work, experience and opinions are later expanded and new people (with both same and other competencies) get involved - the Automation group is now formed. In order to get a formalized setting it is suggested to have a steering group engaged taking responsibility for bigger investment decisions, budget allocation, incorporation in larger company context, etc. Below is a picture describing how the ACT is expanded and the Automation group get established. The ACT will however still exist and be the core team of the Automation group.
The three groups are described in more detail below.
The Automation Core Team
The Automation Core Team (ACT) is the first set of people involved in the automation journey towards building a network automation capability. As they journey continues more people will get involved and the Automation Core Team will be part of a larger Automation Group. The real expansion will begin in phase 2 (Building an automation practice) and it is central to let the ACT members have impact on who and with what competence that gets on-boarded in the Automation Group.
The team consists of 3-5 people with both software and network competence. The following roles build the Automation Core team:
- Service architect / Service developer
- Network architect / Network engineer
- Product owner
The ACT is responsible for choosing which automation use case to start with and also to run it through the first three steps in the Getting started-phase. It is important that the ACT has strong decision power and management buy-in when deciding initial use cases to bring into deployment and the way of working within the group.
Automation group
The Automation group get formed when decision is made to expand the work the Automation Core Team has begun. Timing-wise this will occur in the Expand step. New competencies will get on-boarded and due to a larger number of resources, more administration is required. The size of the Automation group is based on the automation scope and area of responsibility. Apart from the competencies and roles defined in the ACT the following roles are suggested to be part of the Automation group:
- Network engineer / Network architect
- Service developer / Service architect
- Tester / Test lead
- DevOps engineer
- Business analyst
- Team lead
Steering group
The steering group is a small group with presence from other organizations and senior management that have stake in the Automation group's work. It is also suggested to have someone from the automation software vendor taking part of the steering group to be able to understand possibilities, limitations and best practices at an early stage.
Governance
Defining a governance structure will help bring clarity to how the organization works and make sure scope is managed over time through decision taken in the right manner. It is suggested that you spend time on defining a governance structure for the Automation group and also document it in a way where it is accessible for all team members.
Examples of decisions
| Decision | Decision maker |--- | Backlog prioritization in line with agreed focus areas and scope | Product Owner | Architectural decisions | Lead architect | Implementation decisions in line with agreed architecture | Developers | Way of working | Program Manager | Scope, time, organizational setup | Automation director
Design authority
It is important to establish a strong design authority within the Automation Core Team to ensure that the development starts out on the right foot. Early mistakes often have a big consequences down the road so it is important to get input early.
Ideally the design authority rests on experienced members of the Automation Core Team but help from the outside can be leveraged as well, especially at the beginning of the automation journey.
The design authority should
- Decide overall architecture and approach including separation of concerns
- Support individual teams with design and implementation advice
- Advise stakeholders on what reasonable expectations are from automation
- Keep the big architectural picture of the automation journey
Establish structured knowledge and content sharing
Knowledge sharing is a central component in all teams and by structuring from start will pay off in the long run. Having defined processes for what, how and when to knowledge share is a good start. There are many tools for knowledge sharing and many times, people tend to rely too much on the tool when knowledge sharing is more about a behaviour rather needing the right tool.
Culture
Foster a culture of knowledge sharing is essential to get this to work. People in leading positions need to lead with a positive and active knowledge sharing behaviour. It tend to be simple from start when there are only a handful members in the Automation Core Team but when new hires get on-boarded they need to get introduced to a knowledge sharing culture.
Tooling
There are many knowledge sharing tools available on the market and many are really good. If your team is already in the Atlassian suite, Confluence is a great tool and also the plug-in of Questions for Confluence is a great way to capture questions and make the answers reusable.
Process
Defining clear processes for how to and what knowledge/content to share is a good start. Examples of processes that would ease knowledge sharing could be:
- Process for how to ask a question to the entire Automation group and how to respond to questions that the entire group would benefit to know about
- Process that secure that all documents uploaded have an author who can be reached when questions come up
- Process for how to tag/label and what tags/labels documents should have in order to be easy to find when searching
- Overall process slides (development process, CI/CD process, etc.) accessible and current
Training
Continuous training is a core component for all organizations and the Automation group is not an exception.
Network Automation training
There are formal network automation trainings provided by Cisco.
NSO Field Portal
The NSO Field Portal is a community where NSO developers gather to knowledge share, post questions and discuss NSO related topics. It is the repository for getting the latest news about the NSO Roadmap as well as new released features.
Link to Field Portal
NSO Developer days
The NSO Developer days is an annual three-days conference where NSO developers meet to discuss, share knowledge and listen to presentations about NSO specifically and network automation in general. Both deep technical labs are preformed as well as managerial presentations.
Internal training and on-boarding of new team members
When focusing on on-boarding and to get the new team members up to speed, there are three main types of trainings:
On the job-training On the job-training is an efficient and high quality type of training to get on-boarded people up to speed in a quick and controlled way. It works well when few people gets on-boarded at the same time, and less frequently. The working culture and other intangible aspects often gets covered through this type of training compared to the other training types.
Classroom training A classic type of training that requirers someone to actually prepare and preform sessions. Suits well when many get on-boarded at the same time.
Pre-recorded web based training Pre-recorded trainings that could be consumed anytime and anywhere. Efficient type of training if there are many on-boarded resources but who starts
Internal training days
A concept that works well for many engineering teams is the concept of internal trainings days. It could be one ore two days of training consisting of sessions held by internel resources about technical and non-technical topics, with the aim to increase knowledge for the entire group. Getting a routine of internal training days has proven to be successful for increasing depth, the overall knowledge and also strengthen the team. Other positive benefits of establishing a routine regarding internal training include:
- People can submit what they would like to know/learn more about
- Good way to let people present, develop content and share experience
- Opportunity to also invite external speakers for special topics
Skill profiles and inventory
It is important to write down skill profiles describing what you want from the different roles, these profiles can include both technical and non-technical skills.
The following is an example of skill profiles for an automation team, but needs to be customised for your situation:
| Skill \ Role | Service Developer | Service Architect | Network Architect | DevOps Engineer | |--- | Networking | Basic | Intermediate | Expert | Intermediate | Programming | Expert | Basic | Basic | Expert | YANG/NETCONF | Intermediate | Expert | Intermediate | Basic | Modelling | Intermediate | Expert | Intermediate | Basic | Deployment | Basic | Basic | Basic | Expert | Dev Tools (git, ci/cd) | Intermediate | Basic | Basic | Expert | Test tools | Basic | Basic | Basic | Expert | Processes | Basic | Intermediate | Basic | Expert | NSO | Expert | Intermediate | Intermediate | Basic | Business Understanding | Basic | Expert | Intermediate | Basic
A skill inventory can then be created where the skills of each individual in the team is listed. This can be used to discover areas where the team needs additional competence or where an individual can benefit from additional training. It is important to remember that when starting up an automation effort it is likely that a lot of new skill combinations are needed.
With a new organization working with new technology it is important that there is alignment with the career paths of the larger organization so that members of the automation team feel that the work gives them appropriate career progression and that new members understand what is expected from them. Having a strong understanding of the roles and skills needed also makes it easier to do succession planning and make sure that the effort does not hinge only on key individuals.
Teamwork
The Automation Core Team is the single most important team in the beginning of the automation journey. The ACT team members need to have the same view of the end goal, understand each others strengths and how they individually contribute to the agreed targets. Teamwork is something that tends get less attention in many organizations, often due to the lack of insight in how important it is. A team that does not function risk to:
- not use the full potential of the team members' capabilities
- not have the same view of the end goal which increase risk of working towards different targets
- not have a good team spirit where the team members like their work, enjoy their colleagues and encourage others to join
- not contribute to knowledge sharing which will build and keep silos consistent
- not reflect on their work which prevent them from learning and continuously grow based experiences
A useful model for how to address a group is the Collective Intelligence Capability System (CICS) model. It describes four perspectives which a team should manage in order to be successful.
Relation
The team's ability to create an open and welcoming environment where the team members feel confident in each other's skills and intentions
Integration
The team's ability to act as one unit based on caring for each other and attention to the common task/objective
Reflection
Team's ability to reflect and learn from their collaboration to gradually improve problem formulation, problem solving, and relationships and behaviour within the team
Representation
The team's ability to formulate a common picture of the task and its context
To read more: https://www.influence.se/insight/research-proves-superiority-of-trust-based-governance
Best practices
- Form an Automation Core Team with both network and software skills and experience and will-power
- Build upon and expand the Automation Core Team
- Appoint a person responsible for the Automation Core Team and execution of the network automation plan/strategy
- Define roles and competencies needed
- Appoint a person responsible for the Automation Core Team and execution of the network automation plan/strategy
- Establish governance structure for network automation
- Create network automation forum for continuous knowledge sharing
- Focus on integrating the automation group’s work with wider organization
- Establish continuous improvements
- Defined career paths (management and expert tracks), talent acquisition plans and competence development
Checklist
- Insights, learnings, progress and results have been shared/reported to the wider organization
- Person appointed with clear ownership and communicated mandate for driving automation
- A forum dedicated for continuous network automation knowledge sharing has been set up
- Well defined role descriptions for automation team in place