SlideShare a Scribd company logo
1 of 30
Building Enterprise Class Software
  A Guide to Early Stage Technology Companies

                 March 2013




                 www.synerzip.com
Topics for Discussion
1.    Lifecycle of a software start-up
2.    Realities of software development
3.    Key decision points
4.    Summary




Confidential                              www.synerzip.com
Lifecycle of Software Startup

Company
Maturity (HC,
Rev, etc.)




 Idea Incubation
                                                             Time in Years

      > 1 yr.

                   Bootstrap,   Seed     A-Round   B-Round
                     Angel      Round    ~$4M      ~$4M
                   ~$200K       ~$0.5M




  Confidential                                               www.synerzip.com
Topics for Discussion
1.     Lifecycle of a technology start-up
2.     Realities of software development
3.     Key decision points
4.     Summary




Confidential                                www.synerzip.com
Building Software is Complex

                                                                        • Unlike other engineering
Evolving/Changing                  Inherent R&D Nature of               disciplines (e.g. manuf, bldg
Business Requirements              Software Development                 const), building software is
• Multiple, inconsistent inputs    • Software performance issues        harder and more complex
• Change is usually good though    • Changing/New technologies
                                                                        • If not managed properly, a
                                                                        lot can go wrong!
                                                                        • Needs to be properly
                                                                        managed – with appropriate
                                                                        level of process discipline
                                                                        • Agile approach works very
                                   Technology Environment
Distributed Teams                                                       well in most cases
                                   with Many Moving Parts
Needing to Collaborate
                                    • Dependence on external
 • Team communications
                                    technology components –HW/SW
 • Need for complementary skills
                                    • Constantly changing environment

  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




               •   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

Confidential                                                     www.synerzip.com
Agile Approach




               • 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


Confidential                                                 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                           VALUE




 COST                  SCHEDULE      QUALITY            CONSTRAINTS
                                                        • Cost
                                                        • Schedule




Confidential                                                www.synerzip.com
Agile Development Cycles




Confidential               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




   •   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

Confidential                                                      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
Needs to                                                                            • Idea owner, drives long-term product
be close to                                                                         roadmap
customers                         VISIONARY                                         • Passionate, evangelizes the idea
                                                                                    • But, can’t “write” detailed reqs
                                                                                    • May not understand software dev
                                                                                    process and get easily frustrated



 PRODUCT MGR                       DEV MGR                          SW ARCHITECT


     PRODUCT OWNER                      DEVELOPER                          ARCHITECT
                                                                                                             Can be
                                                                                                             Offshore/
                                                                                                             Remote
      QA                                DEVELOPER                          ARCHITECT


• Understands the vision, and writes • Seasoned development manager     • Seasoned software technologist –
requirements                         – owns delivery plan – resource,   makes effective design trade-offs,
                                     time, scope, risk                  lays technical foundation
• Understands domain, specific
customers/users, competitors, etc    • Pushes back on Prod Mgr to       • Works with dev team on design
                                     manage scope
• Detail oriented, analytical                                           • Owns short-term and long-term
                                     • Great people manager             technology roadmap
• Defines scope of each
iteration/release, owns QA
 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




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 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.com
Topics for Discussion
1.     Lifecycle of a technology start-up
2.     Realities of software development
3.     Key decision points
4.     Summary




Confidential                                www.synerzip.com
Key Decisions
 Start
  Start
                                Is software a        NO                          Consider
                                                                                  Consider
                                 significant                                    outsourcing
                                                                                 outsourcing
          Is software   NO         value?
           the core
          value prop?                   YES
                                                           Can find &
                               Build small local                                 NO
                YES             Build small local         attract talent
                                     team
                                      team                   locally?
          Have CTO                                                               Consider
                                                                                  Consider
                        YES                                      YES
             as co-               Build initial
                                   Build initial                                 offshore/
                                                                                  offshore/
           founder?            software version
                                software version                                outsourcing
                                                                                 outsourcing
                                                              Have
                NO                                          sufficient
                                Acquire initial
                                 Acquire initial                                NO
                                                             capital?
                                 customers
                                  customers
           Find one
            Find one
                                                                 YES

                                   Need to          YES
                                   expand                 Expand locally
                                                           Expand locally
                                    team?
                                         NO

                              Continue customer
                               Continue customer
                                 acquisition
                                   acquisition
Confidential                                                               www.synerzip.com
Why Outsource?
1. You need software development and
   delivery skills (process or specific
   technologies), that you don’t have in-house
2. Required talent difficult to hire (locally)
3. Peaks and valleys in your need, e.g.
   QA/Testing
