Recently I was asked what it is that a software architect does. This is a difficult question to answer. We do so much. For the outsider it can difficult to explain.
I started thinking about it in terms of the balls that we juggle. Here is my initial list. I am sure that there are more:
- Performance
- Maintainability
- Security
- Reliability
- Scalability
- Look and Feel
- Flexibility
- Best Practices
- Time lines
- Politics (Office and Project)
- Software Version Upgrades
- Individual egos
- Scope Creep
- System Integrity
- System Integration
- Budget
- Deployment
- System Conversion
- Training / Mentoring
- Hardware / Network Constraints
- Business Requirements
In future posts, I will ruminate over my personal experience in some of these areas. I hope to hear what others are or have experienced.