Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012.

Slides:



Advertisements
Similar presentations
Iteration Planning.
Advertisements

Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
“Something called agile”
Interoperability. What is testing? Where have we come from? Where are we now? Why is nFocus at MSAIC? Overview.
ITEC 370 Lecture 24 Lifecycles. Review Questions? –Grades for Requirements/Design Doc F give prototype demonstration –Testing plan for your software Maintenance.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
<<replace with Customer Logo>>
ECE44x SCRUM Overview slides adapted from Marty Stepp
Agile Project Management with Scrum
JIRA – An Introduction -Arpit Jindal
Agile Scrum for Process Improvement Projects – Case Study 1 Dr. Tom Sheives Chief Unstuck Officer Unstuck Company Yvonne Kish Associate.
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Morning – 9am Getting Started Agile Manifesto Values & Principles Scrum Framework ~~ 10:40 to 11:00 Break ~~ Scrum Roles Backlog Grooming Estimation.
Agile development By Sam Chamberlain. First a bit of history..
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
Introduction to Agile.
Agile Methodologies for Project Management By – Komal Mehta.
© 2011 AT&T Intellectual Property. All rights reserved. AT&T, the AT&T logo and all other AT&T marks contained herein are trademarks of AT&T Intellectual.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Scrum’s Product Owner Role Jeff Patton Agile Product Design
Software Testing Life Cycle
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
Sri Lanka Institute of Information Technology Software Engineering Project – I Clone of Rally GROUP NO : WD-SEP-002 | PROJECT NO :25 PROJECT : CLONE OF.
Stephen Chief Strategy Officer Telerik
Roles in a Project Team By Sebastian Wagner And Michal Pieniazek.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Het einde van het beroep van tester - Wat Agile, DevOps en Scrum betekenen voor het testvak -
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
SCRUM.
A Noble Product Owner – Who Can Find? Kim Hardy, Agile Coach CSM & SAFe Program Consultant.
Project Management Enabling Quality Marien de Wilde, PMP April 2007.
Introduction to Agile. Introduction Who is this guy?
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Barnes & Noble Alonda Morgan. Agile UX Agile.
Introduction to Agile Project Management Presented by Maury Richards, CSP.
Embedded Systems Software Engineering
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Rapid Launch Workshop ©CC BY-SA.
Scrum and TargetProcess
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Where Agile Business Meets Agile Development
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.
Product Backlog List of things that needs to be done to make the product come into existence 
Description of Revision
Project Roles and Responsibilities
Advantages OF BDD Testing
Scrum MODULE 3 – Part 3.
Johanna Rothman Agile Team Measurements Chapter 12
Teaching slides Chapter 1.
Johanna Rothman Know What “Done” Means Chapter 11
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Introduction to Agile Blue Ocean Workshops.
Portfolio, Programme and Project
Software Development In Agile
Topic 1: Introduction to the Module and an Overview of Agile
Executive Project Kickoff
{Project Name} Organizational Chart, Roles and Responsibilities
Software Development In Agile
Presentation transcript:

Successful Software Practice How to successfully work as a team to create software Chris Mendes, Chief Technology Officer Sirca Limited March 2012

About me... Graduated B.Sc in 1987 and B.E. in 1989 Worked in lots of sectors: real time, finance, control systems, data warehouse, hi-tech R&D Was GM of a division of CISRA, Canon's R&D facility in Australia Now CTO of Sirca Ltd, the largest database of stock data in the world Date: 1/4/2011Slide 2Successful Software Practice

I hate process I have never seen a prescriptive process that I liked! What I want to share with you today comes form learning the hard way o Rules of thumb o Practices, not processes I've done a lot of bad projects Now, I'm doing a whole lot of successful ones o Measures:  Happy customers  Happy teams  Software that is being used Date: 1/4/2011Slide 4Successful Software Practice

Process vs Practice Processes prevent the mediocre from making mistakes. Practices make the professional exceptional. Date: 1/4/2011Slide 5Successful Software Practice

Why are you here today? Are there any concerns you have about how you are going to get your project done? Date: 1/4/2011Slide 6Successful Software Practice

What do I want to cover? Planning Typical methodologies What does a successful software project look like? Roles Practices Bringing it together Date: 1/4/2011Slide 7Successful Software Practice

What do I want to cover? Planning Typical methodologies What does a successful software project look like? Roles Practices Bringing it together Date: 1/4/2011Slide 8Successful Software Practice

Planning It helps to know where you are going... How do I plan and estimate? o Understand the goals o Plan work to make the goals happen o Think about risk and how to minimise it o Write it down and share it o Estimation...a problem Is it just an exercise in futility? o Start with a broad brush and paint in detail as you go o Invest the right amount in planning Date: 1/4/2011Slide 9Successful Software Practice

What do I want to cover? Planning Typical methodologies What does a successful software project look like? Roles Practices Bringing it together Date: 1/4/2011Slide 10Successful Software Practice

