Archive for the ‘SDLC’ category

How fast should software be written?

February 29th, 2012

In most software development positions, you get projects sent your way with an expected completion time, and for the most part there always has to be a completion date to any project or nothing would ever get done.  Now, granted you have some projects where some R&D will have to be done beforehand if you either don’t know the technology that will need to be used or you don’t understand the domain you have been tasked to work with.

 It helps tremendously to work with domain experts when you don’t understand the domain you are working with, people that understand how the business works or the terminology or the business flow.  When it comes to R&D up front, it helps to work with or for people that understand that it takes time to get a grasp of the tools needed to get the job done.

One sort of thing I have wrestled with over the years is how fast should a particular piece of software be written?  What I mean by that is how fast should you let others know it is completed.  Under certain situations, you could end up with high expectations that you can produce software very quickly, which you may be able to, but maybe not in every scenario because of the R&D aspect or you may run into a really difficult snag that makes things drag out for a while.  Its probably a bad idea to let others know you are done immediately without at least letting some others bang around on your new shiny tool or product, so you at least don’t look like a fool, not to mention that in general it just needs to be tested.

If you look at the chart I have here, the software development cycle doesn’t always apply, especially when you are creating what I want to call “small” projects, like a data integration for instance.  I recently created a webservice that was simply a way for a client to send data to us and it would generate some more data and send it back.  I guess you could say that there was some analysis involved in trying to see if it was possible, and there was some approval there so we have 2 of the steps, but I didn’t really have a need to mock anything up since it was just some simple ties to data, no UI’s involved.  I did do the rest of it with the stage and test and release the software, so I guess I pretty much did all the cycle minus the mockup part of it.

I guess what I am wondering from others in the field is if you can get a particular project done in a lot faster time frame than was expected, do you sit on it and do more research or do you tell management about it immediately so you can reap those rewards?