Fixed Price? Don’t get Stung

Chances are , you get get paid on a ‘Time and Materials’ basis – either as an employee or a consultant. Chances are, you’ve also thought that some extra work , perhaps at a fixed price, would be a nice sideline. Before you dive in, remember the following 5 key points.

  1. Write a Project Outline. Say exactly what will (and just as importantly) won’t be carried out as part of the project. This can take a lot of time to put together, but is essential to avoid trouble later. Even better get the client to pay you to write this, as it’s vital for them as well.
  2. Client dependencies. Do you depend on the client to get things done? If so, specify exactly what the must provide and when. Can’t specify exactly when you need (and there are many projects where this is the case)? Then do the work on a time and Materials basis only.
  3. Be visible to end client. The temptation is to go into a dark corner and start coding. The trouble is that you emerge blinking into the daylight at the end to find (i) The client frantic with worry about how the project is going and (ii) that events have happened that you sh. ould have known about. Price in regular time on the client site to keep in touch.
  4. Contingency. A wise man once said (In this case the instructor at the PMBOK course in Chicago): ‘If you can’t carry out the project with 15% time left over , don’t start it. For fixed price projects, make this something like 30% as the client will ask you to do little ‘extras’ and you can’t ask for extra money for every single one.
  5. Almost as important as knowning when to start (see point 1) is knowing when to finish. Document everything and do a final ‘handover’ day (a good idea is to hand over a CD whith all project deliverables on it). If you don’t do this, the project will never end, and you will never get paid.

Notice that all these items are about process , and not technology. Put simply; you can mess up your project just as easily using Java , PHP or .Net . Mess up as an employee or consultant, you get shouted at by the boss. Mess up on a fixed price and you’re into serious pain as you burn through (unpaid) extra time.

Irish Government looking for Podcasters

The Irish Government are looking for Podcasters. More information is on the E-Tenders site (registration may be required). I wonder if any of the poster boys of the Irish Podcasting movement will take up on this?I’ll take back what I said in my earlier (slightly cynical post): Web 2.0 meets the government.E-Tenders Logo

Summary of invitation for bids:

Crossborder Visitor Podcasting Pilot for East Border Region

Abstract:

The BCDEN project has set up a series of thematic working groups in each of the three Crossborder sub regions and has conducted a consultation and needs analysis exercise with each of those groups. The objective of this process was to ascertain, based on the region’s current ICT needs, what pilots would help the participant local authority areas to adapt to, innovate and compete within the Information Society.

Resulting from the aforementioned consultation exercise, the Tourism working group in the East Border Region (EBR) have selected Visitor Podcasting as one of the pilots they want to see implemented.

The aim of this pilot is to explore the use of new media opportunities, namely Podcasting, to reach a wider and more mobile target audience to sell EBR as an exciting and vibrant destination.

The objectives of the pilot will be to:

  • To deliver quality content to tourists through many different channels to increase the reach of communications
  • To promote the use of ICT in tourism within the wider Crossborder economy by using podcasting to attract more visitors to the EBR.
  • To increase the usage of ICT services by tourists
  • To enable cross advertising of other tourist attractions within EBR
  • To promote and facilitate Crossborder tourism

Requirements
ERNACT is now inviting tenders from suitably qualified application providers to successfully deliver this pilot by:

1. Supplying audio, picture and where required video, to enable EBR to run a Crossborder Visitor Podcasting pilot to help them achieve the aim and objectives described in section 3.1
2. Guaranteeing integration with mobile devices.
3. Ensuring involvement in the pilot of at least 1 tourist attraction in each of the eight EBR council areas.
4. Ensuring the crossborder theme is echoed throughout the pilot.
5. Liaising with the necessary project stakeholders in order to ensure smooth delivery of the project.
6. Imparting the necessary training to the relevant staff.
7. Facilitating ongoing support to tourism staff over the lifetime of the pilot
8. Project managing the entire roll out of the pilot

Links to Irish Podcasters:

Update (1) Tom Raftery is now looking for a partner to handle the paperwork. Best bet for Tom is to go for a medium sized IT company that’s already winning Government Business in other areas (as that is something the Government buyers look for). What you bring to the table is the podcasting expertise. I can give you the contact details of one if you’re interested – drop me a line here.

Not a Web 2.0 Company – Scandanavian Airlines

I don’t think these guys will be joining the Web2Ireland (even Web 2.0) group anytime soon. Basically , their website says ‘We couldn’t be bothered using any of the Ajax toolkits out there, so we’ll get you Mr Customer to do all the work for us’. I wonder what their look-to-book ratio is ( I used to do some work for Aer Lingus – LinkedIn Profile).

Scandanavian Airlines (SAS) Website.

Hint to SAS: Here is how to fix this (pdf), or hire us and we’ll fix it for you.

Or if you prefer , reassure yourself that you’re not the only airline with Ajax problems.
More blogposts on Ajax.

Architecture? One size fits all

No matter what your system does , be it insurance , banking , online travel booking or telecoms, the chances are it does the following things:

  • Gets information from users over the web
  • Does some business processing on that information
  • Saves the information in a database.

At a conservative estimate , about 99% of Enterprise systems would fall into this category.

If so, why do you need an architect , when you can use our ‘one size fits all’ architecture diagram (below)?! Most non-trivial systems, regardless of the language they are written in (be it Java, .Net , or your language of choice) follow the pattern seen in this diagram.

3 Tier Enterprise Diagram

There are 3 Pieces to the Solution:

  • Web Browser (for the user / client).
  • Web and Application Server – carry out business logic.
  • Database Back End – to store data and ensure data integrity.

