Tuesday, January 30, 2018

Startup Posts

I wanted to tie together a few of my startup articles designed for developers and to put them into one place where I can access them.  Here are my articles from Visual Studio Magazine over the past few years.
I'd also like to add that these are merely my views.  These aren't rants.  I'm going to eventually get around to what I think causes startup failures.

Through A Mirror, Darkly - The Not So Positive Look At Startups From The Inside - Part 1

Note: This is my experience consulting with a number of startups over the last 4-5 years. I’ve seen certain trends. I’ve talked with other developers and they have seen similar.  This is a combination of the problems I have seen. It is not a complaining about these people, just a reality check that you need to have.

In a recent article, I discussed the general concept of risk and the startup process.  This is great information if you are pushing your startup idea forward.  We’re not all pushing OUR idea forward.  Sometimes, we’ve been asked to join someone else’s startup, attend a startup weekend, or help someone else’s startup that has had some problems.  The end result is that we are pushing someone else’s idea forward.  Unfortunately, these people may have different expectations to you, and from development reality.  In this article, I’ll walk through a few issues that I have seen.  This is taken from my experiences in the southeastern US in several locations.

Expectations

Managing the expectations of other people in a startup is incredibly hard.  Most people have no idea what software development is.  They don’t understand the unit of work, how to be successful, or how they can contribute to be helpful.  To the others, you might as well be working in the back room, standing over a cauldron, and saying some magic spells.

You must be able to manage the expectations of everyone in the startup.  You will need to be comfortable in this scenario.  Managing expectations is hard, some might say it is impossible.  It is also incredibly hard mentally as well as financially.  It is hard mentally when you are getting questions on a feature every day.  It is hard to say it is weeks, or months away.  It becomes especially hard when someone else says that they can produce a feature in some small amount of time.  Many people will be willing to try this in thinking that in the short term, it will all work out.  Many times it does not work out at all, but that is a much later argument.  This becomes a financial issue when the question of you vs. someone else comes up and how any money flows.

The bottom line is that you need to manage the expectations of the others on the team.  What happens when the other people won’t accept what you are telling them?  That is when you have some amount of conflict.  The solution to the issue depends on what the conflict is.  Conflict over scheduling can be solved by having a priority list of features.  If someone wants something to be done sooner, then the order of the priorities can be changed. That is a simple solution that tends to work out.  People understand priorities and can stick with this.

Another issue is that people will not believe you.  My favorite one of these was “You should have built this with a web app so that we could not have to deal with paying 30% to the app store.”  Another great line that I have heard is something along the line of “My friend’s cousin’s son can do that in a basement in their sleep.”  There is very little that can be done in this scenario.  No matter the facts, sometimes people will not believe you.  Keep an open mind on these issues.  They could be correct, however, the possibilities in these scenarios is pretty small.

Another idea that comes up is that more developers will solve a problem quicker.  Much like threading, or multiple cpus in a computer, reality is different.  Management between multiple threads or multiple CPUs requires time, effort, and cycles.  The same is true with multiple developers.  The secret I have found is that everyone needs to be in the same location and they need to communicate when there is an issue.  This will solve the issue of communication that doesn’t work in a phone call, email, or IM.

The Burned Entrepreneur

Developers are typically well meaning people.  Not everything works out.  Entrepreneurs tend to blame the developers, no matter what actually happened. Developers blame the entrepreneur.  The truth is typically somewhere in the middle. Unfortunately, the entrepreneur will try to recoup their investment either consciously or subconsciously.  Two examples that I want to share:

  • A startup had spent somewhere between $300 & $500k developing several prototypes and the developers would not do any more without additional money. I felt sorry for the developers because they had clearly been given unrealistic goals and had bad leadership. The startup wanted me to come in, fix all the problems, and basically work for free and cut of ownership; basically, an unrealistic request driven by their not having anything to show from the initial investment.
  • I spoke with an entrepreneur that wanted me to come onboard of his startup. He had gone through a round of development with very little to show.  He had spent about $150k according to him, but with some missing features.  He wanted to contractually require an absurd number of hours per week once and was only promising some stock, and no money. 

In neither of these situations were these necessarily bad people.  They had not been successful initially.  In their mind, they were trying something different.  Unfortunately, they were transferring all of the risk from themselves to the developer.  Be careful.



Look for Part 2 of the article shortly.

Monday, January 15, 2018

Building For The iPhone X - The Notch and Safe Areas

Check out my article on taking advantage of the iPhone X https://visualstudiomagazine.com/articles/2018/01/09/building-for-iphone-x.aspx
-

When Apple released the much-anticipated iPhone X on Nov. 3, it generated a surprising amount of interest in a phone that starts at nearly $1,000. Initial delivery dates were four to six weeks out for those who didn't get their initial preorders in. Amid all of the excitement about the new phone, Apple released iOS 11.1 and Xcode 9.1 (followed by the release of 9.2 stable last month). You can now take "full advantage" of the iPhone X. This article will look at what you need to do to leverage this advantage and ensure your apps look right on the iPhone X.