While assigning a budget to any IT program, the senior leadership assumes that their managers will implement creative and innovative solutions. Why wouldn’t they? After all, the top dollars are used to fund the so-called “experts” and “consultants” to help the IT teams.
The reality is different, which usually one cannot admit out in the open – fear of looking incompetent even when the budget is not a constraint anymore. Most of those experts (consultants) are no different than any other regular developer on the team. However, consultants bring in the support network of the army of other developers helping them in the background. At least, that is the assumption.
As long as the feeling of delivering per expectation and aligning with the corporate mission is there – one has hope. That being said, one of the solutions could be in the commoditization of the IT work that teams would do in an assembly line factory mode. I found the following high-level steps highly useful in achieving the factory model of development:
1. Architect the Work Canvas
One of the critical aspects of any project is the visual representation of the overall plan. Make use of all the best practices available to you and ensure almost all the pieces of the puzzle are on the board. A quick glance should be able to provide the status of where the project is, what is pending, and where are the weakest links of the chain.
2. Identify Dedicated Resource(s)
The people are one of the most important and valuable assets for any project. Treat them with respect. Make a core team, and empower them with the autonomy of developing solutions. It is where you would get the innovation and creativity out of the self-driving team, a much-needed ingredient for the success of the project. Do not forget, the agile process and the daily scrums are your friends to keep things in order.
3. Identify Individual Resource Strengths
Know your team, have one-on-one sessions to learn about them. Figure out how they function, what excites them, and what impedes them from performing – your project success depends on this critical pillar, ensure that it is strong and it stays sturdy. Use your own corporate entrepreneurial skills to identify and develop other corporate entrepreneurs.
4. Parallel Processing
If one studied any productivity model of any industrial business, they would find that the parallel processing is one of the integral parts of the big picture. Many scholars would say the activities on the critical path would require sequential processing that depends on the predecessor. I agree, however, I would explore the option of making these activities on critical-path parallel. No apologies, I would avoid waiting and wasting time of my resources. For example, consider a situation where the development of the front-end design cannot begin until the back-end structure is completed and vice-versa. In this case, I would work with the teams; agree on a pseudo output (say, an XML file with dummy data) for the front-end – assuming it came from the back-end. Similarly, I would agree on the pseudo input for the back-end (again, say, an XML file with dummy data). Guess what, we just made front-end and back-end development activities independent and parallel.
5. Match Resources with Work Tasks
This step requires careful analysis of the results of the above steps. By now, you know what needs to be done, how, in what order, and with what time constraints. Also, you are aware of the skill set on your team. Either you would use existing resources or opening up a requisition to hire (or source) a candidate with specific expertise. Now, the only thing pending is matching the suitable candidates on the team to the work activities – and GO! It is where one would achieve the factory model – using the candidate’s strengths for the suitable tasks reduces the learning curve and helps the resources deliver with confidence.
6. Go Back to the Architect Work Canvas to Integrate
It is the ring-fencing task to ensure all the activities happening are tying back to the big picture. One has to continually monitor, adjust, integrate, and refactor the tasks. For example, the case where we configured pseudo-input/output, replace them with the real ones when available. Also, please continue testing in the lower environments at individual unit level – do not wait!
7. Repeat – Agile Iterations
The agile process of iterating and improving in cycles is boon to the IT industry. Repeat the above steps. Do not lose sight of the primary objective – the project target to deliver ahead of schedule under budget. The agility will keep you honest and will help manage the expectations appropriately. Continue to show progress (if not daily, at least weekly!), and continue to communicate the status consistently.
Last but not least, for the managers, Manage – that is, get out of the way and continue to remove the hurdles for the team. Above all, do not become a hurdle yourself. You guessed it, do not micromanage! No one likes to provide the “TPS Reports” daily or every other day.
There is no guarantee that the above steps will make your project successful, but careful attention to these steps will for sure help you in getting closer to the successful implementation of your IT projects. Use them as philosophical guiding suggestions for managing a project with limited resources successfully – remember, the best practices are subjective!