Lean software development: Developer's role
Lean software development: Developer's role
I would like to share my experience doing LEAN software development over an year and half at my work place, which I think will be useful to developers whose organization/team has started lean recently or plan to do so in immediate future.
Initially, as with most developers I was under impression that developers have no significant influence in Lean software development's crux and in product's decision making process.
By lean software development's CRUX I mean: "Eliminating waste and increasing feedback cycle. "
Key part of eliminating waste is guiding product to make informed decisions that utilize man hours spent in development cycle efficiently.
Interestingly when I look back now, thanks to my team: I realize that Developers have played a very significant role in LEAN product development and also have influenced product decisions. I would like to share how we could achieve this, without compromising your quest for technology.
Few things which I consider that helped me contribute efficiently to my team in LEAN software development are:
1. "Understanding product vision and client needs"
Developers have unique advantage to see how the system works under the hood. Also can see the actual flow of data and can use technology to do things that product couldn't imagine or even customers for that matter wouldn't request/expect, which will make customer's life very easy.
2. "Understanding problems that product is trying to solve".
There have been number of instances where, hinting little data stats about questions my product manager was trying to answer has significantly helped product make informed decisions. So look out for opportunities, ask yourself the question
"how can I help product make informed decisions?",
"what data points / statistics I can provide?",
A simple excel dump of data or simple html page of how the product will look like with actual data plugged in can influence product decision's and reduce time to get feedback a lot.
3. "Collaboration and willingness to contribute to product"
This is an important attribute in success towards implementing lean software development. Having a healthy relationship with product and other stakeholder's helps. Respecting people's opinion is a key factor. Because in lean software set-up communication and collaboration becomes indispensable.
4. "Listening to clients"
Always look for opportunities to listen to clients on how they use our product. You will surprised to see the product you have been developing for years will used by clients in a radically different way than you thought.
Listening to clients or watching clients use your product is very important. Something's that have helped me a lot are,
- Sitting in usability studies
- Listening to sales call with clients
- Reading client engagement notes
- Attending client meetings
5. "Innovation time / Side projects - to show case your product ideas to business"
To me this is the key, setting time aside for innovation is very important.
One of reasons, why I think I'm happy at my work is setting time aside for innovation. Have a bunch of product ideas that you are passionate about, showcasing it to business for their consideration with innovative solutions.
It really helps product understand the business value and usefulness when they can see something working, even though it is quick and dirty.
good