I posted this to a mailing list I belong too, however I think it might be interesting to come back and read it later .. so cross posting here. These are conversation suggestions, discussion points to have with managers entering the IT space to equip them to help improve the space.
Take the long view – IT is a long term investment so look at ROI as a long term thing. Short term costs may bring long term returns. It might be useful to look at infrastructure (I don’t mean hardware – I mean infrastructure in the broadest sense). From a software perspective for example the most productive projects are the ones that invest in framework design up front, the cost is high the short term return is low. Long term productivity gains are hard to quantify but experience shows them to be real.
Open source integration – building on the previous topic, a big initiative within the industry at the moment is accepting open source at the lowest level of development. The offshoring initatives are all about doing the right thing in the right zone at the right cost. This mind set has started people thinking about what our business (as software engineers is). Within the dark days of C++ everyone implemented vector / list / string classes because there was nothing there, it was acknowledged that this was a waste of developer cycles tools/stl replaced this low leve development raising the abstraction bar. Now we are looking at other framework topics (inversion of control, logging, DAL, monitoring etc) and looking to bring in integrated standards. Sunguard for example have adopted a raft of open source projects integrated them into a framework and are now offering them for use by their customers.
Offshoring as a cost saving – globalisation is meaning that low cost centers soon become high cost centers. Software and service is being offshored how are savings realised? Labour is cheapers within other centers, however globalisation means that labour does not stay cheap for long. Dublin was seen as a low cost center and within a decade became a high cost center. Various low cost centers within the US have moved the same way. Recruitment in india/singapore is becoming a burdon as the developers realise their worth. The current attitude is to move low risk development to low cost centers this strategy only works if the low cost centers remain low cost. A more attractive strategy is outsourcing to specialist firms, this strategy is gaining ground again (it was the vogue 5 years ago). Outsourcing work to a different company makes sense if the other company can perform the work faster/cheaper/better than you can. Service is a good example, utilisation of first line support is low. Given appropriate escallation first line support can be outsourced to a different company that can improve resource utilisation by increasing the number of products/companys a single resource supports improved utlisation reduced costs (as costs become shared).
IT as an art form – the function of management, an effective manager will defend development resources from the delivery pull in a project. Projects are pulled by lots of factors, cost (there is demand to deliver faster), requirements change, sr managements bad attitude. A good manager will create an eye of low stress within the project that allows the developers to focus on a specific task and deliver it well without having to manage the greater project preasures. A bad manager channels (and even amplifies) the stresses of the project to the developers which creates a difficult if not impossible working environment.
Process as a lever – developers are a pretty arogant bunch most of them have very little understanding of their place or at least their functions place within the organisation. This is particularly true of companies where development is not the main focus of the business. Process is a good way of stopping them having to care as long as the process is clean and non burdonsom.
IT as a fashion statement – blogs and the web have allowed idiots to spout rubish with authority, syndication of blogs have amplified this rubbish and created defacto standards based on the rantings of idiots. Management should be cautious of listening to the trends they see published on the internet as they often lack substance. Architectural decisions (hardware and software) should be based on business need and critically evaluated against a requirements match. Far to frequently decisions are being made based on whats new and shiney.