SlideShare a Scribd company logo
1 of 33
www.synerzip.com
Building Enterprise Class Software
March 2014
A Guide to Early Stage Technology Companies
www.synerzip.comConfidential
Topics for Discussion
1. Lifecycle of a software start-up
2. Realities of software development
3. Key decision points
4. Summary
www.synerzip.com
Lifecycle of a Software Startup
Idea Incubation
> 1 yr.
Bootstrap, Seed A-Round B-Round
Angel Round ~$4M ~$4M
~$200K ~$0.5M
Company
Maturity (HC,
Rev, etc.)
Time in Years
Confidential
www.synerzip.comConfidential
Topics for Discussion
1. Lifecycle of a technology start-up
2. Realities of software development
3. Key decision points
4. Summary
www.synerzip.com
Building Software is Complex
Evolving/Changing
Business Requirements
• Multiple, inconsistent inputs
• Change is usually good though
Inherent R&D Nature of
Software Development
• Software performance issues
• Changing/New technologies
Technology Environment
with Many Moving Parts
• Dependence on external
technology components –HW/SW
• Constantly changing environment
Distributed Teams
Needing to Collaborate
• Team communications
• Need for complementary skills
• Unlike other engineering
disciplines (e.g. manuf, bldg
const), building software is
harder and more complex
• If not managed properly, a
lot can go wrong!
• Needs to be properly
managed – with appropriate
level of process discipline
• Agile approach works very
well in most cases
Confidential
www.synerzip.com
What is Agile?
Agile approach accounts for unique nature of software
development. It is a…
•software project management approach that encourages
delivering in short cycles, with frequent inspection, feedback,
and adaptation
•leadership philosophy that encourages team-work, self
organization, and accountability at team level
•disciplined engineering approach to software
development that results in rapid delivery of high quality
software
•business approach that focuses on delivery real business
value (=customer needs) above all.
Various flavors are practiced – SCRUM, XP, Kanban etc.
Confidential
www.synerzip.com
Agile Manifesto - 2001
“We are uncovering better ways of developing software by
doing it and helping others do it. Through this work we have
come to value:
– Individuals and interactions over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation
– Responding to change over following a plan
That is, while there is value in the items on the right, we value
the items on the left more.”
Kent Beck Mike Beedle Arie van Bennekum
Alistair Cockburn Ward Cunningham Martin Fowler
James Grenning Jim Highsmith Andrew Hunt
Ron Jeffries Jon Kern Brian Marick
Robert C. Martin Steve Mellor Ken Schwaber
Jeff Sutherland Dave Thomas
Confidential
www.synerzip.com
Waterfall Approach
Confidential
• 6+ month
• Too linear, with no learning/feedback cycle
• Expects all requirements upfront
• No value based prioritization of features
• Often results in over engineering
• Often testing/quality compromised
www.synerzip.com
Agile Approach
Confidential
• First working software in 4 weeks or less
• Emphasis on learning/feedback
• Embraces changing/evolving requirements
• Consistent focus on high-value features
• “Just-enough” engineering, with emphasis
on frequent refactoring
• Focus on repeated testing/quality
www.synerzip.com
SW Triad – Conventional vs. Agile
Conventional Iron triad of Scope x Cost x Schedule should be replaced by
Value x Quality x Constraints
SCOPE
COST SCHEDULE
VALUE
QUALITY CONSTRAINTS
• Cost
• Schedule
Confidential
www.synerzip.com
Agile Development Cycles
Confidential
www.synerzip.com
Impact of Agile – 3x Success!
Confidential
• Agile projects are successful three times more often than non-agile projects
• “The agile process is the universal remedy for software development project
failure. Software applications developed through the agile process have three
times the success rate of the traditional waterfall method and a much lower
percentage of time and cost overruns.”
www.synerzip.com
But, Agile is Not a Panacea
• Following Agile approach greatly helps but is not a panacea
• “Lip Service Agile” can be worse – more chaos, no net business value!
• All involved (business, dev, etc) need to understand the nature of
software development and have realistic expectations
• Ensure proper team composition
– Same person can play multiple roles
– But, all roles need to be covered
– Be realistic about skill fit of the person playing a role
Confidential
www.synerzip.com
Agile Myths
Confidential
• Agile = No documentation
• Agile = No planning
• Agile = No commitment on scope of work to be delivered
• Agile = No need for upfront requirements gathering
• Agile = No software discipline/rigor
• Agile = No budget
• Agile = A rigorous process defined in a set of 3-ring binders
www.synerzip.com
When You Can Do Without Agile
• When you know (for sure) all the
requirements upfront
– and, for some reason (e.g. regulatory
constraints), they can’t change/evolve
• No technology risk at all
• But, still there is benefit of building software
in short cycles
Confidential
www.synerzip.com
Team Structure For Success
VISIONARY
• Idea owner, drives long-term product
roadmap
• Passionate, evangelizes the idea
• But, can’t “write” detailed reqs
• May not understand software dev
process and get easily frustrated
DEV MGR
DEVELOPER
DEVELOPER
• Seasoned development manager
– owns delivery plan – resource,
time, scope, risk
• Pushes back on Prod Mgr to
manage scope
• Great people manager
SW ARCHITECT
ARCHITECT
ARCHITECT
• Seasoned software technologist –
makes effective design trade-offs,
lays technical foundation
• Works with dev team on design
• Owns short-term and long-term
technology roadmap
• Understands the vision, and writes
requirements
• Understands domain, specific
customers/users, competitors, etc
• Detail oriented, analytical
• Defines scope of each
iteration/release, owns QA
PRODUCT MGR
QA
PRODUCT OWNER
Can be
Offshore/
Remote
Needs to
be close to
customers
Confidential
www.synerzip.com
Strive For Stable Teams
• As far as possible, keep your software team
stable
• Don’t stop and start teams
– High churn has huge negative impact
– It is better to have a smaller team, but stable
– Real IP is in the heads of team members, no
amount of documentation can replace it
• Agile is all about team
– Software development is a team sport
– Accountability at team level
Confidential
www.synerzip.com
Avoid Feature Bloat
• Pay a lot of attention to
“what features to build”
• More is not always
good, often less is
better
• Be disciplined about…
– Which features to build
– Makes features usable
– Routinely “refactor”
features – usage data
driven
Confidential
www.synerzip.com
Bug Free Software?
• There is no such thing as “bug free”
software?
• Plan for proper test/QA process and
capacity
– In very early stages, market feedback is more
important than software quality
– In later stages, software quality is far more
important than pace of new features
• Plan (invest) for automated QA
Confidential
www.synerzip.com
Software is Never “Done”
• If you have users, software will keep evolving
• Bugs will keep showing up
• Current customers will keep asking for new
features
• New customers will demand new features
• Performance will need to be enhanced
• Technology will keep evolving, requiring you to
keep up
• You should actively refactor code, improve
usability on a regular basis
• So, plan for an on-going, stable engineering team
Confidential
www.synerzip.comConfidential
Topics for Discussion
1. Lifecycle of a technology start-up
2. Realities of software development
3. Key decision points
4. Summary
www.synerzip.com
Key Decisions
Confidential
Is software
the core
value prop?
Is software a
significant
value?NO
StartStart
Build initial
software version
Build initial
software version
Acquire initial
customers
Acquire initial
customers
Need to
expand
team?
YES
Have CTO
as co-
founder?
Build small local
team
Build small local
team
YES
YES
NO
Continue customer
acquisition
Continue customer
acquisition
Can find &
attract talent
locally?
YES
Have
sufficient
capital?
YES
Expand locallyExpand locally
YES
Consider
offshore/
outsourcing
Consider
offshore/
outsourcing
NO
NO
Consider
outsourcing
Consider
outsourcing
NO
Find oneFind one
NO
www.synerzip.com
Why Outsource/offshore?
1. Capital constrained
2. Need to accelerate product roadmap
a. Faster team ramp-up
b. Use time-zone to your advantage, 24x7
3. Don’t have needed skills (Agile process or
specific technologies) in-house
4. Required talent difficult to hire locally
5. Peaks & valleys in your need, e.g. QA
Confidential
www.synerzip.com
When Outsourcing…
• Look for a “partner”, rather than a “vendor”
– Trust based, collaborative partnership
– Specific skills, good software development process
– Longer term relationship
– Stable teams
• Be very careful of paying dev partner with equity
– Raise capital from professional investors, e.g. VCs
– For software development, engage with a professional
software dev company
• Maintain ownership of your IP
Confidential
www.synerzip.comConfidential
Topics for Discussion
1. Lifecycle of a technology start-up
2. Realities of software development
3. Key decision points
4. Summary
www.synerzip.com
Summary
1. Building enterprise software is complex
undertaking, plan appropriately
2. In almost all cases, follow Agile
3. When outsourcing, still maintain leadership
in-house
– Product vision and roadmap
– Software architecture/engineering leadership
1. Software is actually never “Done” – plan for
ongoing burn-rate in your financials
Confidential
www.synerzip.comConfidential
Appendix
www.synerzip.com
Important Considerations
1. Serving a customer vs. target market
2. A common product (code base) vs. many customized
versions in the field
3. Technical Debt – keep it visible, exercise discretion in
incurring it
4. Pay attention to team-mix
a. Balanced team, covering all roles explicitly
b. Small, dedicated team is much better than a large team of
contractors/part-timers
5. DevOps – invest in dev/test infrastructure for continuous
delivery, test & build automation, etc.
6. Strive to build less code, delivery more value
Confidential
www.synerzip.com
Basic Hygiene For SW Dev
1. Requirements need to be written.
2. Each requirement should be accompanied by an
acceptance test case. In fact, acceptance test
case is more important than English prose
format of requirements.
3. Use ONE issue tracking system. Everybody
looks at the same system. No spreadsheets.
4. Source code control system – needs to be ONE.
Confidential
www.synerzip.com
Tools and Processes
• Requirement Analysis
– User Story Detailing
– Effort Estimation and Commitment
– Requirement/Functionality validation: POCs
• Development
– Processes: Code Reviews, Frequent Check-ins; Code Branching and
Merge synchronized with sprint demos
• Source Code Control and Build Tools Used: CVS, SVN, GIT
• Other Tools used: Jprofiler, JMeter
– Continuous Build Automation: Daily Builds and periodic
automated deployment
• Tools Used: Ant, Maven, Cruise Control, Hudson, LuntBuild
– Coding efficiency: Predictability based on sprint commitments using
team velocity established over first 2-3 sprints
Confidential
www.synerzip.com
Tools and Processes
• Development (contd.)
– Unit Testing: sprint deliverables are Unit Tested
• Tools: Junit
• Testing
– Process: Work in-step with developers and create test cases
– Regression Testing: incremental development of the suite,
executing towards end of each sprint
– Bug tracking tools: Bugzilla, JIRA
– Test Case Management Tools: TestLink, Test Director
– Test Automation: we recommend adding a small team of automation
engineers to automate the regression test suite.
Confidential
www.synerzip.com
Tools and Processes
• Deployment
– UAT: maintain UAT environment; Define and develop UAT test suite by
identifying specific end to end tests
– UAT deployment: planned and periodic
– Bug Scrubs: Regular bug review and re-prioritization
• Progress Tracking:
– Tracking: Daily Updates to Issue tracker, Weekly Status Reports
– Issue tracking tools: JIRA(with grasshopper plug-in), Rally
• Communication:
– Conference calls: at the frequency required (daily…weekly)
– Wiki: Maintaining a document repository
Confidential
www.synerzip.comConfidential
Contact Us – Austin, Dallas, San Jose
• Hemant Elhence (Dallas, TX)
– hemant@synerzip.com
– Office: 469.322.0349
– Mobile: 214.762.4873
• Subu Sankara (San Jose, CA)
– subu@synerzip.com
– Mobile: 510.579.9673
• www.synerzip.com
• Development center in Pune, India

