Project Principles and Best Practice
There are two parties involved with IT projects, namely the service provider (you) and the stakeholder (client). There is an appropriate integration between these two parties that produces good outcomes. This means there are responsibilities on both sides, and the need for interests of both.
For example, all projects use task lists, often seen in Excel Spreadsheets. We review the list noting who has responsibility for each line item, including ours and the clients. It is usual to assign tasks and agree to meet deadlines so the project can move ahead.
Chronic conditions may occur when people change the expected business rules – e.g., not meeting deadlines, changing scope, not remembering key decisions and directions, refusal to co-operate, playing people off, lack of transparency, lack of ownership, intentional delay, power-wielding, bullying, arrogance, inability to perform, unreliability, hidden motivations or views and so on.
Solutions have their own problems, such as lack of communications causing scope of work to have missing details that are important for success, narrow focus instead of broader comprehension of a solution and its dependencies.
Understanding how we communicate together is part of a necessary process. This removes confusion or uncertainty around directions and tasks, both at high and low level. Someone needs to communicate appropriate information between parties pretty much all the time.
Let us assume people are working together well, we have a good solution roadmap, it meets business goals and matches what the public requires or actions, there is no significant scope creep, yet there is some flexibility as the solution moves ahead, and people know how to do their jobs and execute from start to finish…
What are some of the things we look at?
(1) How people use a system – ease of use, finding what they need, intuitive use, no awkward steps to find the step you are after.
(2) Good error checking.
(3) Good performance.
(4) Robust solutions – they don’t break under strain or other data faults, loss of power etc.
(5) Data entry has integrity – correct and faithful to the original client data.
(6) Scalability – the solution can scale up with bursts in demand or monthly increase in demands for projection into the years ahead.
(7) Industry security standards – no poor software or practices.
(8) Good documentation for developers, testers, and end-users.
An example of poor practice is the use of iframes on websites.
Best practice is a holistic approach that draws from multiple sources – people, networks, workshops, roadshows, conferences, text books, papers, studies, courses, webinars, developers, current research and public notices, certain kinds of forums, peer review, testing and so forth.
Best practice may include planning for specialist work, such as use of technical writers or business analyst. Some projects will not succeed if these are needed but ignored.
What is a business principle?
As one example, when a company intends to take over another company, it investigates the other company using what we call “due diligence”. This removes assumptions about the company and ensures one is able to manage the immediate or ongoing work the company while things transition. There are various techniques used, such as examining documents or having people shadow other people. If there is no diligence, there is a business failure.
What is best practice?
An example could be that an IT team examines the requirement for a new project’s data backup, creating what we call a Disaster Recovery Backup plan, which is different to a standard daily backup. If there is a disaster and no previous best practice, it may be impossible to restore an IT system from the standard backup. Even if a disaster never occurs, it is best practice to do the DR backup. Without it, there is full liability.
Best practice is on-going. As the industry changes, we keep up to date. I recall once that my brother requested pricing for concrete work on his home renovation. One trader had not kept up to date, so they proposed older methods and higher prices to another competitive trader. The trader was annoyed that his team was not accepted, but it was their own ignorance and failure. What is concerning is that they were not willing to see or change from their current problems.
At some point in our project work, we have a lot of upfront contact with the client. We cannot textbook how to do this as it comes back to personality and experience which we acquire over a long time. However, this is initially confronting as we are no longer in the realm of theory but the real world.
There are some pointers to help:
(1) Always get back to the client on the same day, even if to say you will have an answer tomorrow.
(2) Give reasonably firm expectations and timelines rather than being unsure or vague. This is about assertive behaviour. It is important.
(3) Never think you are obliged to reveal actual business confidentiality, such as various techniques you use to calculate costs. Clients respect this but they do push.
(4) Try not to break down project costs into too much detail as a client will then want even more. Once that is unwillingly broken down further they will try to trade off between costed components and tell you how much things should cost. This is bad news. Your pricing model may have many things going on behind the scenes that the spreadsheet is not catering for. You can be confident and say, well, this is our price, this is how we work.
(5) If you do not know an answer, it is okay to say, hmmm, I’d like to get back to you on that tomorrow. You are not interacting with the client in order to be defensive or to think you are better than them. You are there for their best interests as well as your own.
(6) Do not commit to what you cannot do. For instance, if you do not do database work, you can’t say that you do. It will then be a matter of someone else doing that component, or the client declining your proposal.
(7) Never expect you will win the project regardless of what people say. All you can do is present benefits of why you think your solution is best in meeting the client’s needs, the end-user use, ongoing use, costs, and so on. Know what the client is after, the value and added value you give, and how you relieve their concerns and pains.
A small project uses less stringent methods as indicated above. It is readily manageable and does not have the resources or need to warrant fully fledged functional specifications or time sheets etc. Regardless, we assure the client we will take them through the process, so they feel safe and confident, from beginning to end, and we will keep them informed. We do not drop them when the website goes live on the first day.
Some providers hide their problems and can cause additional costs. This is bad practice. The attitudes mean they will try to blame others for mistakes instead of saying they are sorry or taking ownership. You may notice when people have problems, they tend to be defensive rather than analytical and communicative.
In Australia, there have been security breaches of recent (at time of writing). I notice which companies say they apologise saying they are sorry but fail to join in recognising the public’s personal pain and distress, versus a company that says it knows we are feeling pain and distress, what this has done to you. “Sorry” by itself does not cut it in the face of such enormous security exposure that hits to the core. We do not accept security breaches as it represents stolen property, and it secondarily opens past bad practices and approaches to data in this country. If we do not have an increase in our own personal awareness, we may not have increase in our awareness of what others are doing or have done.
If I think I am aware, but under crisis put blame on others instead of identification with someone else’s pain, then it is theoretical awareness, not substantial.
As we develop awareness and personal experience, we can communicate with people more deeply and strongly. This reshapes how we talk with clients, but it is not “Zen” type behaviour. It is direct and perceptive behaviour. As a result that shapes our actions and how real we are with people. This reality, relief and comfort enables people to explore their business with you so that you can arrive at point that has a solution matching the business, its goals, its clients, rather than some hobby horse the client is stuck on, or some false direction.
As you may see, pre-planning is an involved and high use of our energy and time. Many IT projects fall into place due to the extent of pre-planning.
Some of these principles come through managers, training and mentoring. I have known businesses that take on board legal requirements for training, but they do not execute it correctly, so we have people in companies for five years or more without ever having developed contacts from other companies and associated conferences and workshops. If another company pays for your development that is seen as okay!
If we have a healthy work environment, we protect against sliding backwards into poor principles, bad culture, or even illegal practices. Not staying on top of such things does not provide a neutral position.
One of the ways we help ourselves is to aspire to better our own standards and to contribute to others. Is there a special project we can do? How can we improve what we do? When we see the qualities of others, we can change so that one day instead of us always going to someone else for help, others come to us too. If we know how we can interact with other people, others will see that and follow in like.
Bad work environments promote fear, abuse of people and their time, and, hence bullying. There are managers who see bullying but will not help staff as they want to gain higher positions in the company. They may appear to be friendly, but it is their actions that show who they are. If there is no concern for you, there is no concern for maintaining and developing your role. There will be people who know when it is right to leave such companies without guilt even if people in those companies tell others you are unloyal.
If we are not experiencing such arrays of experiences in the workforce, we are not in leadership positions, and may be content to have simpler function. That is fine, but it does not prevent one from being good at their work, having right attitudes, awareness, ownership, best practices and responsibility.
These words are not for those who do not care. There are plenty of people doing bad work who only want some cash.
As we develop our skills, we have choices. As an example, I have no need to study the .htaccess file. I know what I can do and leave it at that. I chose to spend time developing end-to-end installations on Amazon AWS and WordPress for “Ma and Pa” websites. This has had times of difficulty where one has to push through a barrier. Once done, it is easy. There are some barriers we will not be able to push through. Awareness lets us know where to tackle or not. Even so, if we are not pushing past barriers, we are not growing.
We develop our own best practices. Having been in IT for over 25 years with some of the best people in Sydney around me, (and contacts overseas) I know when software or a service needs the trash bin. But I have to balance this with where others are around me and what they like doing.
Recently I developed skills for some analytics software, spending hours on it. A month later I realised it was too problematic to continue with. Computing demands large inputs of time for small outputs. That is its nature. It also means there are no real shortcuts and that what you actually learn is real.
When I went to University, I printed out all the Hex code from the Apple II+ computer. I went through all the lines of code and wrote a simple hard disk read/write program in Hex. I found this more interesting than my trip through Milford Sound in New Zealand, but I did like seeing cars buried in snow as a first experience. You will know what supports your identity and meaning, what makes you feel real. There are people who would scoff and say what a waste of time, but it never is. This is my encouragement to you.
If you are doing the right things for who you are, there will be support and validation with evidence from your own tasks and actions. I was once told I would never be able to work with computers. I was once told I would never be able to work with IBM. Well, I did.