Within the Application Server (the middle bit above, which as Java Architects is the bit we are interested in), there are a further 3 tiers

  • A Presentation tier (or layer), which is mainly about talking to the user (it gets and sends requests to the web browser).
  • A Service layer , which is mainly about talking to back end such as databases, legacy systems (such as mainframes) and XML-Web services that we may use.
  • A Business layer, the ‘meat’ of the sandwich, where the ‘Value add’ is in terms of business processing and validation.

For each of these layers , your priority in building them are slightly different.

  • The Presentation layer is the bit the user sees. You want it to be fast and give a good impression to the client. Underneath, use a standard framework (link: pick your framework here) and then customize the look and feel.
  • The Service layer you want to work fast and well (e.g. no data faults), but then then forget about. Unless things go wrong, no user is going to complement you on the quality of database persistence! Use standard libraries for the entire layer.
  • Unless your company is a clone or franchise, the business layer in the system is going to be completely different. Aside from the user-interface , concentrate most of your project effort here as this is the core of what system does. We’ve written quite a bit about how to increase the value-add of the business layer (link to O’Reilly Technical Articles)

By the way , we’re only half-joking about the ‘why do you need an architect’ bit. We can be contacted here.

Enterprise Java Workshop in Dublin

Link to Enterprise Java Workshop, to be led by Dr. Bruce Martin in Dublin on the 6th – 9th March.

Is anybody going? Is it worth $1995 USD for 4 days? (and I’m not going to get sniffy about us using Euro over here 🙂 ) Who is this course aimed at? In some ways this course is like Corba: very relevant to the very small niche that use these technologies, but the broader line of ‘best practice’ has moved on.

An extract from the Agenda is below. It seem to broadly match what Sun looks for in it’s Enterprise Java Architect Certification. As such it shares the plus and minus of this approach : You get the Orthodox Entreprise Java Approach, or at least the approach being plugged by Sun about 3 years ago.

The trouble with this approach is that the Enterprise Java world has moved on. Hibernate has pushed aside Entity Beans , so much so that Enterprise Java Beans 3.0 is a complete turnaround it it’s direction. Spring has got a lot of traction as an EJB-Lite (and I mean that with the most positive connotations). Enterprise Java Patterns are much better understood (just search the IBM site), if not more widely understood.

Where’s the Ajax and the impact of multiple, small , web requests on application scalability? The JSON (as part of the Web Services)? Does it cover Java Server Faces and the emerging Ajax enabled Java Presentation Frameworks? What about workflow and rule engines and Java Messaging Services (JMS)? How about the tool integration to make your teams life easier when building the designs that you , as an Architect , have come up with? I don’t see Security in there , nor any of the other JSR (Java Specification Requests) that have come out of the broader Java community in the last 3 years.

And that’s before I go on about the only ‘technology alternative’ being offered is .Net – the PHP , Ruby and Oracle guys will have something to say about that! All have strong cases to make on a project by project basis. What about off the shelf products (both open source and commercial) that could , depending on the project, give you most of the functionality you need and you just have to customise the remaining 20%?

Maybe I’m being unfair, and the above is not the aim of the course.

For info, it’s on in the Gresham hotel on Dublin’s O’Connell Street from the 6th to the 9th of March. If you want a good solid foundation in Enterprise Java, and if somebody else is paying for it then it’s probably to be recommended. It might even help you get certified as a ‘Sun Enterprise Java Architect’. But unless you’re in an outstanding group, don’t expect it to be cutting edge.

Are you going – prove me wrong and leave a comment!

Project Module

  • Introduction
  • The Value Propositions of J2EE and EJB
  • J2EE vs..NET
  • Requirements of the Auction Application
  • Group Discusssion: J2EE or not, EJB or not
  • Activity: Identify the Auction Objects
  • Vertical Slices
  • Activity: Identify Vertical Slice
  • Communicating Architectures

Persistence Module

  • Pros and cons of JDBC
  • Object Relational Mapping
  • Java Data Objects (JDO)
  • EJB 2.x CMP Model and Relationships
  • EJB 3
  • Other O-R mapping solutions
  • Group Discussion: Persistence Matrix
  • Activity: Persistence Strategy for the
    Auction
  • Advanced Transaction and Concurrency
    Control topics
  • Activity: Identify the Transactions

Scalability Module

  • Principles of Scalability and Fault
    Tolerance
  • Application Server Clustering solutions
  • Activity: Scaling the Auction

Integration Module

  • Messaging
  • Activity: Messaging in the Auction
  • Connectors
  • XML, Web Services and SOA
  • Activity: Enterprise Application
    Integration
  • Activity: B2B Integration

Application Design Module

  • Top Ten J2EE Design Patterns
  • Activity: Design patterns or not
  • Activity: Complete the design
  • Group Discussion: Custom Consulting

Checklist for IT Contracts

The Irish Computer Society (ICS) has a useful checklist for Irish companies of things to watch out for when setting up an IT contracts.

These items include:

  1. Take a look at your ‘standard’ contract in the light of recent developments in IT
  2. Review how you can make your supplier selection process even better.
  3. Use competitive procurement if possible
  4. Keep electronic copies of contracts
  5. Have formal contracts in place
  6. Watch out for IPR and use source code escrow if necessary

So you want to make it on your own?

It seems like yesterday that I went independent , and now I turn around to find that it will be five years next month. Time flies eh? Even though I’m proud of lasting this long (especially in the Dublin market) and am probably enjoying it more than ever , there’s always a lot to learn – both on the technology and business side of things.

Perhaps one of the best articles I’ve see about the process of going independent is at angrycoder.com
He’s dot-net focussed , but a lot of what he says still holds true for Java/J2EE people. He’s especially good at describing the marketing side of things , where is where a believe a lot of IT people still fall down.