I posted earlier anonymously. I'm bulding a superset of what Maven provides for Linux distros and projects. Been building engineering intranet sites since 95 that provide some of the features maven has along with some features maven does not have. QBAL will be GPL'd. I'm coming up to speed on Mozilla/XUL now and will have something ready this fall. Take a look at http://qbal.mozdev.org to get an idea of the scope.
During an interview I was asked how many golf balls would fit in the waste basket near by... I asked how many golf balls do you have... the interviewer said none, I said none... I got the job, try and relax and be yourself in these interviews... well somewhat yourself
This is some very good information in the prior post from 'arhar'. I've been in the industry since 1978 and wanted to share a little bit of information on the salary subject
Try your best to identify what the salary range for the type of work you are applying for in the current market in your city
When asked about your salary requirements, ask what the salary range is for the position, top-to-bottom. You have a right to know what it is you are signing up for, and you should also know what type of growth is available to you.
Asked the interviewer how they perceive you would fit on the that salary band. This does a few things. 1. you get instant feedback about where this person perceives you in relation to the group you'll be joining. 2. you now know approx what you'll be offered. 3. the person has now ranked you. 4. you can now ask the person if that is the level of person you see joining their group, you have now... qualified the hiring manager
Every now and then... I'll have this conversation with an HR person and this can get tricky... I wish I could give you solid answers on this one, but you have to dance a bit with the HR person. My goal will be not to commit to the HR person, but to get in a position to have this conversation with the hiring manager (the real decision maker). I worked at Sun 3 different times as a regular employee and twice as a contractor. On one occasion.. the 2nd time back as a regular employee the HR person was persistent on having me provide an exact amount I was expecting... Since I knew the pay curves I said I want to be on pay curve X and be paid on the 75th percentile. The HR person still demanded a dollar amount, I said I just gave you a dollar amount. The person said this is not a game up one-ups-manship! I said I think it is, I've never been offered a penny more than I've asked for. The HR person was not thrilled, but the hiring manager called and offered me what I had described to the HR person... and laughed at the situtation. Hey, we are all in this together you know.
In regards to recruiters... this is another area that can be tricky. During the dot-com boom it was like dealing with a bad used car salesman, so many inexperienced people jumped into this lucrative work. You need to do your research and be confident to have this person work for you and not the other way around. Provide the recruiter with your resume and a letter that details information on resume at a much lower level. Define you salary requirements, this can be similar to what I described about dealing with HR (pay curve and range).
Always! Try and have these discussion with the hiring manager towards the end of the interview. The hiring manager should always ask what questions do you have, and once you finished asking all your questions, go ahead and bring up the compensation but in general terms, ie. pay curves, ranges, long term growth opportunties, where you fit today with the current group. Make it a two way conversation.
Take short-term contract positions, anything to get some experience and get references
Join an open source project team that is relied upon by the commercial companies, i.e apache
Develop your own open source project that requires you to develop and display your range of skills
Do a research paper on a particular technology or user group and submit to known publishers and web sites
Identify a specific area to develop deep expertise in (depth) or go the other way and develop alot of skills with less depth (breadth)
Take any position you can get even if its not technology related in a technology company
Tenacity, persistence! It may take some time, but keep knocking on the doors of the places that are of interest to you. My first job in hi-tech took 2 years of knocking on the same door, followed by another 2 years once I got in to get into the right slot
You'll get there! Good Luck!
The languages you suggest Java, Python, Ruby... take a look at their beginings, their original purpose, functionality, implementations, and I think your perspective of PHP may change
Ahh.. and I forgot to add that departments in commerical companies have budgeted for engineers/programmers in specific technologies based on what they are selling/telling their customers. So the customers have been led to believe (i.e marketing/sales) that they need the things (security, exstensiblity, scaleability) that their technology (Java, C# provides). And the customer purchasing the solution needs to sell their choice to their decision makers, and they give the same song and dance and everyones happy. Whats wrong with this picture... Most are not able to accurately define how much security, how much extensibility, how much scaleability...
Even when all is known, buying decisions and technolgoy decisions are often emotional decisions.
99% of all web sites can be developed using scripting languages such as Php, Python, Perl, Asp.NET VB.NET and should be done in these languages
You'll save so much time and effort!
From a commercial perspective, we'll see many more companies developing with script technologies because time to market is so critical and the script languages are making alot of improvement. As per a previous post, most decision makers in commericial companies will make a safe decision... Java or C#. They are doing this because they've got to market their project internally, so they can say things like, scalability, extensibility... which are are part of the marketing hype from the Java and C# vendors
Well... I like Perl too! What I like so much about Perl is all of its flexibility. When I'm prototyping, my code style is completely different than when I'm delivering code that someone else will maintain. Perl provides me with the ability to be as terse or verbose as the requirements demand. I think that allowing the programmer or team define their coding style is more valuable than a language defining it.
In regards to strong-vs-weak type languages, I've always thought in my experiences strong type languages are needed more by teams than individuals... for quite a few applications I've seen or built.
I think programmer and qa efficiency are very valuable, much more costly than hardware. Depending on the individuals/teams discipline, some languages may be better than others (i.e rules imposed by the language, compiler)
I've not poked around over a www.distrowatch.com lately. But I wonder if there exist a distro that works best for your market segment? That would be a cool distro... LinuxEducation Distro
A big challenge for any distro provider is in managing all the dependencies and configurations, and then what hardware platforms and hardware configuration to support. I mention above, the commerical companies to some degree can manage this problem (diskless clients, dataless clients, server configurations, etc...)
This problem can be solved, but would take alot of resources to do so, and it would require cutting accross all distro packages making modifications to support configurable scalability... As most users don't require half the features of all the packages installed on their machines
Web services in the future will come in, and depending on how these services are designed some relief could be had...
Have you taken a look at the code? KDE is a very well programmed open source technology, same goes for QT
Much of what you describe in your email can be fixed by tighter intergration of the components, which occurs with commerical products like XP, Solaris, HPUX, etc... But those products are not as flexible or adaptable as the open source solutions. Its a tradeoff.
Also, there is a tradeoff, at least for commericial companies. Its less expensive to upgrade hardware than to develop, test, document, deploy, and maintain software
OS X is the answer to Microsoft, but the arrogance of the commericial Unix companies would rather submit to Microsoft than Apple...
It is VERY interesting that the Linux community is ready to mimic the MS windows world: look and feel, Mono, DotGNU and not jump on Apples bandwagon. Hook your wagon to Apple should be a Linux/Unix mantra...
I like and agree with most of your points. Can you give me an example though of item #3. I can't think of any Unix/Linux environment (excluding OS X) that is better than Windows
Having worked in Silicon Valley since 1978, Microsofts practices are nothing compared to IBM (IBM can kill a market in a heartbeat... do some research... Remember Taligent). What I think really irks Unix people is that a once inferior technology, Windows has achieved more than the commerical Unix companies. Take OSF and Unix International in the 80's. Both of them... incredibly arrogant. How about Sun's arrogance with Swing... Unix led the way with great technology for systems, and technical workstations and they took their eye of the ball! Unix companies never respected MS and PC... not look who's come to dinner! Microsoft and they is viewed from a subjective eye, are now delivering software development environments that are equal and in some cases superior to any of the Unix/Linux alternatives.
I've worked in Unix engineering organizations since 1984 starting at HP, starting at Sun 1990. I stayed away from Windows primarily because the PC and Windows was underpowered, clumsy, and lacked an environment like Unix to work in.
That has all changed for me though! I now enjoy working in a Windows environment over that of Unix/Linux (excluding OS X)
Everything I need is now provided in a Windows environment, including Open Source Software.
After working in the Unix industry for 20 years, I'm confident that Unix commerical companies cannot deliver a better environment to work in. Microsoft has greatly improved their ability to deliver as good as and better in most cases APPLICATION development environment.
Java many would argue is a superior develoment environment that.Net... But what Java owes it's success to is one of the greatest technical marketing programs in the last 20 years. Sun is not capable of leading the industry in user interfaces, so that problem needs to be left to IBM and SWT or something else.
But Linux... that is another story!!! Linux could become a great desktop, but they (the Linux community) has to have a vision. I don't see that, yet... possible KDE is the answer to the desktop, which is implemented far better than GNOME. Why the American commerical distrubtions are clammering around GNOME is a mystery to me. I also think that to draw more Windows developers to Linux, the simplicy provided to Windows developers (i.e ASP.net, VB.net) must be brought to Linux)
Opinions are worth what you pay for them! That's mine!
With the combination of this implementation and peer-to-peer technology, a system could be built with all of its components being relocatable... existing locally or remotely in more that one location
Having worked at Sun for a number of years, and having some insight into business channels and OEM programs, this seems so complex an understaking
The impact to the commercial Linux distros would be significant as their domain expertise in operating system development is much less than that of Sun, i.e Novel, Red Hat
Right off the bat, it opens the door for storage providers that are ported to Solaris
Commercial users would benefit from all the software applications available on Solaris
Security is one of Sun's strong area's
yada yada yada...
What would the impact be to the commercial Linux distros if Solaris does GPL?
What would the impact be to the development community?
Trying to digest what the business and open-source impact will be is giving me a headache...
Here is what I have observed as common mistakes made by engineering organizations when attempting to take on this type of change:
Underestimate knowledge required to make the change
Underestimate the time required to make the change
Understimate the skills required to make the change
Failure to align the proposed change with business requirements over the length of training/implementation
My approach... for what it's worth...
First Things First
What are the business requirements?
Ensure that the development team can do:
Manage all source and derived files from any of the build processes, including build environments, development environments, test environments
Manage all documents
Track all requirements
Track all action items
Track all decisions and execution against decision
Track all defects and fixes
Track all test cases, test runs, and test results
Focus on making all of the above repeatable, reproducible and measurable. Doing this does not involved the entire engineering organization, as does implementing CMM. What I try to do is improve the infrastructure so that people driving change can manage it. Not everyone in the organization is driving change, very few in fact, most are focused on managing the efforts to maintain releases and produce new releases.
And last but not least... avoid heavy-weight solutions.
The only reason India programming entities have been able to achieve high CMM levels is... cost
If a commerical company in say Silicon Valley attempted to achieve CMM L4 or L5 they'd never ship a product
I have first hand experience at two companies that made these attempts... and have talked with other development managers which have walked away from CMM
The main problem with CMM is it is only focused on the process. But the reality of the market is that we develop and publish software very quickly. CMM needs to be tailored to accomplish both the business and SDLC needs
Based on my experiences of the past 20 years working in Unix OS, Networking and Graphics development organizations. Good practices and team culture can overcome weaknesses in any given development process model.
IMO, no single model works well for all projects. The development model that best fits the project requirements and the team culture will usually produce the best results.
What I've found is that when Key Practices are performed on a daily basis, whatever model is in place can be sucessfully managed.
Key Practices:
Change Control: this includes; source, binary, requirements, decisions, action items, specifications, hardware, firmware, processes, practices, etc...
Communication: the ability to notify and acknowledge change
Assessment: the ability to review change and make corrective adjustments in the schedule and requirements
Planning: the best product bosses work their plans every nite, and publish every morning
On Demand Crank Turn: the ability to turn the crank at least once a day. This includes: build, package, assemble, test, publish, assess, plan, prioritize
Fujistsu has a large stake in Sun and has bought other Sparc companies (Ross Technologies, and HAL)... and I think Amdahl. Fujitsu also builds super high end servers (128+ processor).
But... Sun has a great track record of bouncing back when everyone thinks they are down for the count. In the early 90's things did not look good and the company came roaring back in the mid-to-late 90's.
I think the article was poorly written and provided no data to back up the authors position
I beg to differ. Let me give you a simple example: How many people do you know that have little or no programming background that have created web pages?
How many people do you know that HAD little or no programming background and created web sites?
With Visual Basic, Avalan and XAML those same people will be able to easily create simple applications and some of them will wind up creating sohpisticated applications. Bescause the technology learning curve will be very small relative to current technologies, people we give it a try, obtain a certain level of success, be happy, and continue to move forward.
I first read about nakedobjects a year ago. There has been other works in this area that I've observed over the years.
I spent my early career using emacs then later vi... now gvim/vim... But I've witnessed many peers in recent years getting tremendous productivity out of RAD development tools such as Eclipse and IDEA.
Over the past few years I watched many non-professional-programmers use RAD tools like Dreamweaver to create web applications, whereas those same folks would have had a very difficult time if limited to an editor.
Over my entire career I've seen plenty of good, bad, and ugly code created in non-RAD environment.
Based on my observations of the past few years, most people programming applications would be much more productive in a RAD environment
In regards to planning, implementation and testing... I think this is an area that tools can make a huge improvement in both effectiveness and efficiency. Having worked on teams as small as 9 people and as large as 300, this is an area that the industry is in real need of tools!
This new technology is finally going to bring closer to the people with domain expertise the ability to create their own applications, without having to depend on technical specialists. HTML opened the door to many people with limited or no programming expertise. The.Net framework with Avalon and XAML will advance this even further. The Mozilla approach is something the Unix/Linux developers need to better understand and get on board with and contribute towards as the current stack used in the Unix/Linux community is already out-dated. Miguel is right-on-target!!!
I've worked in Unix engineering environments since 1984 at HP and Sun (Operating Systems, Networking and Graphics). I've observed over the years that the Unix community took Microsoft very lightly and never very seriously. The unix industry has not traditionally worked with the same user community as Microsoft. But Microsoft has matured very quickly and now delivers some outstanding technology for developing applications! The.Net framework, Avalon and XAML in my opinion will have no peers unless the Linux community develops a competitive answer!
The stack that Microsoft is creating will not only empower more people to create more sophisticated applications, but will increase the productivity of application programmers by at least 30% over todays Unix/Linux development stacks!!!
Mozilla is a great start in the right direction, but cooperation between the Gnome, Kde, and Mozilla camps will need to occur in sort order to compete with the Microsoft stack when it comes to application interface development.
I posted earlier anonymously. I'm bulding a superset of what Maven provides for Linux distros and projects. Been building engineering intranet sites since 95 that provide some of the features maven has along with some features maven does not have. QBAL will be GPL'd. I'm coming up to speed on Mozilla/XUL now and will have something ready this fall. Take a look at http://qbal.mozdev.org to get an idea of the scope.
Bigusputicus
I thought I'd toss in some humor here...
During an interview I was asked how many golf balls would fit in the waste basket near by... I asked how many golf balls do you have... the interviewer said none, I said none... I got the job, try and relax and be yourself in these interviews... well somewhat yourself
Again, Best of Luck
Try your best to identify what the salary range for the type of work you are applying for in the current market in your city
When asked about your salary requirements, ask what the salary range is for the position, top-to-bottom. You have a right to know what it is you are signing up for, and you should also know what type of growth is available to you.
Asked the interviewer how they perceive you would fit on the that salary band. This does a few things. 1. you get instant feedback about where this person perceives you in relation to the group you'll be joining. 2. you now know approx what you'll be offered. 3. the person has now ranked you. 4. you can now ask the person if that is the level of person you see joining their group, you have now... qualified the hiring manager
Every now and then... I'll have this conversation with an HR person and this can get tricky... I wish I could give you solid answers on this one, but you have to dance a bit with the HR person. My goal will be not to commit to the HR person, but to get in a position to have this conversation with the hiring manager (the real decision maker). I worked at Sun 3 different times as a regular employee and twice as a contractor. On one occasion.. the 2nd time back as a regular employee the HR person was persistent on having me provide an exact amount I was expecting... Since I knew the pay curves I said I want to be on pay curve X and be paid on the 75th percentile. The HR person still demanded a dollar amount, I said I just gave you a dollar amount. The person said this is not a game up one-ups-manship! I said I think it is, I've never been offered a penny more than I've asked for. The HR person was not thrilled, but the hiring manager called and offered me what I had described to the HR person... and laughed at the situtation. Hey, we are all in this together you know.
In regards to recruiters... this is another area that can be tricky. During the dot-com boom it was like dealing with a bad used car salesman, so many inexperienced people jumped into this lucrative work. You need to do your research and be confident to have this person work for you and not the other way around. Provide the recruiter with your resume and a letter that details information on resume at a much lower level. Define you salary requirements, this can be similar to what I described about dealing with HR (pay curve and range).
Always! Try and have these discussion with the hiring manager towards the end of the interview. The hiring manager should always ask what questions do you have, and once you finished asking all your questions, go ahead and bring up the compensation but in general terms, ie. pay curves, ranges, long term growth opportunties, where you fit today with the current group. Make it a two way conversation.
Best of Luck
Black Box Testing
White Box Testing
Build Engineer
Release Engineer
Tech Support
Customer Support
Installation Engineer
System Administrator
Web Programming
PC Technician
Tech Pubs Writer
Sales Support Engineer
Take short-term contract positions, anything to get some experience and get references
Join an open source project team that is relied upon by the commercial companies, i.e apache
Develop your own open source project that requires you to develop and display your range of skills
Do a research paper on a particular technology or user group and submit to known publishers and web sites
Identify a specific area to develop deep expertise in (depth) or go the other way and develop alot of skills with less depth (breadth)
Take any position you can get even if its not technology related in a technology company
Tenacity, persistence! It may take some time, but keep knocking on the doors of the places that are of interest to you. My first job in hi-tech took 2 years of knocking on the same door, followed by another 2 years once I got in to get into the right slot You'll get there! Good Luck!
The languages you suggest Java, Python, Ruby... take a look at their beginings, their original purpose, functionality, implementations, and I think your perspective of PHP may change
Ahh.. and I forgot to add that departments in commerical companies have budgeted for engineers/programmers in specific technologies based on what they are selling/telling their customers. So the customers have been led to believe (i.e marketing/sales) that they need the things (security, exstensiblity, scaleability) that their technology (Java, C# provides). And the customer purchasing the solution needs to sell their choice to their decision makers, and they give the same song and dance and everyones happy. Whats wrong with this picture... Most are not able to accurately define how much security, how much extensibility, how much scaleability... Even when all is known, buying decisions and technolgoy decisions are often emotional decisions.
99% of all web sites can be developed using scripting languages such as Php, Python, Perl, Asp.NET VB.NET and should be done in these languages
You'll save so much time and effort!
From a commercial perspective, we'll see many more companies developing with script technologies because time to market is so critical and the script languages are making alot of improvement. As per a previous post, most decision makers in commericial companies will make a safe decision... Java or C#. They are doing this because they've got to market their project internally, so they can say things like, scalability, extensibility... which are are part of the marketing hype from the Java and C# vendors
Well... I like Perl too! What I like so much about Perl is all of its flexibility. When I'm prototyping, my code style is completely different than when I'm delivering code that someone else will maintain. Perl provides me with the ability to be as terse or verbose as the requirements demand. I think that allowing the programmer or team define their coding style is more valuable than a language defining it.
In regards to strong-vs-weak type languages, I've always thought in my experiences strong type languages are needed more by teams than individuals... for quite a few applications I've seen or built.
I think programmer and qa efficiency are very valuable, much more costly than hardware. Depending on the individuals/teams discipline, some languages may be better than others (i.e rules imposed by the language, compiler)
I've not poked around over a www.distrowatch.com lately. But I wonder if there exist a distro that works best for your market segment? That would be a cool distro... LinuxEducation Distro
A big challenge for any distro provider is in managing all the dependencies and configurations, and then what hardware platforms and hardware configuration to support. I mention above, the commerical companies to some degree can manage this problem (diskless clients, dataless clients, server configurations, etc...)
This problem can be solved, but would take alot of resources to do so, and it would require cutting accross all distro packages making modifications to support configurable scalability... As most users don't require half the features of all the packages installed on their machines
Web services in the future will come in, and depending on how these services are designed some relief could be had...
Have you taken a look at the code? KDE is a very well programmed open source technology, same goes for QT
Much of what you describe in your email can be fixed by tighter intergration of the components, which occurs with commerical products like XP, Solaris, HPUX, etc... But those products are not as flexible or adaptable as the open source solutions. Its a tradeoff.
Also, there is a tradeoff, at least for commericial companies. Its less expensive to upgrade hardware than to develop, test, document, deploy, and maintain software
Sunview (SunOS 4.x) was in kernel space in the 80's and Dave Singleton at Sun in the early 90's implemented selected window priority for Solaris...
Greate comments!
OS X is the answer to Microsoft, but the arrogance of the commericial Unix companies would rather submit to Microsoft than Apple...
It is VERY interesting that the Linux community is ready to mimic the MS windows world: look and feel, Mono, DotGNU and not jump on Apples bandwagon. Hook your wagon to Apple should be a Linux/Unix mantra...
I like and agree with most of your points. Can you give me an example though of item #3. I can't think of any Unix/Linux environment (excluding OS X) that is better than Windows
Having worked in Silicon Valley since 1978, Microsofts practices are nothing compared to IBM (IBM can kill a market in a heartbeat... do some research... Remember Taligent). What I think really irks Unix people is that a once inferior technology, Windows has achieved more than the commerical Unix companies. Take OSF and Unix International in the 80's. Both of them... incredibly arrogant. How about Sun's arrogance with Swing... Unix led the way with great technology for systems, and technical workstations and they took their eye of the ball! Unix companies never respected MS and PC... not look who's come to dinner! Microsoft and they is viewed from a subjective eye, are now delivering software development environments that are equal and in some cases superior to any of the Unix/Linux alternatives.
I've worked in Unix engineering organizations since 1984 starting at HP, starting at Sun 1990. I stayed away from Windows primarily because the PC and Windows was underpowered, clumsy, and lacked an environment like Unix to work in.
.Net... But what Java owes it's success to is one of the greatest technical marketing programs in the last 20 years. Sun is not capable of leading the industry in user interfaces, so that problem needs to be left to IBM and SWT or something else.
That has all changed for me though! I now enjoy working in a Windows environment over that of Unix/Linux (excluding OS X)
Everything I need is now provided in a Windows environment, including Open Source Software.
After working in the Unix industry for 20 years, I'm confident that Unix commerical companies cannot deliver a better environment to work in. Microsoft has greatly improved their ability to deliver as good as and better in most cases APPLICATION development environment.
Java many would argue is a superior develoment environment that
But Linux... that is another story!!! Linux could become a great desktop, but they (the Linux community) has to have a vision. I don't see that, yet... possible KDE is the answer to the desktop, which is implemented far better than GNOME. Why the American commerical distrubtions are clammering around GNOME is a mystery to me. I also think that to draw more Windows developers to Linux, the simplicy provided to Windows developers (i.e ASP.net, VB.net) must be brought to Linux)
Opinions are worth what you pay for them! That's mine!
With the combination of this implementation and peer-to-peer technology, a system could be built with all of its components being relocatable... existing locally or remotely in more that one location
/usr, /bin, /usr/bin existed prior to nfs
I think the strongest case for using an organization like this would be for building large farms of clusters, diskless and dataless clients
A more radical approach may be to use a combination of this implementation along with peer-to-peer technology
Having worked at Sun for a number of years, and having some insight into business channels and OEM programs, this seems so complex an understaking
The impact to the commercial Linux distros would be significant as their domain expertise in operating system development is much less than that of Sun, i.e Novel, Red Hat
Right off the bat, it opens the door for storage providers that are ported to Solaris
Commercial users would benefit from all the software applications available on Solaris
Security is one of Sun's strong area's
yada yada yada...
What would the impact be to the commercial Linux distros if Solaris does GPL?
What would the impact be to the development community?
Trying to digest what the business and open-source impact will be is giving me a headache...
GigantanKramePithicus
Here is what I have observed as common mistakes made by engineering organizations when attempting to take on this type of change:
Underestimate knowledge required to make the change
Underestimate the time required to make the change
Understimate the skills required to make the change
Failure to align the proposed change with business requirements over the length of training/implementation
My approach... for what it's worth...
First Things First
Ensure that the development team can do:
- Manage all source and derived files from any of the build processes, including build environments, development environments, test environments
- Manage all documents
- Track all requirements
- Track all action items
- Track all decisions and execution against decision
- Track all defects and fixes
- Track all test cases, test runs, and test results
Focus on making all of the above repeatable, reproducible and measurable. Doing this does not involved the entire engineering organization, as does implementing CMM. What I try to do is improve the infrastructure so that people driving change can manage it. Not everyone in the organization is driving change, very few in fact, most are focused on managing the efforts to maintain releases and produce new releases.And last but not least... avoid heavy-weight solutions.
Best of Luck! GigantanKramePithicus
The only reason India programming entities have been able to achieve high CMM levels is... cost
If a commerical company in say Silicon Valley attempted to achieve CMM L4 or L5 they'd never ship a product
I have first hand experience at two companies that made these attempts... and have talked with other development managers which have walked away from CMM
The main problem with CMM is it is only focused on the process. But the reality of the market is that we develop and publish software very quickly. CMM needs to be tailored to accomplish both the business and SDLC needs
GigantanKramePithicus
Based on my experiences of the past 20 years working in Unix OS, Networking and Graphics development organizations. Good practices and team culture can overcome weaknesses in any given development process model.
IMO, no single model works well for all projects. The development model that best fits the project requirements and the team culture will usually produce the best results.
What I've found is that when Key Practices are performed on a daily basis, whatever model is in place can be sucessfully managed.
Key Practices:
Change Control: this includes; source, binary, requirements, decisions, action items, specifications, hardware, firmware, processes, practices, etc...
Communication: the ability to notify and acknowledge change
Assessment: the ability to review change and make corrective adjustments in the schedule and requirements
Planning: the best product bosses work their plans every nite, and publish every morning
On Demand Crank Turn: the ability to turn the crank at least once a day. This includes: build, package, assemble, test, publish, assess, plan, prioritize
GigantanKramePithicus
Fujistsu has a large stake in Sun and has bought other Sparc companies (Ross Technologies, and HAL)... and I think Amdahl. Fujitsu also builds super high end servers (128+ processor).
But... Sun has a great track record of bouncing back when everyone thinks they are down for the count. In the early 90's things did not look good and the company came roaring back in the mid-to-late 90's.
I think the article was poorly written and provided no data to back up the authors position
GigantanKramePithicus
I beg to differ. Let me give you a simple example: How many people do you know that have little or no programming background that have created web pages?
How many people do you know that HAD little or no programming background and created web sites?
With Visual Basic, Avalan and XAML those same people will be able to easily create simple applications and some of them will wind up creating sohpisticated applications. Bescause the technology learning curve will be very small relative to current technologies, people we give it a try, obtain a certain level of success, be happy, and continue to move forward.
I first read about nakedobjects a year ago. There has been other works in this area that I've observed over the years.
GigtanKramePithicus
I spent my early career using emacs then later vi... now gvim/vim... But I've witnessed many peers in recent years getting tremendous productivity out of RAD development tools such as Eclipse and IDEA.
Over the past few years I watched many non-professional-programmers use RAD tools like Dreamweaver to create web applications, whereas those same folks would have had a very difficult time if limited to an editor.
Over my entire career I've seen plenty of good, bad, and ugly code created in non-RAD environment.
Based on my observations of the past few years, most people programming applications would be much more productive in a RAD environment
In regards to planning, implementation and testing... I think this is an area that tools can make a huge improvement in both effectiveness and efficiency. Having worked on teams as small as 9 people and as large as 300, this is an area that the industry is in real need of tools!
GigantanKramePithicus
This new technology is finally going to bring closer to the people with domain expertise the ability to create their own applications, without having to depend on technical specialists. HTML opened the door to many people with limited or no programming expertise. The .Net framework with Avalon and XAML will advance this even further. The Mozilla approach is something the Unix/Linux developers need to better understand and get on board with and contribute towards as the current stack used in the Unix/Linux community is already out-dated. Miguel is right-on-target!!!
.Net framework, Avalon and XAML in my opinion will have no peers unless the Linux community develops a competitive answer!
I've worked in Unix engineering environments since 1984 at HP and Sun (Operating Systems, Networking and Graphics). I've observed over the years that the Unix community took Microsoft very lightly and never very seriously. The unix industry has not traditionally worked with the same user community as Microsoft. But Microsoft has matured very quickly and now delivers some outstanding technology for developing applications! The
The stack that Microsoft is creating will not only empower more people to create more sophisticated applications, but will increase the productivity of application programmers by at least 30% over todays Unix/Linux development stacks!!!
Mozilla is a great start in the right direction, but cooperation between the Gnome, Kde, and Mozilla camps will need to occur in sort order to compete with the Microsoft stack when it comes to application interface development.
GigantanKramePithicus