Typical Methodologies List: o Waterfall, Iterative, Spiral, RAD We use Agile and here's why... o It's a natural process o It brings risk forward, rather than pushing it to the end o It puts quality, value and end-user priority first Date: 1/4/2011Slide 11Successful Software Practice

What do I want to cover? Planning Typical methodologies What does a successful software project look like? Roles Practices Bringing it together Date: 1/4/2011Slide 12Successful Software Practice

Project Shape Date: 1/4/2011Slide 13Successful Software Practice

Project Shape Date: 1/4/2011Slide 14Successful Software Practice

Project Shape - About Scrums Date: 1/4/2011Slide 15Successful Software Practice

Epics, Stories, Backlogs... Your assignment is currently set up as Epics You need to break them into stories, prioritise them and elaborate them Start by elaborating just the story titles o Estimate them... Before your first sprint, fully elaborate the stories for that sprint (at least) Date: 1/4/2011Slide 16Successful Software Practice

User Story Example Date: 1/4/2011Slide 17Successful Software Practice

Agile Tools Story Cards Simple Tools - Spreadsheets, Whiteboards Date: 1/4/2011Slide 18Successful Software Practice

What might your project look like? Date: 1/4/2011Slide 19Successful Software Practice

What do I want to cover? Planning Typical methodologies What does a successful software project look like? Roles Practices Bringing it together Date: 1/4/2011Slide 20Successful Software Practice

Roles Product Owner Project Manager Scrum Master Dev Tester Developer Date: 1/4/2011Slide 21Successful Software Practice

Roles Assign them, assign them wisely Of course, there are many more roles but you don't need them in this case Roles:People is not 1:1. One person can have many roles, you can swap roles. You can not be the Dev-Tester for your own code - you can be a developer and a tester but only testing other people's code You can't review your own work Date: 1/4/2011Slide 22Successful Software Practice

Date: 1/4/2011Slide 23Successful Software Practice Product Owner Is a business analyst Consults with stakeholders and documents their input Creates stories that can be implemented o Does enough analysis up front o Sufficiently described o Are not designs Works with QA and stakeholders to ensure acceptance criteria are right Owns the product backlog Prioritises all stories into backlog in consultation with the project sponsor

Date: 1/4/2011Slide 22Successful Software Practice Scrum Master Ensures engineers have no roadblocks and are doing what they should be doing Keeps the PM updated re progress, risks, issues Has daily meetings with her team Provides technical leadership, design guidance, design review and code review Ensures quality is maintained at an appropriate level Helps his team to plan and estimate work Updates Sprint Board Daily Maintains backlog for the project, Updates backlog each Sprint Facilitates Showcase and Retrospectives each Sprint

Date: 1/4/2011Slide 25Successful Software Practice Developer Understands the story and acceptance criteria Analyses problems Designs solutions o in collaboration with architect, infrastructure etc o let's us know if major re-design is needed on existing systems Plans and Estimates their own work Codes and Unit Tests Participates in design and code reviews Asks for review and assistance Tests their own work against acceptance criteria

Date: 1/4/2011Slide 26Successful Software Practice Developmental Tester Understands requirements provided by PO and writes acceptance criteria Develops & maintains test scripts Updates API test harnesses Ensures unit testing happens Ensures Dev Testing happens Reports on progress, raises bugs, retests Regression tests Breaks stuff Monitors automated build and test Monitors code coverage

Date: 1/4/2011Slide 27Successful Software Practice Project Manager Is a Communicator, Facilitator and Trouble Shooter Understands project goals and benefits and shares vision with the team Ensures work is prioritised and scheduled Ensures work is planned by the engineers and is carried out as scheduled Manages project risks and ensures mitigation is executed Helps make sure project stakeholders are communicated with and that goals are met Maintains schedules and other project documentation

What do I want to cover? Planning Typical methodologies What does a successful software project look like? Roles Practices Bringing it together Date: 1/4/2011Slide 28Successful Software Practice

Practices Review (documents, code, design, architecture, test scripts, everything) Architecture - have one Design - everything Unit Testing - no excuses Regression Testing - automated Configuration Management (software & environments) Daily Check-in Date: 1/4/2011Slide 29Successful Software Practice

Architecture - logical Date: 1/4/2011Slide 30Successful Software Practice

Architecture - Physical Date: 1/4/2011Slide 31Successful Software Practice

A trick with Agile... Date: 1/4/2011Slide 32Successful Software Practice Story 1Story 2Story 3

Practices Automated Testing Automated Build Continuous Integration - at least daily Daily meetings...? Sprints (Momentum, Planning, Showcases, Retrospectives) Co-locate during development Date: 1/4/2011Slide 33Successful Software Practice

We want you to work for us... Send your resume and an academic transcript to... Date: 1/4/2011Successful Software Practice

Questions Date: 1/4/2011Successful Software Practice

Useful Links SCRUM Stuff: o o Practices: o ation.html o o Just read martinfowler.com ! Sirca Limited: Date: 1/4/2011Successful Software Practice

Appendix Topics Estimation Burn Down Charts Date: 1/4/2011Successful Software Practice