Software Development Model for Startups Thesis project presentation Author: Martin Verrev Advisor: Mart Roost 2012
MotivationBusiness development and technologydevelopment cannot be handled separatelyduring startup lifecycle.
Purpose and scopePurpose:• Analyze startup and identify key constraints and success factors.• Formalize a development model tailored to startup lifecycle describing a process from initial idea to building a successful company.Scope:• The model is applicable to tech startups
What is a startup?Startup is a human institution designed tocreate a new product or service underconditions of extreme uncertainty. (Ries)Startup is temporary organization designed tosearch for a repeatable and scalable businessmodel. (Blank)
Business modelBusiness model is a collection of ideas thatdescribes the rationale of how an organizationcreates, delivers, and captures value.It includes value proposition, customersegments, product, marketing and other coreaspects of business describing the rationale ofhow an organization creates, delivers, andcaptures value converting it to profits.
Startup vs traditional companyBusiness model discovery Business model execution Startup Organizational Company transition Validated business model Cash-flow breakeven Validated product Profitable Repeatable sales model Rapid scale Managers hired New management
Startup success definitionReaching the organizational transition beforerunning out of resources:• Having a validated business model• Having a product that customers want• Having a repeatable sales channels
Model guidelines• Maximal reduction of uncertainty• Minimal time to market• Traceability and measurability• Scalability and traceability• Right Action Right Time
Model overview Agile Development ProcessValidated Learning Development Archetype Patterns practice model practice Startup lifecycle
Startup lifecycle Problem Market Product ScalingValidation Validation ValidationEach distinct phase has:• Purpose, primary and secondary goals.• Minimal set of mandatory roles, tasks, actions and outcomes.• Success criteria defined by success validation checklist, supported by phase specific metrics.
Agile development process• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
Validated learning• Purpose: Managing external uncertainty by learning as much as possible from customers• Method: Applying scientific method to development process to empirically prove correlation between product attributes and changed customer behavior
Archetype patterns• Purpose: Managing internal uncertainty by learning as much as possible from customers• Definition: Self-evident and universal patterns of enterprise architecture that occur consistently in both business and technology domains.
Archetype patterns• Decoupling implementation from specific problem being solved.• Providing architectural stability and guaranteed correctness even in case of change or pivot.• Providing scalability to architecture in case of rapid expansion.• Providing standards support to interface with external systems.
Implementation• SPEM 2.0 compliant process model: – Defined method content. – Formalized business processes applicable to startup lifecycle. – Formalized repeatable components of business process as capability patterns and applied them to business processes.• Applied guidance and supporting materials to process model for improved legibility and usability.
Result Summary• Described key constraints and success factors applicable to startup.• Formalized development model that: – Supports startup lifecycle. – Minimizes uncertainty from environment and external factors. – Minimizes uncertainty from architecture and internal factors. – Follows agile practices.
Conclusions• Startup is fundamentally different from traditional company.• Applying traditional agile methodologies to development process is not enough. Agile methodologies should be extended with: – Validated learning practice – Archetype patterns practice• Further research can be conducted based on current results.
Further development• Elaborate the process model to extent that it is usable by non-technical managers without supplementary theoretical materials.• Further theoretical research is possible in areas of process management, action research, business development or systems analysis.
Supplementing materials• Published process model: http://martinv.zzz.ee/msc/published• Theoretical foundations (in Estonian): http://martinv.zzz.ee/msc/theory• Process model sources: https://github.com/martinve/asdp-process