More Related Content

What's hot

ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_world
Roland Leibundgut
 
How Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering TeamHow Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering Team
Salesforce Developers
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
James Sutter
 

What's hot (20)

Scrum in Distributed Teams
Scrum in Distributed TeamsScrum in Distributed Teams
Scrum in Distributed Teams
 
ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_world
 
Agile Outside Software
Agile Outside SoftwareAgile Outside Software
Agile Outside Software
 
The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Building High Performance Engineering Teams - Focus on People - Scrum Austral...
Building High Performance Engineering Teams - Focus on People - Scrum Austral...Building High Performance Engineering Teams - Focus on People - Scrum Austral...
Building High Performance Engineering Teams - Focus on People - Scrum Austral...
 
Agile 101
Agile 101Agile 101
Agile 101
 
Agile Base Camp - Agile metrics
Agile Base Camp - Agile metricsAgile Base Camp - Agile metrics
Agile Base Camp - Agile metrics
 
Agile basics
Agile basicsAgile basics
Agile basics
 
How Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering TeamHow Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering Team
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Agile Metrics - ASTQB Workshop by Philip Lew - XBOSoft
Agile Metrics - ASTQB Workshop by Philip Lew - XBOSoftAgile Metrics - ASTQB Workshop by Philip Lew - XBOSoft
Agile Metrics - ASTQB Workshop by Philip Lew - XBOSoft
 
