This document discusses different software development methodologies and frameworks. It provides an overview of the waterfall model and its limitations. Agile methodologies like Scrum are presented as more flexible alternatives that emphasize collaboration, adaptation to change, and working software over documentation. The document also discusses tools like Microsoft ALM, Visual Studio, and Team Foundation Server that can help implement agile practices.
1 of 44
More Related Content
PM, Scrum and TFS - Ivan Marković
1. Ivan Marković
MSP Lead
Software Developer at SPAN d.o.o.
ivan.markovic@studentpartner.com
4. Methodology vs framework
• A methodology is a set of principles, tools and
practices which can be used to guide processes
to achieve a particular goal.
• A framework is a loose but incomplete structure
which leaves room for other practices and tools
to be included but provides much of the
process required.
6. FBI ACS System
Built with 1970s-era software tools
Natural
ADABAS
IBM Green screens
7. FBI – Virtual Case File
The Goal – Replace ACS
• The Plan- Spec it and cotranct it on fixed bid
• Science Applications International Corporation(SAIC)
awarded primary software contract
• Other vendors for smaller pieces
The Projection
3 years
$ 380m
8. FBI – Virtual Case File
2001 – Coding starts
January 2005 – All code scrapped
$170m spent
9. FBI – Virtual Case File
FBI Director Robert
Mueller asked
congress
for more money to
keep going
Three times
Start over!
10. Sentinel
2006 Lockheed Martin wins software contract
The NEW Plan:
• 4 phases
• $450m
• 6 years
14. Sentinel Scrums
2010 2011 2012
Jeff Johnson
Chad Fulghram
FBI cancels
contract with
external software
vendors
Software
complete- Dec
2011
$30m spent
All field tests passed
and complete- May
‘12
Long wait for
proprietary hardware
15. Agile
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
16. Waterfall development
Pros
• Clear plan/clear vision
• Accurately estimate
timetable and budgets
• Plan oriented -> More
secure
Cons
• Rigid
• Inflexible
• Problem with late testing
and feedback
17. Agile development
Pros Cons
• Flexible, adaptive
• No clearly defined
end-goals
• Collaboration
• Feedback
• Lack of structure
• Quite time consuming
(customer involvment)
• Possible person drop is
problem
20. Scrum is..
• A framework for Agile software development
• A set of rules
• Easy to learn
• Difficult to master
21. Scrum is used for
• Managing the work of: small teams, large
organizations, everything in between
• Fixed-price work
• Developing software of every type
imaginable
23. Sprints
• Scrum projects make progress in a series of
“sprints”
• Typical duration is 2–4 weeks or a calendar
month at most
• A constant duration leads to a better rhythm
• Product is designed, coded, and tested during
the sprint
24. Roles
• Product owner
• Scrum Development team (3-9 people)
• Scrum Master
25. Development team
• 5-9 people
• Programmers, testers, user expirience
designers, etc.
• Teams are self-organizing
27. Sprint planning
• Team selects items from the product backlog
they can commit to completing
• Sprint backlog is created
• Tasks are identified and each is estimated (1-16
hours)
• Collaboratively, not done alone by the
ScrumMaster
• High-level design is considered
28. The daily scrum
• Parameters
• Daily
• 15-minutes
• Stand-up
• Not for problem solving
• Whole world is invited
• Only team members, ScrumMaster, product owner, can talk
• Helps avoid other unnecessary meetings
29. The daily scrum
• What did you do yesterday?
• What will you do today?
• Is anything in your way?
30. The sprint review
• Team presents what it accomplished during the sprint
• Typically takes the form of a demo of new features or
underlying architecture
• Informal
• 2-hour prep time rule
• No slides
• Whole team participates
• Invite the world
31. Sprint retrospective
• Periodically take a look at what is and is not
working
• Typically 15–30 minutes
• Done after every sprint
• Whole team participates
– ScrumMaster
– Product owner
– Team
– Possibly customers and others
33. Product backlog
• The requirements
• A list of all desired work on the project
• Ideally expressed such that each item has value to the users or
customers of the product
• Prioritized by the product owner
• Reprioritized at the start of each sprint
This is the product backlog
36. What is ALM?
• ALM = Application Lifecycle Management
• Microsoft’s view of ALM
– Plan and Track
– Design
– Develop
– Automated Build
– Testing
– Test Lab Management
37. Visual Studio
• Integrated development environments (IDE)
• Visual Studio Express – free
http://www.visualstudio.com/en-us/
products/visual-studio-express-vs.aspx
38. Team Foundation Server
• Version Control
• Agile Planning & Collaboration
• Build
• Test Case Management
• Reporting
39. Team Foundation Version
Control vs GIT
FEATURE TFS GIT
Save source code Yes Yes
Version history Yes Yes
Offline commit No Yes
GUI Support Strong Poor
Analytics and charting Yes No
Installation ½ day 10 minutes
Cost $$$ Free
40. Visual Studio Online
• Based on the capabilities of Team Foundation
Server
• 5 users FREE (VS Online Basic)
• $20 per additional user, per month
• Access your code from anywhere