titl CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 1 PV213 Enterprise Information Systems in Practice 05 – Development process titl CZ OPVK_MU_vlevo_2 PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 2 zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› OPVK_MU_stred_2 PV213 EIS in Practice: 05 – Development process 3 * zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 4 Content of this presentation * Development process in general * Waterfall model * Iterative and incremental development * Agile development * Process tailoring * Scrum zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 5 Software development process Lead management Opportunity development Bid/offer preparation Contract negotiation Project won/lost Go/No-Go Bid decision Bid approval Project opening Manufacturing (Development) Customer acceptance Project closure Warranty Project end zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 6 Software development method * Defined development approach to streamline the development process * * Examples * Waterfall * Iterative and incremental * Agile * Sometimes combination of models is used zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 7 Waterfall model * Sequential development * Pros * Documentation * Easy to understand * Design according to all features * Cons * Handling of defects from early phases * Reaction on change of requirements * Missing feedback from customer on preliminary product File:Waterfall model (1).svg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 8 Iterative incremental development * Cyclic development * Pros * Customer feedback on preliminary product * Fast reaction on new customer requirements * Cons * Original design may not fit to new requirements File:Iterative development model V2.jpg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 9 Agile development * Group of methods and approaches * * Methods * Scrum * Extreme Programming * Feature Driven Development * … * File:Agile Software Development methodology.jpg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 10 Agile manifesto * We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: * Individuals and interactions over processes and tools * Working software over comprehensive documentation * Customer collaboration over contract negotiation * Responding to change over following a plan * http://agilemanifesto.org * zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 11 How to decide? * Contracting * Customer involvement * Requirements * Organization * Development team and infrastructure * Project size * Safety and security aspects of the product zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 12 Tailoring * Method/process adaptation according to individual needs * Standards (ISO, CMMI) * Organizational rules * Customer requirements * Project size * Project complexity * Other project specifics * zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 13 Scrum * Scrum-1 zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 14 Scrum * File:Scrum process.svg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 15 Scrum roles * Pigs (committed) * Development team * self-organized * responsible for increment * Product owner * represents customer * responsible for results * ScrumMaster * servant-leader * responsible for process * Chickens (involved) * Managers * Stakeholders A Pig and a Chicken are walking down the road. The Chicken says, "Hey Pig, I was thinking we should open a restaurant!". Pig replies, "Hm, maybe, what would we call it?". The Chicken responds, "How about 'ham-n-eggs'?". The Pig thinks for a moment and says, "No thanks. I'd be committed, but you'd only be involved!" zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 16 Scrum documents * Product backlog * Sprint backlog * Burn down chart Burn_down_chart zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 17 Scrum meetings * Spring planning * Sprint backlog – features * Sprint goal * Daily Scrum * Team synchronization * Burn down chart * Sprint review * Product presentation * Sprint retrospective * Possible improvements identification File:Scrum process.svg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 18 Product backlog * Prioritized list of requirements/user stories * Items granularity * High priority – fine * Medium priority – medium grained * Low priority – coarse grained * User story * Who, what, why * As a … I want … because … * Definition of done zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 19 Sprint planning * Tasks from highest priority product backlog items * Sprint backlog * Tasks * Effort * Team capacity * Sprint goal • File:Scrum process.svg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 20 Daily Scrum * Stand up * Up to 15 minutes * * Questions * What have you done since the last meeting? * What you will do till the next meeting? * Do you have any impediments? * File:Scrum process.svg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 21 Sprint review * Presentation of sprint results * Feedback from Product Owner * Product owner accepts or rejects them * Makes project status transparent * File:Scrum process.svg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 22 Sprint retrospective * Correct dysfunctional behavior * Lessons learned File:Scrum process.svg zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› PV213 EIS in Practice: 05 – Development process 23 Scrum and Extreme programming * Pair programming * Two developers, driver and observer * Test-driven development * First an automated test is created * Implement and refactor * Continuous integration * Automated build and tests * Collective code ownership * Everyone responsible for all the code zahlavi CZ PV213 EIS in Practice: 05 – Development process ‹#› OPVK_MU_vlevo_2 PV213 EIS in Practice: 05 – Development process 24 •Děkuji za pozornost.