Pragmatic steps to implementing a greenfield application in an enterprise
You are working in an enterprise. Business got clear requirements and you also got a suitable solution. If it’s brownfield, you already know the systems that need to be enhanced and there will be an existing process to follow. But if it’s greenfield and you don’t know where to start and how to plan the implementation in an enterprise then I hope the below steps will give you a brief overview of all the aspects to consider when planning a greenfield project in an enterprise.
- Solution on a page
Document the solution architecture which includes easy-to-understand diagrams comprising all integrating components.
- Engage the Delivery team
You might have already got a team to build the solution else find one. Gather information from the delivery team around cost, timelines to begin with and as the build progresses, showcases, data architecture and infrastructure requirements details.
- Engage Operations Team
This is the best thing you could do in any project, engage operations as early as possible. Include operations in all decisions around infrastructure and data architecture requirements. This will assist in a smooth transition to Operations once the solution is deployed.
- Cloud Architecture
Consider building a solution using cloud infrastructure. It could be AWS vs Azure vs Google Cloud or hybrid. Enquire if there are existing applications in the cloud from where you could lean on the experience or check for any enterprise cloud policies to follow. This will fast track the infrastructure setup required for the application.
While the delivery team is building the solution
- Capacity Planning
Start documenting the capacity requirements in terms of the number of servers, processors, memory on each server, any integrated physical components, licenses, etc., Deploying in the cloud will give the flexibility of scaling up/down but it’s better to find the optimum capacity where it should start from. Having more than optimum leads to wastage and less capacity means poor performance.
- IT Costs
It’s better to prepare the costs sheet as soon as your capacity planning is done. Even though the business might be ready to fund the IT costs, to begin with, operations will need to take up the costs for the rest of the life of the application. So it’s good to set expectations right from the beginning.
- Security consultation
Consult your enterprise security team or an independent security consultant to review your solution from a security perspective. It could include below subtasks, which could take up considerable time.
This involves finding all the data attributes saved/shared between the systems and making sure it’s compliant with the enterprise security policies for data handling and then consider ways to improve and maximize data security.
If you are building a public-facing website, then you should organize penetration testing to be done. This can only be done after the build is finished and you got a working website in a production-like environment. Feedback from penetration testing might require further development.
- Access & Incident Management
How will your users get access to the application? How will your users raise a fault for any issues with the application? You need to engage relevant teams to set up the work instructions and required forms.
- Reporting & Monitoring
The operations team will need reports and dashboards on how the application is performing in the production for both infrastructure and business services. Operations will use these tools reactively and so the need to set up proactive monitoring to inform operations of any major alarms or outages in time and in advance where possible. Engage relevant teams to set up the required dashboards and establish a process to engage operations in case of major events.
- Get it out there
Start letting everyone know about the new application. The last thing you want is, you built an awesome solution to enable the business to perform better or to ease a major pain and no one is aware of it. You could do this by sending a series of emails on the purpose of the application, how it will work, how the build is tracking, major milestones, etc., You could publish the same content in all the communication channels like enterprise blogs, Slack, Facebook, anywhere and everywhere.
- Performance Testing
Make sure performance testing is done effectively, and any feedback is fed back into the build if required. It’s always good to do this at the earliest opportunity as this might force you to revise your architecture leading to significant build and delays.
You have got a working application in a production-like environment and you have engaged business users to test it. Now you need to plan the release.
- Change Management
Engage change management teams as soon as you have a date in mind, even if you know it’s too ambitious and will be delayed. Change Management teams will ensure you can deploy the application with minimum disruption to other IT services in the enterprise.
- Release Management
Same as change management, engage release teams at the earliest opportunity. Release teams will make sure all the relevant tests are performed, and the application is ready for the deployment. You will be requested to do IT service continuity tests for the new infrastructure which will need further planning and execution. Come up with a deployment plan and you will be requested to provide all the required approvals. It would be relatively easy to seek all approvals if you have engaged teams early as mentioned above.
- Operations Handover
Organize handover sessions to all the teams who will look after your application after go-live, Operations, Monitoring, Helpdesk teams, and others.
- Knowledge Management
Document everything, from solution architecture, business purpose, benefits, infrastructure components, how the application works, teams and their contacts, all your learnings. It will not only help users to know your application but also helps others to learn from your journey.
Your application is successfully deployed, stakeholders are happy and you are probably relieved 🙂
Organize a launch party !! Based on your enterprise size, have many if needed. Continue sending a communication on various functionalities available on your application. Have as many as ‘meet and greet’ sessions. Relish the success!!