Six Steps To A Successful Software Project
On the last WWDC held on June 2017, I was pleasantly surprised by Apple’s presentation. They introduced people who represent extreme opposites in age range of software developers with products on their app store. The youngest of the two being 10-year-old Yuma Soerianto from Australia (http://www.madebyyuma.com/), who has a striking collection of 12 gaming apps on the App Store. On the other extreme, we have Masako Wakamiya, a truly inspiring Japanese woman in her 80’s who created her first app, a card gaming app designed specifically for the elderly, but open to the enjoyment of people of all ages. This, as our Internal QA ninja Mai put it in her own words, is “definite proof you are never to young, or too old to learn to code… and get filthy rich at it!”
How to disagree with this statement against such compelling proof? We’re all wondering how they did it! And I assume, if you are reading this post, it means you’re looking for some advice on how to achieve that type of success. Hey, if a 10 year old, or even my 81 year old grandma can pull it off, how hard can it be, right?
It certainly is hard work! But all the more rewarding if well executed. Whether you are taking your first steps into entrepreneurship with web or mobile apps, or you want to take your existing products to the next level, we’d like to give you a guide to being successful with your projects!
Discuss everything up front
Detailing all information about the project, it’s objectives, expectations and requirements from the start is the best way to plot out a development plan. The relationships we build with our clients is based on the commitment we have to them, and how we understand not only what they expect from us, but also what solutions might help them further their business. The first communication exchanges set the tone to this trust and commitment. They also inform the project managers on the client’s priorities and give direction to the development team on what to focus on throughout the process.
Quality in everything, even in the things clients don’t see
We love clean code. We love it so much, it’s a requirement we ask out of every single of our developers. Clean code helps us develop better products and be able to scale even the most minimal of apps. We also look very closely into details that not only affect functionality and user experience, but that make the products we work on stand out as examples of excellence. We’d rather work on small products that do a particular job in an amazing manner, than a huge product with multiple features, but none of them are recognized as being particularly outstanding.
These are things most final users don’t take a look at, but they experience them and it directly impacts their impressions and the way they use products. Excellent products are excellent all the way through, and they enrich user’s lives
Organization and cleanliness
Web and mobile apps have lots of moving parts! The logic behind a project serves as a guideline to the development of every component, functionality and integration. Organization will save you time and money, as well as match the project components with your expectations. The way we like to start out and develop projects is by coming up with a series of steps that will lead us to our goal in each project. This gives us a clear idea of the tasks that need to be carried out for each step. We talk more about our process in our other blog post called the Importance of Software QA. To put it simply, organization is a project’s best friend! It helps us the developers, to stay on top of things and plan for how your project should be carried out into the world, and it allows for you to stay within your budget.
Hard work and consistency
Hard work is a given, but consistency is key to progress.
Hard work and consistency reinforce organization. Focus a conscious and dedicated effort every single day to a particular task, and after a while you’ll notice how you get better at every single detail it involves. It’s the same thing for us. We don’t claim to be all powerful and all knowing, but we know that our quality and excellence at work comes from hard work and consistency.
Clear and constant communication
We dedicated an entire post to this subject in Client Care & Communication. In essence, constant communication allows for course correcting opportunities and project followup. Very little to nothing communication allows for changes and problems to get the best of us.
We’ve had great collaboration with clients for very different projects. The one thing they all had in common was the commitment expressed in constant communication. Just as consistent as we are working hard, we consistently provide feedback and updates in our projects. This reinforces organization and it also becomes a constant stream of up to date information about the state of a project to make better decisions.
Never stop learning
In the tech world, things change all the time. Companies that don’t keep up with the latest technologies, become a mirror image of old technologies: obsolete.
We’re constantly learning new technologies and languages (you could say we’re web polyglots!); and it all has to do with our vision of development. We work hard every day to be an AGILE team. We enjoy adapting to change, being as flexible as the challenge we are facing demands it, and above all, useful to all of our clients.
Ever since we started this team, we have evolved beyond our initial expectations and we’ve achieved more than we imagined we would at the beginning. These steps are a very condensed summary of what we believe helped us get to where we are. We suggest you follow them on any project you undertake, and we hope they help you be successful.