sa2009 from developer to architect
TRANSCRIPT
-
7/31/2019 Sa2009 From Developer to Architect
1/73
http://www.codingthearchitecture.com/http://www.codingthearchitecture.com/ -
7/31/2019 Sa2009 From Developer to Architect
2/73
-
7/31/2019 Sa2009 From Developer to Architect
3/73
-
7/31/2019 Sa2009 From Developer to Architect
4/73
In groups discuss the perceived meaningof architecture in our technical and
business domains.
Buzzwords
Benefits / motivations
Examples and counter-examples?
-
7/31/2019 Sa2009 From Developer to Architect
5/73
-
7/31/2019 Sa2009 From Developer to Architect
6/73
As a noun, design is the namedstructure or behaviour of a system
whose presence resolves ... a forceon that system.
A design thus represents one pointin a potential decision space.
-
7/31/2019 Sa2009 From Developer to Architect
7/73
All architecture is design, but notall design is architecture.
Architecture represents thesignificant decisions, where
significance is measured by cost ofchange.
-
7/31/2019 Sa2009 From Developer to Architect
8/73
In groups consider the various types ofarchitecture youve heard of.
Organisational level
Responsibilities
Day-to-day activities
-
7/31/2019 Sa2009 From Developer to Architect
9/73
Application
Business
Data
Enterprise
Hardware
Information
Infrastructure
NetworkPlatform
Performance
Security
Software
Solution
System
Technical
Technology
Web...
-
7/31/2019 Sa2009 From Developer to Architect
10/73
-
7/31/2019 Sa2009 From Developer to Architect
11/73
-
7/31/2019 Sa2009 From Developer to Architect
12/73
-
7/31/2019 Sa2009 From Developer to Architect
13/73
Architecture is simply the
deliberate and consideredresolution of significantproblems
-
7/31/2019 Sa2009 From Developer to Architect
14/73
-
7/31/2019 Sa2009 From Developer to Architect
15/73
In groups draw up an organisation chartto describe the structure of a small team
comprising:
Project Manager
Senior Developer
Two Developers
Technical Architect
-
7/31/2019 Sa2009 From Developer to Architect
16/73
-
7/31/2019 Sa2009 From Developer to Architect
17/73
-
7/31/2019 Sa2009 From Developer to Architect
18/73
-
7/31/2019 Sa2009 From Developer to Architect
19/73
An architect brings together many aspectsof software development:Requirements gathering
Estimation and planning
Analysis and designCoaching and mentoring
Quality assurance
Testing and deployment
Process and methodologyMore than a team leader and leaddeveloper role
-
7/31/2019 Sa2009 From Developer to Architect
20/73
Has technical authority and responsibilityfor the solution
Ensures non-functional requirements aremet along with functional requirements
Decomposes the solution into subsystemsto ensure consistency at appropriate level
Helps define and apply best practice
Works with the PM to review estimates andcost and to track progress
Drives technical quality assurance
-
7/31/2019 Sa2009 From Developer to Architect
21/73
The architect role is morethan being an experienced
developer or designer - itsalso about quality assurance,mentoring and working with
stakeholders.
-
7/31/2019 Sa2009 From Developer to Architect
22/73
-
7/31/2019 Sa2009 From Developer to Architect
23/73
-
7/31/2019 Sa2009 From Developer to Architect
24/73
-
7/31/2019 Sa2009 From Developer to Architect
25/73
-
7/31/2019 Sa2009 From Developer to Architect
26/73
The architect is involved inall phases of a project...
... not just analysis anddesign.
-
7/31/2019 Sa2009 From Developer to Architect
27/73
Review!
Allow time for review
Delegate responsibility
We probably dont do enough
-
7/31/2019 Sa2009 From Developer to Architect
28/73
-
7/31/2019 Sa2009 From Developer to Architect
29/73
-
7/31/2019 Sa2009 From Developer to Architect
30/73
-
7/31/2019 Sa2009 From Developer to Architect
31/73
-
7/31/2019 Sa2009 From Developer to Architect
32/73
-
7/31/2019 Sa2009 From Developer to Architect
33/73
Technology(e.g. existing licenses, internal
intellectual property,interoperability, maturity, open
source policies/licenses, vendorrelationships, etc)
-
7/31/2019 Sa2009 From Developer to Architect
34/73
Resource/skills(e.g. team size, lead time, futureavailability, training, specialists, etc)
-
7/31/2019 Sa2009 From Developer to Architect
35/73
Other constraintslegal/compliance
strategic imperatives
existing systems
company politics
past failures
...
Often expressed astechnology constraints
non-functional requirements
-
7/31/2019 Sa2009 From Developer to Architect
36/73
Constraints can drive thearchitecture more than the
requirements.On time, on budget is a
good target.
-
7/31/2019 Sa2009 From Developer to Architect
37/73
-
7/31/2019 Sa2009 From Developer to Architect
38/73
Pay close attentionto the functional requirements!
-
7/31/2019 Sa2009 From Developer to Architect
39/73
The functional requirements
are not always well
defined.
-
7/31/2019 Sa2009 From Developer to Architect
40/73
The functional requirements arenot set in stone.
-
7/31/2019 Sa2009 From Developer to Architect
41/73
-
7/31/2019 Sa2009 From Developer to Architect
42/73
How many elephants did you see atthe zoo?
How many non-elephants?
-
7/31/2019 Sa2009 From Developer to Architect
43/73
In groups think of the various -ilities
youve encountered in softwaredevelopment.
-
7/31/2019 Sa2009 From Developer to Architect
44/73
Accessibility
Auditability
Flexibility
Extensibility
ConfigurabilityTestability
Repeatability
InteroperabilityAvailability
Scalability
Installability
Manageability
Supportability
Recoverability
UsabilityTimeliness
Performance
ComplianceSecurity
...
-
7/31/2019 Sa2009 From Developer to Architect
45/73
Specific
Measurable
AchievableRelevant
Time-bound
-
7/31/2019 Sa2009 From Developer to Architect
46/73
-
7/31/2019 Sa2009 From Developer to Architect
47/73
In groups consider the examplefunctional specification.
List some of the NFRs you would expectand how you might measure them.
-
7/31/2019 Sa2009 From Developer to Architect
48/73
Dont blindly focus on codedesign; always ask what the
major forces are on thesystem and how your
architecture resolves them.
-
7/31/2019 Sa2009 From Developer to Architect
49/73
The architect helps ensure acomplete set of
requirements is captured......but probably doesnt
define them.
-
7/31/2019 Sa2009 From Developer to Architect
50/73
-
7/31/2019 Sa2009 From Developer to Architect
51/73
Why do you need to definethe architecture?
-
7/31/2019 Sa2009 From Developer to Architect
52/73
-
7/31/2019 Sa2009 From Developer to Architect
53/73
Every system has an
architecture, but not everyarchitecture is defined.
-
7/31/2019 Sa2009 From Developer to Architect
54/73
What is an architecturedefinition?
-
7/31/2019 Sa2009 From Developer to Architect
55/73
How much architecturedo you need to define?
-
7/31/2019 Sa2009 From Developer to Architect
56/73
You need to define
just enougharchitecture.
-
7/31/2019 Sa2009 From Developer to Architect
57/73
What do you do if you are faced with the
following?Complex non-functional requirements
Conflicting non-functional requirements
New and unfamiliar technologies
Integration with existing systemsA team youve never worked with
A vast array of technology and design choices
Tight deadlines
-
7/31/2019 Sa2009 From Developer to Architect
58/73
You start defining thearchitecture
-
7/31/2019 Sa2009 From Developer to Architect
59/73
Agile Architecture;
base your architecture on
requirements, travel lightand prove your architecturewith concrete experiments.
-
7/31/2019 Sa2009 From Developer to Architect
60/73
-
7/31/2019 Sa2009 From Developer to Architect
61/73
Architecturallysignificant
-
7/31/2019 Sa2009 From Developer to Architect
62/73
In groups consider the examplefunctional specification.
What would you include in yourexecutable reference architecture?
-
7/31/2019 Sa2009 From Developer to Architect
63/73
-
7/31/2019 Sa2009 From Developer to Architect
64/73
-
7/31/2019 Sa2009 From Developer to Architect
65/73
Architecture involves
more than one viewof the application or system.
-
7/31/2019 Sa2009 From Developer to Architect
66/73
-
7/31/2019 Sa2009 From Developer to Architect
67/73
-
7/31/2019 Sa2009 From Developer to Architect
68/73
In groups consider the examplerequirements specification.
Draw up the logical view (includingtechnologies) for a solution.
-
7/31/2019 Sa2009 From Developer to Architect
69/73
-
7/31/2019 Sa2009 From Developer to Architect
70/73
Software Development
Software Architecture
-
7/31/2019 Sa2009 From Developer to Architect
71/73
http://www.codingthearchitecture.com/http://www.codingthearchitecture.com/ -
7/31/2019 Sa2009 From Developer to Architect
72/73
-
7/31/2019 Sa2009 From Developer to Architect
73/73
Websitehttp://www.codingthearchitecture.com
Google Grouphttp://groups.google.com/codingthearchitecture