Yes, you need Agile Architecture
www.mozaicworks.com
Me
Adi BolboacProgrammerOrganizational & TechnicalTrainer & Coach
www.mozaicworks.com
A definition of Software Architecture
The set of structures needed to reason about the software system, which comprises the software elements, the relations between them, and the properties of both elements and relations.[1]
www.mozaicworks.com
Another definition of Software Architecture
Documenting software architecture facilitates communication between stakeholders, captures early decisions about the high-level design, and allows reuse of design components between projects.[2]
www.mozaicworks.com
Software Architecture
www.mozaicworks.com
Agile software development
Is a group of software development methods based on iterative and incremental development, in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
www.mozaicworks.com
The purpose of Agile
Incrementally add value
Deliver fast
Build the right thing
Quality software
Deliver enhanced value for customer
Maintainability
www.mozaicworks.com
1. Incrementally add value
Architect's skill: Translator
www.mozaicworks.com
1. Incrementally add value
Architect's skill: Translator
The architect should be a bridge between the business needs and the technical challenges
www.mozaicworks.com
1. Incrementally add value
Architect's skill: Mentor
www.mozaicworks.com
1. Incrementally add value
Architect's skill: Mentor
Constantly help the technical teams improve 1 to 1 meetingsExpress confidence and passion
www.mozaicworks.com
The purpose of Agile
Incrementally add value
Deliver fast
Build the right thing
Quality software
Deliver enhanced value for customer
Maintanability
www.mozaicworks.com
2. Deliver fast
Architect's skill: Simplifier
The architect should constantly look for solutions that simplify every increment delivered
www.mozaicworks.com
2. Deliver fast
Architect's skill: Risk analyst
www.mozaicworks.com
2. Deliver fast
Architect's skill: Risk analyst
One of the main jobs of an architect is being able to analyze and minimize risks
www.mozaicworks.com
The purpose of Agile
Incrementally add value
Deliver fast
Build the right thing
Quality software
Deliver enhanced value for customer
Maintanability
www.mozaicworks.com
3. Build the right thing
www.mozaicworks.com
3. Build the right thing
Architect's skill: Business analyst
Understand the requirements at top levelMake sure the product fits the needsCommunicate technical risks
www.mozaicworks.com
3. Build the right thing
Architect's skill: Communicator
Talk with the customersKnow the end-usersHave a close relationship with stakeholdersBe open for dicussions with managersHappy to actively attend teams' meetings
www.mozaicworks.com
The purpose of Agile
Incrementally add value
Deliver fast
Build the right thing
Quality software
Deliver enhanced value for customer
Maintanability
www.mozaicworks.com
4. Quality software
www.mozaicworks.com
4. Quality software
Architect's skill: Technical standards creator
Drive teams for consensus on practicesCreate standardsDocument standardsEnforce standards
www.mozaicworks.com
4. Quality software
Architect's skill: Technical standards creator
www.mozaicworks.com
4. Quality software
Architect's skill: Code reviewer
The code looks like one person wrote itThe code respects standardsTeach others how code can be improved
www.mozaicworks.com
The purpose of Agile
Incrementally add value
Deliver fast
Build the right thing
Quality software
Deliver enhanced value for customer
Maintanability
www.mozaicworks.com
5. Deliver enhanced value
Architect's skill: Assistant Product Owner
Be in constant touch with product peopleFocus on value delivered to the customerChallenge the Business Value presentedCommunicate Business Value to the teams
www.mozaicworks.com
5. Deliver enhanced value
Architect's skill: Team Load Balancer
The teams deal with a sustainable effortThe effort of the teams is almost the same
The customer's value stream is constant and predictable
www.mozaicworks.com
The purpose of Agile
Incrementally add value
Deliver fast
Build the right thing
Quality software
Deliver enhanced value for customer
Maintainability
www.mozaicworks.com
6. Maintainability
www.mozaicworks.com
6. Maintainability
Architect's skill: Ministry of Technical Budget
Measure technical debtMinimize technical debtPlan well technical debt installmentsDo not bury the company in technical debt
www.mozaicworks.com
6. Maintainability
Architect's skill: Foreman[3]
The architect is the person who is responsible for making sure all the workers do things right
www.mozaicworks.com
The purpose of Agile
Incrementally add value
Deliver fast
Build the right thing
Quality software
Deliver enhanced value for customer
Maintainability
www.mozaicworks.com
General Skill
Architect's skill: Facilitator
www.mozaicworks.com
General Skill
Architect's skill: Facilitator
Be able to convince a group of people to achive consensus without taking a particular position in the discussion
www.mozaicworks.com
Agile Architect's skills
www.mozaicworks.com
TranslatorCode reviewer
MentorAssistant Product Owner
SimplifierTeam Load Balancer
Risk AnalystMinistry of Technical Budget
Business AnalystForeman
CommunicatorFacilitator
Technical Standards Creator
Thank you!
www.mozaicworks.com
References
[1] Clements, Paul; Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford (2010). Documenting Software Architectures: Views and Beyond, Second Edition. Boston: Addison-Wesley.[2] Bass, Len; Paul Clements, Rick Kazman (2012). Software Architecture In Practice, Third Edition. Boston: Addison-Wesley. pp. 2124[3] http://blog.8thlight.com/uncle-bob/2014/02/21/WhereIsTheForeman.html
www.mozaicworks.com
Enterprise Agile Architect Role
Contact meUnit testing workshopRemote pair-programmingTDD workshopRefactoring workshopLegacy code workshopLegacy code retreatCode retreat
www.mozaicworks.com
Enterprise Agile Architect Role
Extend your mentoring & training capacityAccelerate learning through communities of practiceGrow your functional leaders and top talents
http://www.mozaicworks.com
@adibolb