Originally posted by Thomas Paul:
Agile or not, UML is a tool for both communication and problem-solving. If it doesn't meet either of these needs, it's a waste of time.
Not to the developers who follow in your footstep. UML makes much better documentation than code. As I said, the fool who said, "the code is the documentation" shoudl be forced to make business critical enhancements to an application with 2,000 Java classes and no documentation.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Thomas Paul:
A carpenter would make a sketch on a napkin or on the back of a piece of plywood for his or her apprentice. They wouldn't use an expensive tool. The best carpenters I've worked with spend a few minutes producing an imperfect diagram on an 8-1/2 x 11 sheet of paper.
I wouldn't eant that carpenter working on my home. The carpenter that did tghe work on my house had a complete set of blueprints that showed where every single piece of wood he would use as going.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Thomas Paul:
UML diagrams are very helpful for less experienced developers to understand the big picture and how things relate.
UML diagrams are very helpful for experienced people to review to figure out what an application does and how it does it. perhaps you haven't been in the unenviable position of taking over an application when the origianl developers were not available but if you were then you would have been very happy to find that they had provided you with a complete set of UML diagrams showing how the application worked.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Thomas Paul:
you would have been very happy to find that they had provided you with a complete set of UML diagrams showing how the application worked.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
That is a different problem altogether and speaks to the general level of unprofessionalism that runs through our industry.Originally posted by Jeff Langr:
Most people, unfortunately, come across systems with neither good design nor good code.
Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
This is where the unprofessionalism of our industry exposes itself. Too many applications are developed late and over budget. Although you will always hear programmers complaining about changing specs, or unclear specs, or a million other issues, the fact is that at least 50% of failed applications are due to the IT department.Originally posted by Jeff Langr:
Nine times out of 10, the UML diagrams were out of date or inadequate. Nine times out of 10, it wouldn't have mattered, because the poor construction of the code was where the real money ended up being wasted.
Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Originally posted by Thomas Paul:
I just want to add one thing that seems to cause some confusion about rational. Rational is not a UML tool. Rational is a design tool that uses UML as the language of design. The difference between Rational and Visio is like the difference between an IDE like Eclipse and notepad.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
It depends on what you mean by failing? The legendary CHAOS report from Standish Group (1995) listed a top 10 list of project challenging factors... The vast majority was related to changing requirements, lack of requirements, deficiencies in requirements, and lack of communication.Originally posted by Thomas Paul:
Although you will always hear programmers complaining about changing specs, or unclear specs, or a million other issues, the fact is that at least 50% of failed applications are due to the IT department.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Thomas Paul:
This is where the unprofessionalism of our industry exposes itself. Too many applications are developed late and over budget. Although you will always hear programmers complaining about changing specs, or unclear specs, or a million other issues, the fact is that at least 50% of failed applications are due to the IT department.
Programmers hate doing documentation so when someone tells you not to worry about it because the documentation is always out of date, they are feeding the worst behaviors of the IT department. Imagine a builder realizing that there was a problem with an architect's plan and just doing things a different way without going back to the architect for the changes.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Lasse Koskela:
It depends on what you mean by failing? The legendary CHAOS report from Standish Group (1995) listed a top 10 list of project challenging factors... The vast majority was related to changing requirements, lack of requirements, deficiencies in requirements, and lack of communication.
Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Originally posted by Thomas Paul:
If they did all that for a small expansion to my house how could you let programmers do any less for a project that will be costing ten times what I paid for my expansion?
perhaps you haven't been in the unenviable position of taking over an application when the origianl developers were not available but if you were then you would have been very happy to find that they had provided you with a complete set of UML diagrams showing how the application worked.
To take it back to the house analogy, imagine having to do work in an office building with no plans to tell you where the wiring was or how the plumbing ran through the building. You would have to punch holes in walls just to try to locate where anything was.
Not to the developers who follow in your footstep. UML makes much better documentation than code.
As I said, the fool who said, "the code is the documentation" shoudl be forced to make business critical enhancements to an application with 2,000 Java classes and no documentation.
Well, I am working on such an application. The sytesm is more than five years under development and has remarkably improved in both the internal design and stability and functionality in the last year.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Thomas Paul:
To give an example of UML as documentation... don't you think it would be a lot easier to work with MVNforum if we had class diagrams and sequence diagrams for the entire application?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Thomas Paul:
The applications I developed with Rational were on-time and on-budget because we knew exactly what we were developing before we wrote a line of code.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Thomas Paul:
I inherited a huge, well-written application with no documentation. Unit tests were useless because trying to figure out the flow between several thousand classes was nearly impossible.
I spent a week grepping through scores of directories
to figure out what a single change would do to the application
We documented the application with UML and the resulting diagrams made it easy to figure out the implications of any change.
Fortunately Rational has a reverse engineering tool.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Thomas Paul:
Too many applications are developed late and over budget. Although you will always hear programmers complaining about changing specs, or unclear specs, or a million other issues, the fact is that at least 50% of failed applications are due to the IT department.
Programmers hate doing documentation so when someone tells you not to worry about it because the documentation is always out of date, they are feeding the worst behaviors of the IT department.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Thomas Paul:
It is up to IT to manage change. It is up to IT to facilitate communication. It is up to IT to insure that requirements are understood before committing to work. I have seen plenty of projects with "scope creep" where the fault was that IT didn't understand the scope before they started and failed to have a change control mechanism in place.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Thomas Paul:
This is where the unprofessionalism of our industry exposes itself. Too many applications are developed late and over budget.
Life just hasn't been the same since the volcano erupted and now the air is full of tiny ads.
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
|