25 1 st St., Suite 104, Cambridge, MA 02141 | www.BioRAFT.com Agile Product Development: A Journey Through Uncharted Waters Diliny DCOR Corlosquet Senior.

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Iterative Development: Done Simply Emily Lynema NCSU Libraries Code4Lib 2010.
Code Review as a Great Tool in the Agile Toolbox Matthias Sohn, Stefan Lay (SAP)
Iteration Planning.
Mike Hardin Business and Licensing Division Director May 20, 2014 Colorado’s Service Center Approach.
State of Indiana Business One Stop (BOS) Program Roadmap Updated June 6, 2013 RFI ATTACHMENT D.
Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Agile Development Using Scrum Dan Retzlaff Management Information Chief - Applications Development Wisconsin Department of Public Instruction 26 th Annual.
Agile Project Management with Scrum
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
Agile PM Basics Dr. Vijay Kanabar © Boston University
Non-Coding Activities a Development Team Needs a.k.a ”I don’t code, am I no longer useful?” Maaret Pyhäjärvi| | Twitter: maaretp Test Granlund.
Agile development By Sam Chamberlain. First a bit of history..
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Discover how to improve productivity by going DevOps and SAFe.
COMP 350: Object Oriented Analysis and Design Lecture 2
Managing a Project Using an Agile Approach and the PMBOK® Guide
Introduction to Agile.
Get quality results faster: Agile Projects and your team Presenters: Laurie Barnas and Wendy Taylor, Associate Registrars, University of Victoria.
CompSci 230 Software Design and Construction
Resource Systems.  The need for agility  History of Product Development  Delivery of EPCOT  Future Challenges & Recommendations  Reflection  Questions?
Agile Adoption GMAS Product / Practice Teams PMO Meeting – May 2014.
Current Trends in Systems Develpment
資工 4A 陳怡秀 Microsoft Visual Studio’s Journey to Continuous Delivery.
1 FROM DEVELOPERS TO ENGINEERS ENGINEERING ROLE IMPLEMETED AT EXPEDIA August 26, 2015.
SCRUMBAN?!?! What is it and how can it help your team?
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Jeff Briggs Senior Consultant Capstone Consulting.
Theories of Agile, Fails of Security Daniel Liber CyberArk.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Flight Software Conference 2016
From manual test shop to fully automated test coverage: A How-To session to speed up your journey Jayshree Bhakta ITHAKA/JSTOR.
Waterfall, Agile & Scaling Agile
Agile Training – Agile Overview
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Software Development Brian Moseley.
By: By: Agile Scrum Master Online Training.
Chapter 3: The Project Management Process Groups: A Case Study
Introduction to Software Engineering
Project Management and the Agile Manifesto
Johanna Rothman Create Technical Excellence Chapter 9
Johanna Rothman Agile Team Measurements Chapter 12
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Summarizing Our Models to Date
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Introduction to Agile Blue Ocean Workshops.
Scrum Science NGSS: Engineering, Technology, Applications of Science
Real World Scrum with TFS & VSTS / Azure DevOps
Adjective: Able to move quickly and easily. Principles and Values
Scrum Science NGSS: Engineering, Technology, Applications of Science
Training 01: Project Lifecycle & Business Technology Analysis
Looking at XP, Scrum, Kanban or Lean
Scrum in Action.
Team: __Remote Site_____________ System: ___TWS__________________
Street Manager Training approach
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Remaining Agile on Virtual Teams
Presentation transcript:

25 1 st St., Suite 104, Cambridge, MA | Agile Product Development: A Journey Through Uncharted Waters Diliny DCOR Corlosquet Senior Product Manager, BioRAFT

About me Drupal: dcor Twitter: dcorlosquet Background – Chemical Engineering, MASc, MSc – 10+ years laboratory research – 5+ years Front-End Drupal Web Development – 2+ years Product Management

BioRAFT Research Management System – Reporting research – Identify hazards and exposures – Providing essential training

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

Body of Water: Our Backlog Tasks are defined as – Granular tasks – Grouped tasks affecting a single feature – Grouped tasks involving a single module We run a 1 month long release cycle – Tasks are defined at the beginning of the release via their priority – Approximately 3 weeks of development – 1 week testing Urgent items, Release overflow – Patch as often as required New Module Development – Break to smaller grouped tasks Support Requests – UX fixes, bugs Feature Requests – Enhancements Backlog – Product Debt – Technical Debt – Known Bugs

Agile vs. Waterfall Agile Specifications & Requirements are defined Development steps are planned in phases Product is delivered in phases End goal is known but the final outcome may be more optimal to the product than originally planned Waterfall Requirements and specifications are defined Each development step is predefined prior to commencing work Product is delivered once all requirements and specifications have been met. End goal is expected in every detail

Credit:

