Using feature teams to deliver high business value

38
USING FEATURE TEAMS TO DELIVER HIGHER BUSINESS VALUE Sameer Deans

description

A view into how most IT organisations structure their teams to deal with business demands and possible inefficiencies that emerge as a result. An alternate to the traditional project team composition is a way to deliver end to end features to the business, using what is known as feature teams.

Transcript of Using feature teams to deliver high business value

Page 1: Using feature teams to deliver high business value

USING FEATURE TEAMS TO DELIVER HIGHER BUSINESS VALUE

Sameer Deans

Page 2: Using feature teams to deliver high business value

How can IT organize to deliver higher value to the business?

2

Page 3: Using feature teams to deliver high business value

AGENDA

! What does business expect from IT?

! How is IT set up to deliver?

!  Introducing feature teams

! Q & A

3

Page 4: Using feature teams to deliver high business value

4

All businesses are driven by Return on Investment

RoI can be in monetary form or intangible like a brand or social recognition

Page 5: Using feature teams to deliver high business value

5

The role of business is to maximize

Customer Experience

and Revenue

or to Reduce Costs

Software project aims to achieve at least one of these

Page 6: Using feature teams to deliver high business value

6

Once a business idea emerges, time to market is critical

Can value be delivered to the business incrementally?

Page 7: Using feature teams to deliver high business value

What does business expect from IT?

! Visibility into progress

! Flexibility to change requirements

! Ability to change priorities of requirements

! Expectation that domain knowledge will be retained in the organization for future development

7

Page 8: Using feature teams to deliver high business value

So how does IT set themselves up to deliver?

Typical team organization is around competent teams formed around architecture modules of the system.

8

User Management Security Account

Maintenance Transaction Processing

Page 9: Using feature teams to deliver high business value

Quite often organized by layer of application

9

UI team

Business Logic team

Services team

Database team

Number of applications in

the system under development

UI team

Business Logic team

Services team

Database team

UI team

Business Logic team

Services team

Database team

UI team

Business Logic team

Services team

Database team

Page 10: Using feature teams to deliver high business value

What do component teams lead to?

10

Page 11: Using feature teams to deliver high business value

HANDOFF AND DELAY

Team A Team B Team C

Consider a requirement from the customer that needs to be developed by 3 component teams

Handoff Handoff

Waste due to rework

and handling partially finished

work

Waste due to delays

Page 12: Using feature teams to deliver high business value

DUPLICATION

Team A Team B Team C

Writes method to calculate interest so it can show this in the

UI class SimpleInterestCalculator

def initialize(principal, interestRate, numberOfYears)

@principal = principal @interestRate = interestRate

@numberOfYears = numberOfYears

end

def compute (@principal * @interestRate *

@numberOfYears) /100 end end

Writes method to calculate interest

so it create a reusable service Class InterestCalculator

  def self.compute(loan_amount,

rate_of_interest, term_in_years)

    (loan_amount * rate_of_interest *

term_in_years) /100   end end

Writes method to calculate interest so

totals can be updated in database

class SimpleInterestCalculator3

  def initialize(options = {})     @loan_amount =

options[:loan_amount] ||     @rate_of_interest =

options[:rate_of_interest] ||     @term_in_years =

options[:term_in_years] ||   end

  def compute     @loan_amount * @term_in_years *

rate_of_interest_in_fraction   end

  private   def rate_of_interest_in_fraction

    @rate_of_interest / 100   end end

Page 13: Using feature teams to deliver high business value

BAD CODE AND DESIGN

Work with the same code month after month Acceptance of bad design

No outside eyes look at the codebase Do not seek to refactor

Page 14: Using feature teams to deliver high business value

COORDINATION AND INTEGRATION

Team A

Team B

Team C Requirement

that spans several

component teams

Page 15: Using feature teams to deliver high business value

EXTRA MANAGEMENT

Page 16: Using feature teams to deliver high business value

SEQUENTIAL DEVELOPMENT

UI team

Business logic team

Services team

