using feature teams to deliver high business value

Post on 11-Aug-2014

897 Views

Category:

Business

15 Downloads

Preview:

Click to see full reader

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

USING FEATURE TEAMS TO DELIVER HIGHER BUSINESS VALUE

Sameer Deans

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

2

AGENDA

! What does business expect from IT?

! How is IT set up to deliver?

!  Introducing feature teams

! Q & A

3

4

All businesses are driven by Return on Investment

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

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

6

Once a business idea emerges, time to market is critical

Can value be delivered to the business incrementally?

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

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

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

What do component teams lead to?

10

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

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

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

COORDINATION AND INTEGRATION

Team A

Team B

Team C Requirement

that spans several

component teams

EXTRA MANAGEMENT

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

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

PROMOTES SPECIALIZATION

!!! !!!

!!!

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

! ! !! ! !

NEW TEAM : LOWER PRODUCTIVITY

Component A Component B Component C

! ! !! ! !

RESOURCE ALLOCATION TEAM USES KEY PEOPLE AS BAND-AIDS

Component A Component B Component C

! ! !! ! !

! Component C

!

Component C

Impact to existing

team

OVER ALLOCATION

Component X Component B Component C

! !! !

Component A

Component B

Component C

! !! !

!!

100%

25%

!!

LOW MOTIVATION AND JOB SATISFACTION

INTRODUCING : FEATURE TEAMS

What is a feature?

Functionality that delivers usable value to the customer

FEATURES : EXAMPLES

Internationalization Adding a new

service provider to eCom site

Ability to grant and

service loans

What does a Feature Team look like?

NOT ALL GENERALISTS

! ! ! !!

! ! ! !

IDEALLY WOULD BE CO-LOCATED

TEAM MEMBERS WORK ON ANALYSIS, CODING AND TESTING

Requirements analysis Testing Coding

! ! ! !!! ! ! !

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

What are the advantages of feature teams?

LEARN AND JELL TOGETHER

NO HAND OFFS

UI task

Business logic task

Services task

Database task

S

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

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

LESS MANAGEMENT OVERHEAD

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

business?

THANK YOU

top related