IT Architecture + Method = Saved Project

12
(c) 2008-2014 by https://www.linkedin.com/in/dusanjovano vic :: Method must exist Diary from the IT trenches How I architected and implemented a solution for a project gone wrong. Work In Progress!

description

Method must exist Diary from the IT trenches How I architected and implemented a solution for a project gone wrong. Work In Progress!

Transcript of IT Architecture + Method = Saved Project

Page 1: IT Architecture + Method = Saved Project

  (c) 2008-2014 by https://www.linkedin.com/in/dusanjovanovic

::

Method must existDiary from the IT trenches

How I architected and implemented a solution for a project gone wrong.

Work In Progress!

Page 2: IT Architecture + Method = Saved Project

  (c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

The Scoping

●Clear scoping manages the expectations

●Problem Domain Re-partitioning on all levels.oKey improvement: Solution Domain DefinitionoBalancing act: high profile low cost

●Re-evaluated the RequirementsoFound and engaged the key ‘Actors’oEngaged external systems stake holders

●My vision vs. commercial realityoUse existing platform, tools & technologiesoEngage with data-center from the start

Understand all the faults made Discover the untapped potential

Page 3: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Solution Architecture

The Scope, Actors and Sub-Systems

Page 4: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Technical Architecture

Page 5: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Taxonomy :: REST endpoints Architecture

Page 6: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Method :: The Core of the Success

Core Principles In order to succeed with an ‘evolutionary’ development cycle I had to ensure that at each cycle of development the current set of components satisfy the following minimal criteria:●Architecture Driven

oBased on a consistent architecture. Promote the use of a simplified methodology and a common project repository.

oTools! Visual Studio Team Edition. Share Point: for the ever important project experience storage.

●Complete oComplete in the provision of the required level of functionality. It is NOT the goal of

‘evolutionary’ development to deliver the totality of functionality required in one cycle; rather, provide solutions that satisfy a particular business driven or technically driven scenario.

o I suggested that we utilize the UML “Use Case” technique for modeling these scenarios - stored in our repository and integrated/ checked against our object models at a later stages in development;

●TestedoRisks are recognized and quantified. By building-in an evaluation checkpoint at the beginning

of each EDIT development ‘cycle’ we require that each option to be ‘evaluated’ has a specific statement of its goals and business related requirements.

oConformance to the testing, to be always used as the ‘sanity’ check for the purposes of project management and evolution.

Page 7: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Method :: Iterating Upward

●One segment has one “actor” acting in one role.

oEvaluatoroArchitectoBuilderoTester

●Common mistake: team members to have a ‘secondary roles”. Thus dissolve the primary focus and weaken the responsibility.

●Storage of the project artefacts a.k.a the central project repository.

ProjectRepository

Four roles = four “EDIT” segments:●E-valuation●D-esign● I-mplementation●T-esting

One Cycle is one “Level”

Page 8: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Method :: Evolution to Maturity

●Upward spiraling through time to maturityoSequence of releases after maturity is

reached.●Each level has four segments:

oE-valuationoD-esigno I-mplementationoT-esting

●Assure necessary method conformance to start the spiraling.

●Minimal conformance to keep the spiraling. ● In the same time all the project developments

are spiralling in parallel. oThe whole project goes through cycles of

delivering new solutions, or evolving old ones, when and if needed.

oEach design and implementation artefact is clearly defined in terms of belonging to one spiral.

o Parallel development is more manageable.

Page 9: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Method :: Distribution of Efforts

●Decide: Is maturity point reached.oKnow how to allocate

resources in different phases. ●The big-bang phase should be

proportionally short ●After a 'Maturity Point' moment

allow implementation and testing resources to “take over”.

●Ensure that development is not ceremonial and documentation driven.

●Development is solution driven.●Ensure there is always a certain

minimal amount of time to spent in each of the four segments of each spiralling cycle.

Maturity Crossover Point

Page 10: IT Architecture + Method = Saved Project

 (c) 2008-2014

https://www.linkedin.com/in/dusanjovanovic

Method :: The Model

●Main role: Primary information carrier between cycle segments and between cycles.

oAnd also between projects themselves

●Consistent and structured communication

●Central model repository is the most important artefact of the development environment built to support the whole process.

●Start by establishing the model repository first.

oEach model has to be built in such a way that it is useable as standalone model.

●Project model is the central repository of all the artefacts a project delivers.

Page 11: IT Architecture + Method = Saved Project

  (c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Method :: The Implementation

●Never loose the sight of a final solution.

●Never start from a “clean sheet”, from “ground zero”.

● It is very important to prepare and use such a software development environment which is going to preserve in time all the experiences of the team and all the key artefacts of the project.

●They key skill●Decide on the Granularity: the more coarse set of artefacts

gives less reusability.●The fine grained set of services gives more reusability but

increases complexity. oBuild an initial and minimal product solution out of a set

of critical components.

Page 12: IT Architecture + Method = Saved Project

(c) 2008-2014 https://www.linkedin.com/in/dusanjovanovic

Data Center Reality

Industrialised, componentalized data center design. One rack is one building block. Each is made of blade servers and shared storage. (HP EVA)

1::Implement & Test2::Deploy3::Secure