• No results found

How To Be Successful At An Agile Software Engineering

N/A
N/A
Protected

Academic year: 2021

Share "How To Be Successful At An Agile Software Engineering"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

"Agile Software Engineering" Overview

for external offering of ASE ABAP

Juergen Heymann, CPO Software Engineering

(2)

There are many ingredients for successful software

projects…

Experienced Developers

Domain Knowledge

Many Tools

Project & risk management Architecture & Design

Coding Standards …

(3)

Two dimensions of success

Do It Right

Do the Right Thing

(4)

Do It Right – Isn’t Scrum* enough?

… what happened is that they did not pay enough attention to the internal quality of their software

Scrum is a framework that's centered on project management techniques and

deliberately omits any technical practices.

http://www.martinfowler.com/bliki/FlaccidScrum.html

“ ”

We need agile engineering practices to complement Scrum

(5)

What is Agile Software Engineering?

TDD Pair Programming Test Isolation Refac-toring ATDD Retro-spectives Unit Test Clean Code Continuous Integration Scrum*

Agile Software Engineering

comprises the values, principles and technical practices

that a developer needs to know to work successfully in a lean and agile context.

(6)

Test First

TDD gives you trust in your code Enables to change code & clean up

Living documentation of developer's intent Outside-in development better API design

Test First – Test Driven Development

Test-last didn’t help us. It takes too much time to make code testable afterwards, and therefore it is often not done.

“ ”

Test fails

Write the code

Write test New Requirements All tests pass Refactor Repeat Divide Integration

(7)

Dependencies Matter

“I cannot test because …

I need an SRM system with full master data Currently, a component I depend on does not work”

(8)

Test Isolation example: Stock Application – What is the

problem?

Portfolio

Stock

no stable values slow

cannot be provoked to raise an exception call is expensi ve under constructi on Stock Quote Service Quote Service WebService in the internet

(9)

Testing Stock – Isolating against StockQuoteService

Test Case Isolation Stock Quote Service YahooStockQuoteService

WebService in the internet

<<interface>> StockQuoteService

(10)

Testing Stock – Isolating against StockQuoteService

Test Case

Stock

Quote Service

YahooStockQuoteService

WebService in the internet

<<interface>> StockQuoteService

TestDouble_StockQuoteService

Return x

Always returns a defined value – and fast

(11)

"Never touch a running system?"

We keep learning as software evolves How keep the system flexible for change? Can we afford to clean up?

Today’s System The path we took Optimal path

(12)

Pair Programming

Pair Programming

Better Code, simpler design Knowledge and skill distribution

Reduce risk of single code-ownership Raise discipline for writing clean code Teambuilding

Good to work in pairs - get different ideas from the pair.

Good way to learn and implement.

(13)

Scripted Testing Ad hoc Testing Exploratory Testing

Exploratory testing – a novel smart way of manual testing

The 'Test Tour' is the key

Developed by James Whittaker and best testers at Microsoft

Encapsulate years of testing experience

(14)

Exploratory testing – Some Test Tours

Landmark Tour:

•Visit 'landmarks' in different order •Finds sequence dependent bugs

Fedex Tour:

•Follow parcels (data): create, edit, delete •Focus on data consistency

Supermodel Tour:

•Only focus on looks (UI) •UI consistency, guidelines, …

Anti-Social Tour:

•Behave like no 'normal user'

(15)

ASE test practices in combination

Coverage of entire functional test pyramid from team perspective

T e s t c o s ts

(16)

The ASE Course

ASE

ASE

(17)

ASE Course Structure

5-Day Course with 4 sprints; Different 'flavors' for ABAP, Java, C#, ...

+ 1-3 weeks coaching in own team to learn to apply

M in im u m s ta n d a rd

(18)

ASE Feedback

Feedback from participants is consistently very good

“I feel quite more confident about my engineering skills now.”

(19)

Some Success Stories

Medium Project 'X' – 100 developers

Large scale refactoring & rewrites

Main focus was on quality and performance ASE pilot in two teams, full rollout April 2011

All Project Goals Were Achieved

Usable software after each takt Strong test automation

Small Project 'Y' – 20 developers

Daily Unit Test Results helped to nail down

problems and correct immediately

Sprint Review meeting with co-innovation

customers strong motivation for the team to

hear customers feedback

7 customer meetings with live demo in

(20)

Status at SAP: Mature Global Initiative

Status June 2012

More than 2500 developers trained by June 2012 Existing Tracks: ABAP, Java Web, Java Eclipse Global rollout underway

Outlook 2012 / 2013

More developers, remaining locations New tracks: C++, HTML5/JavaScript/mobile

(21)

External Offering of ASE ABAP

ASE

ASE

(22)

ASE ABAP Course is offered to SAP Customers &

Partners

Value Proposition

Train your developers to write better code Gain speed and quality at the same time

Applicable to all customers / partners who do significant development/extension projects in ABAP

General Delivery Concept:

Customer / Partner designates own trainers; SAP ASE team trains the trainers

Then 'ramp-up' training onsite with experienced SAP ASE ABAP trainers. Local trainers educate their peers.

Customer pays license fee for training material.

Pilot 2012, GA planned for 2013

(23)

Thank You

(24)
(25)

When/where can TDD be used?

TDD works very well in most development situations

Case Details & Issues What to do

1: Completely new code / product

New product from scratch Introduce TDD as global development

practice

2: Extension of existing application

Significant extensions to existing product

New code mostly 'together' and not spread through the old code

TDD for new parts (whenever you create a new class)

References

Related documents

When discussing firearm policy in the United States, it is important to understand the parameters that must be taken into account and followed. First and foremost, in a country

5.1 Allocation of Difference between 5.7 Complete Equity Method – Workpaper Entries Implied and Book Values: Acquisition Date 5.8 Complete Equity Method – Consolidated Net

The paper outlines how baseline information about current nursery practices, including an assessment of seedling availability and quality and current levels of tree planting, will

The extent of the environmental crisis – most apparent in climate change – has raised in sharp focus the relation between humans and nature as one of the central contradictions

(emphasis added). The Court has applied in equal protection cases a deferential standard of review in cases dealing with economic regulation. The constitutional

• Coba ubahlah pada salah satu router distance dari default routing aktif / yang sedang digunakan menjadi bernilai “2” dan untuk route yang non aktif tetap bernilai 1...

Apart from assessing the link between the common types of the buildings (High Rise, Detached/Semi Detached, Fixed Street furniture) and degree of graffiti

Just as the “manifold soul” of the German seems to be exemplary for the European to come; just as the always open question “What is German?” provides the best model for the