Click here to Skip to main content
15,904,935 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Are there any Software Architects here? Pin
newton.saber27-Jan-15 4:20
newton.saber27-Jan-15 4:20 
AnswerRe: Are there any Software Architects here? Pin
MSBassSinger27-Jan-15 4:30
professionalMSBassSinger27-Jan-15 4:30 
GeneralRe: Are there any Software Architects here? Pin
newton.saber27-Jan-15 5:40
newton.saber27-Jan-15 5:40 
GeneralRe: Are there any Software Architects here? Pin
MSBassSinger27-Jan-15 6:00
professionalMSBassSinger27-Jan-15 6:00 
GeneralRe: Are there any Software Architects here? Pin
diverbw27-Jan-15 7:18
professionaldiverbw27-Jan-15 7:18 
GeneralRe: Are there any Software Architects here? Pin
Chris Jacobi27-Jan-15 12:55
Chris Jacobi27-Jan-15 12:55 
GeneralRe: Are there any Software Architects here? Pin
newton.saber28-Jan-15 1:38
newton.saber28-Jan-15 1:38 
GeneralRe: Are there any Software Architects here? Pin
frazGJF27-Jan-15 14:21
frazGJF27-Jan-15 14:21 
Mmmmmmm!

Are there any Software Architects here?

Software Architect?

Well, architects design things. We in the software industry are often compared to those in the building industry, but I think that the software industry is closer to the movie making industry, and the software architect more like the director (who might some times take a role and act!)

But what makes a Software Architect?

