Hi, I worked recently for a well known publishing company who I would say was further up the evolutionary ladder than what you describe but not by much!
The main issue I had was peoples reluctance to change. Not sure how to tackle that but bear it in mind. I would also recommend as a first stage to get a good CI build going. That would be good foundation because once you have that you can show people the benefit of: 1. knowing the build is not compiling. 2. once they write unit tests, that they are broken. 3. hook up sonar and see static analysis and code completion reports. 4. you need build scripts that work without IDE dependancies and works across platforms. If they are not writing unit tests then it seems they may need to educated. I doubt very much you can expect them to start writing tests that are any good straight away. If there is scope for training courses I would pursue that. There's plenty of internet resources/books but that means getting people to be pro active and thats hard if its optional. Another idea is to have a small team do things properly and then give presentations on how things are done in this team. You don't mention whether the quality of the apps is good or not but I can probably take a guess that its not high. If you can convince management things can be improved, it might be worth talking to them to mandate things that all developers should do. I feel for you brother, I completely failed to convince the other devs in my old workplace to change and I consider it a failure on my part. Once I had the opportunity to return to my previous employer (fully agile, TDD, Intellij, mocking, CI, subversion) I did so. HTH Rakesh On Fri, Apr 23, 2010 at 1:43 PM, Vince O'Sullivan <[email protected]>wrote: > My current and ongoing role involves developing web based application > for internal corporate use. The majority of applications are one-man > end-to-end developments though some may have two or (for the really > big stuff) three people involved. The people that I work with are > good developers but have hideously outdated working practices (I still > get handed Java classes with 300+ line methods, for instance). I want > to clean the place up, starting with the development tools. Listed > below are some of the tools that we currently use for software > development: > > Operating System: > Developing on Windows XP on Dell hardware (laptops and desktops). > Deploying to Web app servers on Unix boxes. > No option to change this and anyway, it's the least of my problems. > > Archiving and Version Control: > CVS - Getting everyone to use it was a key achievement for me in > 2008. > I think I'd be lynched if I now said "Actually, I think we should > be using git/Mercurial/Subversion/etc.". > CVS has the advantage of being centrally hosted by the company. > I'm not sure I want the extra > overhead of running my own alternative but maybe. > > Build Tool: > Ant - Occasionally hand built but usually Eclipse generated. > > Automated End-to-End Builds: > I can do them (in a couple of stages), others just export a war > file from eclipse and load it onto the server and... > > IDE: > Eclipse - I use the latest development build but most here use > whatever the latest company approved standard release was when they > received their current machine. > > Language: > Java: I've dabbled in Scala and Groovy. Several other people here > are aware non-Java languages (other than basic) exist. > Currently version 1.5. I got 1.6 loaded onto the server box > last year but we haven't developed to it yet. > I cannot hand off projects in other languages to the > maintenance groups. > > Testing: > JUnit: I use it. The others are suitably impressed but not > convinced it's worth "coding everything twice". > JMock: I use and love it but until the others even start using > JUnit, there's no sense in pushing it. > > Web Stuff: > HTML and CSS: Hand made (by software developers like me) with many > bastardised cut and paste inclusions. > Followed with long sessions of UA where they kick back all the > stuff that looks like it was designed by > a five-year-old in the 1990s. > > Web Hosting: > Internally on a corporately maintained and backed up Unix box > running Tomcat 6. > > More Web Stuff: > An unholy mixture of JSP and JSF, bulked out with Primefaces for > some extra glitzy bling. > > Database: > Oracle: Yay, we finally got the last developer to stop using MS > Access last year (by banning it)! > (That guy only writes Excel VBA so he's out of the loop anyway.) > It's a corporate database and very well maintained though I haven't > figured out what planet the DBAs are from. > > Other stuff: > FileZilla, PuTTY, Beyond Compare, SQL Developer, TortoiseCVS.... > the list goes on. > > So. This lots does work (more or less) and (I don't think) that it's > as bad as it sounds, but it really isn't a good situation. What I'm > looking for is ideas on how to clean all this development environment > up. It's a mess of good ideas that are currently badly integrated. > There are just too many different and independent components to this > environment to persuade people that adopting it is progress, and the > learning curve is endless. > > I'm looking for -sensible - ideas on how to clean all this up. What > technologies to drop or swap and how best to create a complete > integrated development environment (in the non-eclipse/NetBeans > sense). > > Any suggestions welcome. > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > > -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
