Effektiver Tool-Einsatz



Similar documents
Agile Project Management

Agile Software Development and Service Science

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Agile Software Development and Service Science

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Software Development In the Cloud Cloud management and ALM

Software infrastructure for Java development projects

Java Software Quality Tools and techniques

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Agile ALM. Lightweight tools and Agile strategies MANNING MICHAEL HUTTERMANN. Shelter Island

Bridging the Gap Between Acceptance Criteria and Definition of Done

Testing Lifecycle: Don t be a fool, use a proper tool.

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Continuous Delivery. Ariel Alonso, IPC

Software Continuous Integration & Delivery

Software Life Cycles and Configuration Management

Agile Development Overview

An Example Checklist for ScrumMasters

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Agility via Software Engineering Practices

Software Engineering I (02161)

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

Continuous Integration

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Introduction to Agile Software Development Process. Software Development Life Cycles

SOFTWARE DEVELOPMENT BASICS SED

Call for Tender for Application Development and Maintenance Services

Agile Information Management Development

Benefits of Test Automation for Agile Testing

SECC Agile Foundation Certificate Examination Handbook

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

How To Be Successful At An Agile Software Engineering

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

D25-2. Agile and Scrum Introduction

Introduction to Agile and Scrum

Maintaining Quality in Agile Environment

Agile Project Management By Mark C. Layton

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

How To Do Continuous Integration

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Business Analysis In Agile A Differentiated Narrative

When is Agile the Best Project Management Method? Lana Tylka

Upping the game. Improving your software development process

Using Scrum to Streamline Web Applications Development and Improve Transparency. Michelle Frisque

Agile Testing. Workshop. Tilo Linz, imbus AG

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

TeamCity A Professional Solution for Delivering Quality Software, on Time

Client Overview. Engagement Situation. Key Requirements

A Hundred Days of Continuous Integration

Software Development Tools and Frameworks

Project Management. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies

Agile Software Development

IMQS TECHNOLOGY AGILE METHODOLOGY

Finally, an agile test strategy (that works)! AS OW Test Model, Objectware

Security Automation in Agile SDLC Real World Cases

Teaching Agile Software Development at University Level 1

Product Stack and Corporate Overview

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

Quality Assurance Plan

AGIL JA, ABER SICHER? , ANDREAS FALK, 34. SCRUM TISCH

Patterns to Introduce Continuous Integration to Organizations

How Silk Central brings flexibility to agile development

Applying Agile Project Management to a Customized Moodle Implementation

Laboratório de Desenvolvimento de Software

Software Construction

Modern practices TIE-21100/

Models of Software Development

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

Continuous Delivery / Continuous Deployment How to automate your Deliveries. Bernhard Keprt

Surviving SOX with Scrum. Integrating Scrum in IT Governance at Allianz

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Agile and lean methods for managing application development process

Increasing Development Knowledge with EPFC

RISK MANAGMENT ON AN AGILE PROJECT

Planning of Project Work (IS PM 6. Lecture, 2011 Spring)

Test Driven Development with Continuous Integration: A Literature Review

Code Quality Assurance. Peter Kofler, Code Cop FH Technikum Wien, February 2010

Agile Software Development

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Deliverable DS4.3.2: Report on Development Infrastructure Usage and Adoption

MTAT Software Engineering

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

Continuous Inspection

Experiences Linking Business Architecture with an Agile/Lean Development Method

The 3C Approach for Agile Scrum Software Methodology Jisha Johns, Akhil P Sivan, Prof. K Balachandran, Prof. B R Prathap

Continuous Delivery. Alejandro Ruiz

Certified Scrum Master Workshop

Transcription:

Effektiver Tool-Einsatz für Scrum-Projekte im Java-Umfeld Agile Softwareentwicklung Werte, Prinzipien, Methoden und Prozesse 13. OBJEKTspektrum Information Days 29. April 2010, München Gerhard Müller, Dr. Martin Wagner TNG Technology Consulting GmbH, http://www.tngtech.com