4. Capital constraints



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.com
Topics for Discussion
1.     Lifecycle of a technology start-up
2.     Realities of software development
3.     Key decision points
4.     Summary




Confidential                                www.synerzip.com
Summary
1. Building enterprise software is complex
   undertaking, plan appropriately
2. When outsourcing, still maintain leadership
   in-house
     – Product vision and roadmap
     – Software architecture/engineering leadership
1. In almost all cases, Agile is the way to go
2. Software is actually never “Done” – plan for
   ongoing burn rate in your financials

Confidential                                 www.synerzip.com
Appendix




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.com
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

Confidential                                www.synerzip.com

More Related Content

What's hot

Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product DevelopmentGary Pedretti
 
Gems of agile a glimpse of agile for senior management
Gems of agile   a glimpse of agile for senior managementGems of agile   a glimpse of agile for senior management
Gems of agile a glimpse of agile for senior managementNeeraj Bachani
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Developmentgcaprio
 
Scrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationScrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationAndreea Visanoiu
 
Agile Outside Software
Agile Outside SoftwareAgile Outside Software
Agile Outside Softwareallan kelly
 
Agile Auckland agile 101 back to basics
Agile Auckland   agile 101 back to basicsAgile Auckland   agile 101 back to basics
Agile Auckland agile 101 back to basicsEdwin Dando
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software DevelopmentTathagat Varma
 
Lean Concepts & Agile Software Methodologies
Lean Concepts & Agile Software MethodologiesLean Concepts & Agile Software Methodologies
Lean Concepts & Agile Software MethodologiesBrad Smith
 
Business Case for Agile - Time for ROI Check
Business Case for Agile - Time for ROI CheckBusiness Case for Agile - Time for ROI Check
Business Case for Agile - Time for ROI CheckTathagat Varma
 
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftChallenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftXBOSoft
 
LeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case StudyLeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case StudyAgile Austria Conference
 
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)Cprime
 
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.Boardroom Metrics
 
Why Does Agile Work?
Why Does Agile Work?Why Does Agile Work?
Why Does Agile Work?Matthew Caine
 
Agile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsAgile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsCprime
 
Enterprise Agile Transformation Strategies
Enterprise Agile Transformation StrategiesEnterprise Agile Transformation Strategies
Enterprise Agile Transformation StrategiesMike Cottmeyer
 
Agile Roles & responsibilities
Agile Roles & responsibilitiesAgile Roles & responsibilities
Agile Roles & responsibilitiesRavi Tadwalkar
 

What's hot (20)

Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
Gems of agile a glimpse of agile for senior management
Gems of agile   a glimpse of agile for senior managementGems of agile   a glimpse of agile for senior management
Gems of agile a glimpse of agile for senior management
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Development
 
Scrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationScrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile Transformation
 
Agile Outside Software
Agile Outside SoftwareAgile Outside Software
Agile Outside Software
 
Agile Auckland agile 101 back to basics
Agile Auckland   agile 101 back to basicsAgile Auckland   agile 101 back to basics
Agile Auckland agile 101 back to basics
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
Lean Concepts & Agile Software Methodologies
Lean Concepts & Agile Software MethodologiesLean Concepts & Agile Software Methodologies
Lean Concepts & Agile Software Methodologies
 
2011 lean kanban-scrum
2011 lean kanban-scrum2011 lean kanban-scrum
2011 lean kanban-scrum
 
Business Case for Agile - Time for ROI Check
Business Case for Agile - Time for ROI CheckBusiness Case for Agile - Time for ROI Check
Business Case for Agile - Time for ROI Check
 
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftChallenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
 
LeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case StudyLeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case Study
 
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
Introduction to Recipes for Agile Governance in the Enterprise (RAGE)
 
Agile challenges
Agile challengesAgile challenges
Agile challenges
 
Agile Webinar: Managing Distributed Teams
Agile Webinar: Managing Distributed TeamsAgile Webinar: Managing Distributed Teams
Agile Webinar: Managing Distributed Teams
 
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
 
Why Does Agile Work?
Why Does Agile Work?Why Does Agile Work?
Why Does Agile Work?
 
Agile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsAgile Governance for Hybrid Programs
Agile Governance for Hybrid Programs
 
Enterprise Agile Transformation Strategies
Enterprise Agile Transformation StrategiesEnterprise Agile Transformation Strategies
Enterprise Agile Transformation Strategies
 
Agile Roles & responsibilities
Agile Roles & responsibilitiesAgile Roles & responsibilities
Agile Roles & responsibilities
 

Viewers also liked

Development Process for Micro Projects
Development Process for Micro ProjectsDevelopment Process for Micro Projects
Development Process for Micro ProjectsMartin Verrev
 
