Run hybrid agile + waterfall nguyen vu hung scrum-day2013

28
Attribution-ShareAlike CC BY-SA Nguyễn Vũ Hưng ScrumDay Vietnam 2013/10/06, Hanoi FaceBook/Email: [email protected] Tel:0904-28-7878 Run Agile + Waterfall

description

Giới thiệu ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích: Giới thiệu và thúc đẩy sự phát triển Agile\Scrum Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau: Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh. Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market" Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.

Transcript of Run hybrid agile + waterfall nguyen vu hung scrum-day2013

Page 1: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

Attribution-ShareAlike CC BY-SA

Nguyễn Vũ HưngScrumDay Vietnam 2013/10/06, HanoiFaceBook/Email: [email protected]:0904-28-7878

Run

Agile + Waterfall

Page 2: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

2Attribution-ShareAlike CC BY-SA

Agenda✔ Introduction

✔ Experimental Purposes

✔ Agile Manifesto

✔ Conclusions

✔ Project Requirements

✔ Notes on Customers

✔ SDLC

✔ Organization and Communication

✔ Planned/Actual Process

✔ Rough Estimation

✔ First Planning

✔ Requirement Definition

✔ Prototype

✔ Design

✔ Coding/Unit Test

✔ Integration Test

✔ Bugfix/Test/Review

✔ TiDD

✔ Results/Looking Back

✔ Lesson Learned

✔ Q&A

Page 3: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

3Attribution-ShareAlike CC BY-SA

Introduction● Nguyễn Vũ Hưng

● Project Manager/PMO● Japanese SI/IT Company● In love with FOSS and Agile

● Contact Info● Facebook/Email:

[email protected]● Tel: 0904-28-7878

Page 4: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

4Attribution-ShareAlike CC BY-SA

What I am Looking for● Balance between

● Agile and Waterfall– Old and New– East and West– Direct and Indirect

● Big and Small● East and West

● The best SDLC● In general● Suits my needs

● Try something new?

Page 5: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

5Attribution-ShareAlike CC BY-SA

Manifesto for Agile Software Development

●プロセスやツールよりも個人と対話を、●包括的なドキュメントよりも動くソフトウェアを、●契約交渉よりも顧客との協調を、●計画に従うことよりも変化への対応を、

Page 6: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

6Attribution-ShareAlike CC BY-SA

Today's Topics

Transition: Waterfall → Agile + Waterfall

Manage Changes

Share Experience

Page 7: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

7Attribution-ShareAlike CC BY-SA

Conclusions

● Yes, Agile and Waterfall can be mixed● Overlapped phases● A working product is

important

Quy trình thực tế

Estimate

Planning

Requirement Gathering (RD)

Prototype

Basic/Detail Design

Coding/Unit Test (CD/UT)

Integration Test (IT)

Alpha 1, 2, Beta 1, 2, 3, 4, RC, Final

System Test (ST)

User Acceptance Test (UAT)

Page 8: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

8Attribution-ShareAlike CC BY-SA

Project Requirements (business)● Copycat existing product

● To develop a product that is similar to an existing one

● 40-ish main features● Customer is unclear on what they must do

● 10-ish constraints● Time-to-market

● Almost fixed

● First output● Rough estimation (time and cost)

● Copycat existing product● To develop a product that is similar to an existing one

● 40-ish main features● Customer is unclear on what they must do

● 10-ish constraints● Time-to-market

● Almost fixed

● First output● Rough estimation (time and cost)

Page 9: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

9Attribution-ShareAlike CC BY-SA

Nhận định khách hàng● Tham lam

● Muốn nhiều yêu cầu

● Bảo thủ● Nhật Bản, Á Đông

● Bẫy kinh nghiệm● Tuổi trung bình PMO:   U50

● Mô hình top-down● Áp đặt● Tổ chức/quy trình cũ (waterfall là duy nhất!)

Page 10: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

10Attribution-ShareAlike CC BY-SA

Software Development Lifecycle (SDLC)

Page 11: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

11Attribution-ShareAlike CC BY-SA

Project Orgnization/Communication ● Product Owner● Requirement Supplier● Project Management Officer● Development Team

Page 12: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

12Attribution-ShareAlike CC BY-SA

Planned Process (1)● Top-down● Waterfall● Process exit condition

● RD→Design→CD/UT→IT

Page 13: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

13Attribution-ShareAlike CC BY-SA

