technical debt.pptx

151
June 1, 2014 Standard presentation deck version 0.7 45 Main St #220 BKLN / 718 625 4843 / hugeinc.com

Upload: atish-narlawar

Post on 12-Aug-2015

43 views

Category:

Technology


0 download

TRANSCRIPT

June 1, 2014Standard presentation deck version 0.745 Main St #220 BKLN / 718 625 4843 / hugeinc.com

Technical DebtHuge

June 1, 2015

1. What is Technical Debt? 2. Metaphor 3. How to identify?

4. Sources 5. Is it bad? 6. Why care?7. How to deal?

8. Summary.

Agenda

What is Technical Debt?

A series of Bad Decisions taken by Business and Technical

Results to:

Error prone design and Architecture

BAD Thing!!!

Ways of Development

1. Do it clean and smart Way

Longer to implement

Easier to future changes

HIGHER COST!!!

2. Do it quickly

Easier to implement

Lower Cost

Harder to Change!!!

Quality Attributes

12

Performance, Scalability, Security, Stability

External qualities can be termed also as an features.

External Quality

External qualities.

● Performance● Scalability● Security● Stability

External qualities.

Product OwnerBusiness Users Tech Team

Approach.

15

Internal Quality• Test Coverage

• Architecture Design

• Coding Standards

• Automation

• Pluggable

• Modular

Internal qualities.

Tech TeamProduct OwnerBusiness Users

External qualities.

● External qualities can be related to features.● External qualities deliver business values● External qualities can be sponsored

Stakeholder

Internal qualities.

● Internal qualities does not relates to features.● External qualities does not deliver business values

Stakeholder

Learning of the millennium

Although messy code or code without tests works perfectly for

customers if it delivers the desired business value.

Why to invest in internal qualities?

● Uncontrollable code base

Ignoring internal qualities means.

● Uncontrollable code base● Inflexible software product

Ignoring internal qualities means.

● Uncontrollable code base● Inflexible software product● Risk of development

Ignoring internal qualities means.

● Uncontrollable code base● Inflexible software product

And list goes on ….

Ignoring internal qualities means.

Sometimes it’s hard to explain investment on Internal qualities to

Business Stakeholders

How to convey business?

Technical Debt metaphor got originated

Ward Cunningham used the metaphor ‘Technical Debt’ for the first time in 1992 to communicate this problem with non-technical stakeholders.

“Code with low quality and no automatic test coverage can be compared with financial debt.”

● Principal: The cost of refactoring the codebase to a clean design, which allows easy future changes.

● Interest : Extra costs, which have to be paid in the future if the team has to work with a messy codebase.

31

To explain non-technical stakeholders in the financial term

To communicate the problem of poor quality that might otherwise go unnoticed until it is too late

A sufficient amount of messy code may bring a whole engineering department to a stand-still.

Technical Debt metaphor is good for

● Why should business sponsor spend money on the features that don’t deliver business value?

● Why should business sponsor spend money on the features that don’t deliver business value?

● Why should the business sponsors accept a project of higher cost?

Technical Debt is not obvious.

Indicators

“This is Karl’s Code. I will not touch it”

Indicators

“This is Karl’s Code. Don’t touch it” “I think last added feature, introduced the new bug, I am dealing”

“I wrote this last week, Let’s copy that code” “Does anyone know, how to setup workspace”

“Deployment takes more than 2 hours. Just wait for next Monday”

“TODO/FIXME: This should be fixed before next release”

“This library is outdated. We don’t have time to upgrade now”

“I am pretty sure, If I touch it will break somewhere else”

“Lets finish the testing by next release” “Does anyone knows where we store the password?”

Sources of Debt

Time Pressure

Development Team Maintenance Team

Imagine a credit card where you entitled to buy but not to pay the bills.

● Include it or there won’t be release.● Code won’t be read/change often.● Less important.● Demo/Pitch.

Minimal Viable Product(MVP)

Prudent but inadvertent

Teams with plenty of time also makes Technical Debt.

Realization is at the end.

It’s too late!!!

Martin Fowler

"Now we know how we should have done it"?

● Very Good● Good● Fair

Developer Team

● Each software has a support life cycle● Compatibility● Standards

Software Decay

Technical Debt is “Really Bad?”

Technical debt is a strategy.

Quickly reach to the business goal and to the market, and see if the functionality is useful at all.

Ward Cunningham

Spotify see a perfect code as a waste, if we don't know the functionality we