2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...
2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...
2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...Nabil Babaci
 
Agile documentation
Agile documentationAgile documentation
Agile documentationAteeq Khaliq
 
Team structure & development
Team structure & developmentTeam structure & development
Team structure & developmentP Narayan Murthy
 
Imagine Indonesia: engaging with the potential e-commerce market
Imagine Indonesia: engaging with the potential e-commerce marketImagine Indonesia: engaging with the potential e-commerce market
Imagine Indonesia: engaging with the potential e-commerce marketAkhmad Zaimi
 
Polemik Transportasi Online di Indoensia
Polemik Transportasi Online di IndoensiaPolemik Transportasi Online di Indoensia
Polemik Transportasi Online di IndoensiaMeidika Sri Wardiana
 
Trend digital business startup indonesia 2017
Trend digital business startup indonesia 2017Trend digital business startup indonesia 2017
Trend digital business startup indonesia 2017Muhammad Singgih Z.A
 

Viewers also liked (9)

Development Process for Micro Projects
Development Process for Micro ProjectsDevelopment Process for Micro Projects
Development Process for Micro Projects
 
2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...
2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...
2014 12-02 alm day - optimisez les cycles de développement avec la plateforme...
 
Agile documentation
Agile documentationAgile documentation
Agile documentation
 
Team structure & development
Team structure & developmentTeam structure & development
Team structure & development
 
Imagine Indonesia: engaging with the potential e-commerce market
Imagine Indonesia: engaging with the potential e-commerce marketImagine Indonesia: engaging with the potential e-commerce market
Imagine Indonesia: engaging with the potential e-commerce market
 
Polemik Transportasi Online di Indoensia
Polemik Transportasi Online di IndoensiaPolemik Transportasi Online di Indoensia
Polemik Transportasi Online di Indoensia
 
Team Structure
Team StructureTeam Structure
Team Structure
 
Gojek Happiness Story
Gojek Happiness StoryGojek Happiness Story
Gojek Happiness Story
 
Trend digital business startup indonesia 2017
Trend digital business startup indonesia 2017Trend digital business startup indonesia 2017
Trend digital business startup indonesia 2017
 

Similar to Agile software development for startups

Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentSynerzip
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agileNaveen Gupta
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of AgileSam Hwang
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsMarc Crudgington, MBA
 
Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...Think For A Change
 
Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!Aricent
 
Precis Book Agile mgmt software engineering david j andreson summary viramdas...
Precis Book Agile mgmt software engineering david j andreson summary viramdas...Precis Book Agile mgmt software engineering david j andreson summary viramdas...
Precis Book Agile mgmt software engineering david j andreson summary viramdas...Vishwanath Ramdas
 
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 4Marvin Heery
 
Another Agile Intro
Another Agile IntroAnother Agile Intro
Another Agile IntroSteve Hayes
 
Agile product development and management
Agile product development and managementAgile product development and management
Agile product development and managementAshwinee Kumar
 
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Cognizant
 
Agile Intro for FCL
Agile Intro for FCLAgile Intro for FCL
Agile Intro for FCLjabizz
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfSwapnikaReddy6
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsMike Long
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and SecureDenim Group
 

Similar to Agile software development for startups (20)

Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agile
 
Intro Of Agile
Intro Of AgileIntro Of Agile
Intro Of Agile
 
Agile
AgileAgile
Agile
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful Organizations
 
Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...Project Management Foundations Series Course 104 - Agile Project Management C...
Project Management Foundations Series Course 104 - Agile Project Management C...
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!Top 7 Myths of Agile Testing - Busted!
Top 7 Myths of Agile Testing - Busted!
 
Precis Book Agile mgmt software engineering david j andreson summary viramdas...
Precis Book Agile mgmt software engineering david j andreson summary viramdas...Precis Book Agile mgmt software engineering david j andreson summary viramdas...
Precis Book Agile mgmt software engineering david j andreson summary viramdas...
 
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
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Another Agile Intro
Another Agile IntroAnother Agile Intro
Another Agile Intro
 
Agile product development and management
Agile product development and managementAgile product development and management
Agile product development and management
 
Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02Agileproductdevelopmentandmanagement 120420040535-phpapp02
Agileproductdevelopmentandmanagement 120420040535-phpapp02
 
Agile Intro for FCL
Agile Intro for FCLAgile Intro for FCL
Agile Intro for FCL
 
Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009Utah PMA Quarterly Meeting, June, 2009
Utah PMA Quarterly Meeting, June, 2009
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy Projects
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and Secure
 

