Software is big business, and mobile apps offer new ways to connect with your customers to enhance your brand. But sometimes the software development process looks much harder than it should be. In fact, it's surprisingly common for customers to express dissatisfaction when the project is completed.
Obstacles to Explaining Your Vision
The situation is not helped by the fact that it can sometimes be very difficult to talk to developers about software. Without you have a background in programming, it's easy to get lost in a sea of technical mumbo-jumbo. Developers are not doing this intentionally, they just have an entirely different perspective of software development from their customers. They use different terminology to talk about features of an application and often want to discuss the invisible parts of the app that you have not even considered.
The jargon creates a barrier that leads to misunderstandings. The features may work differently than expected, or do something else entirely. The UI may not suit the workflow that you had in mind, or the app may be flawed in other serious ways. At the end of the day, you just did not get what you wanted.
Ensure Your Vision is Communicated Clearly
The answer is to learn to speak the same language as your developer. Although you do not need to learn any code, there are some simple terms that you can use that will make your points a lot easier for them to understand. Also, understanding the process they will use to organize your project will provide you with realistic timeline expectations and a mechanism through which you can make course corrections. Together, these concepts will help you create a healthy, collaborative dialogue with your developer that minimizes friction, improves the quality of the end product and leaves you both feeling more satisfied when the project is complete.
Agile Development Methodology
The first thing to be aware of is that most developers will use the Agile Methodology to organize the project. This approach allows programmers to get feedback from the customer through the development process. Since the code is easier to refactor before the entire program is completed, feedback during the process reduces the risk of delays and makes sure the end product stays in line with your vision. In the past, developers asked for a complete list of specifications before the first line of code was written, making changes virtually impossible.
The Agile method breaks the project down into a number of smaller iterations, or sprints. The developer will work on a few features during the sprint, after which they'll show you some working code, and you can tell them if it's what you expected. Each sprint may only take a couple of weeks despite the whole project that could take a few months in total.
Create User Stories to Explain Your Vision
When you communicate your vision to the developer, they are listening for discrete features, functions and structure that will fit into each sprint. In other words, they are trying to identify "user stories", which are simple descriptions of how a user will access the software to accomplish a particular function. The basic structure of a "user story" is: As a [user], I need a [feature] to do [a task].
Here's an example:
A website is imperative, and so is its designing and development. When it comes to hiring an expert for creating a beautiful website that not only attracts the ...
If you were to believe all that you hear on the news in recent times you might think that virtually all retail outlets are experiencing heavy losses in sales. O...
A large part of our business is conducting professional Search Engine Optimization services for small and medium-sized businesses. So you might be surprised to ...
SEO or Search Engine Optimization is a vital part of any Digital Marketing concept. All the websites rank in Google through seamless SEO techniques. If not done...
Soft commodities include sugar, cocoa, coffee, orange juice and cotton. Sugar People have been using sugar for over two thousand years, when it was originally r...
Smart companies are interested in using enterprise resource planning as it integrates external and internal management information. It wholly embraces customer ...
The competition is growing steadily if you’re planning to become a real estate agent. Tips and advice that can help you along the way are invaluable to yo...
It can be difficult to keep up with all of the developments in website design, but whether you are launching your first site or your fiftieth having the right i...
These days, over 90% of purchases are made electronically. Customers are buying shoes online with a credit card number, paying for peanuts at the ballpark via a...
One of the elementary things about search engine optimization is keyword research. People not familiar with the internet may be wondering what is a keyword and ...
There are many ways that people can earn money in the world in investments. You can invest in the stock market, buy and sell real estate, invest in commodities ...
Some people who dare to dream or aspire to be great balk when I present the idea of Mobile Marketing to them. My question is why? Why wouldn’t someone wan...
This story can be broken down into smaller steps the developer can write code for:
1: As I am writing a page of content, I want to embed an image.
2: I click on a button labeled "Insert image."
3: A dialog box appears with a file picker.
4: I click on the file picker and choose an image from my hard drive.
5: The app uploads an image and saves it to the media directory.
6: The app inserts the code for the image into the blog post.
7: The image is displayed in the editor.
8: I continue writing the post.
Explaining your vision using this structure and vocabulary not only helps your developer understand what you want, but also gives you a better sense of what to expect as a final product. Do not worry about the low-level details (steps 5-7) because the developer will be able to fill these in with you.
The developer will also be thinking of what should happen if something goes wrong. What if the file can not upload because of a poor internet connection? What if the file is too heavy? Should the image be scaled or cropped?
By addressing these points ahead of time, it becomes much easier to program the feature in a way that works from the start and has fewer bugs / glitches. Furthermore, as you monitor the progress during the development process, you'll both have a point of reference.
Dealing With Schedules
If we all had infinite deadlines, every new app would be perfect when it was completed. Of course, mankind might be extinct before it was released, but it would be awesome software!
In reality, you need to set some deadlines. And that means prioritizing the features that will make it into the software. By now, your developer should have an idea of how long it will take to develop each feature. These are just estimates, but they are probably fairly accurate.
One of the main goals of the "sprint" concept is to break down the total project time into more manageable chunks, with an exact goal for each. The developer will plan how much of the application can be completed within a single sprint. Sometimes, tasks are finished quicker than expected while others take longer. The sprints can then be adjusted accordingly to keep the project on track overall. Most importantly, the code is in a working state at the end of each sprint. It must be possible to demonstrate real running code – otherwise, you will not be able to provide any feedback!
Sometimes, it will not be possible to fit all the features into the app before the release deadline. You'll be faced with a tough decision – what do you want to keep, and what should be cut out or postponed until a future version? The developer will give you time estimates for each one, but it's up to you to prioritize them.
Working well with developers is easy if you are willing to take a step or two into their world. In the end, being prepared with an understanding of a few key terms and their overall process will result in a better product that faithfully implements your vision.