Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm no expert when it come to everything Visual Studio 2010 and utilizing SQL server 2008. I'm sure some of my personal projects I've built for personal use would get laughed off the face of the planet, but SQLCe has been the solution I was looking for those home type of projects. And they work, flawlessly.

Now I feel it's time to step up to the big league. I want to develop a complete, unified and module based solution for my company that I'm working for. We're still using stuff from the 80s for goodness sake! I use Excel and query the ancient database on my own because I can't stand the GUI. Nothing against people of age, but the IDE our programmers are using is from the stone age, and they use APL of all things with it. I've yet to see a radio button control anywhere in the GUI where it would make sense.

Anyway, I want to do this right from the ground up. I'm by no means a newbie when it comes to programming in .NET 2010, however, I want the entire solution to be professionally done. I want version control, test projects, project flow, SQL 2008 integration and all the bells and whistles that come with that. I know for a fact that if we had something like that running, not only would development costs and time be slashed four fold, but the possibilities for expansion and performance would sky rocket. (Between the GUI an our DB engine, it can only use ONE CORE! ONE! It's 2012 for goodness sake!) Our business is growing and our current ancient solution just can't keep up, and I'd hate to see our business go down in flames because our programmer is stuck in the 80's and refuses to use anything current.

So I ask you guys, the experts and know-it-alls, where do I start? Are there any gems of good books out there in the haystack of all "This for dummies" type of deals? I already have several people backing me in this endeavor, and while it may seem brash to just usurp the current programmers, I'm doing this for the company as a whole.

share|improve this question

migrated from stackoverflow.com Mar 18 '12 at 19:53

4 Answers

Well if you use excel, others use excel and it works so why change this? For excel... the prop is that everyone can use it, so you don't need to hire some uber geeks that cost $$$.

You probably won't be able to develop decent solution anyway... you want to do this how... by reading books? :) Be serious. You think you can read a book in a week, and then in next week develop some tools that the whole company will depend on?

It's a waste of time and you'll most likely fail. Stop dreaming.

Between the GUI an our DB engine, it can only use ONE CORE! ONE! It's 2012 for goodness sake!

So try to improve the db engine... you want to drop everything and build from 0? This is insane. "This for dummies"... man don't tell me that you so green that you don't even know how the system should look like and what to use to do it? :)

share|improve this answer
+1 to "oh the insanity of it all" – Morons Mar 18 '12 at 23:39

I would recommend starting with putting some key use cases on paper and giving it some thought. It would help you both understanding the problem better and 'marketing' it afterwards.

GUI design is quite a difficult area. It may be difficult to find an optimal solution that fits the intuition of the majority. For that reason, I would also recommend creating some GUI mockups and getting feedback from your customers (i.e., the developers that will use it). After this analysis phase you can probably start prototyping.

This is my general approach when initiating a project. It's a cycle of "understanding the problem better", then "prototyping a solution", and then "getting feedback" until you reach a certain maturity. (And don't forget to throw away your prototypes.)

share|improve this answer

I'd suggest you start studying some opinionated web frameworks like Rails (you may get very interested in the ActiveRecord implementation) or Django (I like the way it does forms built from models) to get some ideas of how people do it with other technologies. I'm not familiar with ASP.MVC, and don't know how opinionated (this is important, because the opinion is based on developer experiences) it is but you may feel more comfortable with it, as you are a Visual Studio user.

share|improve this answer

I would advise to hire a software firm and let them set up your new development environment. I second the opinion "You think you can read a book in a week, and then in next week develop some tools that the whole company will depend on?" stated by someone else in this thread.

You need to put some programmers of your company together with their programmers and let them program together. Do not hire too many external programmers. It will cost you money and they will outpace your own programmers who still need to learn a lot, leaving your own programmers behind, demotivated. Make sure the work of your own programmers is needed for the project to succeed, so the external firm will have to rely on, use and coach your programmers.

This is a big, important step for your company. Your programmer(s) are probably very concerned about continuity and maintainability. You need those folks to make your project a success on the long run. Don't forget once the external firm leaves, your own people must be able to maintain the new system.

Start by upgrading your database to the 21th century. Don't throw everything away and start from scratch, unless really really needed. It will be very time consuming and costly. Ask your users and programmers what they think the current system in lacking in. There is a great book "Refactoring Databases" (Addison-Wesley) to gently transform your current system to a better one. Big Bang solutions: throw away the current system and replace it by something completely new, often fail.

I am in a similar situation. Scrum and test driven development have been introduced this way. I only believe in the things I see that work. And they work.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.