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:
- Use a tried-and-true specification framework
- Really follow the agile methodology
- Make sure the developers really know the technologies you plan to use
- Choose a project manager with hands-on development experience
- 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.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
가상화
온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래