nimble framework

11
1 Nimble Framework Software architecture & design in agile era http://agileanswer.blogspot.com Tushar Jain CSP, CSM, CSPO, Six Sigma & Lean Black Belt 22, 2015 – Agile Strategic Solutions meetup

Upload: tusjain

Post on 15-Apr-2017

160 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Nimble framework

1

Nimble FrameworkSoftware architecture & design in agile era

http://agileanswer.blogspot.com

Tushar JainCSP, CSM, CSPO, Six Sigma & Lean Black Belt

Oct 22, 2015 – Agile Strategic Solutions meetup

Page 2: Nimble framework

2

Agile

2

Page 3: Nimble framework

3

Architecture & Design Activities Contd…

3

Page 4: Nimble framework

4

Previous illustration shows very clear boxes but

• Activities are diffused in terms of actions and temporal distance.

• Activities provide feedback to each other.

The more nuanced illustration might looks like happenings in an exotic liquid river where most of the liquid is flowing in one direction but it has few spirals which keep on sending feedback to previous spirals. To add the complexity this river is flowing on the system context. And since it is a river, it has not very defined banks. Sometime this river is deep and narrow while other time it is shallow and wide. To add one more level of realism, various spirals are not very distinct and keep on changing with change in system context. Since spirals are not very distinct, there is also feed forward.

Architecture & Design Activities

4

Page 5: Nimble framework

5

• Architecture & design process is diffuses and interacting

• Dynamic business and technical environment

• New leanings

Truth

5

Page 6: Nimble framework

6

Visualize architecture consists of three layers of thoughts:

• Process

• Technique

• Pattern

Nimble Framework

6

Contd…

Page 7: Nimble framework

7

Visualize architecture consists of three layers of thoughts:

• Process: At this thought layer architects decide which architectural process should be chosen. This choice is driven by • Enterprise policies,

• Size of project,

• Complexity of business domain, …

Few of the Architectural processes:

• Zachman, TOGAF, Risk Driven, Emergent, …

Lot of people may call these as frameworks or any other name but I chose to call them as processes.

• Technique

• Pattern

Nimble Framework

7

Contd…

Page 8: Nimble framework

8

Visualize architecture consists of three layers of thoughts:

• Process

• Technique: This is second layer of architectural thought. This layer demands that big technology decisions should be taken like • RDBMS vs NO SQL,

• Which AppServer,

• Which libraries (Log4j vs Java logging),

• Which architectural pattern (IoC, MVC, etc.),

• Definition of walking skeleton,

• Definition of prototype, etc.

How much architecture is sufficient ?

Majority of decision makers are from Dev Teams but guidance of out of team architects is available to enforce consistency across teams, enterprise policies, and get benefit of T & I shaped skill sets.

• Pattern

Nimble Framework

8

Contd…

Page 9: Nimble framework

9

Visualize architecture consists of three layers of thoughts:

• Process

• Technique

• Pattern: In this layer core working frameworks are chosen, so Dev Team can write the code in accordance. Decision like• SEDAhttp://www.eecs.harvard.edu/~mdw/proj/seda) or

• MicroService or

• SOA or

• Event based or some thing else are made.

Once this decision is made, next level of frameworks is chosen (if required) like Spring Data or Hibernate.

Nimble Framework

9

Contd…

Page 10: Nimble framework

10

Design phase

• Prototyping and selection of design patterns

• Making choices within architectural container (use annotation or properties file)

Nimble Framework

10

Page 11: Nimble framework

11

Thank You

Tushar JainCSP, CSM, CSPO, Six Sigma & Lean Black Belthttp://agileanswer.blogspot.comOct 22, 2015 – Agile Strategic Solutions meetup