Showing posts with label software development. Show all posts
Showing posts with label software development. Show all posts

Thursday, February 27, 2014

Why estimates aren't free - A Prezi presentation


Tuesday, January 7, 2014

Why Wearable Tech is Here to Stay

Lately the news has been buzzing with the latest in wearable devices.  Devices such as Google Glass, integrated watches by Samsung, Apple and other vendors, Vuzix Goggles (a Rochester, NY company) and Oculus Rift are starting to enter mainstream vocabulary.  Prototypes and beta software are starting to roll out and consumers and developers are getting to start to play with these devices hands on.  Some companies are even looking at creating heads up contact lenses!

This has all happened before of course - we've seen everything from surround vision helmets to heads up displays.  But never before has the actual technology really met the expectations of potential users -  whether it's limited use scenarios, bulky or cumbersome form factors, or poor integration and adoption by other platforms - many such ventures have started and fizzled.

So why is this time different?  Well there are a few reasons:
  • Between advances in optics, small screen and flat panel displays, and miniaturization of essential components the visual aspect of the interfaces have gotten smaller, more useable, and more convenient.
  • The ubiquity of extremely powerful cell phone devices means that processing and communications can be offloaded to that device, rather than needing to be integrated into the wearable platform.
  • The improvement in wireless communications reduces  the size, and increases the range of components.
  • People's addiction to ever-present ever-accessible media, through the use of always on and always connected internet devices has increased to the point where people crave the convenience of making that as quickly accessible as possible.
  • Current interface methods through products like phones require hands-on interaction and attention distracting form factors.
  • Voice recognition - by uploading to the cloud and analyzing in real time - has improved dramatically.
  • Battery technology is improving dramatically making use of such devices more convenient.
  • Movie media has started to prepare people for this reality.  We see fanciful interfaces in movies that mimic the interfaces that these devices give us - and we want them.
So are the new wearable devices perfect yet?  Not by any means.  While the hardware is starting to catch up there are software and social aspects that must be overcome.  How will having an always on and available camera change the way people interact?  If anything you say might be recorded and uploaded to the internet in real time - how will that change society?  There is significant social resistance to people using products like Glass and those issues will need to be addressed if it's to succeed.  And there are still plenty of technological issues to overcome.

I say to you though - these advances are inevitable.  Rather than railing against them your time might be better spent determining how to make best of use of them. Outside the personal use of such devices - the business uses are outstanding.  Imagine a tech having all his manuals and instructions available at will, and having both their hands free.  Imagine being able to shop or price compare by just looking at the bar code on a product.  Record a meeting for playback later rather than taking notes.  Video your professor in class.  Imagine your UPS or FEDEX person abandoning their scanner and just snapping a photo of the package barcode, and recording the GPS coordinates of the delivery.  These are all very real and very doable scenarios without any significant improvement in existing technology.

The advent of prescription wearable tech from Rochester Optical (another Rochester Company) for heads up display is particularly exciting - since the wearers of that tech are already used to having glasses, adding a heads up display is no leap for them - they are used to the idea.  Fashion designers have been pushing glasses as fashion accessories rather than for vision correction - paving the way for the addition of Google Glass and other displays into the world of non-prescription glass wearers.

So with wearable tech being inevitable - how are you planning to leverage that with your new products?  Is there a way you can enhance the use of your product with wearable tech?  Provide an alternate interface or display screen?  Integrate heads up vision?  Are you ready for this revolution and tapping it's potential fully?  OS-Cubed is - ask us how!


Wednesday, March 13, 2013

What does a Best of the Web website cost?

The Rochester Business Journal holds a Best of the Web competition each year.  OS-Cubed is proud to have developed sites that have qualified in the past as a finalist - though this year none of our clients submitted an entry.  The RBJ's competition looks at websites in a variety of categories including Not for Profit cultural, Not for profit human services, Banking and Finance, Education, Business and professional services, Government and Community, Health care, Legal Services, Manufacturing, Real Estate, Retail and Tourism.  In short, a vast cross section of the web services industry.