Software Development Model for Startups
Software Development Model for StartupsSoftware Development Model for Startups
Software Development Model for Startups
 
Agile
AgileAgile
Agile
 
Introduction to Agile Hardware
Introduction to Agile Hardware Introduction to Agile Hardware
Introduction to Agile Hardware
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Development
 
Lean Concepts & Agile Software Methodologies
Lean Concepts & Agile Software MethodologiesLean Concepts & Agile Software Methodologies
Lean Concepts & Agile Software Methodologies
 
Offshore Software Development company India
Offshore Software Development company IndiaOffshore Software Development company India
Offshore Software Development company India
 
The agile elephant in the room
The agile elephant in the roomThe agile elephant in the room
The agile elephant in the room
 

Viewers also liked

Viewers also liked (6)

Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
 
Google Cloud Platform 2014Q1 - Starter Guide
Google Cloud Platform   2014Q1 - Starter GuideGoogle Cloud Platform   2014Q1 - Starter Guide
Google Cloud Platform 2014Q1 - Starter Guide
 
Google Cloud Platform - Building a scalable mobile application
Google Cloud Platform - Building a scalable mobile applicationGoogle Cloud Platform - Building a scalable mobile application
Google Cloud Platform - Building a scalable mobile application
 
空手、緊握、到放手 – 敏捷路上學到的5件事
空手、緊握、到放手 – 敏捷路上學到的5件事 空手、緊握、到放手 – 敏捷路上學到的5件事
空手、緊握、到放手 – 敏捷路上學到的5件事
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
 
