Answer:
The argument by Brooks still applies to today’s software development in many aspects. I feel we cannot find a perfect silver bullet which can take out all the essential and accidental difficulties which occur during the development of any software.
The following point’s supports that Brooks arguments are valid and can be applied to today’s software development:
As mentioned by Brooks the accidental difficulties can be minimized with the advancement in the technologies or by introducing many high level languages.
But the actual problem lies in …show more content…
Building the working software early even if it is with limited functionality, so that the testing of that product can help us in requirement and design refinement, this is similar to agile methodology.
“Isolating great designers, trying to produce good designers by effective trainings and right leadership” which was the answer suggested by Brooks to the question “How we can achieve coding productivity if we do not have any bullet for essential difficulties?” still applies for today’s software world. The software productivity improvement can only come by isolating right talent and giving them opportunities with space which results in building good quality software on time with limited budget.
Essential and Accidental difficulties that I faced in my …show more content…
We have used JDBC for all the data base transactions.
The problem we faced is
1) At one point we got a situation to migrate all the data from existing database to other data base and use the latest DB going forward. Now we are in a position to change all the code which we used to establish connections and queries/procedures which we used to pull or insert the data, the changes were essential to interact with new database, which was a big change. we failed to predict such type of situation. We have two options at that point, either we can change all the code or changing the design by bringing hibernate ORM framework into picture, since hibernate is DB neutral and have its own HQL language to interact with any kind of DBs we went ahead with this process so that we can get rid of the pain of a huge code changes if such situation arises again. Since we have a flaw in our design, we can consider this as an essential difficulty and also along with our design change we were out of this problem with the help of an ORM framework, we can also consider this as accidental difficulty.
2) In one of our project we have faced performance issues since we have heavy database interactions with DB