Everyone dreams of talking to someone who can solve their problem. Opening up ways for Support team members to contribute to documentation and code will improve the customer experience and the company’s efficiency and we can prove it!.
Often, to move up and get a higher pay, you have to become a manager, but not everyone is suited to become a manager, and sometimes given the preference, it’s not what someone wants to do.
Thankfully at GitLab, in every engineering team including Support, we have two tracks: technical (individual contributor), and management.
Not agile, because with a single person team, it’s difficult to do SCRUM, so only agile-ish.
What are we working on?
Being with ‘what are we working on?” Have a meeting
This goes into helping to figure out the scope of the project.
5 why’s: basically, ask why 5 times. Everyone write down their answers. e.g. Want to redesign the website, but turns out because they don’t know what services are provided.
Scope
List of goals that you want to achieve, but what if you don’t know what your goals are?
Goal setting using SMART goals. Gives you a structure to work off of, and helps with project monitoring.
S: Specific – should answer who/what/when/where
M: Measurable
A: Attainable – realistic given current resources
R: Relevant – goes back to scoping, making sure addressing issues
T: Time-bound – marking milestones & progress
Also helps you narrow down your scope, and leads into project charter.
Goal vs. Task: More general, what needs to get done vs. implementation details
Examples:
Design and develop an interactivity module from other code by the end of September. – will want to break down, more of a project objective
Initiate development of code with team [add time].
Testing API to see if meet requirements [add time/who].
Have [person] teach one workshop with at least 20 registrants this summer at [this office].
Who are you dragging into this project?
Stakeholders
project executive sponsor – whether the project happens
project sponsor – person who makes decision resources, people, budget, etc.
project manager – person responsible for moving the project forward, beholden to executive and sponsor, also note person who comes up with idea is not always the manager
team members – people doing actual work
others
Do this on your own or with someone trusted. Don’t do this with the stakeholders in the room.
You want to understand their place in the project, reason they’re there, the support they will provide.
If some people don’t need to be always be there, keep them up to date e.g. status report meetings. Take up little time, and do their influence. Be the protector for your team if need be.
Not everyone is going to be happy.
Make sure they’re in conversations up front, to see why it needs to happen. Will already have had the ‘why are we doing it this way’ conversations. See also Dealing with defensiveness in high conflict people.
If have unknown stakeholders, you might want to delay project until have all the necessary resources are in place.
Project One Pager
This is your project charter. It covers
objective – conscise high level thing you want to achieve
outcomes – your SMART goals, inumerate things need to be achieved to reach the objective
out of scope – include things people will likely ask for
team – who and role (not necessarily stakeholders) e.g. developer, handling metadata, user testing
schedule – high level milestones, but might leave out and add after approval
Work Breakdown
Your work then needs to be broken down. Need to break into the small tasks. e.g. Goal of teaching cohort -> registration, marketing, book space, etc.
Want to team to come up with tasks, but can help them.
One person might be responsible, but that person can decide how it gets done. Give people a couple of days and come back.
It’s okay where what you’re doing is preparing for the next project.
The majority of the time should be spent planning rather than the work.
Time Estimates
It’s to create the schedule and understand the cost. Frequently realize it’s not worth it.
The only way to estimate time is to do time tracking. Might try Harvest.
Time tracking can be a real eye opener.
Tend to vastly underestimate or overestimate, so best to use buffers.
Choose a realistic buffer. Applying the percentage to the entire project. Usually start with 10-15%: T / (1 – B%)
Use Fibonacci numbers (1, 3, 5, 8 – never higher) to assign numbers, see SCRUM in 10 easy steps article. e.g. Do 16 points of work every week.
Difficulty seems to be not getting developers to track time, but staff people outside of IT to track time. Approach by making workflows more efficient, more realistic. You can play the dumb person and ask how long it takes.
Can ask your vendors whether they have a project plan.
Important to keep track of meetings when tracking your time.
Use a spreadsheet to calculate cost of total, plus number of hours per week for each team member (and the cost). For example, if can only commit more than 20%, should not be spending 40 hours in a week on the project.
Tracking
What do you track? It depends on who is funding the project.
If grant funded, depends on what is required based on the grant. Sometimes grants don’t cover certain things, or institution needs matching funding.
Internally, contact your supervisor, their supervisor, or contact person in another department.
The key is to keep it transparent.
Reporting Progress
Budget (spreadsheet) only one piece of reporting.
Have a communication plan (see example).
Team standing meetings meant to be very short. All people involved in that portion of the project say 3 things:
what did you do after the last meeting?
what are you planning before the next meeting?
issues preventing from work getting done
Informal, but technical = daily grind.
Status reports in comparison, regular, more formal, but regular
Reporting is absolutely necessary and needs to be clear, consistent, concise. Stakeholders feel like they’re involved in the project even if they’re not really.
Handling Issues that Arise
A lot of people fall back to issue tracking system, is not a project management strategy.
Need to work out workflows around tickets. Are you going to use it for communication, time tracker? Customize system for that use which statuses, attachments, granularity, etc. Internal vs. external notes.
Who is responsible for which types of issues. Have primary and secondary contact.
Also, what is timely matter? Depending on during or outside of business hours.
May need to convince users to submit the information the new way. Talk to them about it not ending up in a black hole. Make sure have confirmation that issue has been added.
Need to also make sure the tickets are in scope. Go back to project charter if need to reference something.
Tracking Systems
Redmine
support consortial digital repository
open source
different user permissions
email features
good adoption
time tracking in 15 minutes increments
will make Gantt charts for you
lessons learned: don’t overload users with the emails from the issue tracker
Basecamp
previously used Trello
paid service, web based
can have pre-made teams, templates
can import whole teams or templates e.g. checklists
calendars can be exported and show on public page
integrates well with google docs
text features to throw notes together
has API
good for managing resources as well
Trello
basically a big whiteboard/sticky note system
but very basic
Github
track issue and for code, plugged into webserver
one repository for each project
one meta project to track all projects, including non-code projects
can be difficult to search or filter issues
everything in one place
has email notification
can’t assign due dates or track time
can assign issues to larger milestones which can have due dates but have had mixed success
JIRA
great customization
can take a lot of time to customize
but will do whatever you want it to do
Different tools work at different organizations. Tools are only as good as the people that are using it. Need to be consistent about using it.
Do whatever you can to make it easier e.g. single sign-on.
Finishing Projects
When is it done? Met the outcome and objectives.
However, it doesn’t mean you can wash your hands of it.
Project Post-Mortem
Learn from your experiences. Take those lessons learned and apply into future projects.
Might be a presentation or report, template, etc.
Why did it go wrong? Some things that are external you cannot control, but internal things you can change.
Once you finish the project, you have a product.
Product Management
While the project is done, you need to continue to maintain it.
Product owner = product manager. Lifecycle function dealing with planning, marketing, maintenance throughout the entire life of the product.
Product manager is the heart, mind and voice of the user. Not your own voice.
Have to make the hard product trade off decisions. e.g. which features to include.
Provide a second opinion on how things work. Create a trust relationship with the development team so you can ask questions.