Over the last six months, the VPs have been stepping up their campaign to micro-manage us, so every week we have to produce a list of tasks that have been achieved. Long time ago, we started using Agile and had backlogs and sprints and scrums, but that fell totally into disarray as the project manager came to accept that management here is Management By Kneejerk, and every day the sprints were destroyed and rebuilt to suit the latest imaginary disaster. And with four VPs pulling the sprints their way, and new tasks pouring in daily, sprints soon disappeared. The backlog got pushed to the back. Scrums devolved to twice a week and stayed useful for passing information between the team. Our prima donna absented himself permanently from scrums, so we don't regard him as part of the team. If there is information he needs to know, we announce it in the scrum and leave it at that. Oh dear, he doesn't come to scrums, how sad.
My work became less and less programming and more and more system administration. Right now it's a combination. Maybe 20% programming, 80% everything else. The others might achieve one or two tasks a week, I get through maybe one programming item a week, but about a 100 other small issues a week. So when the VPs ask "What did you actually do last week?" and we submit our reports, the other team members have tiny little lists with one or two items but my lists go on for pages. I got sick of them complaining that I was too slow with programming so I include all my tasks that take time away from programming.
But remembering what I did each week has become a problem.
I've tried recreating the lists from the emails and messages and Jira tickets, and I forget things. I tried keeping notes on the white board, I ran out of space. I tried keeping notes on scraps of paper, and index cards, but they get lost and I don't keep enough information. It reached the point where I needed better task tracking. And while I am at it, I need better planning.
Nine years ago I bought an O'Reilly book Time Management For System Administrators by Thomas A. Limoncelli. It was a small book, full of interesting techniques for managing your time. Even though it was aimed at sysadmins, it also had application to me. I used it, and I used it with index cards. I use a lot of index cards each year. I use them for notes, todo lists (when not using Wunderlist), quick notes (instead of Post It notes), scheduling, for everything. I use a pack a week. When I finish tasks, I usually shred them and put them out for paper recycling. I started keeping them till after my weekly report, then shredding them, but that just got messy.
So I dug out my O'Reilly Time Management book again. I had already registered the paper version of the book with O'Reilly when I bought it, and they offered me the electronic version for $5. Sure. I got the electronic version and read it again. He uses daysheets to plan his days, and I was interested in doing that nine years ago, but you had to buy the daysheets and they were for paper organisers. I didn't do it. I went with index cards. Then I stopped doing it.
This time I looked at those daysheets, and they were what I wanted but I had more tools up my sleeve this time. I use Python, and I use ReportLab which is a Python module to generate PDFs. I use it at work to generate PDF versions of message prints. I've also used it at home to create game sheets and other forms. I can do this.
It took about half an hour to knock up a small Python program to generate the daysheet that I need. I take a sheet of paper, and I rough out what I want in pencil, draw the headings, and then I write the program. While roughing it out in pencil, I discovered something about US paper measurements. Standard pages are 8.5" x 11". I remember this size from the days of line-printer paper. But using inches makes it very easy to develop forms. Leave half-inch margin, then everything else is drawn on the half-inch and your forms fit perfectly with no extra couple of millimeters at the end or to the right. It's really neat and it makes for very rapid development. As my needs change, I can rapidly change my form.
#!/usr/bin/python from reportlab.pdfgen import canvas from reportlab.lib.units import inch from reportlab.lib.pagesizes import letter # Create the canvas ca = canvas.Canvas("daysheet.pdf", pagesize=letter) # Set the internal properties ca.setAuthor("Henry Griggs") ca.setTitle("Day Sheet") ca.setSubject("Planning Time") etc etc etc
I already had functions that draw a lot of the stuff, and I abstracted even more and built more functions that handle tables with many columns, and after half an hour, I had a nice looking daysheet that I can use, that suits my purposes. Sure it looks pretty simplistic, but it's mine, and it works for me.
Each morning, I check my coming tasks, flesh out my day, and change and change and change as the day morphs into my usual day. At the end of the week, I gather my sheets and quickly produce my report.
This satisfies many things in me. I get to write a little bit of software to produce something neat and tailored to me, that makes my work life a little easier. And it keeps the VPs off my back.