This is a presentation that Margaret Menzies has used to introduce myself to new teams. The last section is an executive summary of Scrum methodology and a basic implementation schedule.
1. Margaret A. Menzies
Introduction and
Development Best Practices
The following is a presentation that I have
used to introduce myself to new teams.
The last section is an executive summary
of Scrum methodology and a basic
implementation schedule.
2. Margaret A. Menzies (MAM)
American, single
Undergraduate and Master’s degree in
Public Administration with a
concentration in Management
Information Systems
Have worked in IT/Software
Development for over 20 years now
Recently for 3 years in Eindhoven, NL
Previously in Paris FR, Munich DE, Boston
MA, Raleigh NC, Providence RI
3. MAM Continued
Work with smaller software companies
Have led development teams since 1994
Managed co-located & remote staff
Launched new & revamped existing B2B
products
Sometimes advise other companies through
VC contacts
Joined the Agile/Scrum Community in
2005
But have worked this way for years…
4. Dev Management Guidelines
Provide Leadership & Direction
Management=Problem Solving
Focus Areas
People
Planning
Product
Processes
5. People
Hire Exceptional Staff
Provide Regular Performance Feedback
Deal with staff issues right away
Provide Product Feedback
Direct sales & support feedback to engineering is
especially valuable
Encourage/Assign Development Staff to Work
With Other Departments
Help out with Tech Support
Go on sales calls and work at trade shows
Promote Teamwork, Not Individual Heroics
Have Fun Whenever Possible!
6. Planning
Create a Product Roadmap
Engineering, Marketing, Tech Support, and Sales
help create it
Define Each Project’s Scope Up Front
Take time to define what you want to do
Focus Engineering Efforts
Don’t take on too many projects at once
Get Customer Input
Form a Product Management Team
Not necessarily just VP’s or upper management –
involve line staff
Follow the K.I.S.S. Principle
8. Product
“Chunkify” - Break Apart Large Projects
Establish interim deliverables
Do Requirements and Functional Specs or
User Stories Before Coding
Repurpose, Re-package & Use Open Source
You don’t always have to work “from scratch”
Prototype GUIs and do GUI Iterations
Use web conferencing tools to show off GUI and
solicit feedback from customers or prospects
Develop Sales Demos and Sales Tools Along
with the Product
Put these in your product plan as part of final
deliverable
9. Processes
Establish Centralized Use Test Automation for
Source Control and Regression and
Back-ups! Acceptance Tests
Begin Automated Builds Hold Company-wide Bug
as Early as Possible Hunts and Beta Testing
Automate testing Promote Paired
Implement Bug Tracking Programming and Code
with a Bug Ownership Reviews
and Fix Policy Establish
Involve/Establish QA in Internationalization
Project Planning Processes
Involve Tech Support in Hold Meaningful
Testing Progress and Status
Meetings
10. Dev Management Guidelines
Provide Leadership & Direction
Management=Problem Solving
Focus Areas
People
Planning
Product
Processes
12. What is Agile Development?
Emphasizes close collaboration between
the programmer team and business
experts;
Stresses face-to-face communication (as
more efficient than written
documentation);
Advocates frequent delivery of new
deployable business value;
Encourages tight, self-organizing teams
Source: Agile Alliance
13. Agile Development
An iterative and incremental (evolutionary)
approach to software development
which is performed in a highly collaborative
manner
by self-organizing teams within an effective
governance framework
with "just enough" ceremony
that produces high quality software
in a cost effective and timely manner
which meets the changing needs of its
stakeholders.
Source: Scott Ambler
14. What is Scrum?
Scrum is an agile process for developing software. With Scrum, projects
progress via a series of iterations called sprints.
The work to be done on a Scrum project is listed in the Product
Backlog, which is a list of all desired changes to the product.
At the start of each sprint a Sprint Planning Meeting is held during
which the Product Owner prioritizes the Product Backlog and the Scrum
Team selects the tasks they can complete during the coming Sprint.
These tasks are then moved from the Product Backlog to the Sprint
Backlog.
Each day during the sprint conducts a brief daily meeting called the
Daily Scrum, which helps the team stay on track.
At the end of each sprint the team demonstrates the completed
functionality at a Sprint Review Meeting.
Source: Mountain Goat Software
16. Implementation Schedule
Hold Scrum training workshops – usually while
finishing up other work (Week 1 & 2)
Scrum Basics – Roles, meetings, artifacts and sprints
User stories – what they are and how to write and use them
The Product Backlog and Scrum Planning (with intro to
Planning Poker) – organize user stories into a product
backlog and begin using it for sprint and roadmap planning
Start daily stand up meetings (Week 3)
Organize the product requirements/user stories
(Week 3-5 and ongoing)
Plan and begin first sprint (Week 4)
Establish a more defined product roadmap with next
major deliverable (Week 2-5)
17. Other Improvements
Establish a Team Room
Post user stories and burn down charts
Post the Roadmap
Review the state of automated testing
and continuous builds
Review items in bug tracking system
and fit them into a user story/sprint
model
Inspect and adapt …