msc mobile emerging technologies blog

Our tools and how we work

Posted by Valantis Giogiakas on Apr 27, 2016 8:30:00 AM

Software development requires more than just a development environment and a compiler. Software development means for us that you have to work in a team. That you have to communicate with your colleagues and with a customer. That you have to deliver a solution with quality in time and on budget. 

This blog shows the tools that we use in our daily life as developers in the SAP area.



We are developing SAP business applications for the mobile world and the desktop which run on different platforms. This requires different development on different levels. Technologies we deal with daily are for example ABAP, SAP UI5, SAP Mobile Platform, MobiLink, Objective C, Java and C# just to name a few.

software-development.jpg

Not two of our projects are the same, as we are working in a very dynamic environment. But some of the tools have proofen to be useful. Take a look ...

Mockups

Balsamiq (https://balsamiq.com/)

Balsamiq is an easy to use mockup tool that is available for Windows and Mac. It is great to make quite drawings of the user interface you envision and comes with a rich library of UI controls. 

Balsamiq Mockups

Communication

In project, there are different ways to communicate to each other depending with who you want to get in touch, how many people need to participate, the reason for getting in touch and the way of communication (message / call).

Slack (https://slack.com)

Slack is a messaging tool, which is especially used to connect our developers during a project. Each developer has his own account. Usually when a project starts, we create in slack a project with its categories like native and frontend developing and invite all developers to join this project. Every participant is able to write messages and share the information directly with the whole team. Each member can also write direct messages to other members if the information to share is not necessary for other team members. You can also share files in slack and much more.

slack.jpg

Skype (http://www.skype.com)


I think there is no need to introduce Skype - everybody should know the Microsft owned VoIP solution. Skype is used by our developers to set up short calls in order to explain tasks or share the desktop with another developer.

Adobe Connect (http://www.adobe.com/products/adobeconnect.html)

For larger and longer session in which screensharing is required, or if we need to look onto a customer system, we use Adobe Connect. It is very stable and can handle many participants.

Project Management

Nobody likes administrative tasks, but they have to be done.

Harvest (https://www.getharvest.com)

Harvest is a web-based time tracking tool. We are setting up our project in harvest with their categories in order to track the time in the right project with the associated category like ABAP or web-development for example. This is very useful since we have different type of tasks, which will be billed differently.

Time tracking with Harvest

Jira (https://www.atlassian.com/software/jira)

Jira is a task management solution - you can assign tasks or create bug reports. We are using it to monitor the status of the project; Which tasks are open, in progress, critical and so on.
We have built a bridge to our Harvest in order to track our time through Jira for each task.

In the past we ran Jira on premise, installed on our own server. In beginning of 2016 however we migrated to the Atlassian hosted cloud solution. One less server to worry about.

Merlin (http://projectwizards.net)

Merlin is a project management tool just like Microsoft Projects. We use it on OS X. To share the project plan created we can export it either as Projects file or as a PDF.

Software versioning and revision control

Git/BitBucket (https://bitbucket.org/)

Just like with Jira, we also shut down our own SVN and Git. We are now using Git hosted by Atlassian as well. As client app we use SourceTree on Mac and on Windows.

Virtualization

We have a mixed landscape with Windows and MacBook laptops. Especially the colleagues with a Mac need to run Windows from time to time. Testing apps on Windows or simple because VPN access is not possible from OS X. To avoid reboots, we virtualize Windows. Here we have no standard, but using different tools in parallel - VirtualBox, Parallels and VMWare Fusion.


This is a quick overview of the tools we use day in and day out as the time of this writing. 3 months ago the list would have been different, in 3 months time it will be outdated. We are living in a fast changing world, especially as software developers.