Chapter 19. Integration across the Enterprise

Understanding the ALM across the entire organization requires an understanding of the organization at a very broad level. It also requires that you understand how each structure within the company interfaces with the others. In DevOps, we call this systems thinking when we are examining an application from its inception to implementation, operation, and even its deprecation. DevOps principles and practices are essential in integrating the ALM across the organization.

19.1 Goals of Integration across the Enterprise

The goal of integration across the enterprise is to help the team understand how the systems and software development effort affects the entire organization. We live in a time when technical knowledge is highly specialized. Unfortunately, this often means that technology professionals have only a very narrow understanding of the organization along with its systems and processes. Using a DevOps approach, you can drive your ALM to be effective across the enterprise and align with both business and technical processes. We find that the key to success is creating cross-functional teams, whether they are engaged for months on a specific project or just for the hour in which we are all joined on a call, sharing a screen to solve a problem or just accomplish a task. This approach significantly improves communication and collaboration across the enterprise.

19.2 Why Is Integration across the Enterprise Important?

Integration across the enterprise is important because you want to align your technology efforts with your business objectives. In fact, stakeholders throughout the enterprise should all have well-defined roles in your agile ALM. We find that, too often, software and systems lifecycles cover the concerns of those writing and configuring the code, but fail to consider other key stakeholders. The itSMF ITIL v3 framework has provided much-needed governance in terms of running IT operations, including transitioning the system from development to operations, but other stakeholders, including IT audit, information security, and business and procurement, should be involved and informed who are often not fully engaged.

Taking a wide view of the agile ALM is essential and should even extend to procurement and similar functions. To be successful, you need to make knowledgeable decisions regarding where to begin.

19.3 Where Do I Start?

Getting started with integrating your ALM across the enterprise should always begin with the core software development processes. We find that nothing gets done without both a version control system (VCS) and workflow automation. As we discussed in Chapter 7, the VCS and the workflow automation tools should be integrated. From there, we like to see a consistent method for capturing the requirements for the software being built, whether using agile stories or a classic requirements-gathering approach such as the Open Unified Process (OpenUp). Ultimately, you need to make sound decisions on the functions that you wish to add to your agile ALM. You cannot include everything all at once, so taking an agile iterative approach to designing and implementing your agile ALM works really well. Start at the beginning and keep iterating until you have a well-defined and comprehensive agile ALM. DevOps principles and practices are extremely effective at helping you drive the development of your agile ALM across the enterprise.

19.4 Multiplatform

Integrating the ALM across the enterprise usually involves working across the range of platforms that are in use. There can be challenges integrating the procedures used by Windows C#/.Net developers with those favored by full-stack Linux experts. You need to take into consideration not only the technical aspects of the platform, but the culture of each development organization as well. We briefly discuss the agile ALM on the mainframe in Chapter 18, and most of the book takes a broad view of distributed development. You need to be able to consider your own multiplatform environment when designing and implementing your agile ALM. One key consideration is coordinating across your various systems.

19.5 Coordinating across Systems

Coordinating across systems always involves understanding the essential dependencies between the systems impacted. It also involves the groups or teams involved, along with their cultures and operating procedures. Coordinating across systems can be complicated and challenging. Ensuring that development, operation, QA, testing, information security, and other groups work as a cross-functional team can be challenging to accomplish. This is precisely the situation where taking a DevOps approach can be effective. Make sure that you pay close attention to the interfaces.

19.6 Understanding the Interfaces

Understanding the interfaces between systems can be difficult given that we are often working across systems and technologies involving different subject matter experts, procedures, and team cultures. In practice, we find that the best chance for success is to have the IT leaders agree to having the required resources work together as a cross-functional team, which may last for months or just for an hour, sharing a screen to accomplish a specific task or solve a problem. To really get the team working together in a collaborative way, you need to understand the enterprise ecosystem.

19.7 The Enterprise Ecosystem

The enterprise ecosystem includes many groups and technologies and likely different vendors and service providers. Integration across the enterprise requires that you thoroughly understand the environment in which the technology professionals and their teams operate. This can be a challenging task and an excellent opportunity to utilize a DevOps approach. We are often coordinating across technology professionals from different teams and platforms. In addition to understanding your ecosystem, having an effective release coordination function is important.

19.8 Release Coordination

Release coordination is a very important project management function that seeks to track required tasks from each of the stakeholders. We like to describe release coordination as the person with the clipboard ensuring that all tasks are completed in the proper order and that everyone is kept aware of the status of any remaining tasks to be completed. Too often, release coordination only focuses on scheduling on a calendar, when what is really needed is facilitating communication and collaboration across organizational structures.

19.9 Conclusion

Integration across the enterprise is a challenging function that must align with the business goals and take a comprehensive view of each group or function within the organization. Understanding the ecosystem and the interfaces is key to your success at ensuring your agile ALM effort can align with your organization and your business.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.100.89