Date post: | 15-Dec-2014 |
Category: |
Career |
Upload: | margaretmenzies |
View: | 581 times |
Download: | 5 times |
Margaret A. MenziesIntroduction 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.
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
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…
Dev Management Guidelines
Provide Leadership & Direction
Management=Problem Solving
Focus Areas People Planning Product Processes
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!
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
Product Roadmap Example
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
Processes Establish Centralized
Source Control and Back-ups!
Begin Automated Builds as Early as Possible
Automate testing Implement Bug
Tracking with a Bug Ownership and Fix Policy
Involve/Establish QA in Project Planning
Involve Tech Support in Testing
Use Test Automation for Regression and Acceptance Tests
Hold Company-wide Bug Hunts and Beta Testing
Promote Paired Programming and Code Reviews
Establish Internationalization Processes Hold Meaningful Progress and Status Meetings
Dev Management Guidelines
Provide Leadership & Direction
Management=Problem Solving
Focus Areas People Planning Product Processes
Agile/Scrum Introduction
A quick overview and implementation plan
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
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
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
Scrum Model
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)
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 …
Questions and Wrap-up