Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Taking learning into account in a development process [closed]

Tags:

agile

How to deal with the fact that you don't know the language/framework in a development process?

For instance, suppose a group of Java developers are about to start a .NET project, they don't know the platform well and might end up finding solutions that the framework already solves or solves better.

The sort of questions I have are: which are the best practices in this case? Is RTFM before going on a good pratice? When should one stop RTFM and start asking/searching/playing? Is not RTFM and just searching/asking/playing a good practice? What about estimates?

I'd like to hear from your experience :-)

like image 784
Thiago Avatar asked Apr 28 '10 23:04

Thiago


2 Answers

Learn the platform before writing production code!

Often people just jump in and start writing their app, and it becomes a mess, the developers learn lots then regret the "noob" stuff they did, but are locked in.

So my theory is take a few spikes and go throughan implement a very very thin feature that goes through all layers of a framework.

ie, say if it was a web mvc / web services..... something that has javascript - > ajax -> html -> web service -> Controller -> Model -> Database.

Get people to review it. Don't spend time building a framework layer when you don't know a lot about the Technology you are dealing with. Spend some time exploring what kind of flexibility your technology has (ie, try a number of different ways you can skin a cat)

like image 94
Keith Nicholas Avatar answered Sep 28 '22 07:09

Keith Nicholas


I think, as well as other, that it is important to have a good mental model and to understand abstractions you will use... However, sometimes it is not as easy, maybe because of insufficient time, experience or even documentation. You can get some thoughts here: http://www.se-radio.net/podcast/2009-06/episode-138-learning-part-development-allan-kelly There is also an agile methodology which takes learning as its strategic part: Adaptive Software Development (ASD) http://en.wikipedia.org/wiki/Adaptive_Software_Development Lastly, I want to mention exploratory tests in Test Driven Development, which can help with learning new frameworks http://en.wikipedia.org/wiki/Exploratory_testing .

like image 30
Gabriel Ščerbák Avatar answered Sep 28 '22 09:09

Gabriel Ščerbák