create is really really useful.

Spotify come up with a functionality very quickly to the user and they

refactor to make it nice.

Spotify Engineering

Eric Evans(Domain Driven Design)

You cannot have same quality throughout the system

There will be always Technical Debt

Less important implementation may not need any refactoring

Eric Ries(Lean Startup)

“I was always happy to write perfect code but at the end no one used it.”

Build quickly and bring in front of user.

51

Technical Debt is really Bad???

Yield of investment by entering into the market is very big than the principal and interest amount.

Technical Debt might give an advantage of an early release and profit the organization more than it costs to pay back the debt.

Amazon was a behemoth application once upon a time.

Twitter was built on Ruby on Rails, now it’s all messaging queues.

“Why do we care???”

Stakeholders!!!Customer Help Desk

ManagementOperations Team

Developers suffers!

How to deal with technical debt?

● Engineering Practices

○ TDD

○ Pair Programming

○ Continuous Integration

○ Automation

● Hiring

○ Poor hiring

○ Poor retention

● Tools

Technical debt is organization problem (Organizational Debt)

● Buffer Task : 10% of the available time.

● Quality Releases: Technical release focused on quality improvements.

● Cost: Include cost for Technical debt in requirement estimations.

● Prioritization:

○ Technical Debt Backlog

○ Technical Debt Items

Fix development process

Business Requirement

Enhancing quality should be business goal.

● Developer knows quality issues.

● They have to work on

○ Getting Domain Knowledge.

○ Sell Technical Debt to business decision makers.

Developers... “Build the Trust.”

● Tools

○ Code coverage

○ Cyclomatic complexity

● Refactoring

○ Coupling

Monitor your debt.

Pay the interest.

Summary● Technical debt is a metaphor that describes a very real

phenomenon.● Technical debt comes in variety of the forms.● Lower maintenance cost

○ Avoiding interest payments.● Increase productivity

○ Better prioritization● Avoid Surprises

○ Fewer failures○ Better estimation

June 1, 2014Standard presentation deck version 45 Main St #220 BKLN / 718 625 4843 / hugeinc.com

Ad Age A-List:

4 times in the last 5 years.

Most Innovative:

According to Digiday & Mashable.

4 times in the last 5 years.

Ad Age A-List

As voted by our peers in the UK’s Drum Digital Census.

2013 Elite Agency

Named by Haymarket Media’s ‘The Hub’

2014 Best Digital Agency

According to both Digiday and Mashable

Most Innovative Agency

Recognized for mobile by Ad Age.

3rd Largest Mobile Agency

750 employees worldwide.

ATL50 people.

BKLN425 people.

DC40 people.

LND50 people.

LA90 people.

PDX15 people.

RIO45 people.

SF35 people.

Our offices.

Research & analytics.

Focus groups & surveys

Ethnography & usability studies

Social listening & trends spotting

Website, social & campaign analytics

Strategy & planning.

Brand planning & marketing

Product strategy & business consulting

Communications planning

Search strategy (SEO, SEM)

Discipline specialists (e.g., CRM, mobile)

User Experience.

Content strategy

Information architecture

Interaction design

Mobile experience

Creative.

Visual Design

Copywriting & editorial

Campaign development

Mobile, emerging & in-store digital

Technology.

Ecommerce

Technical leadership/architecture

User interface development

Mobile & emerging platforms

Social platforms

Rapid & enterprise development

Quality assurance & deployment

Social engagement.

Content strategy

Information architecture

Interaction design

Mobile experience

Studio.

Photography

Motion

Video creation & production

Animation & illustration

Production

Media.

Media planning

Media buying

Campaign management, optimization & analysis

Media partnership development

Program Management.

Project management

Planning & roadmap development

Resource management

Risk mitigation

Discover

Stakeholder interviews

Consumer research & insights

Brand & content audit

Competitive & market

Landscape analysis

Platform & technology assessment

Plan

Goal prioritization

User personas & journeys

Creative brief

Communications strategy

Roadmap

Asset matrix

Measurement plan

Create & iterate

Creative concepts

Campaign architecture

Wireframes

Digital experience design

Prototyping & user testing

Implement

Creative assets

Style guidelines

Functional specs & annotations

Development & infrastructure setup

Testing & analytics

Implementation

Deployment management

Measure & evolve

Tracking analysis

Media optimization

Measurement of success

Future enhancements

Plan & research

Our process.

Vision.

