Live data from Hacker News

Maximizing Developer Effectiveness

martinfowler.com

151–160 of 168 posts

Re: Maximizing Developer Effectiveness

#151

Earlier quoted context omitted.

Maybe. Funnily enough I was a contractor providing leadership and helping orgs for the last 5 years. I did my best to varying degrees of success because the leadership themselves would either let you run with it or not. My 1 man band is very different from thoughtworks though. Now I am leadership and it's way easier to just make decisions.

Sure, there’re exceptions. But if you don’t understand the requirements, choose to pay someone to figure it out, and they finger-paint your business, you may have been better off without it. Nothing sells better than crap. By that I mean literally nothing, like you could sell emptiness more feasibly.

Yeah, reasonble points.

Re: Maximizing Developer Effectiveness

#152
post #51

Here I am, a productive developer eager to deliver maximum value to my customers and apply my innovation to company goals. Open up JIRA and pick up a unit of work to produce today -- gotta stay faithful to those story points! Somehow, a magic team of spherical devops in a vacuum created an environment where things are just green, predictable, and are never broken. Another theoretical team of angels from a parallel un…

Upvoted, of course, and also wanted to say that you made me smile, almost laugh. That's how good your writing and wit is.

Re: Maximizing Developer Effectiveness

#153
post #51

Here I am, a productive developer eager to deliver maximum value to my customers and apply my innovation to company goals. Open up JIRA and pick up a unit of work to produce today -- gotta stay faithful to those story points! Somehow, a magic team of spherical devops in a vacuum created an environment where things are just green, predictable, and are never broken. Another theoretical team of angels from a parallel un…

This comment felt like the beginning script for this video: https://youtu.be/_o7qjN3KF8U

Re: Maximizing Developer Effectiveness

#154

Anyone who claims to teach paths by which to optimize Developer effectiveness ought to cite data to support those claims. Until data exists to contrast the results of Company A vs Company B, we'll never be short on speculative articles.

https://www.devops-research.com/research.html https://www.amazon.com/Accelerate-Software-Performing-Techno...

Re: Maximizing Developer Effectiveness

#156
What I love about shit like this is they're walking around going "If you do X your productivity will increase."

Assuming this is true, you're still fucked, because nobody can force your executives to then force their employees to do X. If the executive doesn't tell people to do it, nobody will. So knowing what makes for good productivity is still worthless unless a handful of chuckleheads at the top actually make it happen. And they won't, for the same reason nobody below them is doing it.

Re: Maximizing Developer Effectiveness

#157

Patterns on the most effective teams I’ve worked on: - high degree of trust and emotional safety between team members. The team can safely share feedback and risk sharing our crazy ideas - high degree of care for the craft. We hold each other accountable to quality - ships, regularly, to real customers - little status seeking - goes with emotional safety - few individuals on the team need to be “in charge” or hold ar…

Rot sets in when: - teams no longer have a real customer, such as “big rewrites” that will ship in 3 years - teams accept low quality and slack off. One PR isn’t called out and that gives a permission structure for lower quality - a bad egg gets on the team the wrecks the feelings of emotional safety. The brilliant narcissist the company feels they need to let his/her abusiveness slide - we throw new hires “into the…

>not too much catering to “super stars”. 1-2 heros does not a team make, the senior people make it their job to lift everyone up. The team doesn’t obsess over their high performers.

>good developers stop seeing peers, and realize they do all the work, so leave for a healthier team

These seem like alternative framings of or reactions to the same situation.

>teams no longer have a real customer, such as “big rewrites” that will ship in 3 years

"Real customer" is a luxury. In consumer facing tech, the core stuff was all written years ago, and most teams are responsible for some features of / enhancements to the overall product. UXR can put together surveys and focus groups with people in your treatment group, but you are lucky if they even clearly remember the part that your team changed. Most of their opinions will have nothing to do with you.

Re: Maximizing Developer Effectiveness

#158

Earlier quoted context omitted.

+1 excellent advice, please take the time to add references if you can.

I would really like to, but some of these references are papers I had come across a decade ago, so it would be difficult to track down. I don't research this stuff formally, it's just something I like to read up about. I did manage to track down this New Yorker article: https://www.newyorker.com/magazine/2007/12/10/the-checklist I know it's not exactly Nature, but the point made stands, and I did track down some pape…

I've brought this up at work many times, and even had a team adopt it for a 6 month period - but there were so many people on our team that didnt want to do the work of filling out a simple checklist, it was amazing. Great idea, and this is one of the few books I truly remember, and try to apply, all the time (Checklist Manifesto) !

Re: Maximizing Developer Effectiveness

#159
post #119
post #51

Here I am, a productive developer eager to deliver maximum value to my customers and apply my innovation to company goals. Open up JIRA and pick up a unit of work to produce today -- gotta stay faithful to those story points! Somehow, a magic team of spherical devops in a vacuum created an environment where things are just green, predictable, and are never broken. Another theoretical team of angels from a parallel un…

"Psych" not "sike" please people! It's short for "psych out."

I think the way it's used these days, it deserves it's own spelling.

Re: Maximizing Developer Effectiveness

#160

Earlier quoted context omitted.

I would really like to, but some of these references are papers I had come across a decade ago, so it would be difficult to track down. I don't research this stuff formally, it's just something I like to read up about. I did manage to track down this New Yorker article: https://www.newyorker.com/magazine/2007/12/10/the-checklist I know it's not exactly Nature, but the point made stands, and I did track down some pape…

I've brought this up at work many times, and even had a team adopt it for a 6 month period - but there were so many people on our team that didnt want to do the work of filling out a simple checklist, it was amazing. Great idea, and this is one of the few books I truly remember, and try to apply, all the time (Checklist Manifesto) !

I use literally just Notepad, because it's always available on every Windows desktop and server. On my laptop I use a decent text editor, but trust me, Notepad is sufficient.

I have a simple style that is easy to fill out:

    [.] Commenced high-level task.
        [o] Completed sub-task
        [.] Incomplete sub-task
        [ ] Not yet started
    [-] Cancelled or not-applicable
    [?] May not need doing at all, or pending advice
    [!] Issue or error
    [ ] Include command-lines under the tasks:
        wget https://test.com/foo
    [o] Record output after the tasks if needed -- "Task ID: 929123"
Of course, the aim is to slowly convert something like this into a script or a service desk workflow.

In my experience, it's almost impossible to correctly automate a complex, high-level task given no other information that its English description, such as "build a new web server for a developer". However, if you've built 5-10 such servers manually, diligently recording the tasks in a checklist each time, then the script practically "jumps out at you"...

As a practical example, most engineers will say that to install a new physical server (not including the OS) is about 5-10 steps. I counted 50-100 after developing a checklist!

E.g.: Did you remember to:

Check that the firmware version matches the version of the other servers in the same cluster?

If not, did you update it?

Check the NIC firmware too?

RAID firmware?

System time, date, and time zone?

Secure erase / factory reset the BIOS?

Upload an SSL certificate for the management port?

Register it in DNS?

Register it in the CMDB?

Register it in system-management software?

Burn-in test the memory?

Configure LACP on the NIC?

On the switch too?

I have personally witnessed major issues, even outages, caused by the above being skipped by careless engineers.

"Oops."

Post reply on HN