Project Planning
How do I take an idea to a solution?
Lets take an example from one of many implementions
Problem
- The development team deploys code every two weeks
- Each time they deploy there are several key steps that they have to take
- for example
- take manual shot of the current database
- disable replication of db
- check nothing is in job queue
- no incomming request
- the development team runs these checks manually
- people have to communicate with each other to accomplish these task
- it can become very messy
- It's prone to human error
Solution
- automate all the steps
- create multiple multiple parallel job with dependencies instead of a linear pipeline
How do I methodically approach this?
- I do not want a one man army doing all these task
- Avoid tribal knowledge
- I need to methodically break the pipeline into smaller task
- I need to delegate work to myself and my peers
The approach I have used is the Agile methodology
(on Sprint Planning) - I work with the Project manager, we define the scope of the project - I create Isolate tasks within the project - My team and I design time-based objectives - we decide how long each task take - we assign points - I work with my team to delegate the task - Move task into our sprint board - set a goal for the sprint - Start the sprint - Make adjustments to ensure success
(daily standup) - I talk about my progress - Blocks - What else I have to do
(deploy) - deploy changes - push new features
(Iterate) - Go back to the drawing board when outcome fails to meet expections - Work on the problem again after recieving feedback from end user
Key takeaway
- Treat everything as an experiment
- We test hypothesis
- I focus on people, prototypes, collaboration, and iteration
- People - Am I stuck with my work, do I need help. How about my coworkers
- Output - Do we have a minimum viable product, a prototype for feedback
- Cross-funtional collaboration - What is the feedback from the end users?
- Back to the drawing board - lets get it working, lets iterate
Personal Capacity
- Personal productivity
- set meetings for collaboration
- Prioritize tasks
Quarterly milestone
- Product road map
- goals 1,2 ,3 ...
SAY I took initiate to do this sort of project meeting. I got promoted to a team lead because I was able to write code and navigate my team as well