2. Objectives of this session
• What is Architecture?
• What is the Practice of Architecture?
• Why do you need an Architect?
• Architectures Role?
• What is Enterprise Architecture?
• What is an Architecture Framework?
• What is a Roadmap?
• Where does Lean StartUp & DAD fit?
3. What is Architecture?
Wiki-pedia:
“Architecture (Latin architectura,
from the Greek ἀρχιτέκτων –
arkhitekton, from ἀρχι- "chief" and
τέκτων "builder, carpenter, mason")
is both the process and product of
planning, designing, and
construction”, that reflects
functional, non-functional, technical,
social, environmental, and other
considerations.
Architecture must understand the big picture
in order to be successful!
4. What is a practice?
• Only way to get better
• Do not think about practicing
– Practice (do it)!
• Set priorities
– How good do you want to be?
• Once you know
– Is it a reasonable goal?
• Set the right expectations
• Develop a practice routine
5. Why do I need an Architect?
• How many times have you heard of
been asked this question?
• How would you answer it?
• Example expectation?
– i.e. getting home, marathon
• Architect, is a building or IT definition
– But, trainers or councillors have
the same role
6. Client Scenario
• Help the client rebuild their IT
organization to support continued
development and expansion of core
business applications
• Application environment contains 2
million lines of java code
• Grown organically over the past 7
years
• Contains a variety of different
technology frameworks and
architectures glued together
7. How would you respond?
• Missing role
– “An Architect”!!!
• Typical response?
– We have never had one
before, why do we need
one now?
• Or, we have one but,
– More tactically focused
– Not aligned with the
business
– Etc.
8. Architect Role
• Ultimate ownership of the
vision, definition, leadership
and responsibility for the
successful and efficient
delivery of the system.
• Must be involved throughout
the entire software
development life cycle, not
just at design and definition
time.
9. Not a bucket brigade!
•
Where the architect stands at their place in
line, takes the requirement, does the architecture
definition, hands it off to the development
team, wipes their hand and says “good luck.”
10. Must understand the business
objectives, goals, and drivers
• Involved from the beginning
• Helps to extract, define and
own the non-functional
requirements
– These details get easily
overlooked or are ill-defined
• How often have we heard “I
need it to run fast”, or “It has
to be secure” as the only nonfunctional requirements?
11. Extract out the who and how!
• To be successful what
should you focus on?
– Focus on what you
“do” and “need”!
• Sample – What
performance level do
you need?
12. Architecture can help!
• Aids with identifying
impacts on decisions that
directly affect the entire
system
– Performance
– Scalability
– Security
– Availability
– Delivery
– Costs
– Efficiency
13. More than just technology decisions
• The architect provides defining
principles, overall structure, and
leadership to the team.
• This is not to put process and structure in
place just for the sake of it, nor is it
structure that is rigid and unchanging.
• To provide leadership and view of the big
picture
• Ensure that teams are succeeding
• All the individual stories, components and
modules, come together successfully in
meeting the functional, non-functional, and
business requirements.
14. More …
•
Optimize delivery/development
•
collaborating with
– Stakeholders
– Business,
– Quality assurance,
– Data
– Support
– Security
•
Communicating the vision, the impacts and the trade-offs that result from any
changes or modifications to the architecture during the development process.
•
Architectures evolve, even during the development process.
•
The architect „s job is not to enforce a rigid architecture no matter what.
•
Rather, maintain the big picture view and determine the trade-offs required in the
changes, and own the responsibility for the decision and communicating impacts
to stakeholders.
15. Revisit - Client Scenario
• So, since I did not have someone doing all
that…
• Reason why I am bringing you in to help.
16. What is Enterprise Architecture?
• What does it mean to your enterprise?
– Ivory tower?
– Magazine Engineers?
– Architecture Police?
– Collaborative and valuable resource!
17. What is Enterprise Architecture?
“The process of translating the business vision and strategy into
effective enterprise change by creating, communicating, and improving
the key principles and models that describe the enterprise‟s future state
and enable its evolution. The scope of the enterprise architecture
includes people, processes, information, and technology of the
enterprise, and their relationships to one another and to the external
environment. Enterprise Architects compose holistic solutions that
address the business challenges of the enterprise, and support the
governance needed to implement them.”
18. What is an Architecture Framework?
• TOGAF
• Developing broad range of
architectures
– i.e. business architecture
• Describes the fundamental
organization of the business
• Method to define the target state
of the enterprise
– i.e. Building blocks, capabilities, …
– Example: Rocky, Coffee
• Guidance for how to address
business issues and needs
20. Phase 1 - Assessment
• Understand the maturity of your
organization!
• Determining the value in
developing a roadmap!
– Organize the assessment:
people, process, technology, cos
t
– Interview:
Business, IT, consultants, vendor
s
– Review: operation
solutions, projects, issues, Applic
ation Portfolio, Corporate
Objectives
– Track:
risks, issues, improvements, driv
ers
– Develop a plan
– Propose a vision and next steps
21. The Assessment
• Points to Categorize
What has been
done well?
What needs
attention?
–
–
–
–
–
–
–
–
–
–
–
–
Corporate objectives alignment
The need to integrate
Leadership buy-in
Acceptance to change
Total cost of solutions
Integration skills
Business focus
Understand business processes
Solution options
Integration architecture
Standards and procedures
Data/Information quality
22. Where does Lean StartUp and DAD fit?
• Lean StartUp
– At the beginning &
throughout
– Evaluate viability through
product, technology, and business
– i.e. lower running
costs, senors, recycling bins
• DAD
– Product / Project delivery that
incorporates other discipline.
– Discipline is a good thing!
– Minimize technical debt!
– Predictable release schedules?
This is a question that seems to come and go over time?
Planning, Planning, Planning!
Sports
This is a question that seems to come and go over time? Cyclical…
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
This is a question that seems to come and go over time?
To have predictable release schedules, a development team should limit the amount of work in progress in order to keep the amount of uncompleted work (or debt) small at all times.