Organizational Design for Effective Software Development
Organizational Design for Effective Software DevelopmentOrganizational Design for Effective Software Development
Organizational Design for Effective Software Development
 

Similar to Synerzip Agile Software Development

Agile+Lean, Alum Meet Apr23 2016 - Short Version
Agile+Lean, Alum Meet Apr23 2016 - Short VersionAgile+Lean, Alum Meet Apr23 2016 - Short Version
Agile+Lean, Alum Meet Apr23 2016 - Short Version
Hemant Elhence
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
Rob Curry
 
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Eric Wu
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 

Similar to Synerzip Agile Software Development (20)

Agile+Lean, Alum Meet Apr23 2016 - Short Version
Agile+Lean, Alum Meet Apr23 2016 - Short VersionAgile+Lean, Alum Meet Apr23 2016 - Short Version
Agile+Lean, Alum Meet Apr23 2016 - Short Version
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
 
Agile dashboard
Agile dashboardAgile dashboard
Agile dashboard
 
Agile 101
Agile 101Agile 101
Agile 101
 
Why agile?
Why agile?Why agile?
Why agile?
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Migrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to AvoidMigrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to Avoid
 
The art of execution
The art of executionThe art of execution
The art of execution
 
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
 
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
 
Agile 101
Agile 101Agile 101
Agile 101
 
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Software Agility.pptx
Software Agility.pptxSoftware Agility.pptx
Software Agility.pptx
 
Agile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdfAgile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdf
 
Synerzip’s Top 10 Take Aways, From Agile 2013
Synerzip’s Top 10 Take Aways, From Agile 2013Synerzip’s Top 10 Take Aways, From Agile 2013
Synerzip’s Top 10 Take Aways, From Agile 2013
 
Agile foundation and agile myths
Agile foundation and agile mythsAgile foundation and agile myths
Agile foundation and agile myths
 