Firstly, a Software Architect must understand the full Software Development Life Cycle(SDLC) AND where in that cycle they operate.
Like a movie, each software application has a life cycle.
Like a movie, a software application can be used over and over by the end user.
Unlike a movie, a software application can be changed in it life cycle and continued to be used by an end user. (although there can be a Director's Cut)

To make that happen, players in the SLDC must understand their role as well as the SDLC.
So who are these players?
There are 5 major players and under each of them are teams of other players.
These are:
Project Manager:
Team of Sub-Project Managers
Scrum Master or some other project methodology champion.

Business Process Manager:
Team of Business Process technicians
Team of Business Analysts

Software Architects:
Software Team Leads
Teams of Senior Developers and Developers

Quality Assurance Manager:
Team of Testers
Team of Technical Writers

Enterprise Architect:
Change Control Team
Team of DBAs
Team of System Engineers
Support Manager
Team of software Support staff

So now the 5 major players are going have a virtual conversation for the life of the software application.

The initial build of the software application will be done in a project, then later it will be Supported and enhanced in patches.
The idea for the project will come from a customer, either internal to the organisation or external to the organisation.
The Business Process Manager( or members of she/his team) will determine if the idea is feasible for the organisation.
If it is, the Project Manager will form a project team.
The Project Manager will be interested in three things:
How long will it take?
How many resources(both human and non-human) will it take?
How much will it cost?

The Software Architect will need the other players to help answer these questions.
Although, the Software Architect won't be able to give a complete picture, she/he will be central to the decisions been made.

The Software Architect will need to ask the Business Process Manager questions like:
What processes and how many are needed (broad strokes first then more finer detail later)?
Will this application be for internal organisation users or an application used by external users?
How many transactions per minute(TPM)?
More than 50,000 TPM may require a separation of Web farm from Application farm.
This would mean an increase in hardware usage and a different Architecture for the application.
How many features are to be available as Services to external "users" or internal "users"?

Such questions will lead to the type of developers required and how many.

The Software Architect will need to ask the Enterprise Architect questions like:
Do we need a perimeter network(for secure external user activity) and if so, do we have one already built?
Do we have enough servers/desktops for Development Environment, System Test Environment, User Acceptance Test Environment, Stress Testing Environments?
Can we use internal servers or can we use a Cloud infrastructure?
Which database can be use and do we have DBAs to provision databases for the environments and support those databases?
Which Internet Web Server(IIS or Apache/Tomcat) can be used?
What security standards need to be adhered to?
What is the Change Control procedure?
Do we have support staff for the released product and to assist in testing?

Such questions will lead to the type of application that will be built.

The Quality Assurance Manager will want to ask the Software Architect questions such as:
How often will we get builds, daily, weekly etc?
How can we communicate the feature functionality between Dev and TEST teams?
How do we report issues?
How do we perform Stress Tests, Performance testing, regression testing after version updates etc?

Such questions will lead to the amount of time and effort the development team will need to spend on testing: QA

After answering all the above, Developers will want to ask the Software Architect questions such as:
What are the application's tiers/layers?
If this is a web application, which browsers( and base versions) are targeted and what tools are to be used e.g. AngularJS, requireJS, KnockoutJS
If not a web application, which client front-end framework is to be used?
What Server language will be used?
Is it a Server pages or Web API or services (WCF) or RestFUL or MVC or other combinations?
Are we to use a IoC/DI framework, if so which one?
Do we use Aspect Oriented Programming(AOP) for cost cutting concerns.
Are we using Test Driven Development, if so which Unit testing tools are to be used?
Are we using Model Driven or Behaviour Driven development, if so what do the models look like and how are the behaviours managed?
Are we going to use a database/code object-relational mapper(ORM), if so, which one and is it to be database first, model first or code first?
What is the standard for user security and what tools are to be used?
What Caching mechanism is to be used?

How is the solution to be laid out?, ie:
Different projects for web projects, Interfaces, Data Models, Services, Application Logic, DALs

Which source control framework is to be used?
What is the deployment tool?
Are we to use Continuous Integration and Continuous Deployment.

Now these are just some of the questions a Software Architect needs to address on a day to day basis.

The Software Architect must also be able to explain the architecture and convince others of the soundness of the decisions that have been taken.
The Software Architect must also be able to converse with the CEO, CIO and end users in terms that these stakeholders can understand.

Through this whole post I have not mention once that the Software Architect should code.
But I have a firm believe that good Software Architects used to be very good Senior Developers with decades of programming experience in a wide variety of industries in numerous organisations.
Good Software Architects will WANT to code, because they love it!

So to the question: Are there any Software Architects here?

If you answer all the above questions on a day to day basis and also do some coding that is used by programming teams, you can call yourself a software architect.
If your resume looks like this post, then chances are you are a software architect.

Although Oracle and Microsoft have certifications that have architect in their title and others that cover the coding techniques required to answer some of these questions, neither has a certification that directly covers the tasks of a software architect.

The universities in my country don't have a Diploma or Degree that covers the breath of what a software architect does, although they do have Masters Degrees that covers Project Management and Business Process Management.

This is strange really, since Software is at the heart of what I.T. does (else those computers would just use electricity), and is at the heart of an organisation's procedures.

So you won't find a qualified Software Architect with a certification in Software Architecture or a degree on Software Architecture.

Software Architects are made from their own application to building successful software applications and continuous self-learning (ie reading books, blogs and threads like this one).

As I said, they( and I ) just love it!




Kindest Regards

frazGJF
frazGJF


modified 27-Jan-15 21:00pm.

GeneralRe: Are there any Software Architects here? Pin
newton.saber28-Jan-15 1:42
newton.saber28-Jan-15 1:42 
GeneralRe: Are there any Software Architects here? Pin
frazGJF28-Jan-15 10:49
frazGJF28-Jan-15 10:49 
GeneralRe: Are there any Software Architects here? Pin
newton.saber28-Jan-15 11:12
newton.saber28-Jan-15 11:12 
GeneralRe: Are there any Software Architects here? Pin
PapaCraft28-Jan-15 6:40
PapaCraft28-Jan-15 6:40 
GeneralRe: Are there any Software Architects here? Pin
frazGJF28-Jan-15 11:12
frazGJF28-Jan-15 11:12 
NewsGreece Will Never be the Same Pin
Nagy Vilmos26-Jan-15 3:16
professionalNagy Vilmos26-Jan-15 3:16 
GeneralRe: Greece Will Never be the Same Pin
Chris Losinger26-Jan-15 3:27
professionalChris Losinger26-Jan-15 3:27 
GeneralRe: Greece Will Never be the Same Pin
charlieg29-Jan-15 0:48
charlieg29-Jan-15 0:48 
GeneralRe: Greece Will Never be the Same Pin
newton.saber26-Jan-15 3:29
newton.saber26-Jan-15 3:29 
GeneralRe: Greece Will Never be the Same Pin
Chris Quinn26-Jan-15 4:17
Chris Quinn26-Jan-15 4:17 
GeneralRe: Greece Will Never be the Same Pin
Deflinek26-Jan-15 4:27
Deflinek26-Jan-15 4:27 
GeneralRe: Greece Will Never be the Same Pin
Richard Deeming26-Jan-15 4:32
mveRichard Deeming26-Jan-15 4:32 
GeneralRe: Greece Will Never be the Same Pin
Bassam Abdul-Baki26-Jan-15 5:04
professionalBassam Abdul-Baki26-Jan-15 5:04 
GeneralCorporate IT Fail OTD Pin
Dan Neely26-Jan-15 3:03
Dan Neely26-Jan-15 3:03 
GeneralRe: Corporate IT Fail OTD Pin
Nagy Vilmos26-Jan-15 3:13
professionalNagy Vilmos26-Jan-15 3:13 
GeneralRe: Corporate IT Fail OTD Pin
Dan Neely26-Jan-15 3:27
Dan Neely26-Jan-15 3:27 
GeneralRe: Corporate IT Fail OTD Pin
Mark_Wallace26-Jan-15 3:35
Mark_Wallace26-Jan-15 3:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.