What we expect from you Expected Knowledge Knowledge of Scrum principles Basic knowledge of agile development General enterprise software development know how TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 2

There is a clearly defined process with few artefacts Scrum Flow: Artifacts & Meetings Estimation Meetings Source: http://www.infoq.com/minibooks/scrum-checklists (free registration required), modified TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 3

It is one of our views. Background Our experience demonstrated here is a concrete example, other ways may also work Worked for startup and mid-size (650 employees) company 2 week iterations Disclaimer: TNG is an Atlassian Partner (because we love their products) So there is lot of 'Jira' and 'Confluence' TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 4

Hardware Ingredients One Room Digital Camera DIN A6 File Cards Development Server Planning Poker Cards (Huge) Task Board TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 5

Software Ingredients Wiki Confluence Issue Tracker Jira Version Control Software Subversion Mind Mapping Software Freemind Artifact Management Software Artifactory TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 6

What do we do tomorrow? Product Backlog Freemind, http://freemind.sourceforge.net/ Mind map containing coarse planning for future sprints Upcoming user stories, containing Detailed explanations Acceptance tests Jira, http://www.atlassian.com/software/jira/ Technical Product Backlog bugs, improvements, ideas Business Support, Production Issues Technical debt ( works for now, but has to be revised ) TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 7

What do we do tomorrow? Product Backlog TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 8

What can we achieve? Sprint Planning 1 Freemind Online Planning Poker Team Commitment Result: Mindmap containing selected product backlog Stored in Confluence Who: Whole team plus Product Owner, about 1-2h TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 9

One step at a time Sprint Planning 2 Discussion of detailed design Every team member knows design Breakdown of tasks follows naturally Cardboard: two colors User Story blue, Task white Specific JIRA issue type User Story, tasks modeled as JIRA sub-issues Result: Colorful task board Who: whole team, about 2-3h TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 10

What can we achieve exactly? Selected Product Backlog in Jira TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 11

Done means DONE Definition of Done (DoD) thinking grid Picture source: http://www.scrumalliance.org/articles/106-definition-of-done-a-reference TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 12

Defining Definition of Done Done should be different for each team TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 13

Round and round again Testing (focus on Java) It s all about feedback loops! Test Framework: TestNG (categories!) Test Types/Categories: unit (Mockito), integration, performance, ui, e2e (client/server) for staged builds UI Tests: Selenium RC Java Script Tests via Selenium Some source code aspects (platform dependency, package dependencies, ): AspectJ (included in maven build) TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 14

Open Source provides great tools Testing Technology Stack (focus on Java) Spring 3.0 Dependency Injection is a must TestNG Categorize your tests Mockito best Mocking framework around DbMaintain incremental database updates Fitnesse automating acceptance tests in a Wiki Selenium also browser UIs can be tested TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 15

Refactoring Databases made easy Handling Database Schema Changes Think of modification of DB schemas as versions May be implemented by a meta table in the database Use DbMaintain to execute incremental database updates Integrate DB database update into version control and continuous integration Make sure software and database schema versions match, e.g. by checking this at application startup Book: Refactoring Databases TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 16

Daily business Daily Scrum Tasks are moved on card board States: Open, In Progress, In Review, Done Quick overview Jira issues are changed accordingly Starting a user story specify person responsible for story Limit size of queues if discipline is needed (e.g. too many open reviews) TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 17

Everyone is a manager Working with Tasks Tasks on Task Board Tasks in Jira Tasks in Eclipse - Mylyn TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 18

And the DJ is Hudson Build & Test Server: Hudson Hudson, http://hudson-ci.org/ Continuous Integration Nightly Build External Integration 1-Click Release Job TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 19

Big Hudson is watching you Automated Reporting via Hudson Cobertura (test coverage), FindBugs (static code analysis) and others are part of nightly build E-Mails for broken builds Anyone breaking the build has to get cookies for the team TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 20

Source Code Quality matters http://sonar.codehaus.org/ Identify hot spots and trends TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 21