More from Synerzip

More from Synerzip (20)

HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t
 
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?
 
Using Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget ProjectsUsing Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget Projects
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Agile For Mobile App Development
Agile For Mobile App Development Agile For Mobile App Development
Agile For Mobile App Development
 
Using Agile in Non-Ideal Situations
Using Agile in Non-Ideal SituationsUsing Agile in Non-Ideal Situations
Using Agile in Non-Ideal Situations
 
Accelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi VermaAccelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi Verma
 
Agile Product Management Basics
Agile Product Management BasicsAgile Product Management Basics
Agile Product Management Basics
 
Product Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik HuddlestonProduct Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik Huddleston
 
Modern Software Practices - by Damon Poole
Modern Software Practices - by Damon PooleModern Software Practices - by Damon Poole
Modern Software Practices - by Damon Poole
 
Context Driven Agile Leadership
Context Driven Agile LeadershipContext Driven Agile Leadership
Context Driven Agile Leadership
 
Adopting TDD - by Don McGreal
Adopting TDD - by Don McGrealAdopting TDD - by Don McGreal
Adopting TDD - by Don McGreal
 
Pragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat SubramaniamPragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat Subramaniam
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Agile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take AwaysAgile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take Aways
 
Performance Evaluation in Agile
Performance Evaluation in AgilePerformance Evaluation in Agile
Performance Evaluation in Agile
 
Scrum And Kanban (for better agile teams)
Scrum And Kanban (for better agile teams)Scrum And Kanban (for better agile teams)
Scrum And Kanban (for better agile teams)
 
