Important Distinctions
Software Roles & Accountabilities


Software Developer

An individual who by profession (or avocation) constructs software artifacts (source lines of codes, documents, test cases, and models of various kinds) toward the realization of an embodiment of context, needs, constraints, characteristics and qualifiers referred to as the Software Requirements.

Software Engineer

An individual software developer who by profession executes, leads, manages, and administers in part or in whole the construction of software artifacts, the acquisition of software requirements, the planning of software efforts, the assessment of software talents and skill sets (theirs, their peers and their subordinates); And is accountable for the measure of the quality of the resulting work products and the decision paths by which they have been obtained.

Software Architect

An individual software engineer who by profession develops a body of knowledge with respect to a set (or sets) of software requirements that elaborates on the implications of possible choices in the planning, designing and construction of the software artifacts that will realize the satisfaction of that set (or sets) of software requirements.

The ability to optimize across a set of implications is essential to all architectural efforts; the ability to distill out essentials from a requirements set and identify the implications of specific yet orthogonal such distillations is an imperative for the success of all architectural efforts; and the ability to maximize the effectiveness of any software effort while minimizing any commitments regarding the resulting software artifacts is the true art of the architect (The master of patterns).



Copyright 1974-2008 by Ricardo Jorge Lopez y DiPasquali, all rights reserved.

Home General Distinctions Important Distinctions for  SCM & SAM Important Distinctions for  Software Roles & Accountabilities

This site was last updated 12/06/08