Is building software hard work?

Is building software hard work? Yes, and I think more so if not done properly. Just like any project, be it a marketing campaign or designing a system for managing sales, we need to communicate, plan and project the whole process. This has been a problem since the early 1970’s and probably best illustrated in the graphic below, provided by T and W Fleet in the early 70’s.

tree_swing_70s

The Tree Swing analogy depicts the problems we face when we have multiple people in a team and what their expectations of the output or deliverable will actually be. All departments have requirements and they change between each department, while some would even argue that they know better about what another department should be doing.

Now 40+ years on we still use the same analogy, although Microsoft has changed this one below slightly to gear it towards our industry, it has the same message – this is scary! We are still making the same mistakes 40 years later. Why haven't we learnt?

Software_Treeswing

The trick is typical project management. Whilst we actually project customisations and systems here at Konsult using our proven methodology, we can also give you the primary documentation and plans to assist with your self projected system builds. We focus on the following areas to ensure success.

Communication – Before any project we like to communicate. We run workshops with not only decision makers, but also users of the proposed system. If we have contributions from all areas then the system is likely to be a success as the needs of many department will be taken into account.

Communication does not end at the initial meeting.  We use SharePoint as a project portal where all discussions, tasks and bugs are transparent and broadcasted to the team so that items are addressed well before they become issues.

Planning – There needs to be a common goal between developer and customer, as well as customer and departments. We need to document what the system will do and how we propose it is done. We use a Functional Specification to outline the project specifics and all parties buy into this document. These documents are also written with key concepts in mind and on the pricipal that if it's not included then it's not included in the project. It requires forward thinking!

Project Management – This is an area that requires practice. Basically it involves assigning tasks, monitoring tasks and resources, as well as managing customers and their additional or amended requests along the way. Our project managers are hands on sorts of people, not robot style fire fighters (meaning: trained to put out fires when things go wrong). Whilst they understand the concept of project management they also take ownership of their projects and become the primary contact for our customers.

Methodology – This is an area for a future blog. You can read more about our Methodology here.

So in summary is software hard to build? – Yes. You need to follow tried and tested methodologies and don’t be scared to enlist the services of a consulting company like Konsult Internet Consulting to make it easier.