5 Benefits of Stakeholder Interviews

There’s no denying it, for developers and project managers alike, stakeholders can have a somewhat looming presence throughout the duration of a project. It’s only natural considering they are often deeply invested in the project’s outcome and can even greatly influence the development of it. However, simply taking the time early on to interview those who have a stake in the outcome of the project can have numerous benefits. Here are 5 reasons why you should carve out some time in the planning stages of your next project and chat with your stakeholders.

1. Craft a Cohesive Vision

Often there are a lot of key players involved in any given project. What better opportunity than the early stages to come to a common consensus on execution? Chances are there may be more than one stakeholder, so sitting down with each one and shedding light on their own unique perspective can help your team anticipate how they will each influence the process and enable you to drive alignment right from the start. 

2. Set the Right Goals & Priorities

Consider this part of the research stage. Stakeholders can provide much needed context for what the success of a project will look like as they are part of the user audience. Therefore, inquiring about each stakeholder’s goals, agenda, and purpose will provide immeasurable insight in terms of delivering a satisfactory end product.

3. It Saves Time & Money

When you don’t have to rely on assumptions, you save your team from having to do time-consuming and costly rework. Having a conversation with stakeholders at the beginning, is proactive and will help to establish a realistic project plan and scope. 

4. Collaboration

Collaboration and communication is just good business. Having a rapport with your project’s stakeholders builds trust and credibility. The relationship with stakeholders should be viewed as more of a partnership in which each side feels validated and helps drive the project forward.

5. Proactive Problem Solving

Stakeholders are a valuable asset to any project not only through their monetary support, but their ability to voice concerns and identify challenges. Interviewing them from the start is a great way to see the constraints your team may be facing and bring things to the surface now rather than later. Structure the development process like a walk through, and allow them to aid in the decision making process. 

At Number8, our philosophy is to empower our clients to produce better software, faster. We are experts in augmenting scrum teams with senior consultants that can help increase team velocity immediately. If you’re interested in learning more about Number8 and what we do, give us a call at (502) 890-7665, or check out our information page.

My Xamarin Experience

xamarinDifferent Options

When developing software, whether it’s for a fun project or a formal business project, a requirement can be met by many different options and technologies. After a while of looking at many, it is natural to think which is the best option for the requirement.

Let us consider the options for building a mobile application.

Sometimes the best option is determined by the compatibility of the implications of the option and the technical strengths of the development team. (I’ll cover implications a little later)  The first option to consider when building a mobile application are native applications, but it immediately raises a warning – when the code for a platform is done, the code will need to be transcribed to another platform.  Second, every native technology has its own implications. So to have a successful mobile experience in all native platforms, a developer for each platform is needed.

Even if there was a developer for each platform, is it worthwhile to develop a native mobile application for each platform instead of modifying a web page so it can be viewed in any device?  This is an important question to consider so here is a comparison chart for key characteristics.

CharacteristicNative ApplicationWeb Page
InternetAfter downloading the app, it can work in offline or online modeOnly works with internet connectivity
PerformanceNative components are lightweight and fastPages tend to be heavy and work somewhat slower
Push NotificationsCan send push notificationsCan’t send push notifications
Hardware AccessAccess to camera, speaker, flash, etc.Does not have access to hardware
AccessibilityOpening the app with a clickOpening browse and typing URL
User ExperienceNatural feels and smoothUnnatural and, in some cases, slow

Based on this comparison, it appears that a native application offers a wider range for creativity and service options. If the development team handles all the implications for every platform then it might be a good idea to develop a mobile app natively for each platform, considering that native applications have the best performance and assuming the business is willing to pay a higher cost.

Let’s talk more about those “implications”.


Implications

When dealing with software frameworks and APIs, each framework works naturally with the programmer at least interacting with (in others mastering) certain technologies or programming languages. This comes naturally if the framework is an extension for another technology.

For example, consider Node.js, a JavaScript runtime. When using Node.js, being a JavaScript runtime, the code will naturally be programmed in JavaScript language. Therefore, working with Node.js framework implies the programmer knows, or can at least interact with, JavaScript language. We’ll call these framework dependency implications.

Following are some implications for some mobile application frameworks.

