- Good project management
- Good requirements gathering
- Good translation of user requirements to software requirements and design
I have been through it all, but it seems that most of the time, 2 and 3 seems to be lacking in focus. In fact, most of the time, I keep hearing comments that it's of no use doing 2 and 3 properly because requirements always change.
I beg to disagree... I have done at least 1 project that points 2 and 3 did not change after design specs are signed off. In fact, in all the projects that I have done, only 1 project has that dubious honor of ever changing requirements, even after the system is launched. Granted it was done very early in my career but still, once is enough. The key point is the process for points 2 and 3.
To me, this area is where a software architect comes in. A person who can understand the business processes and requirements, and transform it into software requirements that suit the business needs. I like that translation process, although it is very tiring.
Recently I have been reading up on my own on the 4 big areas of software architecting which I felt is important in any organisation:
- Business architecting
- Data architecting
- Application architecting
- Technology architecting
This is where you look at all the IT solutions in a macro view, most often in an organisation view. How different systems will talk to each other to fulfil one common goal, the business processes.
I believe in looking at the solutions from both the micro and macro view. As a result, some people say that I plan for too many contingencies. However if I see a problem, I will nib it at the bud before it happens. This is my style... I can't help doing it.
Now then comes the problem... It seems to me that at least in Singapore, there are few who believes in this type of architecting. I have tried to look for jobs with regards to this area but it seems that I might not be looking hard enough. In fact, I've only found one job description that is similar to what I'm interested in, but to-date, I have not received any reply.
People do comment to me that I have a knack of doing this kind of solutioning. Is it that I'm not ready for this type of solutioning, or organisations are not ready to walk down this path of looking at IT in a different manner? Such jobs seem to be very rare, at least from what I can see from the jobs listing.
Sometimes I wonder if I'm in wrong era or something... Or am I in the wrong country?