One of the more interesting questions they ask (and not everyone answers this) is the cost to build the site and the annual cost to maintain it.  Note that the interpretation of these amounts is left up to the submitter of the site and (for instance) may not include internal development costs, volunteer costs (on the part of Not for Profit companies) and other non-accounted for expenses.  Nonetheless, the study offers a nice cross section of the community and what it costs to build and maintain an award winning quality website.

If we look at the data gathered from the information provided, the initial cost of development of an award winning site is roughly $40,000 on average with a range of $325,000 to $2500.  The cost of yearly improvements, upkeep and maintenance arrives at around $6700/year or around 17% of the total cost of the initial site and varies between a few hundred and tens of thousands. 

Award winning sites are typically redesigned every 3 years or so, the cost of which isn't surveyed, but we can expect the cost to be somewhere around 1/4 to 1/2 the initial design cost for a content managed site, and as much as the total design cost for a "built from scratch" site.

So what does this mean for the average company looking to build a site?  Budgets in the over $10,000 range should not be surprising to you.  Depending on features and functions (retail, real estate and banking sites probably cost much more than not for profit or information only sites) you could be anywhere along a continuum of a few thousand dollars all the way to hundreds of thousands.  You also should be expecting to expend somewhere in the 15-20% range to maintain, update and improve your site each year.  As new browsers come out (is your site compatible with IE10 for instance?) sites may well need tweaks and updates to function properly.  Security updates need to be applied, and content needs to be changed and updated frequently.

None of these budgets included demand generation activities including SEO, direct marketing, social media, pay for click or other marketing costs.

Of course you could also opt to build a site for much less than that and not go for a "best of the web" site.  Why you would want to do that when there are competing sites that are better than yours is an exercise I'll leave up to your Marketing manager.  Good luck with that discussion :)

With budgets in that range though, you will want to carefully pick a developer and designer for the long haul - one that has your best interests at heart, and will help save you from costly mistakes - as well as recognize when an investment is worth it.

Friday, February 22, 2013

2012-2013 - A banner year for OS-Cubed, Inc.

The last year has been an amazing one. OS-Cubed has:
  • Produced a dashboard for sales performance for a major national firm using MS-SQL, office applications, and automation scripts
  • Assisted with building web based administrative tools for an enterprise print management dashboard using C# and .Net
  • Implemented a major new ecommerce site using DotNetNuke
  • Created dozens of brochure sites using DotNetNuke
  • Created custom product choice wizards for 2 international companies for their DotNetNuke site - one of which has gotten national recognition and will be featured on their distributors and resellers websites.
  • Hosted over 100 websites for clients - without a single failure or downtime beyond normal maintenance.
  • Provided hosting services for a web based human resource career application co-developed by us that services tens of thousands of employees world wide for a major international firm
  • Installed hundreds of new machines at client sites
  • Implemented virtual servers
  • Supported users
  • Created an application to manage bar code inventory items and update their status in a proprietary ERP system
  • Assisted in implementing a HIPAA compliant EMR system
  • Protected thousands of users from viruses
  • Migrated hundreds of users to Office365 and Google Apps in the cloud
  • Implemented a complete redesign of a major medical information website
  • Implemented a successful prototype of a fashion website for an entrepreneur who has since leveraged that with major funding
  • Implemented sophisticated SSL and remote access for multiple clients
  • Managed technology transitions and expansions for dozens of local clients
  • Assisted multiple not-for-profit boards with their websites
  • Helped organize and handle technology for the Eyes on the Future Event
  • Helped an organization with limited funds continue to support their 60 workers with very old technology

What can we do for you?  Let us know what kind of problem you have to solve and we'll help you solve it.

Thursday, February 7, 2013

What you probably don't know about Microsoft's new direction

and why it's important for every Microsoft Developer to understand it...


Microsoft has finally let the other shoe drop on how their new Office/Cloud/Windows 8 strategy is going to work by releasing the details of how Office 2013/365 will be licensed and sold - and it's not just a shoe it's a hiking boot - landing with a big THUD.