Big Jira is watching you, too Tracing Code Changes Subversion: Commits must have valid Jira Issue Number Jira commit acceptance plugin Hudson shows all changes since last build Including Jira issue numbers (ensure via commit acceptance plugin) Especially important for release builds Jira lists all changes associated with a particular issue Jira subversion plugin Quelle: TNG TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 22

Round and round... Automated Builds Independent of individual team members Release process automated as well Specific Hudson jobs (includes tagging of source code) Great way to ensure frequent potentially shippable product increments without additional effort Enterprise Maven Repository Well-defined place for release artifacts Tool: Artifactory Quelle: TNG TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 23

Agile Dilbert style Source: http://www.dilbert.com TNG Technology Consulting GmbH, Effektiver Tool-Einsatz

Reviews help Workflow demands explicit Review Explicit Peer Review, Definition of Done as checklist Jira links to source code and documentation Task/Story finished? Tests sufficient? Coding style? Documentation? Development process defined within tools (e.g. Jira) No more misleading long Word documents Instead: executable process specification, linking of information Quelle: TNG TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 25

Just enough paperwork Documentation Emergent documentation with implicit updates and verification during review process, update notifications Clean code and JavaDoc for source code Confluence (Enterprise Wiki) for the rest Development: Domain model, deployment, architecture, branching, team, guides Install Guide, Admin Guide, User Guide Separate Spaces in Confluence http://www.atlassian.com/software/confluence/ TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 26

What have we done? Sprint Review Version from stage repository Created by release build Deployed on test system Who: Whole team plus Product Owner and currently relevant stakeholders Result: Happy stakeholders, often some new product ideas 1h, not much preparation (no PowerPoint!) TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 27

What can we improve? Retrospective Team plus Product Owner if invited About 1-2 h (longer if necessary, albeit time boxed) NOT in the team room go outside, special meeting room, beer garden Gadget-free environment Design experiments changing team process Only some doable changes Evaluate at next retrospective TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 28

Only the team knows what s possible. Estimation Meetings Weekly, strictly time boxed Usually short (30min) Input for Product Owner How large are new user stories? Are user stories specified well enough? Which clarifications are necessary? Input for Team What will we do during the next Sprints? Which technical knowledge do we have to build? Quelle: TNG TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 29

Scrum knowledge Helpful Books Succeeding with Agile Software Development Using Scrum (Mike Cohn), ISBN978-0-321-57936-2 Scrum. Produkte zuverlässig und schnell entwickeln (Boris Gloger), ISBN 978-3446419131 Scrum and XP from the Trenches (Henrik Kniberg), ISBN 978-1430322641, Free PDF: http://www.infoq.com/minibooks/scrum-xp-from-the-trenches The Art of Agile Development (James Shore, Shane Warden), ISBN 0-596-52767-5 Continuous Integration: Improving Software Quality and Reducing Risk (Paul Duvall, Steve Matyas, Andrew Glover), ISBN 978-0321336385 Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin), ISBN 978-0132350884 Implementing Lean Software Development (Mary and Tom Poppendieck), ISBN 978-0321437389, http://www.poppendieck.com/ilsd.htm xunit Test Patterns: Refactoring Test Code (Gerard Meszaros), ISBN 978-0131495050 TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 30

Speaker Contact Data TNG Technology Consulting GmbH TNG Technology Consulting GmbH Betastr. 13a Betastr. 13a 85774 Unterföhring 85774 Unterföhring Tel. +49 (0)89 2158 9960 Tel. +49 (0)89 2158 9960 Fax +49 (0)89 2158 9969 Fax +49 (0)89 2158 9969 Gerhard Müller Mobil +49 (0)179 1338 060 Dr. Martin Wagner Mobil +49 (0)176 2394 7429 Diplom-Informatiker (Univ.) Partner gerhard.mueller@tngtech.com Dipl.-Inf. Principal Consultant martin.wagner@tngtech.com TNG Technology Consulting GmbH, Effektiver Tool-Einsatz 31