Friday, March 18, 2005

pop's response

Freeman,

Your SDLC blog has a bad anchor tag originating in a repeated "http://"

href="http://http://www.birdseye.net/operations_archive/software_development
_lifecycle.htm">Software Development Life Cycle (SDLC)

Aside from that, I don't know if I agree with Bruce Bahlmann's template for
software development, particularly if it endorses anything approaching the
waterfall approach to software development. Typically both customers and
developers learn too much during the course of development for them to be
satisfied with their initially agreed upon plans. This is particularly true
with new products with more up front uncertainties, both respect to
requirements and development. Frequent updates to established products can
get around this problem by giving both customers and developers belief that
their new ideas can be incorporated in the near future.

I also worry that Bahlmann's template seems to call for software developers
to estimate time to completion for projects before they understand the
problems or solutions well enough to make accurate estimates. In my
experience, developers are always encountering subtasks where the estimated
times to completion are bimodal; either your original hunch works or you
have to find a whole new strategy. There is always enormous pressure to use
the optimistic estimate as both managers and project management tools (e.g.
Gantt charts) have difficulty integrating subtasks with bimodal distributions.

I personally favor development environments that encourage early development
of prototypes. I favor continuous refactoring, often a hard sell to management because the strategy seems like an invitation break a working system without adding new functionality. Conceptually I like the idea of test driven development, but have never developed a serious project under that philosophy.

Respectfully and with love,

--Pop

2 comments:

Anonymous said...

When we are born our brains are like empty computers waiting to be fed information. As we grow our peers act as our programmers, they supply us with the knowledge which we channel through the conscious mind into the subconscious (our hard drive). The subconscious mind is the biggest hard drive ever developed - it stores everything we come in contact with and by no means is all of this information of a positive nature.
All that we have heard, touched, smelt, tasted and seen are stored in the recesses of our minds. The subconscious mind holds on to this information until we need to recall it. For example when you were young your curiosity lead you to investigate your surroundings. When you approached a substance that was dangerous, such as fire, your parents or guardians would most likely have rebuked or scolded you if you ventured too near the flame. Perhaps you may even recall an incident when you were physically burned. Your subconscious mind then began to relate scolding (or pain) with the intense heat of the fire and would therefore feed the feelings of the scolding incident back to you whenever you got too close to fire again, thus acting as an early warning system.
This is the mechanism used by our brains to learn. It is also the same method employed by the mind in every situation. The subconscious mind has a tendency to emulate what it sees - it tends to replicate its environment. This is why so many people find themselves in similar relationships and situations that they saw their parents in while they were growing up. Most people also hold very strongly or similar views of their parents.
Think of a time when you gave yourself praise. What words did you use? Do you use the same words that your parents or peers used when they were praising you? The same is applicable when you scold yourself.
Watch your internal dialogue. Look at it closely. It takes diligence to change the way you think. When you notice yourself thinking a negative chose to think the opposite. This way you neutralise the negative thought. Now the think the positive thought again! You have just reversed the negative thinking in that moment and remember you only have this moment. No other time exists!
Daydream about what might be. Imagine things they way you wish them to be. If you catch yourself thinking "this is just a daydream - a fantasy" then stop! Think the opposite. It is not a daydream it is your reality. Now think it again.
By doing this simple procedure you will begin to retrain your subconscious mind to think positively and you will ultimately begin to consciously create a life that dreams are made of! lucid dream

Bruce Bahlmann said...

pop, I agree with your comments about my SDLC method which was quoted in this blog. The methodology that works best for any particular organization has more to do with the dynamics of the team in place (what problems exist within development that one is trying to solve), the type of product under development, and what kinds of expectations customers have historically shown.

Development like anything else that is based on humans is not an exact science. So, there are many shades of gray. Picking the color or mix, takes some trial and error but this can be done intelligently to minimize the impact to an organization while advancing the efficiency of the team.

I'm a huge believer of "some" degree of up front design, and also a huge believer in working closely with developers to establish timelines (rather than dictate it to them). Aside from that, the size and scope of each release, can define the length of the dev cycle - approaching that of Agile without the loss of basic design and documentation - these deliverables are the achilles heel of Agile methods.

Kind Regards,
Bruce Bahlmann