Friday, 23 December 2011

Hash-map to XML with recursion

public static class MapEntryConverter implements Converter {

       public boolean canConvert(Class clazz) {
               return AbstractMap.class.isAssignableFrom(clazz);
       }
       public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
        AbstractMap map = (AbstractMap) value;
        for (Object obj : map.entrySet()) {
               Entry entry = (Entry) obj;
               writer.startNode(entry.getKey().toString());
               if (entry.getValue() instanceof HashMap) {
                   marshal(entry.getValue(), writer, context);

               } else {
                   writer.setValue(entry.getValue().toString());
               }
               writer.endNode();
           }      
       }
      
       public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
           Map<String, Object> map = new HashMap<String, Object>();

           while(reader.hasMoreChildren()) {
                   reader.moveDown();
                   map.put(reader.getNodeName(), reader.getValue());
                   reader.moveUp();
               }
               return map;
           }

    }


The code shown above is based on the Xstream code provided in this link from stackoverflow.com. A recursive call is added to take account of nested Hashmaps.

Monday, 28 November 2011

Stream lined processes and creativity

Where you find efficient and elegant processes you will find open-minded, high quality leaders and managers. These processes make complex activities appear simple as opposed to poor process which make simple activities complex. Talented workers will recognise poor processes and leave the organisation if they unable to change the process ( ...and there is another job waiting for them).

With a simple and efficient processes in place, which are allowed to evolve and change, creativity will flourish. The mind can focus on developing innovate solutions to other issues as opposed to worrying about breaking something (system, code, database, document etc) while following a poor process.

Monday, 26 September 2011

Small action big results vs large action small results

Where processes are manual and complex in nature invariable a large amount of effort is required to achieve the smallest result. Sometimes this can be a deliberate strategy to transfer responsibility down the line. Where small actions produce produce big results, responsibility is more concentrated – so more care needs to be taken. The higher risks of small action and big results are more than off-set by increased productivity, reduced costs and greater job satisfaction for those willing to take on the responsibility.

Sunday, 14 August 2011

Business Process and Culture

Business Processes mirrors the organisations culture. Long winding and complex manual processes usually reflects a business culture which lacks creativity - if it is not broke then no fix is required. New processes then follow the same template.

Without a change or even a modification in culture poor process will persist. A company may hire an external consultant to provide advice on streamlining processes. In the short to medium term time-frame, these new processes may be maintained. In the long-term as the business evolves and new business requirements need to be satisfied, the company culture will ultimately drive the evolution of new processes. Old ways of doing things will gradually morph the new processes back to the old or a hybrid variant. 

Friday, 5 August 2011

Silo mindset

Silo mindset - The growth of silo centric systems can attributed to the prevalent silo-mindset within the IT departments and leadership.

Business users (stakeholders) within a IT project, are its fundamental participants. They provide requirement to get the job done. They push for solutions which meets their needs and their needs alone - regardless of what's going on in the rest of the organisation. In most cases you can say that Business users have silo mindset. And this is perfectly natural.

As the IT professional within the project , maybe the Project manager, or Business analyst, you have have 2 choices in dealing with with silo-mindsets

Choice 1 - Go along with these business requirements to the letter. They then produce a silo based system with its own data-store and little or no integration

Choice 2- Propose the building of a system with integration as a major additional requirement.

Choice 2 will cost more and probably to take come time to complete , but these short term cost are more than made up by the long term benefits of transparency, lower maintenance cost and many other benefits of integration.

Wednesday, 27 July 2011

Silos

Organisation allow their data silos to grow due to a short sighted belief of 'if its not broke, then don't fix it' or an unwillingness to make the investment required to create a unified solution. In the mean time more resources are being wasted keeping the silos alive through duplication and fire-fighting. Time is ultimately wasted and no real progress is made.

Sunday, 24 July 2011

Synergy and Duplication

Companies which fail to address problems which relate to different teams and functions working and sharing information together usually suffer in their market place. The problem is not the lack of technology, but the lack of on an incentive (or willingness) for teams to work together and share information. Duplication of processes is a wasteful side effect of companies who do not exercise synergy effectively. The collaboration between different complementary functions are not effective which leads to process as well as data silos. Effort is duplicated.

Saturday, 23 July 2011

Welcome

Welcome to my blog, the AEblog. This is where I will share my thoughts and ideas on flexible and simple business processes and tools which support that. I will also discuss some the software products which I developing. Lastly I will touch other things which interest me such as technology, music, art and maybe a bit of finance. Thank you for reading.