Managing Technical Debt - by Michael Hall
Managing Technical Debt - by Michael HallManaging Technical Debt - by Michael Hall
Managing Technical Debt - by Michael Hall
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Synerzip Agile Software Development

  • 1. www.synerzip.com Building Enterprise Class Software March 2014 A Guide to Early Stage Technology Companies
  • 2. www.synerzip.comConfidential Topics for Discussion 1. Lifecycle of a software start-up 2. Realities of software development 3. Key decision points 4. Summary
  • 3. www.synerzip.com Lifecycle of a Software Startup Idea Incubation > 1 yr. Bootstrap, Seed A-Round B-Round Angel Round ~$4M ~$4M ~$200K ~$0.5M Company Maturity (HC, Rev, etc.) Time in Years Confidential
  • 4. www.synerzip.comConfidential Topics for Discussion 1. Lifecycle of a technology start-up 2. Realities of software development 3. Key decision points 4. Summary
  • 5. www.synerzip.com Building Software is Complex Evolving/Changing Business Requirements • Multiple, inconsistent inputs • Change is usually good though Inherent R&D Nature of Software Development • Software performance issues • Changing/New technologies Technology Environment with Many Moving Parts • Dependence on external technology components –HW/SW • Constantly changing environment Distributed Teams Needing to Collaborate • Team communications • Need for complementary skills • Unlike other engineering disciplines (e.g. manuf, bldg const), building software is harder and more complex • If not managed properly, a lot can go wrong! • Needs to be properly managed – with appropriate level of process discipline • Agile approach works very well in most cases Confidential
  • 6. www.synerzip.com What is Agile? Agile approach accounts for unique nature of software development. It is a… •software project management approach that encourages delivering in short cycles, with frequent inspection, feedback, and adaptation •leadership philosophy that encourages team-work, self organization, and accountability at team level •disciplined engineering approach to software development that results in rapid delivery of high quality software •business approach that focuses on delivery real business value (=customer needs) above all. Various flavors are practiced – SCRUM, XP, Kanban etc. Confidential
  • 7. www.synerzip.com Agile Manifesto - 2001 “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.” Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas Confidential
  • 8. www.synerzip.com Waterfall Approach Confidential • 6+ month • Too linear, with no learning/feedback cycle • Expects all requirements upfront • No value based prioritization of features • Often results in over engineering • Often testing/quality compromised
  • 9. www.synerzip.com Agile Approach Confidential • First working software in 4 weeks or less • Emphasis on learning/feedback • Embraces changing/evolving requirements • Consistent focus on high-value features • “Just-enough” engineering, with emphasis on frequent refactoring • Focus on repeated testing/quality
  • 10. www.synerzip.com SW Triad – Conventional vs. Agile Conventional Iron triad of Scope x Cost x Schedule should be replaced by Value x Quality x Constraints SCOPE COST SCHEDULE VALUE QUALITY CONSTRAINTS • Cost • Schedule Confidential
  • 12. www.synerzip.com Impact of Agile – 3x Success! Confidential • Agile projects are successful three times more often than non-agile projects • “The agile process is the universal remedy for software development project failure. Software applications developed through the agile process have three times the success rate of the traditional waterfall method and a much lower percentage of time and cost overruns.”
  • 13. www.synerzip.com But, Agile is Not a Panacea • Following Agile approach greatly helps but is not a panacea • “Lip Service Agile” can be worse – more chaos, no net business value! • All involved (business, dev, etc) need to understand the nature of software development and have realistic expectations • Ensure proper team composition – Same person can play multiple roles – But, all roles need to be covered – Be realistic about skill fit of the person playing a role Confidential
  • 14. www.synerzip.com Agile Myths Confidential • Agile = No documentation • Agile = No planning • Agile = No commitment on scope of work to be delivered • Agile = No need for upfront requirements gathering • Agile = No software discipline/rigor • Agile = No budget • Agile = A rigorous process defined in a set of 3-ring binders
  • 15. www.synerzip.com When You Can Do Without Agile • When you know (for sure) all the requirements upfront – and, for some reason (e.g. regulatory constraints), they can’t change/evolve • No technology risk at all • But, still there is benefit of building software in short cycles Confidential
  • 16. www.synerzip.com Team Structure For Success VISIONARY • Idea owner, drives long-term product roadmap • Passionate, evangelizes the idea • But, can’t “write” detailed reqs • May not understand software dev process and get easily frustrated DEV MGR DEVELOPER DEVELOPER • Seasoned development manager – owns delivery plan – resource, time, scope, risk • Pushes back on Prod Mgr to manage scope • Great people manager SW ARCHITECT ARCHITECT ARCHITECT • Seasoned software technologist – makes effective design trade-offs, lays technical foundation • Works with dev team on design • Owns short-term and long-term technology roadmap • Understands the vision, and writes requirements • Understands domain, specific customers/users, competitors, etc • Detail oriented, analytical • Defines scope of each iteration/release, owns QA PRODUCT MGR QA PRODUCT OWNER Can be Offshore/ Remote Needs to be close to customers Confidential
  • 17. www.synerzip.com Strive For Stable Teams • As far as possible, keep your software team stable • Don’t stop and start teams – High churn has huge negative impact – It is better to have a smaller team, but stable – Real IP is in the heads of team members, no amount of documentation can replace it • Agile is all about team – Software development is a team sport – Accountability at team level Confidential
  • 18. www.synerzip.com Avoid Feature Bloat • Pay a lot of attention to “what features to build” • More is not always good, often less is better • Be disciplined about… – Which features to build – Makes features usable – Routinely “refactor” features – usage data driven Confidential
  • 19. www.synerzip.com Bug Free Software? • There is no such thing as “bug free” software? • Plan for proper test/QA process and capacity – In very early stages, market feedback is more important than software quality – In later stages, software quality is far more important than pace of new features • Plan (invest) for automated QA Confidential
  • 20. www.synerzip.com Software is Never “Done” • If you have users, software will keep evolving • Bugs will keep showing up • Current customers will keep asking for new features • New customers will demand new features • Performance will need to be enhanced • Technology will keep evolving, requiring you to keep up • You should actively refactor code, improve usability on a regular basis • So, plan for an on-going, stable engineering team Confidential
  • 21. www.synerzip.comConfidential Topics for Discussion 1. Lifecycle of a technology start-up 2. Realities of software development 3. Key decision points 4. Summary
  • 22. www.synerzip.com Key Decisions Confidential Is software the core value prop? Is software a significant value?NO StartStart Build initial software version Build initial software version Acquire initial customers Acquire initial customers Need to expand team? YES Have CTO as co- founder? Build small local team Build small local team YES YES NO Continue customer acquisition Continue customer acquisition Can find & attract talent locally? YES Have sufficient capital? YES Expand locallyExpand locally YES Consider offshore/ outsourcing Consider offshore/ outsourcing NO NO Consider outsourcing Consider outsourcing NO Find oneFind one NO
  • 23. www.synerzip.com Why Outsource/offshore? 1. Capital constrained 2. Need to accelerate product roadmap a. Faster team ramp-up b. Use time-zone to your advantage, 24x7 3. Don’t have needed skills (Agile process or specific technologies) in-house 4. Required talent difficult to hire locally 5. Peaks & valleys in your need, e.g. QA Confidential
  • 24. www.synerzip.com When Outsourcing… • Look for a “partner”, rather than a “vendor” – Trust based, collaborative partnership – Specific skills, good software development process – Longer term relationship – Stable teams • Be very careful of paying dev partner with equity – Raise capital from professional investors, e.g. VCs – For software development, engage with a professional software dev company • Maintain ownership of your IP Confidential
  • 25. www.synerzip.comConfidential Topics for Discussion 1. Lifecycle of a technology start-up 2. Realities of software development 3. Key decision points 4. Summary
  • 26. www.synerzip.com Summary 1. Building enterprise software is complex undertaking, plan appropriately 2. In almost all cases, follow Agile 3. When outsourcing, still maintain leadership in-house – Product vision and roadmap – Software architecture/engineering leadership 1. Software is actually never “Done” – plan for ongoing burn-rate in your financials Confidential
  • 28. www.synerzip.com Important Considerations 1. Serving a customer vs. target market 2. A common product (code base) vs. many customized versions in the field 3. Technical Debt – keep it visible, exercise discretion in incurring it 4. Pay attention to team-mix a. Balanced team, covering all roles explicitly b. Small, dedicated team is much better than a large team of contractors/part-timers 5. DevOps – invest in dev/test infrastructure for continuous delivery, test & build automation, etc. 6. Strive to build less code, delivery more value Confidential
  • 29. www.synerzip.com Basic Hygiene For SW Dev 1. Requirements need to be written. 2. Each requirement should be accompanied by an acceptance test case. In fact, acceptance test case is more important than English prose format of requirements. 3. Use ONE issue tracking system. Everybody looks at the same system. No spreadsheets. 4. Source code control system – needs to be ONE. Confidential
  • 30. www.synerzip.com Tools and Processes • Requirement Analysis – User Story Detailing – Effort Estimation and Commitment – Requirement/Functionality validation: POCs • Development – Processes: Code Reviews, Frequent Check-ins; Code Branching and Merge synchronized with sprint demos • Source Code Control and Build Tools Used: CVS, SVN, GIT • Other Tools used: Jprofiler, JMeter – Continuous Build Automation: Daily Builds and periodic automated deployment • Tools Used: Ant, Maven, Cruise Control, Hudson, LuntBuild – Coding efficiency: Predictability based on sprint commitments using team velocity established over first 2-3 sprints Confidential
  • 31. www.synerzip.com Tools and Processes • Development (contd.) – Unit Testing: sprint deliverables are Unit Tested • Tools: Junit • Testing – Process: Work in-step with developers and create test cases – Regression Testing: incremental development of the suite, executing towards end of each sprint – Bug tracking tools: Bugzilla, JIRA – Test Case Management Tools: TestLink, Test Director – Test Automation: we recommend adding a small team of automation engineers to automate the regression test suite. Confidential
  • 32. www.synerzip.com Tools and Processes • Deployment – UAT: maintain UAT environment; Define and develop UAT test suite by identifying specific end to end tests – UAT deployment: planned and periodic – Bug Scrubs: Regular bug review and re-prioritization • Progress Tracking: – Tracking: Daily Updates to Issue tracker, Weekly Status Reports – Issue tracking tools: JIRA(with grasshopper plug-in), Rally • Communication: – Conference calls: at the frequency required (daily…weekly) – Wiki: Maintaining a document repository Confidential
  • 33. www.synerzip.comConfidential Contact Us – Austin, Dallas, San Jose • Hemant Elhence (Dallas, TX) – hemant@synerzip.com – Office: 469.322.0349 – Mobile: 214.762.4873 • Subu Sankara (San Jose, CA) – subu@synerzip.com – Mobile: 510.579.9673 • www.synerzip.com • Development center in Pune, India