Extreme delivery: The real measure of progress is… Johannes Brodwall Exilesoft Chief scientist @jhannes.

Post on 01-Apr-2015

219 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

Extreme delivery:The real measure of

progress is…Johannes Brodwall

Exilesoft Chief scientist

@jhannes

• What• Demo• How

Part I

Avoid the pain of delay

Continuous integration

Continuous integrationdeployment

Pay nowOR

Pay more later

Continuous integrationdeploymentdelivery

Pay now

OR

Pay more later

The big merge

Have you ever…

Have you ever…

… discarded weeks of work

Limit branches

Limit “branches”

Limit “branches”• un-commited code

• branches

Release frequently

Daily?

Every commit?

Green master tip

Limited RED workspace

Limited RED

A way of thinking

Part II

Getting your code out there

Example Heroku

First deploy

(15 minutes)

Database

Elements of continuous deploy

One command to deploy

(Often triggered by checkin)

(Often triggered by checkin)

(not needed with Heroku)

Don’t check in bins or deps

DB migrations

Part III

How?

Think in complete flows

1. HR admin logs in via Exilesoft SSO (same for the other stakeholders)

2. HR admin navigates to MyLeave

3. HR admin allocates leave quotas based on information in HR database

4. HR admin builds company calendar

5. HR admin adjusts the leave quota for an individual user in HR system

6. HR admin assigns leave approvers from uses in HR system

7. Employee views their available leave

8. Employee submits leave request

9. MyLeave notifies Team leader of a new pending leave request via email

10. Team leader or delivery manager views pending leave applications

11. Team leader or delivery manager checks the other leaves in the same time period

12. Team leader or PMO approves leave

13. MyLeave notifies Employee of an update of his leave request via email

14. Employee checks status of own leave application

15. Employee cancels own leave

16. PMO views the teams' leave calendar, plans and history

17. PMO may cancel leave if necessary

Simple, but complete, then…

Simple, but complete, then…

improve

Simple, but complete, then…

improve

improve

Simple, but complete, then…

improve

improve

improve

The 1 most powerful idea

The 1 most powerful idea

Feature toggle

It’s there, it’s just…

It’s there, it’s just…

It’s there, it’s just…

not in the menu

It’s there, it’s just…

hidden

It’s there, it’s just…

hidden@if (Model.ShowChangeUserNameOption) {

@Html.Partial(MVC.Profile.Views._ChangeUserNameVm, Model.UserNameVm)}

It’s there, it’s just…

Configured to use the old version

It’s there, it’s just…

Restricted for everyone

It’s there, it’s just…

Backend

/rush/v1/projects

/rush/v2/projects

Database views

Updateable Database views

Giving value for work

Cloud deployment• Heroku

• Azure

Pay now

OR

Pay more later

Feature toggles

jbr@exilesoft.com

http://JohannesBrodwall.comhttp://exilesoft.com

http://twitter.com/jhannes

Thank you

top related