Making Software Development Hum - Presentation Transcript
Transforming Chaos to Clarity
Making Your Software Development Hum
Ron Lichty, Software Engineering Mgmt
RonLichty@sbcGlobal.net
SofTech
August 26, 2009
Mark Ginnebaugh, President
softech.org
Ron Lichty,
Software Engineering Management
SOFTWEST
Poll: Software Development
in 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 Your
Requirements 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 and
Communicate 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/Mentoring
for 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 no
process.
– 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
At the August 2009 SofTech meeting in San Rafael, C more
At the August 2009 SofTech meeting in San Rafael, CA, Ron Lichty spoke about the steps needed to make a software development project successful.
•Write a Definition of Success
•Fix your Requirements process
•Pull together Roadmaps
•Develop Motivation and Communicate Urgency
•Plan your project for success
•Align your culture with customers, products and making money
•Grow your team leads and managers
•Fix interdepartmental communication
•Measure everything you can
•Optimize process
•Assess your team
•Focus on Quality: Bugs, UI, performance, security
Ron Lichty is an award-winning software engineering executive and published and patented technology leader.
Ron has been managing product development for over 20 years at Apple Computer, Berkeley Systems, Fujitsu, mFactory, Charles Schwab, Macromedia, Avenue A | Razorfish, Forensic Logic, Socialtext and Check Point. He's the co-founder and co-chair, Software Architecture and Modeling SIG, SDForum; and Best Practices SIG at eBig. less
0 comments
Post a comment