With your great business idea, you will need a good partner to help you create software. This presentation gives you a basic idea of what a software project is all about and how you can make a good decision in choosing your partner.
7. Feature Priority
> Must-have: We will lose without them.
> Should-have: We will not win without them.
> Nice-to-have: We will win more with them.
– If it’s unnecessary, it’s unnecessary.
– Don’t fix things that don’t break.
– Keep it simple and stupid.
– Elegance = Simple and Powerful
– Master your skills of saying no.
https://www.projectsmart.co.uk/moscow-method.php
8. Releasing Software
• Staging environment
• Test run everything
• Capacity Planning
• Data Migration Planning
• Versioning
Plan
• Pre-deploy QA
• Deploy
• Migration
• Post-deploy QA
• Rollback
Release • Analytics Information
• Growth Projection
• Production Issues
• Continuous Integration
• Continuous Delivery
Repeat
9. Scaling
> How does your software respond to increasing load?
– Algorithmic analysis: Big O notation
– Load Testing: Jmeter, flood.io
> What is your expected load at launch?
A month in? A year in? Three years in?
> What kind of infrastructure you need to support such load?
> Real-time load monitoring – preemptive scaling
– New Relic, Zabbix, m/monit
> Cloud Infrastructure vs Hosted Solutions vs Self-Hosting
10. Software Development Cost Analysis
Qualification
• ISO
• CMMA
• HIPAA
• Security
Equipment
• Development
Machines
• Test Devices
• Licensing
• Various
Environments
Labor
• Project
Manager
• Analyst
• Developer
• QA
• DevOps
• Support
Infrastructure
• Domain
• DNS
• SSL
Certificates
• Hosting
• Analytics
• Support
Platorm
Disaster
• Bugs
• Downtime
• SLA
• Opportunity
Cost
• Reputation
11. Development teams are people.
We make mistakes.
Our mistakes are spectacular.
You are a part of the team too. Help out.
12. Just because you paid millions for
crap sandwich,
doesn’t mean you have to keep it.
May be it’s cheaper to restart.
13. In-house vs Outsource
In-house
> You pay for the salary and all the
tools required. Sometimes with food,
other times with stock options.
> There’s no lump sum fee you can fix.
You will have to pay the price for
letting your staff go after the project.
> You have complete control over the
project. It’s entirely up to you, good
or bad, right or wrong, success or
failure. You had better know what
you’re up to.
Outsource
> You pay for the (greatly varying)
service fee and huge margin. You
have the power to choose a lump
sum fee; or a man-hour rate.
> You usually have to have a
maintenance contract post-release.
> You have less control. Sometimes it’s
a good thing. Let the expert do their
job. Or… you may be conned in the
most terrible way.
Ultimately, software development is a people business. It’s all about who you hire.