Originally posted by Desai Sandeep:
Hi all,
I wish to start learning about process, extreme programming and pair programming.Am I correct to assume that this has close links with UML.
From what I gather while reading Martin Fowler's book, he had briefly mentioned about a process.As I recollect, you need to have a Developmental process in place to lay down which artifacts would be required in which phase of the project.
Mark Herschberg, author of The Career Toolkit
https://www.thecareertoolkitbook.com/
Originally posted by Desai Sandeep:
Found some more books of interest on the Process.They are :
- The Unified Software Development Process by Three Amigos
- The Rational Unified Process: An Introduction by Philippe Kruchten
Junilu, how do you rate these books?
Originally posted by Desai Sandeep:
Mark, from what you have explained, I am still not able to get how one can inculcate XP within the team (say if the firm is not an old or a conventional one and is willing to go for it!).I understand that XP makes us to do everything to an extreme.However, if I am correct, we can define levels to which one should stretch for every activity we do - let it be testing, refactoring or whatever.So, the Process could help us define the time allocation for each activity?
Originally posted by Desai Sandeep:
Also, I understand your views on Waterfall Process.Is it that XP is NOT meant for this process?I had been following the Waterfall lifecycle, while coding in VS COBOL II on the IBM Mainframe.As you mentioned, this approach is a Bad Idea(TM)from the point of view of changing requirements.I recollect reading an article not long time back which mentioned about it still being used for the Enterprise Development.And I believe it was for Java Development!!Please find the article on How does the waterfall development methodology play in the enterprise? for discussion on the same.
Infact, I had mailed the author on the cons of the Waterfall life cycle when compared to Iterative life cycle, which included the following :
- Feedback in the Waterfall lifecycle is delayed
- Flexibility for change in business requirement is not accounted for in Waterfall cycle.
- Is suited more for Structured language development like COBOL.
However, I did not receive a reply from him.I look forward for your views on this.
Mark Herschberg, author of The Career Toolkit
https://www.thecareertoolkitbook.com/
In 1970 Dr. Winston Royce published a paper entitled "Managing the Development of Large Software Systems". This paper appeared on pages 1-9 of Proceedings of IEEE WESCON. It is commonly agreed
that this paper was the progenitor of the waterfall model of software development. And in some distorted fashion, perhaps it was. It may be that some pointy haired managers ignored Royce�s words and simply used one or two of his illustrations to create and promulgate the idea that software can be completely analyzed before it is designed, completely designed before it is coded, and completely coded before it is tested. I.e. - Waterfall.
Were I Dr. Royce, I would wince at the thought of how thoroughly and inextricably Waterfall has permeated the software development community. It is not surprising, even today, to hear of managers chiding their developers about doing design while in the implementation phase. The manager wants to be able to manage the schedule by drawing an X through the design phase.
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
Reply to my mail by Techrepublic on the queries posted on the article mentioned in my earlier post
Sandeep,
I just received an email that you sent to TechRepublic some time ago on the waterfall methodology. You had three observations.
Feedback in the waterfall method is delayed.
I think in general this is true. You may have very active customer involvement during the waterfall analysis phase, but then you go through a design and construction phase before
you start to show the customers any aspects of the application. In Rapid Application Development (RAD), you take a subset of the application, do a quick analysis, design and construct, and then bring it back to the customer for feedback. You then modify the
application based on their feedback. In a traditional waterfall process, the customer sees most, if not all, of the application at once. In a RAD process, you show them pieces of the application much earlier.
Flexibility for changes in requirements is not accounted for in the waterfall method.
Actually, this is not the case. It is true that changes to requirements are an expected part of the RAD process. You start off with a partial list of requirements, build a solution and show the customer. They then give you more feedback on requirements and you incorporate those into the solution. This repeats until the application is complete.
However, in a waterfall approach, you can also handle change through scope change management. Once the initial business requirements are completed, you begin work on design and construction. If new requirements are added at any time during the remainder of the project, you submit a change request. The team then determines the impact to the project of making the change. In many cases, there is no measurable impact to the project. In some cases, major changes can force a project to take more time and cost more. This is especially true if major changes are seen toward the end of the development lifecycle – say during system or user acceptance testing. However, the same thing can occur using RAD methods. You could be completing your third iteration when a requirement change comes in that will take major rework to include.
Waterfall is more suited to structured languages like COBOL
I do not see that there is necessarily a relationship between the language you develop in and the methodology you use. It is true that some technologies lend themselves better to the RAD approach. For instance, since web development is heavily oriented toward the user experience, it is probably a good candidate for the RAD process. COBOL is typically used for high-transaction online and batch systems, which may not be as good a candidate,
because there is nothing to show the user when a lot of the ransaction processing takes place in the background. So, there may be a link between the language and the development methodology, but this is an indirect link. Applications that have a heavy user orientation are more likely candidates for RAD development than applications with heavy offline processing requirements.
Summary
Both RAD and waterfall development are viable models for developing applications today. In many cases, the choice of what process to use is based on the type of application being developed. The more user interaction there is, the more that you can show the customer to get further input for more requirements. Applications that have a heavy component of behind the scenes processing may not be as good a candidate for RAD, since you have less that you can show the user. Another factor is whether you have the customer engaged enough to make RAD development work. In RAD development, you need ongoing customer involvement and engagement. If you don’t have it, RAD will not work well, even if it would be a good candidate based on the application characteristics.
Tom Mochal, PMP
You could be completing your third iteration when a requirement change comes in that will take major rework to include.
Waterfall is more suited to structured languages like COBOL
I do not see that there is necessarily a relationship between the language you develop in and the methodology you use.
COBOL is typically used for high-transaction online and batch systems, which may not be as good a candidate,
because there is nothing to show the user when a lot of the ransaction processing takes place in the background.
Another factor is whether you have the customer engaged enough to make RAD development work. In RAD development, you need ongoing customer involvement and engagement. If you don�t have it, RAD will not work well, even if it would be a good candidate based on the application characteristics.
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 Ilja Preuss:
How does waterfall substitute for the ongoing customer involvement???
Originally posted by Ilja Preuss:
So you can't show the customer that the batch system is doing what she expects it to do?
Originally posted by shailesh sonavadekar:
By the way , can anybody explain what is PMP ? is it Project Management Professional From PMI , USA ?
Consider Paul's rocket mass heater. |