Unmet user need.Real marketing challenge. True brand capability.

Our approach.

Research, events and publications to advance our

understanding of digital.

Huge Ideas.

Building new products and technologies to help marketers.

Huge Labs.

Training the next generation of digital talent.

Huge Schools.

Our Culture:

Make something you love. Hire the best people.

Work on incredible projects. Have fun.

About us.

We help companies builddigitally driven businesses.

Our Stats.

$16 billion per year.400 million people per month.

Our Work.

Questions?

April 15, 2014Nestle Capabilities Deck45 Main St #220 BKLN / 718 625 4843 / hugeinc.com

Main section.

Sub section.Section

Tertiary.Sub section:

Strategy.

Unmet user need.Real marketing challenge. True brand capability.

Strategy.Lorem ipsum dolor sit amet, consectetur

adipiscing elit.

Unmet user need.Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Real marketing challenge. Lorem ipsum dolor sit amet, consectetur

adipiscing elit.

True brand capability. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

This is a single thought.

A single thought needs a header.And sometimes:

If a thought needs more clarification, use an extra sentence or two.

88

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convallis tortor a iaculis lacinia.

A simple list.

1. Relevant.2. Findable.3. Portable.

A simple list with on state:

1. Relevant.2. Findable.3. Portable.4. Huggable.5. Reusable.

91

This is your team.Ice Cube – Managing Director

MC Ren – Director Content Strategy

Eazy E – VP Strategy

DJ Yella – Director User Experience

Arabian Prince – Creative Director

Dr. Dre – VP Technology

92

This is a common slide.Lipsum dolor sit amet, consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convallis tortor a iaculis lacinia. Maecenas quis massa tortor. Duis pretium rutrum tellus, ac fringilla metus. Nulla facilisi. Morbi ut blandit lectus. Morbi mattis vehicula nisi sit amet rhoncus. Nulla auctor magna vel aliquet hendrerit. Curabitur semper sollicitudin magna vel dictum.

• Then it could be followed up by a few points.

• That are even bulleted for fun.

• Also for pulling out great contextual points.

This is the new green slide.

This is a single thought on a dark background.

Remember:

A single thought can have a header.

If a thought needs more clarification, use an extra sentence or two.

96

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convallis tortor a iaculis lacinia.

A simple list.

1. Relevant.2. Findable.3. Portable.

A simple list with on state.

1. Relevant.2. Findable.3. Portable.4. Huggable.5. Reusable.

The single thought can be on gray.

With a header:

The thought can be on gray.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convallis tortor a iaculis lacinia.

If a thought needs more clarification, use an extra sentence or two.

101

Key stats

120%Increase in monthly favorited tweets on

Twitter.

Key stats

120%Increase in monthly Facebook virality.

216%Increase in monthly Facebook virality.

Results

150%Increase in monthly Facebook

virality.

120%Increase in monthly Facebook virality.

216%Increase in monthly Facebook virality.

120%Increase in monthly favorited tweets on

Twitter.

Key stats

120%Increase in monthly Facebook virality.

216%Increase in monthly Facebook virality.

Key stats

150%Increase in monthly Facebook

virality.

120%Increase in monthly Facebook virality.

216%Increase in monthly Facebook virality.

Results

This is a table with rows.

Objective KPI Features

Laugh a lot and then get drunk.

Hiccups • Something here• Something here

Run around in the sprinkler. Speed • Something here• Something here

Shoot each other with water guns

Load time • Something here• Something here

Make new friends Friend requests on Facebook • Something here

Objective KPI Features

Laugh a lot and then get drunk.

Hiccups • Something here• Something here

Run around in the sprinkler. Speed • Something here• Something here

Shoot each other with water guns

Load time • Something here• Something here

Make new friends Friend requests on Facebook • Something here

Ladidah Falala • Here you go

Bold

Classic

Fearless

Authentic

Edgy

Impactful

Smart

Subversive

High-quality

Accessible

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Oranges.Apples.

Orange

Pulp

Juicy

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Unexpected

Clever

Oranges.

Red

Crunchy

Distinctive

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Unexpected

Clever

Apples.

Yellow

Delicious

Sophisticated

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Unexpected

Clever

Bananas.

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Oranges.

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Apples.

Yellow

Distinctive

Juicy

Innovative

Unexpected

Clever

Bananas.

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Grapes.

Purple

Distinctive

Juicy

Innovative

Unexpected

Clever

Plums.

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Pears.

Bold

