modularization, testing and technical debt (in a large agile project)

Post on 17-Oct-2014

1.039 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

© Computas AS 07.04.2023

Modularization, testing and technical debt

in a large agile project

Morten Forfang, Harald Søvik{mfo, hso} @ computas.com

Speakers

Morten Forfang

Architect, Ph.D.

mfo@computas.com

Harald Søvik

Tech Lead, M.Sc.

hso@computas.com

2 © Computas AS 07.04.2023

3 © Computas AS 07.04.2023

Computas

work support systems (bpm)

knowledge management

consultancy services

custom software solutions

180 employees w/ M.Sc. or Ph.D.

100% owned by employees

4 © Computas AS 07.04.2023

The customer

Mattilsynet

Norwegian Food Safety Authority

consolidation of 4 gov. bodies

1300 employees

5 © Computas AS 07.04.2023

The project

challenges created by merger

model business processes

consolidate 40 legacy systems

reduce number of tech. platforms

reduce data duplication

Mats !

6 © Computas AS 07.04.2023

7 © Computas AS 07.04.2023

Scrumish

waterfall ~> iterative

4 teams á 5 devs

sprint

backlog

burndown

retrospective

8 © Computas AS 07.04.2023

Some lessions learnedcoupling and modularization

testing environments

technical debt

9 © Computas AS 07.04.2023

Subject 1

Coupling and modularization

10 © Computas AS 07.04.2023

Coupling and modularization

11 © Computas AS 07.04.2023

Coupling and modularization

My code

Maven2IDEA

FrameSolution

AppServer

WebServerClient

12 © Computas AS 07.04.2023

Lessions learned

Abstractions is not a substitute for decoupling and formally controlled module interfaces.

Abstraction and generalization should been driven by necessity and experience, not guesswork and intentions.

13 © Computas AS 07.04.2023

Subject 2

Testing environments

14 © Computas AS 07.04.2023

Testing environments

app server

client / terminal

web server

ws front end

integration server

ePhorte

Agresso

15 © Computas AS 07.04.2023

Testing environments

build server a

build server b

environment 1

environment 2

environment 3

environment 4

environment 5

environment 6

16 © Computas AS 07.04.2023

Testing environments

2 x 3 environments

Staging levels

Availability and stability

Monitoring and SLA

Automated build and deployment

Static code analysis

17 © Computas AS 07.04.2023

Lessons learned

Treat your testing environment like a small production

environment.

Define a Service Level Agreement for your domain

experts and testers.

Automate everything.

18 © Computas AS 07.04.2023

Subject 3

Scrum and technical debt

19 © Computas AS 07.04.2023

Priority

new functionalit

yvs.

technical debt

20 © Computas AS 07.04.2023

Scrum, you say ?

Product ownerProject managerTest managerSolution architectScrum masterDeveloper

21 © Computas AS 07.04.2023

In the backlog ..

Easily defineable user stories

priorityestimatevalue

Technical stuffnew or changed

= Business stuff

22 © Computas AS 07.04.2023

Outside the backlog (1)Small things

User administrationDevelopment platformMerging and conflictsScripts, tools and utils..

23 © Computas AS 07.04.2023

Outside the backlog (2)Quick, dirty solutions

integration domain modelinit codepluginsframework

24 © Computas AS 07.04.2023

Outside the backlog (3)

Lots of codeproprietary patternsnew patterns retroactive decisions

Testsdidn’t write it firstoverdueno time

25 © Computas AS 07.04.2023

Technical debt punch lines

Bad time ..In the middle of ..Very important ..Unsure of the cost ..Unsure of the consequence ..Not my problem ..

26 © Computas AS 07.04.2023

Consequences

Inexpectabilitywrong estimatesNo reuseDuplicate codeBugs and defectsUnhappy developers

27 © Computas AS 07.04.2023

Now what ?

transparencyeasy to tell ..

responsibilityno punishment

priorizationright person

28 © Computas AS 07.04.2023

Lessions learned

Do not underestimate the accumulated overhead caused by small problems being ignored over a lengthy period of time.

Do not underestimate the seriousness of technical debt.

29 © Computas AS 07.04.2023

Summary coupling and modularization testing environmentstechnical debt

Questions ?

Morten Forfang

Web Architect, Ph.D.

mfo@computas.com

Harald Søvik

Tech Lead, M.Sc.

hso@computas.com

30 © Computas AS 07.04.2023

www.computas.com

job openings for experienced developers !

top related