Transforming Chaos to Clarity Making Your Software Development Hum Ron Lichty, Software Engineering Mgmt [email protected] SofTech August 26, 2009 Mark Ginnebaugh, President softech.org
Jul 12, 2015
Transforming Chaos to ClarityMaking Your Software Development Hum
Ron Lichty, Software Engineering Mgmt [email protected]
SofTechAugust 26, 2009
Mark Ginnebaugh, Presidentsoftech.org
Ron Lichty,Software Engineering Management
SOFTWEST
Poll: Software Developmentin Disarray?
• Who has seen chaos in a product group?• Who has seen chaos in your current group?• Who feels like your devt is running rough?• Suffering from organizational knots?• Anyone have a development organization
that doesn't feel chaotic right now?!
Define Success
• What are you trying to accomplish• How do you know you're not• How will you know when you get there• Assess what’s working• Assess the issues and the symptoms
– Every organization is unique
Chaos Isn’t All Bad
• Don’t eliminate it entirely• Going offroad may seem chaotic
– Innovation can spring from chaos• Look for the pings and the misfires
– Tune the engine, not the route– Make your product engine hum
• whether you’re cruising the highway or off-road
Systems to Diagnose• Requirements• Roadmaps and Strategy• Motivation and Urgency• Your Team• Coaching and Mentoring Your Managers• Project Planning• Technical Debt• Communication• Development Process
Optimize YourRequirements Process
• GIGO• Programmers:
– who has received an exceptional set of rqmts?– what was the programming experience like?– how did it differ from the usual?– ever gotten to delivery only to find out there was
another db field desired?• How good are your requirements?• Do your requirements change?
How’s Your Roadmap?
• Why do you need a roadmap?• In an Agile world, what’s it look like?• How do you create one?• What do you do with it?• Why do you need a roadmap?
Develop Motivation andCommunicate Urgency
• How is developer motivation measured?– Remember it’s a marathon, not a sprint
• What motivates programmers?– Are you communicating your reality?– Are you communicating their impact?– Are you enabling them to do their best work?
Assess Your Team
• Most problems are not people– but some are– Occasional problem employees
• You must act• Marty Brounstein, Handling the Problem Employee
– Employees who need to be mentored into roles• People problems start with bad hiring
– One bad hire can quickly destroy a well humming team
Get Coaching/Mentoringfor Your Engineering Managers
• How did we become engineering managers?• What qualities differentiate:
– Engineers / Managers / Directors / VPs Eng?• How do you grow the qualities you need?
Smart Project Planning
• Deliver demonstrable progress frequently• Get the risky stuff done first
– the UI should always be high on the risk list• Deliver the highest customer value first• Be first / be ready to integrate / be early• Don’t over-engineer
Get Out of Technical Debt• What’s “technical debt”?
– Shabby, rundown areas of code– Untested code / lack of automated tests– Undocumented code– Brittle design– Difficult to maintain, change, extend
• Expensive to debug
• Result: interest accrues• Solution?
– Pay down debt: Revisit, refactor, write tests, do TDD
Fix Interdepartmental Communication
• Build trust relationships• Product Mgmt & Eng. Mgmt: collaboration• Establish processes for your partners to fit• Communicate, communicate, communicate• Never succumb to “them vs. us”• Avoid the “blame game”
Optimize Process
• Just about any process is better than noprocess. – Mark Ginnebaugh– The exception: process for process’ sake
• I’m a fan of– “Just-Enough Process”– Agile– baby steps
Systems to Diagnose• Requirements• Roadmaps and Strategy• Motivation and Urgency• Your Team• Coaching and Mentoring Your Managers• Project Planning• Technical Debt• Communication• Development Process
Other Systems to Diagnosis
• There are lots of other systems– Meetings– Quality
• Development’s quality• QA• TDD
– UI– Risk– ...and a long list more
The Bottom Line
• Chaos is common• It’s really a series of challenges• It’s a series of improvement milestones• Each of them can be transformed
– Likely each new hum will reveal the next ping• Like peeling an onion or climbing a mountain
Q&A