Blog

All

What it’s like to work with Green Mango

Every software development company is a little different. When a new client calls us to discuss their project, they want to know what it’s like to work with Green Mango as a company. It’s a great question because we have our own processes and client service goals in place that help to differentiate us from other development companies.

Where Do New Projects Come From?

Generally, new projects come to us through two avenues. Many of our projects start as fixes that another software development company started. Maybe that other company finished the project but it never worked the way that the client wanted. Perhaps the client stopped the project because they felt it wasn’t going well. Green Mango is happy to take over these projects, evaluate what went wrong, and deliver a high quality product that our clients are satisfied with.

Others come to us for the first time as just an idea or a new project. We can help transform your initial idea into a software program, video game, or smartphone app. In these cases, we’ll spend a lot of time with you discussing the concept and making sure that we understand your vision.

Assessment

All of our projects start with a thorough assessment. It doesn’t matter if it’s a new project or something that we’re taking over from another company. We want to have clear expectations about the project. We also want our clients to be aware of any problems that may arise before we start. Here are some of the things we’ll look at:

Where are we with this project? We will assess the project to see where it is in the project lifecycle. This helps us set a realistic timeframe for each phase of the project.

Intellectual property. You may be concerned about who owns what intellectual property after our collaboration. We’ll establish firm guidelines about intellectual property before we ever begin.

Quality of the existing code. We’ll take a deep look into your project’s existing code to find out if there are any issues including bugs, quality issues, and other problems that you should be aware of.

Project costs. We believe in complete transparency with our clients. Before we start a project, we’ll forecast project costs to look for unforeseen costs that might come up down the road.

Active Project Completion

After the assessment, we’ll determine your project’s tech stack needs. We’ll assign dedicated full-time staff to work on the project. Throughout the project, you can expect:

Regular updates – You don’t want to be left wondering what’s going on with your project.

Weekly demos – We don’t simply tell you what stage your project is at. We’ll send you a weekly demo of the most recent build so you can see it for yourself and provide constructive feedback.

SCRUM methodology – We utilize SCRUM methodology, including sprints, to ensure projects are completed correctly and on time.

As a result, many of our clients can easily see the difference in working with Green Mango versus other software development companies. Even so, we’re open to discussions about how we can make your project even more workable for you.

April 28, 2017
/
0 Comments

All

How We Manage and Protect Source Code

In the early days of computing, source code was stored on removable disks. If you wanted to make a backup, you simply copied your source files onto a second disk. As software development matured, a few key issues became apparent with this approach:

1. A file could only be edited by a single person at a time. Even in an environment where computers are networked together, in general file editor applications expect that they are the only ones making changes to a file at the time they have it open. In fact, most file systems will block applications from writing to a file if another application has the file open already. This created a bottleneck for development because in some cases a file can be large, and two people or more can feasibly be editing it at the same time. See Google Docs as a modern day example of this that works well.

2. Files were only backed up as often as the developer took time out of their day to make a backup. Backblaze, a backup software company, has done studies on how often people backup, and they found that most people just don’t do it very often, if at all.
3. Even when developers did backup, backups can fail.

4. File backups generally don’t include good information about what changed when and why. A crucial piece of understanding some else’s source code is the ability to retrace their steps and understand why they made the changes they did. Without a clear timeline of when things changed, the work of retracing their steps becomes much harder.

Enter source control.

Source control has become more and more popular over the last 20 years as we’ve become increasingly connected on the web, and source control systems have become more and more reliable and efficient. Today most software professionals have landed on one source control system that makes sense for the majority of projects. That system is Git. Green Mango uses Git. Git is an open source development tool designed to help you version control and backup your source files and other ip.

Git provides a few key benefits that should be understood because they can provide great peace-of-mind.

1. Git forces the person making changes to explain what it is they are doing.

Each time a file is changed a log is created including the date, time, and a statement from the developer about what the change is. This is important because when looking back at history, this provides a clear basis for understanding the mind-frame of the person who made the changes.

2. Git backs up your files.

Even if you delete the project from your local machine, the files will not be lost.

3. Git clones the backup to every person working on the project.

This is superior to a standard backup because it means data will only be lost if all parties lose their copy of the source.

4. Git enables multiple developers to view and edit the same files at the same time.

It also has a process for ensuring that one person will not overwrite changes another made without knowing it. This is important on larger projects where more than one person is making edits to the same files.

5. Git empowers the developer to work faster by removing any concerns from their mind that source code could be lost if they make a mistake.

This is more important than you may realize. Imagine you’re writing a book and one morning you want to try to rewrite one of the chapters pretty substantially. At the same time, you want to preserve the current version of the chapter. This is in case the new one does not turn out to be as good as the old one. The problem is that if you stop to create a backup, you may lose your train of thought. You carry the stress and decide to make the changes without a backup of the older version. Now imagine if that book was under source control and you knew the old version was always there if you wanted to roll back. You’re able to move forward stress free and without distraction. This is the type of environment that will help a developer write the best code: Lower stress and without distractions.

To re-iterate our goal at Green Mango, we don’t want to provide you with a zip file of source code.  That would be missing the important revision history. This also means if your existing development team has given you your source without revision tracking, you’ve lost significant information that could have benefitted your project later.

The way we’d like to provide you with source code is to simply give you access to the Git repository. This allows you to view the changes log and download the latest version of the code at any time.

April 12, 2017
/
0 Comments