Planned Process (2)● Top-down● Waterfall● Process exit condition

● RD→Design→CD/UT→IT

FAILED

Page 14: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

14Attribution-ShareAlike CC BY-SA

Rough Estimation● Function Point (FP)

● Lack of information● Lack of historical data● Less accurate

● Actual Estimation Method● Not available: Use case, story points...● Use an FP variant

– # of screens and the # of input/output on each screen– Effort (man-day) needed to complete a screen

● Requirement, Design, Coding/UT, IT

– Consolidate above efforts

# Sample FP estimation:

Page 15: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

15Attribution-ShareAlike CC BY-SA

Planning

Công số theo người

Kế hoạch phát triểndự kiến theo tháng

Page 16: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

16Attribution-ShareAlike CC BY-SA

Actual Progress● It is unique for each project● Re-Plan is occurred until the end of the project

Page 17: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

17Attribution-ShareAlike CC BY-SA

Requirement Gathering (RD)● Scope creep● Greedy customer: They wants everything● Time constraints● Company regulation: RD→Design→CD/UT● Could not get approval on RD

● This is the weakness of Waterfall

● Actual progress● Prototype, coding while doing RD/CR, or● Do all process in parallel

Page 18: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

18Attribution-ShareAlike CC BY-SA

Prototype● A working deliverable

● Helps customers have an idea on what they will have

● When RD is not finished● Sub steps

● Balsamiq prototype● Photoshop

– CSS, HTML, PNG● PHP

# Screenshot is taken from another project

Page 19: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

19Attribution-ShareAlike CC BY-SA

Design● Required deliverable

● Basic/Detail Design● Prototype● Screen design● Data design

● Waste of time with none or little future use

Page 20: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

20Attribution-ShareAlike CC BY-SA

Coding/Unit Test● Training● Proof of Concept

● Focus on complicated modules● Technical feasibility to reduce risks● Evaluate performance of PoC code

● Coding● Every screens (frontend) and commands (backend)● When the design is done

● Customer Review/Update: #1, #2, #3,...● Unit test

Page 21: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

21Attribution-ShareAlike CC BY-SA

Integration Test● Put software components together

● Backend/frontend

● With network devices● Various software configurations● Various Hardware configrations● Test on multiple versions

– Network devices– Frontend server– Backend services

Page 22: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

22Attribution-ShareAlike CC BY-SA

Sprints: Bugfix/Test/Review● Alpha, Beta, RC, Final

● 8 sprints● Customers/Users involved testing● One Sprint per a week● Customers review (→retro)● Test● Bugfix ● Enhencement

# 1 week/sprint

# 1 week/sprint

Page 23: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

23Attribution-ShareAlike CC BY-SA

Ticket-Driven Development (TiDD)

TicketTicketTicketTicket

Page 24: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

24Attribution-ShareAlike CC BY-SA

Actual Results● One month behind schedule● Design: 100% rework● Overlapped processes

T4 T5 T6 T7 T8

Page 25: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

25Attribution-ShareAlike CC BY-SA

Lessons Learned● Waterfall

● Consumes more time than Agile● Not flexible

● Predictive (Waterfall) not as good as adaptive (Agile)

● Clear exit condition is crucial for both

● Free test and CI can cover good quality

● Take risk and take responsibility

● Ticket-Driven Development (TiDD)

● Continuous Integration (not really)

● "Không sáng tạo với khách hàng Nhật"?

Page 26: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

26Attribution-ShareAlike CC BY-SA

My Concerns and TODOs -;(● Does it really works?

● Does project size matter?

● What are the side effects on transition?

● Where are the tipping points for innovation?

● Redmine + Hudson

● Redmine + Jira/TestLink

● ISO/IEC 15504: Information Technology - Process Assessment

● PMBOK 5th/ISO 21500: Guidance on Project Management

● "Agile" Maturity, as in Capability Maturity Model

Page 27: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

2013/10/06 ScrumDay Vietnam 2013FPT Aptech, Hanoi, Vietnam

27Attribution-ShareAlike CC BY-SA

Q

Page 28: Run hybrid agile + waterfall   nguyen vu hung scrum-day2013

Attribution-ShareAlike CC BY-SA

Nguyễn Vũ HưngScrumDay Vietnam 2013/10/06, HanoiFaceBook/Email: [email protected]:0904-28-7878

Run

Agile + Waterfall