#speakgeek - agile development in iconnect360

26
William Lim & Chris Ng Agile Development in iconnect360

Upload: derek-chan

Post on 14-Aug-2015

9 views

Category:

Software


0 download

TRANSCRIPT

William Lim & Chris Ng

Agile Development in iconnect360

Back during the early days

and now

MONTLY RELEASE CYCLE

IMPROVE QUALITYGREATER CUSTOMER SATISFACTION

INCREASED PRODUCTIVITY

REDU

CED RISK

SELF ORGANIZE TEAM

AUTOMATED DEPLOYMENT

ADAPT AND RESPONSE FASTER

What do we do differently?

What do we do differently?

What do we do differently?

Learn to be Kung Fu master!!

Going back to basic

“What is a user story?”“Do our developers know how to write testable code?”“How do we test?”

Is our team been trained for success?

Management needs to realize they need to provide support and training to their team for them to be successful

Do anyone know how to automate deployment?

“Do you know what are the 12 agile principles?

Being lean – remove non

productive taskTake the first steps

Find someone to inspire

Gradual improvement –

productivity, test coverage

Don’t push hard “If your training seems hard to the average person (and it probably

would), then it’s because you have gradually worked up to that level over a long period of time.  To you, it should not feel difficult because you’ve adapted to it.”

“There will always be promoters and detractors”“Change is always hard”

“Inspire advocate and influence”

“Kung Fu masters win not by sprinting, but by pacing

themselves for the long run. And they succeed

beautifully.”

Be the marathoner and not sprinter“Have a long term strategy or goals”

“Be consistent”

3 years roadmap to achieve full continuous integration

Long term technology roadmap

Continues improvement

(process, technology and individual)

Being lean

Be disciplined

“The big secret to discipline is that it

must be cultivated and nurtured — slowly,

steadily, tenderly, not clobbered with a club.”

“Know your True North and works towards it”“Define a predictable and repeatable process”

“Everyone have to do their job well”

Define the job scope and be accountable

Define standards

Schedule recurring meeting (weekly or

monthly)

Monthly release cycle – 1st or 3rd Thursday of the

month

Balance the Yin and Yang “Kung Fu trains you not just to defend yourself against punches and

kicks, but also to defend yourself from colds and flus, chronic illness, and even from accidents.”

“Balance between business requirement, technology and user experience”

“Balance between features release and fixing technical debt”

“Balance between company growth and personal growth”

“Balance between scope and timeline”

Build the agile culture and not processSchneider Model • Collaboration culture is

about working together.

• Control culture is about getting and keeping control.

• Competence culture is about being the best.

• Cultivation culture is about learning and growing with a sense of purpose.

Iconnect360 Agile Development Process

Our development mantra – the 12 agile principles

Satisfy the customer through early and continuous delivery

Welcome changing requirements, even late in development

Deliver working software frequently Business people and developers work together daily.

Build projects around motivated individuals Maintain a constant pace indefinitely

Convey information via face-to-face conversation

Give continuous attention to technical excellence

Working software is the primary measure of progress

Simplify: maximize the amount of work not done

Teams self-organize Teams retrospect and tune their behaviours

Common issues we face Not having enough resources (UX and SETs are shared resources) No full-time product owner We need to meet release deadlines Difficult to balance between fixing technical debt and delivering

features Constantly changing requirements Poor communication

Common issues we face Not having enough resources (UX and SETs are shared resources) No full-time product owner We need to meet release deadlines Difficult to balance between fixing technical debt and delivering

features Constantly changing requirements Poor communicationAdapting the Process to Fit The Circumstance

Our Product Development Team

User Experience Engineering Test DevOps

Each team run their own scrum and their own sprint planning

Team alignment is from the quarterly release plan

UX team will always had the head start

UX and Test joins the engineering daily scrum

Everyone involved in the planning

Our development process

Our UX process

Concepts & Prototype

Internal & External validation

Document requirements

Presentation to stakeholder for sign-off

Requirements Gathering and Design Research

- Validate internally to ensure business goals met & technically feasible- Validate externally with customers and users to ensure their needs are met & expectations managed

- Sketches and conceptual design and validation with the developers- Realistic clickable prototype to communicate user journeys

- Gathering requirements and data from various sources. - Research to understand users, use cases & pain points

- Documenting key behaviours and design decisions for future reference

- Present outcomes to stakeholders in Product Panel for feedback and sign-off

Presentation to development/testing/instructional design team

- Present outcomes to team to enable execution of respective tasks- Evangelise knowledge on the customer & user

Iterate

Development Phase in details

Phases Description Communications

Requirement Gathering

Initial phase of scoping and discussion Minutes and outcomes of product panel meeting communicated to involved parties

Feature Development

Software Development

Feature Stabilization Feature testing, bug fixing (production and feature release) and product showcase

Show case agenda will be communicated to relevant parties

Regression Testing Final testing and preparation for release Release communication to all staff after release readiness meeting

UX Process Feature Development Feature Stabilization

Regression Testing / Release

Product Panel Meeting

Requirement Review

Sprint Planning

Test Case Review

DevelopmentFreeze

ProductShow case

Code Freeze

Release Readiness

Meeting

Release ReleaseRetrospective

Monthly sprint

Sprint planning for development

Technical analysis Estimation Choose story Task breakdown

Agile software

SummaryBe Lean

Be disciplineAgile is our culture

“Culture is process. Identify your culture and promote that.”

THANK YOU