There are some important new ramifications about how the entire thing will work - and it's important for you as a developer to understand how that changes what is still the predominant IT ecosystem on the planet.  Let me apologize now to the Linux, Apple and Android developers - this article is not for you - it's for those of us who have been working on Microsoft Apps for the last 30 years.

Let's start with a little history.  Back in the late 70's and early 80's a revolution happened.  Until that point computers were large, relatively complex beasts, controlled by a corporate entity (because they were too expensive for mere individuals to buy) and had one processor, one set of ram, and one set of hard drives shared by dozens of users through a terminal.  This had advantages and disadvantages.  It was easy to control software and access to that software, and easy to manage since everyone shared the same tools.  Of course you couldn't easily take your work home with you (you might consider that a good or bad thing) and the applications were very expensive and monolithic since it required the developer to have equivalently expensive tools to create the software.  In the late 70's personal computers peeked their way into the American home.  Initially crude and difficult to use - but relatively inexpensive compared to their mainframe counterparts - they created a revolution.  Suddenly you could purchase a system that would let you perform powerful calculations and perform difficult tasks in  your home.  More importantly, through the advent of the business PC you could have the same platform at work as you used at home and carry data back and forth on a portable storage device.  Also importantly - you could purchase a system to develop for this new platform that didn't cost an arm and a leg - which meant that new software and software improvements increased at an exponential rate.

Since that time we added in the ability to access your computer over the internet - and for computers to have access to shared data on the internet.  At the same time - through some serious investment in infrastruture, it became cheaper to get storage, processor time and bandwidth through major services like Windows Azure, Amazon AWS and other huge interconnected networks.  So in a sense we're back where we started from.  Our current devices are very complex and independent, but we're becoming more and more reliant on apps and storage that run in the cloud - simplifying the requirements for what our personal devices need to have.  Suddenly a tablet running a run of the mill low power processor can leverage gigabytes of data, bandwidth and the processing power of thousands of processors.  This means that - down the road - assuming we continue to live in a connected society our applications are going to become more and more like the original mainframe apps of the 70's and 80's.  Instead of buying machines with gigabytes or terabytes of  local storage we're going to be buying a simple inexpensive machine that leverages that cloud power.   Our operating systems need to be less complex because the heavy lifting isn't handled at the desktop any more, or even at the local server level.

