There is a growing demand in the technology industry to build the next generation applications that is faster, cheaper and performs better even on low cost hardware. This demand grows even wider with the shortage of good talent and sharp minds who can understand the complexity of building such systems that can interact seamlessly with end users while not compromising on the performance.
Constraints with development teams
When you don’t have an in-house software development team and find an IT partner to work for you, there are several factors that affect the outcome of the project. You need to be careful in selecting the right partner for you which requires a separate blog post by itself. However, once the execution starts you need to know some of the common pitfalls that can happen and also how you can eliminate it to ensure a smooth development cycle.
The following summary gives you some pointers on what you need to do to get the best out of your development partner
Work with Mock Ups
Nothing conveys your vision and thoughts better than mockups. A Mockup can save you a thousand words, as the team can get a first-hand impression on where you’re coming from and what your big picture is.
There are several online tools that let you do mockups instantly and most of them are free. Try some of these like:
There are also desktop tools and browser extensions like Dia, Mozilla pencil that can be used.
But the best thing about mockups is that they do not have a standard form. So if you are not sure whether you want to use these tools, take a pen, draw what you see on a piece of paper and send that to the team. That’s all it takes to eliminate a chasm of miscommunications.
Insist on a Workflow
Development workflows are vital to any development cycle for it to be successful. Most software development teams have predetermined workflows that they follow across all their projects. There are no standards as to what your development workflow should be like as long as it is followed meticulously across the team.
A general workflow goes like this.
List of requirement feature is to be implemented and identified bugs.
Chosen for design
Depending on the type of card/ticket anything that needs to be discussed before implementation
Anything that is undergoing active discussion on how the implementation takes place
Chosen for development
Anything that is finalized on design and ready for development
Anything that is undergoing active development
Ready for Review
Anything that is moved to staging after development for review by QA
Anything reviewed by QA or product manager and ready to be integrated to production.
This is a general guideline that most of the software development team follows. Many development methodologies such as Agile-Scrum, Kanban are tightly integrated with a workflow that can be tweaked to suit our specific needs.
Automation is very important yet often overlooked part of a development cycle. Often many teams neglect this because of the over-heads that goes with the initial setup of the automation process. Always insist on automating the essential parts of your development cycle to ensure that you are maximizing the available time for development. This removes any error that accompanies manual tasks due to human intervention.
Automation can be implemented in deployment to staging, testing, and development, executing test cases. There are several open source tools available across technologies that can make this process efficient.
Next time you interact with your development partner, be sure to check with them on these tips above and make the most out of your development experience.