scrum gathering 2012 shanghai...
Post on 21-May-2015
835 Views
Preview:
DESCRIPTION
TRANSCRIPT
6年一线敏捷实践心得分享之持续集成
秦之远
Continuous integration and
development process
Self introduction 秦之远 Nokia Siemens CI product owner
• Lead continuous delivery transformation for NSN WCDMA
3G platform department(400~500 persons currently)
• Starting scrum from 2006
• TDD coach & Linux programmer
• Focus on test automation
WEIBO : http://www.weibo.com/loveatbupt
continuous integration technical areas continuous integration execution areas
topic today
Iterative development story
10 tons apple
Iterative development
Iterative items
Iterative development story
Empty
All iterative items are done
6 tons
Where is the other 4 tons apple?
Iterative development story
Where is the other 4 tons apple?
• Quality leak
• Technical debt
More teams turn to be
maintenance team !
Iterative development story
Small change, less risk
Integrate earlier
CI precondition
SCM
Product code repository management
Version control
Automatically release & deploy
Compiler & compile server
Product compilation architecture
Basic
Unit test/Unit test coverage
Visibility of SW code quality
Cluster compilation
Incremental compilation
Advanced
CI precondition
Test automation
TA tool/case implementation
TA case admission control for CI
Avoid the duplexity of TA case in different teams
TA coding style
Basic
Modularity of TA self
Visibility of TA cases’ metrics / static analysis
Classification/management of TA cases.
TA testing strategy
Advanced
Jenkins & Plug-in development skill
R&D I&V
Grooming
ATDD
CI precondition
Preferred agile practice
Requirement
Coding UT TDD
CI
I
II II
III III
A failed CI development process
Check out
Develop Pre-compile
Pre- UT & FT check in
I
II
III
IV V
trunk
Product CI
Compile &
FT
VI
is not really followed
because of no visibility, that’s
why the book fails
IV III
build x build x + 1
CI 1.0 development process
token CI system
Check out
Develop Pre-compile
Pre- UT & FT
token
merge
I
II
III
IV V
trunk
build x build x + 1
VII
PCI success then
release to B
Product CI
Compile &
FT
VI
VII
CI 2.0 development process
multi-stage CI & promotion
check in
component CI (based on build x)
check in
component CI (based on build x)
check in
component CI (based on build x)
trunk
Pending Queue
promote promote promote
trigger
I I I
II II II
III
Product CI
build x build x + 1
IV
sync
fail & rollback
dependency
management
…
2
check out/in
…
define quality target
coding style
static analysis
unit test
I
set quality target
on CI 3.0
component CI-n component CI-1
II
CI 3.0 analysis center
III
duplex increase 2.5% complex increase 2.7%
UT coverage decrease 5%
IV
trunk
Promote
when
clean code
V
product CI
VI merge
CI 3.0 development process
continuous quality improvement
Q&A
Thank you
top related