The document summarizes a presentation on software project management tips and best practices. It discusses classic project management techniques as well as more modern agile and continuous deployment approaches. Key topics covered include using sprints and user stories in agile development, implementing test-driven development, version control, continuous integration and deployment, and monitoring software in production. The goal is to provide guidance on how to successfully develop software projects and continuously deliver value to customers.
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Â
The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous Deployment
1. The VP R&D Open Seminar
Software Project Management
Tips, Tricks and Best Practices
moshe.kaplan@brightaqua.com
http://blogs.microsoft.co.il/blogs/vprnd
23. The Sprint
Requirement Freeze
Feature Freeze
Code Freeze
Sprint N-1 Planning N
Dev/Test
Dev/Test
Dev/Test
Sprint N+1
Integrations
Dev/Test
Quality
Planning N+1
Sprint N
Planning N+1
Dev/Test
Top Features
Preparing Next Sprint
Delivery to PO
Live Support, Integrations, Deployment
http://blogs.microsoft.co.il/blogs/vprnd
28. If Your Critical Resource is Programmers
http://blogs.microsoft.co.il/blogs/vprnd
http://www.bytelove.com/partners/programmers-heaven/programmers-heaven-source/prod_153.html
33. Step 1: TDD
Testing before Coding
Coverage:
Microsoft.VisualStudio.TestTools
Unit Test Target: 100%
Module Target: 40%
Integration and End to End: 30%
Mocking Framework if needed
Manual QA Only when Must
http://blogs.microsoft.co.il/blogs/vprnd
34. Unit Test Best Practice
void FunctionName_Case_ExpectedResult() {
//ARRANGE
Patron patron = new Patron();
patron.setBalance(0);
//ACT
patron.applyFine(10);
//ASSERT
assertEquals(10, patron.fineBalance());
}
http://blogs.microsoft.co.il/blogs/vprnd
35. Step 2: Version Control
Commit Stable Code to Trunk
Branching is Not Necessary
Flag âCode Under Testâ
Infrastructure Configuration as a Code
http://blogs.microsoft.co.il/blogs/vprnd
37. Step 4: Test the Build
http://www.jetbrains.com/teamcity/features/build_grid.html
<5 min Test
Parallelize If Needed
http://blogs.microsoft.co.il/blogs/vprnd
38. Test 5: Deployment
Enable Upgrade w/o Downtime
Use Distributes Cache for Session and
Application Cache
Distribute Software in Phases
Engineering Decision!
Release: Marketing Decision!
Microsoft Web Farm Framework
Microsoft Web Deploy
http://blogs.microsoft.co.il/blogs/vprnd
39. Step 6: Monitor the Business
http://blogs.microsoft.co.il/blogs/vprnd
40. Test Case
5-50 Production Changes a Day
2000 Unit Test in <4 min
700 Production Services Tests <10 min
30 min from Commit to 100 Servers
Deployment
http://blogs.microsoft.co.il/blogs/vprnd
41. Minimum Viable Product
Smoke Test
Deploy First
Code Later
Release Early
Release Often
A/B Testing
http://blogs.microsoft.co.il/blogs/vprnd
42. If Your Critical Resource is the Market
http://www.lanarkmedievalfestival.co.uk/Christmas/
http://blogs.microsoft.co.il/blogs/vprnd
43. The VP R&D Open Seminar
FASTER OR CHEAPER?
http://blogs.microsoft.co.il/blogs/vprnd
44. What is Better?
Tier 1
Product D
Product C
Product B
Product A
Tier 2
Tier 3
http://blogs.microsoft.co.il/blogs/vprnd
45. The VP R&D Open Seminar
http://uaemoviefans.blogspot.com/2010/05/a-team-movie-is-as-good-as-original.html
GETTING YOUR PROJECT
RUN BY ITSELF
http://blogs.microsoft.co.il/blogs/vprnd
46. Recruit People in the
Way
Recruit: Top Priority of Everybody
Quick Decisions: Yes or No
Look for Satisfiers and Global Maximization
Grow Up Your Management
Boot Camp
Transparency
http://blogs.microsoft.co.il/blogs/vprnd