Published on January 30, 2013
No tools == No Agile!
Agenda Introduction Scrum @Nucleus Scrum @Nucleus with tools Screenshots Traceability Achievements & Vision Potential pitfallsQ&A
My involvement with software products started in 2000 and has continued till date. I have been an Agile practitioner for ~5 years and have played multiple roles of developer, scrum master, architect and product manager. I have worked with products in all stages of the product lifecycle right from inception to maintenance and EOL.Currently @Nucleus working with ~4 Scrum teams following Lean and Agile principles to create the next generation product.
Scrum @Nucleus 5
Scrum •Daily Scrum •Daily Work •Daily Cycle •Sprint planning meeting PREPARATION •Business case & funding •Contractual agreement •Vision •Initial productbacklog RELEASE •Initial release plan SCRUM PROCESS •Product •Stakeholderbuy-in increment •Update •Assemble team product backlog •Impediment List •Scrum master •Product backlog •Sprint •Sprint retrospective review•Product backlog Delta •Product ownerreport SCRUM SCRUM ROLES ARTEFACTS •Product backlog burndown •Users •Stakeholders •Sprint backlog •Sprint backlog burn down
My team @Nucleus Follow the book We have a flat team structure We publish a sprint, version and release dashboard The teams are in the range of 8 We retrospect on the glad/ to 10 people mad/ sad points in a sprint and The team was trained assign actions from them effectively on Scrum & Agile Scrum master is not doing any project management Scrum masters are mentoring the team membersTeam members are coached totake ownership of the work done We create all backlogs: release, version, sprint & impediment We perform all of the Scrum ceremoniesSprints are demoed to PO andrecorded
Done? When team says they are “DONE” for a * release Quality Control Functional testing – running the entire suite of tests Penetration testing done by a team ofPenetration Testing internal expertsPerformance Testing Perforance testing done using performance test automation tools System testing / internal UAT done by System testing senior business analysts/ domain experts Integration testing done with other core Integration testing banking/ external systems
So… Question 1:Not putting a number/ percentage on compliance but doyou think we are following Agile? Question 2:Does Nucleus as a company see benefits/ gains from thischange in software development methodology? Question 3:Do our customers appreciate this change methodology, isthere any value they derive from this?
But…“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. “ From the agile Manifesto
RisksFixing bugs late is costly: Cost:Finding and fixing bugs late is Associated cost of doing thesecontradictory to fail early principle things manually and as a large chunk versus doing them slowly as part of each sprintQuality of code:What is the code quality, potentialdefects/ performance issuesinduced by bad quality of code.Critical path failures:How many times does a checkinlead to a completely dysfunctionalproductNon-deployable software:Against Agile philosophy of havingdeployable software after everyreleaseCode merge:When working with distributedteams code merges which aredelayed may create complexissues low risk medium risk high risk
Developers when asked to test How do you expect us We can get a QC person to estimate, code and on the team later and test in the same 2 then have a couple ofOops did you week cycle? hardening cycles totalk about SOPs I ensure quality is takenuse them for Cant we just rely on care ofdebugging the product owner, it is his job to mark it as done? I am a developer not a Why do we need to tester! run performance tests now, I mean there is still 6 months left to deliver? Use It is humanly impossible tools to do everything in a short timebox, with <=10 people without using proper tools.
Scrum @Nucleus With Tools 13
Scrum @NucleusProcess & Metrics SuccessfulAgile Tools DeliveriesAgile Teams
Continuous IntegrationContinuous integration is a development philosophy of “on checkin” developer integrations verified by automated builds and deployments. 1 Compilation Junit Java docs execution DB Performance integration & tests migration Functional Code tests inspection Deployment
Setup Prepare Product Backlog JIRA Target Deployment Server SVN Repository Update JIRAProduct Owner Check out sources Eclipse STS Mylyin Plugin Deploy Share Results JIRA Task Board Run Tests Close Task Open Task Logs Time Notifies Jenkins to trigger build Sonar Build Email Maven Feedback Developers SubEclipse Plugin Continuous Integration Server Jenkins
Tools used Eclipse Sonar IDE with plug- Code Quality Jenkins / Fish Eye ins and Coverage Maven Per checkin Traceability Builds J – Units/ SVN Selenium Source Code Automated Library Test SuiteJIRA Nexus Agile based Internal Project Automation maven Management repository Sprint is of 2 weeks. In which all engineering activities need to take place 17
JIRA Traceability Traceability: Mapping to JIRA
Junit Test Report
Integrated functional & performance tests Functional tests Performance tests
Traceability Quality AuditProduct Owner Scrum Team Quality Control Team Product metrics, User stories Product health score Dev tasks, Test scenarios, test enhancements, Traceability via JenkinsTraceability in cases, test case and JIRA defects and changeJIRA execution requests Traceability to dev tasks in JIRA via common user stories 29
Achievements & Vision 30
Achievements• Reduced count of build failures• Increased overall test coverage• Improved traceability and ability to find root cause for defects• Team focus on delivering product• Reduced cost incurred on build & release management• The team sees value of build & release and is focused on “continuous improvements”• Team feels more confident of the delivery made to the customers
Vision Repeat the model for multiple product Manage teams and customer improve further deployments for by cutting down patch releases/ on waste core upgradesIntegrate onlinefunctionalperformance andpenetrationscripts as part ofbuild
Potential pitfalls 33
Human Factor Do not forget we are dealing with 1 human beings and they have limitationsWhat is a build? The greatest factor for any Agile implimentation is the fact that we are dealing with human beings What is a build, the definition needs 2 to be clear and we need to perfect the team not the process. A lot of times we get carried away with theLocus process forgetting that process is meant to improve the team and the end goal is to improve The key player is the build engine: the team 3 JenkinsIncremental process Treat build & release as an 4 incremental process and better it in every sprint
Human Factor Do not forget we are dealing with 1 human beings and they have limitations Build may have different meanings for differentWhat is a build? people while some may think that it is successful compilation others may go beyond. What is a build, the definition needs 2 to be clear It is very important to emphasize and make everyone agree on one common build definition then live with it.Locus The starting point for feature/ debt addition is at The key player is the build engine: the developer desk we have to make sure what is 3 Jenkins being checked in is sanitized.Incremental process Treat build & release as an 4 incremental process and better it in every sprint
Human Factor Do not forget we are dealing with 1 human beings and they have limitations It is very important that teams have this skillWhat is a build? without which either we will have a superfluous setup or a setup which does not work. What is a build, the definition needs 2 to be clear It is the build engine which orchestrates the entire flow after each checkin we need to understand and plan very meticulously for example:Locus • What will happen if someone checks in The key player is the build engine: code when build is broken? 3 Jenkins • What will happen if a build is in progress and someone checks in code? • The right notification schemeIncremental process • The right dashboards Treat build & release as an 4 incremental process and better it in every sprint
Human Factor Do not forget we are dealing with 1 human beings and they have limitationsWhat is a build? What is a build, the definition needs While it may be nice to have everything up in one 2 to be clear go, we need to factor in product specific parameters. The goal is to reach a mutually accptable build and release configuration whichLocus meets the product, team and business considerations. One solution may not fit all needs The key player is the build engine: and even exisiting solutions may need constant 3 Jenkins updation to get to the right configuration.Incremental process Treat build & release as an 4 incremental process and better it in every sprint
Thank You 39
Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...
In this presentation we will describe our experience developing with a highly dyna...
Presentation to the LITA Forum 7th November 2014 Albuquerque, NM
Un recorrido por los cambios que nos generará el wearabletech en el futuro
Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...
Agile Tools unterstützen Scrum Master, agile Trainer, Coachs und Teams dabei Orte der fokussierten Zusammenarbeit zu schaffen und zu nutzen.
Agile Tools. Visual Studio Team Services gibt Ihnen die Tools an die Hand, die Sie zum Führen Ihres Agile-Teams benötigen. Backlogpriorisierung mit Drag ...
Copyright AgileTools 2003 - Last Modified: Fri, 05 Mar 2004 08:34:41 +0100 For XHTML Validation stuff, see this. ...
There are many different types of Agile tools out there. Some are free, some are paid, some are going by the new business model called “Freemium” in ...
Welcome to an overview of open source agile project management software tools. This site has been created by Targetprocess, a company that has been ...
Track software projects with Scrum, Kanban, and Agile tools (known as Agile development tools/Microsoft Agile tools) from Visual Studio Team Services.
... auch wenn wir agile Tools anbieten - der Mensch steht bei uns im Vordergrund. Folgen Teilen. 1 Gilt für Lieferungen in folgendes Land: Deutschland.
README.md AgileTools Bugzilla Extension. This extension provides tools to manage teams and their processes. Currently it supports Scrum process and ...
“Furious activity is no substitute for understanding” – H. H. Williams. One of the first things that agile or iterative development demands of us is ...
Radtac Agile Tools enables teams to participate in the team-based estimation games of Planning Poker & T-Shirt sizes and manage their time effectively ...