1 / 22

Agile development

Agile development. By Sam Chamberlain . First a bit of history. Waterfall development and the V model. Waterfall the V model. In the beginning there was no process Then waterfall is / was a very heavily used software development lifecycle (SDLC)

meris
Download Presentation

Agile development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile development By Sam Chamberlain

  2. First a bit of history..

  3. Waterfall development and the V model

  4. Waterfall the V model • In the beginning there was no process • Then waterfall is / was a very heavily used software development lifecycle (SDLC) • V model is an enhancement on the waterfall method with corresponding testing materials being prepared at each stage • Traditional project management is similar. For example PRINCE 2, MS Project, Gant charts etc.

  5. V model characteristics • Try and decide requirements at the beginning • Budget and time also fixed • Lots of detailed, up-front specification and modelling (UML for example) • What usually happens is requirements change somewhat and then time and budgets slip as well • Disconnect between business and development • Testing and quality often an afterthought

  6. Introducing Agile • Iterative and incremental • Fixed, time-boxing but then changing, prioritised requirements • Customer focussed • The Agile manifesto • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan

  7. More from the Agile Manifesto • Customer satisfaction by rapid delivery of useful software • Welcome changing requirements, even late in development • Working software is delivered frequently (weeks rather than months) • Working software is the principal measure of progress • Sustainable development, able to maintain a constant pace • Close, daily co-operation between business people and developers • Face-to-face conversation is the best form of communication (co-location) • Projects are built around motivated individuals, who should be trusted • Continuous attention to technical excellence and good design • Simplicity- The art of maximizing the amount of work not done - is essential • Self-organizing teams • Regular adaptation to changing circumstances

  8. Agile and Agile Scrum • Scrum is a popular Agile methodology • Different to XP - eXtreme Programming or Unified Process, Lean etc. • But methodologies can be mixed • Characteristics of scrum • Sprints • Product and sprint backlog • Stand-up • User stories

  9. Agile scrum - lifecycle

  10. Scrum roles • Product owner • Responsible for Product Backlog • Interface with business, stakeholders and customers • Removes product obstructions • Scrum master • Facilitator for the scrum team • Enforces rules • Removes team obstructions • Development team • Programmers • Testers

  11. Scrum lifecycle • Daily stand-up / scrum – “what have I done, what am I doing next, are there obstructions” • Backlog grooming with Product Owner • Sprint planning and “planning poker ”mainly with Development team • Development and testing • No new stories in the sprint • “Done, done” • Product release – working software  and communication with stakeholders • Sprint retrospective

  12. Agile – board

  13. Sample – burn-down chart

  14. User stories and their use • "As a <user type> I want to <do some action> so that <desired result>“ • Small piece of functionality needed by a user • Stack rank – i.e. priority • Story points – important: measure of complexity only • Associated tasks – with time estimates • Includes detailed “acceptance criteria” • Should be at least one test for each acceptance criteria item • “Done, done” means a story has been closed – i.e. all tests passed successfully

  15. Agile bugs • Bugs found in the iteration should be fixed in the iteration, otherwise the relevant story should be removed from the iteration. Planning needs to make time for this • Other bugs or customer bugs are placed in the backlog and put into iterations during planning • Bugs need to be reproducible and fully analysed before they are added to the backlog • Continuous integration and automated testing as well as experienced scrum will mean less bugs. A well working scrum often has no open bugs

  16. Successful Agile • Constant improvement of process • Deliver around the same amount of story points each iteration • Even burn-down rate • Contents of iteration planning match what is released at the end of each iteration • Confident stakeholders – “if we don’t get it this iteration, we’ll get it in two weeks” • Constant refactoring • No or very few open bugs • Regular “cool-down” and refactoring iterations

  17. Other aspects of Agile • Product roadmap and vision • Release notes and other documentation • Self organising teams • No managers, aside from line-managers • Scrum Master tries to enforce rules, remove impediments • Product Owner manages the product backlog and priorities, but has no control over what the scrum actually does • Pair programming – used allot in XP • Scrum / Agile works very well with SAAS

  18. Continuous integration • Technical: Scrum / developer responsibility • Code repository and daily builds • Constant check-ins • Tests run frequently • Automated testing – build up a regression test suit (code) that can be run any time, quickly • Separate Dev, testing, staging and live systems • Can help to have a tool to manage everything from the scrum, to the code and check-ins, to the test suit, to reporting – for example MS TFS

  19. Implementing Agile for a Company • Asses suitability of Agile and appropriate parts • Form team and define roles • Good to have experienced Scrum Master • Need dedicated tester(s) • Need Product Owner • Decide on tool(s) • Product Road map • Define and start to prioritise and groom user stories • Start scrum cycles • Move towards continuous integration and automated testing

  20. Sam Chamberlain – relevant skills • Plan and implement high level Agile processes • Guidance on Agile and Agile principles • Product ownership • Product road map and product release • Business and systems analysis • Extensive technical knowledge • Testing and training • Supplier shortlisting, selection and management • Recruitment

  21. Questions?

  22. Thank you

More Related