What should be the plan to manage multiple projects on multiple technologies as a CTO of company?
Sort by:
Strong project management with clearly defined project requirements and a timeline/budget everyone agrees to beforehand. Ensure the resources taking part in the work are central in creating the project plans.Following progress on all your projects should be as easy as ensuring every planned activity in the projects have been completed each day. Pool the workloads for all projects into one easy-to-followup place, and meet with the team once a week to review what's been completed in the past week, what's coming up in the next week, and confirm everyone is still on track for their completion dates.
As a few rules of thumb I follow:Keep technologies as minimum as possible. More the technologies, more the resources required and difficult will be the task management.Choose multipurpose language/framework. eg: if you use django-framework for your backend, you will be able to use python for data analytics as well. Hence resource management and switching becomes easy. Similar is the case with react/react-native and redux.Strictly follow maker and checker concept. i.e. Those who write the codes (makers) don't need to worry much about what's the permutation of the cases in the early stage and just focus on delivering and creating pull/requests/initiate code review request. Later when the reviewer(checker) points out the flaws in their code in terms of code optimization, business process etc. If the checker let the code go live with a flaw then you can blame the checker and need not worry about the maker. With this, you can hire any fresher or newbie for coding, while your reviewer will have to be a domain and business expert. You can have 10 to 20 makers and just 2 to 3 checkers. Your cost will be optimized and code quality will be improved, deliverables will be on time. Eventually as one of the checkers grows smart and wise, you can promote her/him as a maker. NOW, what does your checker do while he/she isn't reviewing codes? He/she does necessary business/tech R&D, third-party plugin/products etc to optimize your code in terms of speed, agility, and scalability. With this, he/she can function as a product guy as well.NOW as a CTO: your job would be to choose/verify these technologies, learn/understand/implement the technology you chose, focus on hiring the right kind of checkers, review the checkers code if required, focus on other areas of tech such as security, disaster management, business process implementation, work closely with Product team, tech team and board of directors (if required)I hope this helps.
For me multiple projects are doesn't matter but multiple technologies might be the challenge if we don't have that resources with us. As we are startup company we always taking care of cost saving approach. So I will achieve this through outsourcing and get POC from that. With the help of POC we can get funds and after that we can hire in house resources to enhance the project.
Well, you need to be cognizant of business value, work capacity, and cash flow. Multiple technologies don't matter as much by itself as how it affects your work capacity. Multiple technologies implies multiple technology teams. If you have multiple, then you need to understand their individual work capacities (velocity). If you have one team that is cross functional then it gets much easier as you just need to know the velocity of one team. Then for planning it is a matter of filling up the queue of work for each team, leaving enough space for velocity variation. I personally record velocity per sprint and only commit the team to the average velocity over the past 12 months, and then I have aspirational goals of a velocity one standard deviation greater than average. I make sure to have user stories fully defined to support the aspirational goals, so development isn't starved for ready, high value stories. Based on that, you'll know whether to undertake those projects internally and be able to deliver value in a timeframe the business needs, or if you need to engage outside consulting resources to supplement your delivery ability.
Bottom line, it depends. If the projects are somewhat disparate with discrete integration points or dependencies then you can run them in parallel with independent teams and weekly or monthly touch points depending on velocity. If, however, there are more integration points and they are less discrete (e.g. a front end full stack application integrating with a backend salesforce or sap backend project team) then you need more cohesive coordination and it gets considerably messier. Consider strong product managers and enterprise/data architecture teams and ensure operations have a seat at the table as well as part of a regular governance cadence. You'll need focused and incented project leaders but also a strong program leader and engaged governance process. You can treat each of the projects/technologies as a "track" with its own timeline and leader but then need to be accountable and responsive to the program leader and timeline.
Your goal is to keep vision of the project(s) direction, coordinate a deliverable roadmap, and delegate authority to those who can help you realize your vision. You can only scale so far on your time and focus, so you must hire those that can carry your ideas forward when you are not able to stay on the front line with the project teams. If hiring is not an option, then prioritize your time on projects that have the highest ROI potential and keep your current customers happy. If still not able to determine which project gets your focus based on that, then determine the biggest constraint in the project schedule deliverable schedule and subordinate everything to it until it is no longer a constraint.
Have a well established PMO and categorize projects by tiers. Get weekly reports and stay actively engaged on Tier1 projects(business sponsored or revenue generation). For tier 2 (IT driven critical projects), follow up every 2 weeks. Have the right leaders for Tier1 and Tier2 projects. Good luck.