With Windows 8 and Office 365 subscription services Microsoft has moved from the "software as a license you buy model" (which hasn't been eliminated yet - just deemphasized) to the "software  you subscribe to and get as needed" model.  An individual can now - for $100/year - buy any kind of device they want - phone, tablet, pc, laptop or something not even invented  yet, install office software on up to 5 devices they own, use a simpler version of that software on the web, get 27gb of cloud document storage to use or share with whomever they want (plus each of the other 4 users gets 7 gb of storage for a total of 55GB of available shareable storage for $100/year).  They get an hour of free Skype talking and sharing a month.  They get the latest version of office, allowing frequent updates to add functionality without the expense of giant new releases.  They get streaming of the software to a PC that isn't even licensed for Office to edit a document assuming the target is running Windows 7 or 8.  On the corporate side the same thing can be acquired (with slight variations in capability) for $240/year/user for enterprise users or $150/year/user for small businesses - and on the corporate side they add in sophisticated sharepoint capabilities and active directory management (doing away with the need for an active directory server, or minimizing it's need to being just a local extension of the cloud).  For $72/month they can have the same thing, without the locally installed office licenses.  In addition, with either a corporate or Live account your settings, files, and preferences follow you from machine to machine - even across platforms.  By the end of this year Gartner Group estimates that the PREDOMINANT way that websites will be accessed is via a phone or tablet.  It will outstrip desktop and laptop access - in 2013.  That's this year folks.

So what does that mean for you as a developer?  It means that Microsoft means to make cloud storage and apps it's end game - not just an add-on, and the day of the local server - and even the super powerful end user system are slowly - but surely - ending.  And if you think - well we'll just move to another platform - think again.  The largest competing platforms for end-user computing are moving in the same direction.  Apple (of course) saw this coming years ago and has quietly started phasing out desktop and laptop machines in favor of tablets and other simpler less expensive devices.  Google's play in the Android market focuses strictly on low powered machines that leverage the cloud.  Linux for the desktop?  Nice OS but used only by technogeeks so far. In the next 2-4 years you're going to see a huge shift away from expensive powerful, complex to manage servers and systems in your office or home and towards low priced, low powered systems that leverage the cloud.  And once they go cloud they won't be going back.  Don't believe me?  The only way to deploy a standalone Access application in Access 2013 is to deploy it to Azure and Sharepoint.

So what can you do as a developer?  For one - learn a cloud based system and leverage it's power - now.  I don't care if it's AWS, Azure, SharePoint or some other platform - but you should start to figure out how they work, how to make your apps operate efficiently and actively over a not-always-reliable internet connection, and how to make them scale so that you don't have to sell additional licenses to get additional power out of them.  It also means designing systems - whether they be apps, websites, or whatever - to adapt to a huge variety of interfaces and screen sizes - everything from hand-held phones to 50" 3d High Definition living room monstrosities.  They need to adapt to all sorts of interaction interfaces - the old fashioned keyboard, the mouse, the touchpad, the touchscreen, and the "gesture based" interfaces like the Kinect.  It means that data becomes a mix of BYOD storage (Bring Your Own Data) and corporate cloud storage - and how will you manage that and protect the privacy and security of data when it's easy to copy things from corporate sources into a user's private data store in the cloud.

It also means you should start to explore web and cloud based development tools. That quad core dev machine on your desk may well go away someday - and you need to be ready to use some of the new and sophisticated web based tools for software development in project management, compilation, version control, etc.  The distributed nature of today's collaborations will make that a must.

What happens if you don't?  Well how long did terminal based apps last once the PC was out?  How long did non-graphical DOS based apps after Windows came out?  How long did non-web based apps last after the internet took over?  You have some time - this isn't happening overnight.  But it IS happening and if you don't adapt there will be a day when you wake up and find your app or skills irrelevant.  And that day is approaching.

PS - if you're interested in migrating to the cloud and leveraging Office 365 OS-Cubed is a cloud expert - we can help you with migration, support and leveraging your existing infrastructure while using the cloud efficiently. 

Friday, July 22, 2011

Why development isn't cheap....

As professional software developers with years of experience, our guys have become pretty good at estimating things.  You can't always be right, but if you have done a good job of choosing and limiting scope, and are developing in an agile environment estimating becomes more of an art and less of a science.  If you're in a business like ours, providing accurate estimates of how long something will take is key to success.  We want to build long term clients who will keep coming back for us for job after job - not one-shot projects where everyone leaves dissatisified.

The conundrum for a company like ours is though - we're too honest.  During the sales process we tell people how much it will really cost to do exactly what they want and the next thing you know they've moved on to others who promise to do it for less.  Do those "others" typically deliver it for less?  No.  We've followed up with some of these potential clients only to discover that they paid as much or more than we originally estimated, or ended up with a product that was less than what they wanted.  That's a sales process though that's doomed to failure - they've already spent more than they wanted to, exhausted their budget, and have soured on the whole "external development" concept.  "I told you so" may feel nice but it doesn't deliver successful products.

Now, with our ongoing clients we typically have an entirely different discussion.  Our clients tend to tell us up front - here is my budget, what can we do for that.  It's a different mindset - we KNOW we have more work than they can afford to do, but we want to get the best bang for the buck we have.

Now I promised in the title to talk about why development isn't cheap so let me give you a few anecdotes:
  • For one client we're working with who has an existing codebase that's been worked on with 3 different programmers in the past, we've spent over 20 hours just getting a replica of their production environment working for doing testing.  This cost has to be built into the project even though it doesn't directly result in a product improvement
  • For another client they want us to give them an estimate on changing a shopping cart.  But they don't have the source code for the compiled shopping cart module they're now using and can't understand why we can't just tell them how much a simple change will be.  We don't know because we can't see the code, or even tell exactly how the current shopping cart works.  Even if we had the code it would take at least 1/2 day just to digest the workflow and get the source code understandable - if the original programmer did a good job.
  • Each of my programmers needs ongoing training, certification updates and time to research new solutions, fix old problems.  None of that is typically directly billable to a client.
  • We need to pay for software and infrastructure for each programmer - test servers, source control systems, development licenses, backups, licenses, professional memberships - all paid for out of our pockets.
  • Our programmers are salaried workers with benefits - so every hour they are here - and all the hours on vacation, regardless of whether they bill that hour, is a cost to the company.
  • Our offices need power, lights, phone, mobile phone, fast internet service, etc.  Again - a cost that is built into the cost of our labor.
  • The company pays their unemployment, disability, federal taxes, a portion of their medical coverage, etc.  All these add to the burdened rate
  • Tech toys - you might think, why does that programmer need the latest iPhone?  Why do we have to have android, wp7, iphones and blackberries in our mobile phone stable?  Well the answer is - we have to test apps and mobile websites in these platforms to be sure they work.  All costly.
So the moral of the story is - if you're purchasing software development, consider all that you're buying.  Look at the level of experience and the satisfaction of the employees doing the work for you, and when you get several bids, remember - the lowest bid is frequently NOT the best deal when it comes to software development.

Tuesday, May 19, 2009

Being a program manager

One of the key things that every software development effort needs is an excellent program manager. That manager's key vision, leadership and customer advocacy drive success. In How to Be a Program Manager, author Joel Spolsky gives us some insight on combining agile programming and program management in a productive way. Since Joel worked on the team developing the next generation of Microsoft Excel, he's qualified to speak authoritatively about dividing up large projects into manageable bite-sized pieces. Like at OS-Cubed Joel believes that one program manager should be responsible for a team of up to 4 programmers, and that work should be divided up by functional area.

The most important part of Joel's article states that the program manager must be the customer advocate on the team. They must look at every interface from the customer (or end user's) point of view, and express that point of view to the programming team. Their job is to help the programming team design something that users will find easy to use and appealing. If users complain that the program doesn't work - it's not the programmers fault it's the program manager's fault.

I think this is an important point about program managers. Too often development teams focus on the program manager's job of coordinating resources and delivering on-time and in-budget without defining their visionary status.

Joel goes on to say that - despite agile programming pushing prototyping as a methodology, the program manager must write specs - detailed functional specs from the user's point of view - not the programmer's point of view. It's their job to advocate for the user and build an interface that is the best for them. I typically fill this role within OS-Cubed, Inc. I have just enough programming and platform knowledge to be dangerous, but not enough to be so buried in it that it's all I think about. I would go on to state that a good program manager probably has a high "DI" in the DISC test and a low "C". I will talk more about DISC and how it integrates into a programming team later.

The program manager should not however, be the person writing up the actual specifications for how the product should be developed (that responsibility is the programming team lead's job), nor should the programmers report the the program manager because that would allow the program manager's ideas to run roughshod over the programmer's. This needs to be a negotiation between what is optimal and what is possible and both the user's and programmer's needs are taken into account.

Agile programming is typically about fast turnaround and constant customer approval. So the program manager must stay ahead of this curve, constantly re-examining the impact that feature and user interface changes have on the full vision. Sometimes it will be their job to control the scope of the project and to do that they need to retain and update the vision as it changes.

Joel's article is a great read, and I highly recommend both the blog post itself, and the links he offers for help and assistance.

Tuesday, March 31, 2009

End users are not stupid....

I read a great post today thanks to Larissa Reynolds, a good friend down in the great state of Texas. The post was written on http://cuhype.com and entitled "Hello, Our members are Morons". The author identified only as "Tony" was discussing how when he would pitch a Credit Union (his marketing specialty area) on a new marketing idea they'd frequently shoot it down saying that their members "wouldn't get it". He went on to explain why this was really a fallacy, and that with the right message and the right delivery you can hook a lot of people you wouldn't just assume would get it. Management's assumption seemed to be that it was ok for THEM but that their MEMBERS wouldn't get it, understand it, or be able to do it. This sort of belies the fact that most of THEM are members of their own credit union :)

I was reminded of a particular phrase that I usually use with my entrepreneurs when they come to me with their ideas. Take Knowledge Athletes for instance. They come to me with a great educational idea and I have said more times than once "you guys are the education experts - I'm just the software developer". If they think it's a great idea - it's worth a try.

Which is not to say I don't push back sometimes for a simpler interface. It's my job to advise people on the best way to implement their idea so that it can be enjoyed by the widest audience. But we must always be careful not to dumb something down to the point of no returns. It's ok for our users to have a brain - and to need it to accomplish a task.

We were pleasantly suprised for instance how quickly kids were able to pick up the Kajour application and run with it - sometimes despite bugs and growing pains caused by it only being a demo system. We found we could make the interface much more complicated than we originally anticipated and it would still work great for the kids. They were USED to figuring out complex interfaces. They'd grown up in the world of Facebook, MySpace, YouTube, and other tools and didn't mind poking around in menus or selecting icons until they could figure out what they needed.

So the all around summary - don't assume your users can't use a sophisticated interface. Don't underestimate their ability to "get it".

Wednesday, November 12, 2008

An agile programmer team room

I've been reading and admiring the quick article on http://www.scissor.com/ about building an Agile Programming team room. While we have many of the same elements in our development environment there are many ideas here that I'd love to steal er borrow :)

I was surprised by how much their offices look like ours. We also have an open floor plan, tons of natural light, dual monitors at every workdesk, lots of available whiteboard space. One of the things I loved about their space is the overall storyboard with colored cards, and the weekly iteration rollover plan. Very nicely laid out.

Agile or XP is a methodology frequently used in early stage (and some late state) startups to rollout product effectively, iteratively, and with stable solid builds. The idea is to rollout stable usable versions of the application almost weekly. OS-Cubed's methodology definitely adopts many of the great ideas of XP, but we're always learning new things about how best to develop software.

I'm going to challenge my programming team to take a look at this and see what elements they feel might help them keep on track and develop better software. Thanks to scissors.com William Pietri for revealing some of their "inner geek"...

Saturday, November 8, 2008

Followup on usability testing... and a bit of a break

I'll be taking a bit of a break for a week as I take some time to relax, but in the meantime you might want to take a gander over at Lightspeed Venture Partner's blog. They have a great followup to their recent usability testing article which I commented on here.

In this post they go into depth on what sorts of testing are appropriate at various levels of development. Most of our work for entrepreneurs has focused on the Ideation phase of development, where LSVP recommends that you explore new ideas and opportunities, take the founders vision and add in the background developed during initial testing. Specifically Knowledge Athletes (aka KA one of our most successful clients - our first) has performed the following types of testing in their product roll out from LSVP's list:
  • Ethnographic field studies (KA's "in school trials")
  • Focus groups (KA has focus groups consisting of high school students at all levels, college students and corporate clients)
  • Diary studies (the unique nature of KA's product is that it IS a diary so users can comment and track their usage of the product IN the product itself)
  • Surveys (So far online user surveys have created a number of interesting new ideas for the product)
  • Data mining (As KA has created user experiences TONS of data is now available on how the product is used and when it has been successful. This data is leading not only to new development ideas, but also paradigm shifts in teaching methods)

Th original paper on this topic by Christian Rohrer of xdstrategy.com has a great chart that shows where studies work best and compares data source vs approach vs context of use. You can learn more about usability testing at this University of Texas site.

Alternatively Jakob Nielsen's book on usability testing (linked below) is widely regarded as being one of the best in the industry.



Monday, November 3, 2008

Analyzing software features

In my post on scope I discussed the idea of limiting scope - both to budget and to goals. Brad Feld in this post, mentioned an interesting methodology, which quantifies the method we've used in our projects in a neat and tidy way. Since we work with early seed companies and startups in the Family, Friends and Acquaintances funding mode, we are constantly working to see what features we can build into a project for a small dollar budget. Obviously we need to leave some features out, but how best to decide?

Brad neatly summarized the decision as chartable on 2 axis. Along one axis is appearance vs substance (though I prefer the term functionality), and along the other axis is what users say they want vs whether they are willing to pay for that feature.

I would add a 3rd dimension - what the cost to code, test, implement and train are vs the speed at which the new feature can earn back it's investment. I know this is a purely ROI sort of view of the data, but it lets you see whether it's really worth it to put limited dollars into a particular feature. Perhaps in Brad's discussion they were talking about once there is Venture money already in the development and it's more a choice based on having enough money to do everything but not wanting to overburden the product with features. In our world though it's literally what can we afford. If Feature A has strong functionality, and users are willing to pay for it, but it would cost 2x as much as we have in the budget for development - then trying to build it won't help anyone until we get more funding.

In any case, it's an interesting thought exercise, and one that each entrepreneur should go through as they try to narrow down their feature set and build their demos and proofs of concepts. Take each feature and chart it three dimensionally. This will help you visualize your feature set, and decide which features to build, and which to build first.

Monday, October 27, 2008

Tooting our own horn...


One of our recent engagements was to develop a Green custom application for Alvarez and Marsal that would lower costs by allowing them to send expense reports to a Microsoft Exchange mailbox, and have the system automatically map the report to an expense ID number in their SAP system. The software works as a windows service that monitors a dropbox and automatically processes the information and creates an XML-Gram to deliver the data to SAP. Since the original project, A&M has engaged us to add additional features to the developed code. Jordan Hadas - our primary contact on the project had this to say about our performance:

" When we engaged OS-Cubed and discussed our requirements for a custom application, OS-Cubed delivered sound guidance and a well-organized proposal focused on meeting our needs and fitting our budget. They were timely through the development process; patient with our testing; and quick to resolve issues or add features. The solution delivered fully addressed the scope of the project in a clean, functional package without feeling inflated or delicate. Working with OS-Cubed was a very positive experience. -- Jordan Hadas, SQL Server Administrator, Alvarez & Marsal Holdings, LLC "

A&M found OS-Cubed through the Microsoft Partners site, an online repository of partner skills.

Tuesday, October 21, 2008

How to limit scope to funding


One of the biggest challenges in your early stage development will be limiting the scope of your project to the budget you have. In this stage you're using your money, your friends, your acquaintences, or maybe you have a first round SBIR grant and have a few 10's of thousands to invest. While you may be able to build some types of software with a budget that size - realistically to build something scalable you should be thinking bigger in terms of budget.
As we pointed out in our second post, when entrepreneurs come to us and say "I have $10,000" and in the same breath they say "and I want to develop something just like ebay only better" we just cringe. We know that there's going to need to be some education going on before we get to someplace that will satisfy their need to get real funding to grow their concept, within the budget they have.

Like it or not, the days of having programmers around who will sack out with friends, eat ramen noodles and put in 80 hour weeks for no pay and the promise of "stock options" at some unknown later date is just plain gone. Programmers have to eat, and at least for the moment demand for developers is quite high - so they can make money doing other things. Sure you may find one or two passionate gurus, but building a team is a different matter. After programmers got burned in the 2001-2003 dot com implosion, most want a real salary.

So when someone has a giant bag full of cool tricks that they believe will revolutionize the web universe we usually work closely with them to try to identify the core unique part of their business model that makes them special. Is it some trick or gimmick, a unique view on a market, an interesting model for monetization, a new approach to real estate, or a great educational paradigm? Then we try to work out a budget for a limited demo version of that core idea that can be used to attract new investors, test the idea out on real users, and provide a demo portal for the entrepreneur to use.
We just keep dumping features out of the product bag until we have it's core at our heart. We build that core, and then we add the features into it incrementally as funding becomes available. Got round one for $50K? Ok we'll build out the base site and the most interesting and unique part of your app. Got SBIR Round 2 for $100K? Perfect, we'll rebuild the core to support more users or traffic and we'll add some additional features. To make that work of course and move on to each round, the software has to be built to meet the milestone requirements set forth in the grant or by the funders. We help achieve that by working closely on the proposals and presentations with you to be sure you set expectations that can be met within budget.

That's not all there is to it, but that's the core. We'll build the features out in a later post :)

Followers