IAC 2024 - IA Fast Track to Search Focused AI Solutions
Agile tour 2011 marina shalmon
1. AGILE flavors and
start-ups
Marina Shalmon
VP of the Agile New England Chapter of ACM
www.agilenewengland.org
Director of Engineering at ROAM DATA
www.roamdata.com
November 25th, 2011
2. Main Agile concepts
and how they fit in a start-up
Increased customer interaction
perfect fit
Iterative
perfect fit
Change is expected and embraced
perfect fit
Respect for the developers’ need for focus
No fit, serious challenge
3. What Agile is not
and the fit with a start-up
No speed at any cost
Challenge
No lack of architecture
Could be a fit; depends on the start-up
No lack of planning
Perfect fit short term; less obvious long term
No disorganization, chaos
Good fit
No unaccountability
Good fit
4. AGILE Flavors
Scrum – Overall methodology
XP - Programming
TDD - Testing
Lean – avoiding waste
Kanban – JIT scheduling
They can be mixed and matched
7. Definition of “done”
Designed (and documented; In code- doxygen, javadoc)
Coded (submitted to SCM, compiling and building)
Unit tested (J-unit, C-unit, N-unit)
Test plans written
Tested by QA
Test automation written
Integrated
Release notes written
Deployed
9. Training & Documentation
Training is essential – so that all the players get on the same page –
responsibility of Executive Management
Requirements documentation – necessary, linked to product backlog
– weak point, often missing - responsibility of Product Owners
Architecture and design documentation – needed for maintaining the
product, linked to code – responsibility of Engineering team
Test documentation – needed for test coverage review and regression
testing, no obvious universal place to recommend for keeping it,
possibly with code – often missing - responsibility of Engineering team
Release Notes – needed for Support, linked to Sprint backlog –
responsibility of Engineering team
10. XP-Extreme Programming
good fit in start-ups
The methodology takes its name from the idea that the beneficial
elements of traditional software engineering practices are taken to
"extreme" levels, on the theory that if some is good, more is better.
Frequent "releases" in short development cycles (time boxing) –
same as SCRUM (saS)
Programming in pairs (specific to XP) or doing extensive code review
and unit testing of all code
avoiding programming of features until they are actually needed –
can be used in SCRUM
simplicity and clarity in code – can be used in SCRUM
expecting changes in the customer's requirements as time passes
and the problem is better understood – saS
frequent communication with the customer and among
programmers – saS
11. TDD – Test Driven Development
depends on the application
Add a test – to a pre-existing mass of tests and code
Run all tests and see if the new one fails
Write some code – to satisfy the new test
Run the automated tests and see them succeed
Refactor code – to merge new functionality with pre-
existing one, optimize, add error handling
Repeat
If issues, revert, rather than debug. Continuous
Integration helps by providing revertible checkpoints
12. Lean software development
good fit in start-ups
From Toyota manufacturing
Eliminate waste – unnecessary code, insufficient test, slow internal
communication, bureaucracy
Amplify learning – short feedback cycles, saS
Decide as late as possible – iterative approach, saS
Deliver as fast as possible – iterative approach, saS
Empower the team – not micromanaging, saS
Build integrity in – automated tests, refactoring, s.a.TDD
See the whole - Think big, act small; fail fast, learn rapidly
Use common sense
13. Kanban
good everywhere
Related to Lean and JIT, can be used with Scrum
It means “signboard” or “billboard”
Scheduling system based on limiting the number of
work items in progress at any time
Focused on work flow – on the time/steps it takes to get
a work item done end-to-end –
defined/coded/tested/deployed
Uses Kanban cards, to signal readiness for next step
(the JIRA Agile plug is a Kanban implementation)
14. Success stories
Wind River – medium size company
Small team, co-located, grass roots introduction, viral spread
Accurev – start-up
Four teams, geographically distributed, moving the
whole company to Agile through external
consultant training
ROAM Data – start-up
Many and varied teams, some of 2 people, some of
8, some co-located, some distributed – flexible
approach
15. Failure stories
Avaya – large company
strong waterfall and MSProject biased organization,
Agile not even attempted
AS&E – medium size company
tried to introduce Agile under the umbrella of a
waterfall minded organization – no real progress
possible