订阅 RSS 源

Getting an architecture from a plan to reality can take significant time and effort. Companies are always looking for ways to accelerate the process. It makes sense. After all, time really is money. So, to help things along, here are five ways that can expedite the time it takes to accelerate the implementation of your enterprise architecture:

  1. Use a tried-and-true specification framework
  2. Really follow the agile methodology
  3. Make sure the developers really know the technologies you plan to use
  4. Choose a project manager with hands-on development experience
  5. Have adequate contingencies defined; things will go wrong

Let's look at the details.

1. Use a tried-and-true specification framework

Clear, accurate communication between architects and developers is an important aspect of software development. Thus, having a detailed specification that describes exactly what developers are supposed to create is critical. Few architects will argue otherwise. Yet, when it comes time to create the specification, sometimes architects will create it from scratch using a format of their own design.

Taking a roll-your-own approach is time-consuming and cumbersome. Developers have to learn it and then, once they figure it out, they have to write a bunch of code against it.

On the other hand, using a well-known specification framework such as OpenAPI, AsyncAPI, or Unified Modeling Language saves time and labor. Specification frameworks tend to have large communities that support them. The documentation is written. The examples are readily available. Also, many specification formats ship with autogenerators that create boilerplate code that can be customized to meet the specific needs of a given implementation. Features like these provide significant savings in time and labor. And, because a given format is well known, the specification can be updated accurately when it comes time to modify the system.

In short, reinventing the wheel is a waste of time. Reuse is key.

2. Really follow the agile methodology

The agile software development methodology can really affect the speed that software is released. Probably the two most common principles in agile are to make sure all relevant parties are part of the development team in a meaningful way and to plan that the development process is a series of timeboxed releases, also called the sprint.

Without ensuring that the team is truly cross-functional and the company is committed to an ongoing series of timeboxed releases focused on continuous improvement, companies risk having their agile adoption primarily become daily scrum meetings that are a ritual-like recitation of current roadblocks and intended tasks for the day. The goal is just as important as the rituals.

A true commitment to agile makes it easier to get an architecture out the door faster. As they say on the terrain, agile works if you really work it!

[ You might also be interested in reading The role of an agile architect. ]

3. Make sure the developers really know the technologies you plan to use

Developers are a fascinating, intrepid breed. To their credit, continuously learning new technology is built into many developers' DNA. Many are willing to take on a new project just for the opportunity it presents to master a new technology. While the commitment to learning is inspiring, adding a developer unfamiliar with an architecture's core technologies to a development team is not the best way to get mission-critical software out the door. A learning curve can be daunting, and making mistakes is always a risk. It's better to have a team with expertise implementing the technologies defined in the architecture.

Sending your developers out for a week of training to get the knowledge required to implement a mission-critical architecture can further delay implementation while producing questionable results. Operationally, the development team needs to have a proven track record working with the specified technologies. It takes years to master a technology. If you don't have the right expertise on hand, you might have to hire the necessary talent. Sometimes erring on the side of caution and delaying implementation until you have the right talent is better than starting with what you have and hoping for the best. Hope is not a viable strategy for achieving success.

4. Choose a project manager with hands-on development experience

Project managers with hands-on development experience understand the nuance of software development. They know what it's like to struggle for days trying to resolve a problem that turns out to be something as small as a line of code within a loop that should be outside the loop. Project managers with hands-on development experience can tell when developers are truly aligned with their business counterparts or when a developer is mired down in a problem and needs assistance—even before the developer asks for help. Again, it's a special sensitivity that goes with having done the work.

So, if you want to make sure your architecture has a good chance of seeing the light of day as fast as possible, make sure the project is managed by someone who has recent hands-on experience in software development as well as a proven track record in project management.

5. Have adequate contingencies defined; things will go wrong

A setback does not have to end in disaster. But it can unless you've identified potential risks and created contingency plans to address a risk should it occur. The time savings can be significant.

Analogically, it looks like this: Imagine you're renovating your kitchen. While your plans don't require a ceiling replacement, there is always a chance the ceiling could collapse during construction. The risk is improbable but not impossible. So, it's a good idea to think ahead and have the contact information on hand for a contractor that can do the ceiling reconstruction should that setback occur. If, indeed, the ceiling does collapse and you don't have a contingency plan in place, it's going to take time to find a qualified contractor and schedule the work. In the meantime, all other work on your kitchen comes to a halt until the setback is remedied. How long all this will take is anybody's guess. However, if you have a contingency plan in place, a lot of the guesswork is eliminated.

The same holds true for implementing an enterprise architecture. Addressing a potential problem that was identified early on inherently saves time that would otherwise be wasted figuring things out from scratch.

Contingency planning counts, and it should be worked into your architecture implementation. The time you save can be significant.

[ Thinking about security? Check out this free guide to boosting hybrid cloud security and protecting your business. ]

Putting it all together

An enterprise architecture is only as good as its implementation. It takes sound processes, adequate expertise, and a firm sense of best practices to implement an enterprise architecture quickly and effectively. Hopefully, these five methods will help your company get the system it needs into the hands of the business in a fast, yet reliable manner.


关于作者

Bob Reselman is a nationally known software developer, system architect, industry analyst, and technical writer/journalist. Over a career that spans 30 years, Bob has worked for companies such as Gateway, Cap Gemini, The Los Angeles Weekly, Edmunds.com and the Academy of Recording Arts and Sciences, to name a few. He has held roles with significant responsibility, including but not limited to, Platform Architect (Consumer) at Gateway, Principal Consultant with Cap Gemini and CTO at the international trade finance company, ItFex.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来