modularization, testing and technical debt (in a large agile project)
Post on 17-Oct-2014
1.039 views
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.
Harald Søvik
Tech Lead, M.Sc.
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.
Harald Søvik
Tech Lead, M.Sc.
30 © Computas AS 07.04.2023
www.computas.com
job openings for experienced developers !