Recently uploaded

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Agile software development for startups

  • 1. Building Enterprise Class Software A Guide to Early Stage Technology Companies March 2013 www.synerzip.com
  • 2. Topics for Discussion 1. Lifecycle of a software start-up 2. Realities of software development 3. Key decision points 4. Summary Confidential www.synerzip.com
  • 3. Lifecycle of Software Startup Company Maturity (HC, Rev, etc.) Idea Incubation Time in Years > 1 yr. Bootstrap, Seed A-Round B-Round Angel Round ~$4M ~$4M ~$200K ~$0.5M Confidential www.synerzip.com
  • 4. Topics for Discussion 1. Lifecycle of a technology start-up 2. Realities of software development 3. Key decision points 4. Summary Confidential www.synerzip.com
  • 5. Building Software is Complex • Unlike other engineering Evolving/Changing Inherent R&D Nature of disciplines (e.g. manuf, bldg Business Requirements Software Development const), building software is • Multiple, inconsistent inputs • Software performance issues harder and more complex • Change is usually good though • Changing/New technologies • If not managed properly, a lot can go wrong! • Needs to be properly managed – with appropriate level of process discipline • Agile approach works very Technology Environment Distributed Teams well in most cases with Many Moving Parts Needing to Collaborate • Dependence on external • Team communications technology components –HW/SW • Need for complementary skills • Constantly changing environment Confidential www.synerzip.com
  • 6. 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
  • 7. 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
  • 8. Waterfall Approach • 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 Confidential www.synerzip.com
  • 9. Agile Approach • 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 Confidential www.synerzip.com
  • 10. SW Triad – Conventional vs. Agile Conventional Iron triad of Scope x Cost x Schedule should be replaced by Value x Quality x Constraints SCOPE VALUE COST SCHEDULE QUALITY CONSTRAINTS • Cost • Schedule Confidential www.synerzip.com
  • 12. 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
  • 13. Agile Myths • 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 Confidential www.synerzip.com
  • 14. 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
  • 15. Team Structure For Success Needs to • Idea owner, drives long-term product be close to roadmap customers VISIONARY • Passionate, evangelizes the idea • But, can’t “write” detailed reqs • May not understand software dev process and get easily frustrated PRODUCT MGR DEV MGR SW ARCHITECT PRODUCT OWNER DEVELOPER ARCHITECT Can be Offshore/ Remote QA DEVELOPER ARCHITECT • Understands the vision, and writes • Seasoned development manager • Seasoned software technologist – requirements – owns delivery plan – resource, makes effective design trade-offs, time, scope, risk lays technical foundation • Understands domain, specific customers/users, competitors, etc • Pushes back on Prod Mgr to • Works with dev team on design manage scope • Detail oriented, analytical • Owns short-term and long-term • Great people manager technology roadmap • Defines scope of each iteration/release, owns QA Confidential www.synerzip.com
  • 16. 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 Confidential www.synerzip.com
  • 17. 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 for automated QA Confidential www.synerzip.com
  • 18. 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.com
  • 19. Topics for Discussion 1. Lifecycle of a technology start-up 2. Realities of software development 3. Key decision points 4. Summary Confidential www.synerzip.com
  • 20. Key Decisions Start Start Is software a NO Consider Consider significant outsourcing outsourcing Is software NO value? the core value prop? YES Can find & Build small local NO YES Build small local attract talent team team locally? Have CTO Consider Consider YES YES as co- Build initial Build initial offshore/ offshore/ founder? software version software version outsourcing outsourcing Have NO sufficient Acquire initial Acquire initial NO capital? customers customers Find one Find one YES Need to YES expand Expand locally Expand locally team? NO Continue customer Continue customer acquisition acquisition Confidential www.synerzip.com
  • 21. Why Outsource? 1. You need software development and delivery skills (process or specific technologies), that you don’t have in-house 2. Required talent difficult to hire (locally) 3. Peaks and valleys in your need, e.g. QA/Testing 4. Capital constraints Confidential www.synerzip.com
  • 22. 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.com
  • 23. Topics for Discussion 1. Lifecycle of a technology start-up 2. Realities of software development 3. Key decision points 4. Summary Confidential www.synerzip.com
  • 24. Summary 1. Building enterprise software is complex undertaking, plan appropriately 2. When outsourcing, still maintain leadership in-house – Product vision and roadmap – Software architecture/engineering leadership 1. In almost all cases, Agile is the way to go 2. Software is actually never “Done” – plan for ongoing burn rate in your financials Confidential www.synerzip.com
  • 25. Appendix Confidential www.synerzip.com
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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.com
  • 30. 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 Confidential www.synerzip.com