This is Part 2 of a three part series on "What to Expect When You're Expecting (Software Development)." Stay tuned for Part 3!
What to Expect During Software Development: Frequently Asked Questions
If you read Part 1, you'll already know what to expect in software development in terms of technical debt, third party limitations, and bugs. Next, we'll get into some of the most frequently asked questions when it comes to starting a software development project with our team.
It's Your Code, Your Server, Your Environment
A common question we get is "who retains ownership of everything?" Simple answer: YOU do. It is important to us to ensure that you feel safe comfortable with the security of your product, so the client always owns the code, servers, etc.
Many of our clients who are running a software project for the first time express a lot of uncertainty about code ownership. Thus, we like to have you in the driver's seat so you always know what to expect when it comes to ownership of your development and code. Your Aloa Strategist will help you set everything up and make sure all is good to go.
Regarding code repositories (where we host the code), we encourage you to allow us to host it first on our repository so we can easily set everything up for you. Once it's all set up, we can easily transfer the ownership back to you at your convenience. Proper set-up includes:
- Setting up the correct branches
- Linking the proper servers
- Integrating automated deployment tools
If you don't feel comfortable doing this to start, please communicate that with your Strategist so they can help figure out the best plan for you.
We can also easily accommodate situations in which you want to own the code repository from start to finish. We'll just have to log in as admins at the start to set everything up, or walk you through the process of doing so.
If you do allow us to host the repo on our account at first and set everything up, we can easily transfer ownership of the repo to you at any point during the relationship. We don't believe in holding code ransom, and neither do our development partners, so we are happy to transfer the code repository to you at any point in the project if you don't already own it.
Associated Costs
A point to keep in mind is that hosting, servers, etc. all cost money. When you create these accounts, you'll have to pay for the server costs. If you want back-ups or other database security measures, those too are additional costs that come with the territory.
It is impossible to outline every and all situations that come with servers, databases, security, measures, etc, in a single document. Not only is it impossible, you simply wouldn't want to read it all! Your Strategist will be responsible for discussing what costs to expect with development and will provide recommendations that are best suited to your situation.
No Two Software Projects are Identical
The second most frequent question we get asked is "what will my development process be like?" Both clients who are experienced and clients who are running software development projects for the first time want to know what they can expect in the months ahead.
Just like snowflakes, no two software development experiences are going to be alike. We can't tell you with 100% certainty exactly what to expect during development, because every project comes with its own variables that we as developers have to adapt to. This isn't a bad thing, it is just something to recognize!
Therefore, what we can do on our end is help solidify a solid development process that we both agree to. This will help ensure that we are on the same page and handle things with consistency and as much predictability as possible. Having a structured development process helps us know what to expect during development and helps reduce any delays and disruptions.
With your Strategist, you've walked through what development process makes the most sense for your project. Here's a recap of the high level categories that your Strategist has gone over with you. Together, you'll hammer out what makes most sense given your platform.
- Code Repo Strategy
- Environment Strategy
- Deployment & CI/CD Set-Ups
- Backups / Security / Audit Trail Strategy
- Documentation and Project Info Collection
Don't be worried if this doesn't really make sense to you at a high-level, we get that. This is why your Strategist has walked through all of these details with you and is always there to answer any questions. These conversations are really important for two main reasons:
- It is a preventative measure to mitigate future reactive measures. If we can solidify and hammer out these details, it will help us prevent fires down the line.
- Having this all outlined helps us help you! If a fire does happen, which is very normal in the software space, any collaborator or Aloa Tech Lead will be able to jump in with zero previous context and quickly understand the process and flow for your project.
For example, if we decide that code quality is the most important aspect of the project, we might implement a very strict code review process that involves multiple developers reviewing each others' code. However the trade-off would be some amount of speed (at least for individual developer speed). Your Strategist will help you make these decisions and you'll know what to expect from your development process.
What is a System Administrator?
Another question we get often is, "what is a System Administrator? Are you guys responsible for being our System Administrator?" A System Administrator is someone who is responsible for the uptime and operation of your website, server, etc. If your website or service went down, the System Admin is the person that would work to bring it back up or notify users that a problem has occurred.
We want to be very clear that you are engaging with us to develop your product. When we pair you up with one of our Partner Firms, it is their role to be your developer, not your System Administrator.
We are going to look to another analogy to explain this concept. Let's build a house. When you want to build a house, you hire a contractor to do the work. We are your contractor. We will build your house, and we'll do a great job at it! However, once it is built and you are living in it, there comes additional responsibilities.
If someone breaks into your house at night, or something catches on fire, who do you call? You wouldn't call your contractor, you would call 911. At that point, 911 would diagnose the problem and act accordingly.
Now you're probably straying away from the analogy and asking yourself, well, why can't a developer also be a System Admin? Doesn't it fall under the same skillset? Well, you're not entirely wrong. In some cases, a dev can totally be a System Admin. However, in the case of outsourcing, your devs are often asleep during portions of your day. Going back to the analogy, you wouldn't call 911 if you knew they wouldn't respond for a handful of hours.
When your Partner Firm is awake, they can totally hop on an issue and help squash any bugs to push the product back live. However, if up-time is critical for the performance of your platform, you need to be sure that you have someone available, on-call, to be your 911.
This of course will cost money; emergency services also cost us money, which we pay through taxes or insurance. This is a GOOD problem to have, because it means you are growing as a business. So, it is important for us that we make sure this is clear to you so you can know what to expect if disruptions to your uptime occur during development. If you are looking for a service to monitor your site's uptime, we use Hyperping! Check out our review of their service.
What to Expect During Software Development: Frequently Asked Questions
We hope that our answers to these frequently asked questions helped alleviate some of the concerns you may have. As always, your Aloa Strategist is there to answer any additional questions you might have about your project.
Before we begin your project, your Strategist will do the best they can to ensure your concerns about code ownership, development process, and system administration are alleviated. We're here to do everything in our power to help you know what to expect during your software development experience!
This is Part 2 of a three part series on "What to Expect When You're Expecting (Software Development)." Stay tuned for Part 3!