Database team

UI team

Business logic team

Services team

Database team

UI team

Business logic team

Services team

Database team

!!!

Requirements analysis

!!!

Planning

!!!!!

Testing

Page 17: Using feature teams to deliver high business value

DO THE EASY WORK

Team A

Team B

Team C

A A A A

B B B B

C C C C

This comprises a customer

requirement

Page 18: Using feature teams to deliver high business value

PROMOTES SPECIALIZATION

!!! !!!

!!!

Page 19: Using feature teams to deliver high business value

ANOTHER RESPONSE FROM IT : FEATURE PROJECTS

Spin up a project to deliver a particular feature of the larger system

Unfortunately this has its drawbacks too

Feature touches 3 different components

Component A Component B Component C

! ! !! ! !

Page 20: Using feature teams to deliver high business value

NEW TEAM : LOWER PRODUCTIVITY

Component A Component B Component C

! ! !! ! !

Page 21: Using feature teams to deliver high business value

RESOURCE ALLOCATION TEAM USES KEY PEOPLE AS BAND-AIDS

Component A Component B Component C

! ! !! ! !

! Component C

Page 22: Using feature teams to deliver high business value

!

Component C

Impact to existing

team

OVER ALLOCATION

Component X Component B Component C

! !! !

Component A

Component B

Component C

! !! !

!!

100%

25%

!!

Page 23: Using feature teams to deliver high business value

LOW MOTIVATION AND JOB SATISFACTION

Page 24: Using feature teams to deliver high business value

INTRODUCING : FEATURE TEAMS

What is a feature?

Functionality that delivers usable value to the customer

Page 25: Using feature teams to deliver high business value

FEATURES : EXAMPLES

Internationalization Adding a new

service provider to eCom site

Ability to grant and

service loans

Page 26: Using feature teams to deliver high business value

What does a Feature Team look like?

Page 27: Using feature teams to deliver high business value

NOT ALL GENERALISTS

! ! ! !!

! ! ! !

Page 28: Using feature teams to deliver high business value

IDEALLY WOULD BE CO-LOCATED

Page 29: Using feature teams to deliver high business value

TEAM MEMBERS WORK ON ANALYSIS, CODING AND TESTING

Requirements analysis Testing Coding

! ! ! !!! ! ! !

Page 30: Using feature teams to deliver high business value

HOW DOES A FEATURE GET DELIVERED

UI task

Business logic task

Services task

Database task

A A A A

B B B B

C C C C

This comprises a customer

requirement

A B B B C S S S S S S S

Analysis & Planning Analysis & Planning

S

Page 31: Using feature teams to deliver high business value

What are the advantages of feature teams?

Page 32: Using feature teams to deliver high business value

LEARN AND JELL TOGETHER

Page 33: Using feature teams to deliver high business value

NO HAND OFFS

UI task

Business logic task

Services task

Database task

S

Page 34: Using feature teams to deliver high business value

VALUABLE WORK CAN BE PRIORITIZED

8 7 6 5 4 3 2

Analysis & Planning UI task

Business logic task

Services task

Database task

1

Business Idea

UI task

Business logic task

Services task

Database task

1 8 7 6 5 4 3 2

Analysis & Planning This gets

channeled into two features and two

feature teams

Page 35: Using feature teams to deliver high business value

VALUABLE WORK CAN BE PRIORITIZED

8 7 6 5 4 3 2

Analysis & Planning

8 7 6 5 4 3 2

Analysis & Planning

UI task

Business logic task

Services task

Database task

1

UI task

Business logic task

Services task

Database task

1

The business wants a change and re-prioritizes the backlog

6 5 4 3 B A 2

Analysis & Planning

7 6 5 4 3 2 A

Analysis & Planning

Page 36: Using feature teams to deliver high business value

LESS MANAGEMENT OVERHEAD

Page 37: Using feature teams to deliver high business value

So, can IT now organize differently to deliver higher value to the

business?

Page 38: Using feature teams to deliver high business value

THANK YOU