In reality, its a combination! Agile Tasks New Module development Clean up of Product/Technical Debt UX bug fixes Waterfall Tasks Implementation Tasks Support fixes Bug fixes Final actions on New Modules (cleanup)

Navigation: How we prioritize tasks 1.Long term development pipeline – Prediction on a monthly/quarterly basis of what we hope to accomplish for the year 2.Support Requests – Implementation needs – Client requests prioritized – Bugs

FirstRAFT: Setting off with the minimum Tools used – Basecamp Process during release – Defined list for release – Prioritization by order – Move items to another list when completed – Inconsistent documentation when needed Process during testing – Test and confirm – Check complete

Basecamp: Patch

Basecamp: A Release Release Defined by Major Features Bugs General Typos/Quick Fixes Configurations

Rational – Small Team The Good Small team means everyone is aware of what everyone else is doing – no silos Everyone involved is an expert on all facets of the product Review each others work in real-time – Critical commits visible on development servers for testing Manage all tasks on one page Checking off the item meant it was done The Bad/Ugly Little time for QA - final testing and no code review No evidence based QA testing Bugs and technical debt rampant Often the patch following a release involves major bug fixes Lower priority items move from release to release or worse, as priority escalates to a patch!

… AND THEN OUR TEAM EXPANDED

Small Storm on the Horizon: The Good More tasks being completed The Bad/Ugly More testing and QA required Utter confusion for the newbie coming on to the hacked basecamp system

Keep building your RAFT: Optimizing the development process Take stock of where you are Take a small step towards your goal Learn Adjust based on what you learned When faced with two or more alternatives that deliver the same value, take the path that makes future change easier

Changes to the process! Introduction of screenshots for QA of process More hacks to basecamp: – Documentation around the processes for clarity (Basecamp descriptions on list)

AND WE EXPANDED AGAIN… AND AGAIN…

Keep building your RAFT: Take stock of where you are Take a small step towards your goal Learn Adjust based on what you learned

Tsunami of a challenge The Good More tasks being completed The Bad/Ugly Silos of work More testing and QA required Utter confusion for the newbies coming on to the hacked basecamp system

Time to sink or to swim? Individuals and Interactions over Processes and Tools Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan

Trello: NewRAFT To DoDoing Second Round Testing Done Final Confirmed

TRELLO Boards for managing tasks Major Tasks Backlog Client Requests RELEASEPATCH

Safe Harbors for Start-Ups & Distributed Teams As a start-up, whatever structures are in place – Need to be maintained (manpower) – Need to be easy – Need to be rationalized Build infrastructure ONLY when you absolutely need it – wait for the tipping point

Safe Harbors for Start-Ups & Distributed Teams Utilize the skills of your development team – Build on your teams strengths Senior walking encyclopedias Nurture developers with OCD tendencies – Share knowledge via shared tools, case studies, mentorships – Code Reviews – Developer feedback on specifications

On the horizon: Improvements Link tickets together (sibling, parent/child) Link code commits to tickets Link planning docs to tickets Custom fields Custom workflows Advanced search options Potential Tools

Smooth sailing (or is it?) Larger Crew Distributed Team What are we missing?

Smooth sailing (or is it?) Importance of Documentation – Initial Specifications – Feedback/Cross-talk during implementation – Changes to specifications (the what we can and cant do) – Documenting Code – Documenting acceptance criteria, test paths, etc. Testing – How to test… – When to test… – What to test… – Who to test as… – Who is responsible?

Maps: The Importance of Documentation Credit:

Maps: The Importance of Documentation Credit:

Documentation in the Code

A picture is worth 1000 words

Man Overboard: Testing

How to get developers to test Be prepared to work closely with developers. The majority of the testing effort is performed by the agile delivery team itself, not by independent testers.

How to get developers to test To DoDoing First Round Testing Code Review Second Round Testing Done Final Confirmed [ TESTING ]

Testing is part of the Agile process Check basic specifications are met Developer is tasked with ensuring test path matches the specifications Ensure minimal technical debt moving forward via peer code reviews – Coding to Drupal Standards – Code appropriately documented Perform sanity check of 2 nd round testing

Testing is part of the Agile process Peer Review ensures at least two members of the development team understand the task and acknowledge that specifications have been met Take lots of screenshots! Good test practices make the transition to automated testing easy

Take Home Appreciate both Agile & Waterfall The challenges of a small team are very different than those of a large team Wait for the Tipping Point before introducing more complex processes/infrastructure Retrospectives work – use feedback to improve processes The importance of documentation How to get your development team to test the product (and not in production!)

References Freestanding Agility: – Agile & Scrum Fundamentals – Product Owner Skills – Scrum Master Skills Time to Kill Agile, Thomas D., March 4 th 2014, kill-agile/ kill-agile/ Rolling Wave User Stories: How to handle specifications specifications.html specifications.html Agile Testing: Contact me: Drupal.org: dcor Slides: