Neal shared his SWOT analysis of Architecture CoE with us last month.
Neal saw no major holes in architecture skill set. He rated architects as Proficient and Expert (top 2 using the Dreyfus scale).
- Introspection: Willingness to get external input. Constantly looking at what we are doing and trying to get better. Focus on application architecture (presence of CoE)
- Participation: We have a very engaged Arch CoE population. Most initiatives (in other companies) start out strong but die quickly. Ours has high participation and continues to do so (rotating responsibilities and ownership helps with sustained participation and enthusiasm)
- Will To Change: Not stuck in ways of the past, looking to learn and grow
- Awareness: of legacy code issues
- Design choices: Buy, build, open source
- Lots of sub par legacy products / solutions in the environment. Affecting our support costs and slowing the evolution (end result is high support costs and high cost of change)
- Very high inertia in applications. We have the willingness to change but does not see it happening as quickly as it could
- Large monolithic applications, should move towards smaller composable solutions
- Lack of overall support cost transparency: e.g. infrastructure costs might decrease with a certain design choice but associated support costs might be higher
- Less focus on (1) enterprise architecture (we have application architects (~ building planners) and solution architects (how apps talk to each otehr) but not many enterprise level architects (~ city planners))
- Chance to re-architect some applications at enterprise level
- Using budget constraint as a mechanism to drive creativity/innovation and improve efficient of development
- Upgrade contractor staff: Talented engineering pool can be tapped into
- Economy / Budget Constraints
- Predatory vendors - watch out for large vendor products that promise to do everything
SUGGESTIONS FOR 2009 GOALS
- Shore up weaknesses
- Build consistencies across projects (similar to rails). For example identify a consistent directory structure / package layout / etc for Java projects.
- Take advantage of automation using these consistencies
- Prioritize any items that give us a strategic advantage