Mobile Application TechnologyImplications
Native Android Mobile App• Java
Native iOS Mobile App• Objective-C or Swift programming language
Xamarin• .Net (C# programming language) • Extensible Application Markup Language (XAML)
Appcelerator• JavaScript • Titanium SDK
Phonegap• Hypertext Markup Language (HTML) • JavaScript Language • Cascading Style Sheets (CSS) Language
Ionic• Hypertext Markup Language (HTML) • JavaScript Language • Cascading Style Sheets (CSS) Language • AngularJS
React Native• Hypertext Markup Language (HTML) • JavaScript Language (ES6 Syntax) • JavaScript XML (JSX) • Document Object Model (DOM)
Sencha Touch• Hypertext Markup Language (HTML) • JavaScript Language • Cascading Style Sheets (CSS) Language • Sencha SDK • MVC Architecture

There is another cost that is not visible at first glance.  Even though the different platform projects have the same core and logic, ultimately they are individual projects. Each project has a different language and application lifecycle and SDKs, so each project will also need its specialized maintenance. This can all add up.  If creating the application natively appears to be too expensive or the development team does not handle all the implications, another strategy can be used.

Using a cross-platform technology has become very popular as a hybrid solution for mobile development, so you can write one set of code that can be used on multiple platforms and can give the user a native experience. There are many cross-platform mobile app technologies, each with it’s own implications. The strategy is to pick technology that has an implication that the development team masters, plus another consideration. Since this is cross-platform, it is important to choose a solution that has a large percentage of transcribing code; the code that can be written once and run natively across the platforms.


xamarin developerMy Experience

When I decided I wanted to develop mobile apps, my first thought was “What native technologies do I know?”

I had used Objective-C for an iOS application.  If I wanted to make a native android or windows phone application, I’d have to learn about project structure and app lifecycle and hope I could program in the language they used. Since I only knew one native technology (iOS) I decided it was better to invest time learning a cross platform technology.

I then thought “Now if I’m going to use a cross platform technology, what implications can I handle the best?”.  Xamarin was a natural choice for me, thanks to the language and application structure.  C# is one of the languages I handle the best, plus the structure was intuitive. An .xml page with its back end code, the application lifecycle was also C-like. I managed to learn XAML and the app structure and lifecycle quickly.

Later, I discovered that Xamarin generated native apps that shared 95% of the common code. I also got to an acceptable level of understanding in android and iOS native applications. Then I decided to test Xamarin’s generated native projects. It seemed that the native applications were greatly structured and coded. I thought “Wow. In theory, it is possible for someone to develop a full native Android app without knowing Java or the android app structure or even having the Android Studio”. Another plus for cross-platform technologies comes from the abstraction layer.  When using Xamarin, the code handles mobile events (like Swipe) in Xamarin’s way.

I can code once and use these events without even knowing how to do it the native way.

I decided it was a good idea to take full advantage of these generated projects and tried making everything in Xamarin, because some things are not implemented on the framework. For example, Xamarin has no radio button tag for iOS applications. Instead of modifying the generated iOS application and using Apple’s radio button, I decided to implement my own radio button in Xamarin, which rendered natively in iOS. This seemed like a good choice that would become an advantage, but I also found a disadvantage, when making a minimum change on a Xamarin project, it must be recompiled to see the changes on the device. This can be time consuming if one wants to test various changes.


Conclusions

I decided to use Xamarin to build mobile apps because it was cross-platform. So most code would only have to be written once. And the projects generated by Xamarin were native. This is not the case on every cross-platform technology. The fact that the final projects are native is an advantage since mobile characteristics can be used.

Still, I studied native projects for Android and iOS to be able to modify the generated projects if something can’t really be done on Xamarin (I realized Xamarin does not support everything for every platform). Again, this can be done because Xamarin generates native projects.

In other words, I take advantage of Xamarin to reutilize code and generate fully native platforms to the extent it permits me, but I also know how to do it without Xamarin in case I really need to modify a native project. Xamarin’s implications are my strengths in programming. This is how I determined Xamarin was the best option for me when it comes to developing mobile applications.

It is important to note that the best option is a balance between the technical strengths of the development team and the implications of the technology. Xamarin with native platforms background was the best option for me, but I have a C# background.  Another developer could have worked faster with Ionic if, say, the developer is a master in AngularJS.

TED Talks to Remember – An Overview of 3 Favorites

Our favorite TED Talks best ted talks

When we’re bored, unmotivated, or just in need of a quick mental pick-me-up, watching TED Talks is a perfect way to reboot the mind get us back on track. The topics of these speeches performed the world’s most innovative speakers range from reading body language to teaching kids how to eat their vegetables, but our favorites are the ones that make us embrace what we perceive as “faults.” So much of our potential is wasted through self-doubt, but these particular TED Talks help a person move through it and come out the other side more confident and able to pursue their true purpose.

 

Adam Grant – 4 Surprising Habits of Original Thinkers


Wharton professor Adam Grant specializes in organizational psychology. His work involves researching and establishing principles that help solve problems in the workplace and improve the overall quality of life for people. His first TED Talk, Are you a giver or a taker?, is worth a watch as well, but we like the way this one helped us rethink our insecurities, our apprehensions, and even our tardiness. 

Through his observations of former students turn Warby Parker entrepreneurs, Grant explores how the future successful people don’t always seem so at first glance.

Watch it here:

Barry Schwartz – The paradox of choice


In the United States, people are spoiled with choices… but is that a good thing? Psychologist Barry Schwartz makes a very powerful argument here that it isn’t. His idea is that if a person is presented with too many choices, he will fail to make one because of his fear of choosing incorrectly. This “paralysis of choice” is something people deal with all the time whether it be at work, out shopping, or even in our personal lives.

Even if a person does make a choice, the knowledge that there were so many other avenues to take causes him to wonder if there was a better way to go. It’s a classic “grass is always greener on the other side” feeling. Schwartz argues that when we have less to choose from, our expectations remain reasonable and we are more satisfied with our choices.

Watch it here:

 

Brené Brown – The power of vulnerability


Being vulnerable is frightening, but anything that can elicit such emotion must be powerful, right? Brené Brown thinks so. Through her studies of vulnerability, courage, authenticity, and shame, Brown tries to understand humans better. She studies how our relationships with others and, perhaps more importantly, ourselves, affect our quality of life.

As humans, we try and avoid vulnerability. It’s seen as a weakness, a flaw, and a way for the world to take advantage of you. Brown argues that without vulnerability, we will never get the things we want out of life. These things range from a healthy relationship to a fulfilling career, or just accomplishing whatever personal goals you have. Instead of numbing our vulnerability, Brown encourages people to embrace it, own up to it, and engage with it.

Watch it here:

 


At Number8, we encourage our employees to embrace their flaws and re-think them as strengths. This innovative way of self-perception enables us to come up with creative solutions while enjoying a better quality of life. If you’re interested in learning more about Number8 and what we do, give us a call at (502) 890-7665, or check out our information page here!

5 Non-Tech Related Questions To Ask When Applying For A Tech Job

The tech interview process is perhaps the most nerve-wracking part of searching for a new job. It can be an especially intimidating interaction when it comes to the tech community considering the highly specific skills required for most positions. However, the process does not have to be such a stressful one. With a little bit of confidence and research, it can actually be an extremely constructive experience for both you and your potential employer.

During a tech interview, you may feel as though your focus must remain entirely on the technological aspects of the position, but it is important to know as much as possible about the type of company you’re applying for other than just what kind of work they do. While you may be focusedon asking technical questions related to your particular skillset and the demands of the position you are seeking, there are also some non tech questions you should ask during the interview. Follow along for some great suggestions from the Number8 IT team.

5 Non-Tech Questions to Ask During a Tech Interview

Here are a few simple, non-tech questions to ask during a tech interview to help you decide whether or not you are right for the company, and vice versa.

1. What are your company’s current priorities? How would I, as a new hire, assist with those goals?

Depending on the company, your interviewer may not be able to give you a detailed description of their business plans. They should, however, be able to offer a general idea of the direction in which they are headed. Before deciding your interest level in a job, you should first be able to orient yourself within the specific goals of the company in question. Will you be able to offer relevant services? Will you be engaged and questions to ask during a tech interviewinterested in the work? You should evaluate the level at which you are aligned with this company and its priorities.

2. What kind of training will the new hire go through?

Having an idea of what type of training process the company uses will be helpful in terms of planning ahead. Perhaps the training will be intensive and include seminars, or testing to ensure you are up to date with all the services your company provides. Or training could be more of a see-as-we-go approach where you are expected to just drop in and pick up techniques along the way. This can be a helpful bit of information depending on your learning style. If you are a person who needs a step-by-step guide to be able to work efficiently, then you may not fit with a company that has a more free form style of training.

3. Is there a particular dress code that the office follows?

You can probably pick up on the general environment of the office based on how your interviewer is dressed. However, you should still ask about dress code expectations because they may change. Within the tech world, dress etiquette fluctuates from jeans and tee shirts to full on suits and ties. It may seem like an irrelevant, or even superficial question to ask, but dressing appropriately is essential to success.

4. What does an average workday look like in terms of in-office hours, versus off-site work? How many hours is a new hire expected to work per week?

This is a technical question that many people often forget to ask because it is easy to assume that any kind of office job will follow the typical 9-5 schedule. But in tech jobs, where you may be interacting with clients across the globe and across time zones, you may need to follow an unorthodox schedule. That may carry over into working from home, or off-site in the case of visiting with clients. It may seem awkward to inquire about specific hours, but before you accept a position you should have a solid idea of what kind of time commitment is expected of you.

5. What do you like best about working for this company? What is the company culture like?

If you have been searching for a job for awhile, it can be easy to accept any offer that comes you way. But just because you have been offered a position, does not necessarily mean you should accept it. To determine whether or not you want the job, you should find out if the company will be enjoyable to work for. If you cannot find satisfaction or pleasure in your work environment then your work itself will suffer greatly.

Are you interested in working for an experienced tech company? We’re always open to hearing from potential Number8 employees. Please visit our career page for more information and give us a call at (502) 890-7665 today!