Classic

Fearless

Authentic

Edgy

Impactful

Smart

Fearless

Authentic

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Smart

Fearless

Authentic

Oranges.Apples.

This is a table with a header.

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Oranges.

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Apples.

Calm

Distinctive

Juicy

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Bananas.

This is a table with a header.

Calm

Distinctive

Juicy

Innovative

Unexpected

Oranges.

Calm

Distinctive

Juicy

Innovative

Unexpected

Apples.

Yellow

Distinctive

Juicy

Innovative

Unexpected

Bananas.

Calm

Distinctive

Juicy

Innovative

Unexpected

Pears.

Calm

Distinctive

Juicy

Innovative

Unexpected

Plums.

Yellow

Distinctive

Juicy

Innovative

Unexpected

Grapes.

This is a table with a header.

Bold

Provocative

Fearless

Authentic

Edgy

Impactful

Smart

Subversive

High-quality

Accessible

Calm

Distinctive

Edgy

Innovative

Unexpected

Clever

Smart

Irreverent

A leader

Thought-provoking

Brand YBrand X.

This is supporting copy for the image.

This is a picture with description.

This is just a caption for a larger image.

A couple photos and copy.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convallis tortor a iaculis lacinia. Maecenas quis massa tortor. Duis pretium rutrum tellus, ac fringilla metus. Nulla facilisi. consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convalli.

• This guy has done this.

• And also he did something else

• And there was another time that he did this really cool thing.

This is your team.Ice Cube – Managing Director

MC Ren – Director Content Strategy

Eazy E – VP Strategy

DJ Yella – Director User Experience

Arabian Prince – Creative Director

Dr. Dre – VP Technology

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convallis tortor a iaculis lacinia. Maecenas quis massa tortor. Duis pretium rutrum tellus, ac fringilla metus. Nulla facilisi.

• She has done this

• And also she did something else

• And there was another time that she did this really cool thing

A persona.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur consectetur elit a nulla egestas, quis ullamcorper mi suscipit. Donec convallis tortor a iaculis lacinia. Maecenas quis massa tortor. Duis pretium rutrum tellus, ac fringilla metus. Nulla facilisi.

• This page is good for this

• And a feature is this

• We could also talk about some other features here

The home page.

Questions?

June 1, 2014Standard presentation deck version 45 Main St #220 BKLN / 718 625 4843 / hugeinc.com

133

Make your copy work harder.• Use concise language. The template works best with short text.

• Headlines should make a point; not just describe the page content.

• We use sentence case, not title case.

• Use punctuation & ampersands: they look cool.

• We only use 2 fonts. Huge AVG Bold & Copernicus. Character spacing should be tight for AVG and normal for Copernicus.

• Do not change the type size in the text boxes.

134

Make it beautiful.• Less is better: white space, simplicity, and clean imagery rule.

• Mix up the background color to avoid deck fatigue.

• Use the .jpg art templates to place art.

• Don’t change the device art – place screens within the devices.

• Make sure styles do not change with copy & paste.

• We work at a design agency; if you think your deck is not as beautiful as it should be ask a designer for help.

Circle icons should be use when using 4 or less.

Social Icons

When there are too many icons drop the circle and keep it clean.

Social Icons

Twitter Facebook Pinterest Google + Linked-in Vine Instagram

Flickr Vimeo Skype Pay Pal Tumblr You Tube RSS

Stumble Upon Rdio Drop Box Cargo Collective Dribble Etsy Four Square

Circle icons should be use when using 4 or less.

Social Icons

When there are too many icons drop the circle and keep it clean.

Social Icons

Circle icons should be use when using 4 or less.

General Icons 1

When there are too many icons drop the circle and keep it clean.

General Icons 1

Circle icons should be use when using 4 or less.

General Icons 1

When there are too many icons drop the circle and keep it clean.

General Icons 1

Circle icons should be use when using 4 or less.

General Icons 2

When there are too many icons drop the circle and keep it clean.

General Icons 2

Circle icons should be use when using 4 or less.

General Icons 2

The first option should be to use the icons in the circle.

General Icons 2

Circle icons should be use when using 4 or less.

General Icons 3

When there are too many icons drop the circle and keep it clean.

General Icons 3

Circle icons should be use when using 4 or less.

General Icons 3

The first option should be to use the icons in the circle.

General Icons 3

If someone uses draw tools, this is what happens.

Defaults.

I am the default text box.

Default shapes

Default line: