WhoAmI() {return HienNguyen = {
{ board_member _at_ agile_vietnam },{ [[no-‐title]] _at_ Planday };
}}
2
why_am_i_staying_here = {@Share a case study of Agile applying in Planday,@Hiring J
my_expectations : [@You know how we are doing / being in Agile projects / environment,@Get your comments of what we are doing / being right / wrong,@Find the talents onboard with us
]
}
3
what_am_i_talking_about = {agile_project : [
practices,collaboration,automation && visualization,continuous_integration,lean
],agile_environment : [
working_style,motivations
]
}4
planday ::contextplanday = start_up {
product : workforce_scheduling_system,company_size : 60,offices : [ CPH, HAN, LND, OSL ],hanoi _office : office.open( 2013 ),projects : [
system_maintainance,platform,mobile,…
]}
5
project ::visualization
where reason = visualize_most_as_possibleà visualize ([
team_board,wiki,commit,build,…
]);
8
project ::workflow
User storyAccept criteria
agreement
DoD
Interface definition
Code Test
CodeCode reviewTestBuild
pipeline integration
Sub task
dev : test1: 1
dev : test1: 1
12
project ::flow ::interface_definition
As normal user, I want to get all portals, support pagination
13
project ::testing
test_types = [{ unit_test, nunit },{ integration || contract_test, nunit },{ performance_test, jmeter }
]
14
project ::ci ::build
automated_build = {by_commit : true,db_migration : {
auto : true,name : #RoundhousE
}break_build_on_error : true,notify_to : #HipChat
}18
project ::ci ::test
automated_test = {by_commit : true,test_types : [
unit,integration,performance
],break_build_on_error : true,notify_to : #HipChat
}19
project ::ci ::deploy
automated_deploy = {trigger : commit,tool : #Octopus,environments : [
test,staging,production
],notify_to : #HipChat
}21
project ::ci ::code_quality_control
automated_code_analysis = {trigger : daily,tool : #Sonar,steps : [
checkout,analyze,log_n_report
],integrate_to_build_pipeline = false,
}22
project ::ci ::environment
environment = {name : #amazon_aws,reasons : [
on_demand_scale,easy_to_clone
],on_off_flexible : true,
}
24
environment ::management
directions = [@Work hard, play hard@It’s not bad when we have mistakes, it’s
just bad if we don’t know we are doing wrong or don’t want to make it better
@Go lean]
26
env ::simple_3
simple_3 = [rules : [
respect_to( [contract, colleagues, … ] ),
!share( private_things ),!say_bad_thing_about( colleagues,
back ),],always_invoke( good = 3, bad = 3,
time_out_minutes = 3 )]
27
env ::mngt ::[[no-‐title]]
works = whatever( member -‐> satisfied ) {keep_direction( right );support_member( all );
}
29
env ::mngt ::members
member.works = whatever( self -‐> satisfied, environment -‐> better ) {
self-‐aware( actions );support_colleague( all );motivate( [self, others] );improve( [self, others] );
}team = {
self-‐organized : true} 30
env ::activities
activities = [works : [
saturday_talk,code_challenge,shipit_day,…
],plays : [ football, film, big_friday, … ]
]31