Sep 28 2007
Is Agile a good idea for product development?
Talking about Agile practice, people might say that it is a better way to develop a project or product because with this practice, the team increasingly add value to the users or customers. The difference between software development of a product and project is that a project has explicit user and customer targets but product. Clearly Agile has advantage in facing unspecific requirements, and eliciting requirements. In Agile, we can not tolerate indistinct business/requirement analysis based on assumption. We want to know what user/customer really want, what their basic requirement are, what they prefer to have or nice to have. So during the software development life cycle customers can see the value in very beginning period and users can help the team to improve the project in a very positive way.
Compared with project, product development have two major difference. First, for a product, there are target customers while potential customers as well. Even ideally we can interview all the target customers (in practice, it is really not that possible) we still can not have all the requirement explicitly there. So assumption is inevitable. Basically assumption bases on product manager and business analysis’ experience, maybe domain experts could contribute too. The other reason is that a product must be very creative from marketing perspective. You can imagine that a product without a few new idea would never be bought by consumers except you have great price advantage. For example, iPod would not be able to interview every single customer in order to achieve his satisfaction. Microsoft would not lead the marketing if they was trying to collect the requirement from millions of real users. Obviously, they did interview people, had lots of research before they decided to approach this new functionalities.
So, is Agile the right way in software product development? The answer is YES. However, you can not follow all the rules in Agile. And eXtreme Programming, pair programming, scrum, TDD also work here as good practice because they do not depend on requirement analysis results. All the advantage of Agile can be taken in the team such as flexible and fast changing direction.
Bear in mind, the core spirit of a product is creative and different. Sometimes we have to abandon the rules, policies with the price of high risks. In this case, risk management should be highly concerned.
I know little about Agile.However:
To get over the gap between the differences between product development and project development; To deal with the problem that product development demands much surveys to know as exactly as possible what the widely requirements of customers are, and in the mean while project development demands too much resources,which always bothers our ambitious plans to enlarge our market share fast;
To cope with that ,SAP developed Net Weaver,as well as Fusion developed by Oracle,a mediat platform facilitating the further development based on specific requirements of clients.
For more information about Ner Weaver :
http://hao123ba.com/magazine/html/236/236088.htm
Thanks Jason for the comment. Clearly SAP is an ERP vendor who care more about system integration than pure ground development. It is the similar case for Oracle Fusion which is a brilliant solution for large enterprise. For SME those solutions would be too heavy or not specific. So still implementing Agile in a product development need more thoughts and good ideas.
I agree with you Xiaoming,
I’ve worked in product development environment, we successfully implemented several XP practices (stand-ups, CI, Pairing and TDD etc.) . I’m not sure if XP-only development method will make sense in this model but some practices can be successful arbitrary of your development approach.
Nirav, you are absolutely right! Practices like stand up, pair are also used in many industries. It is just something kinda new to IT industry. I remember that when I work in one of the biggest retail chain in the UK, the company encourage people to have stand up rather than formal meeting. Most of the managers in the company always assign a mission to two people (a pair) rather than a single staff. From project management point of view, XP, Scrum or lean just extended project management and operation management theory. And creatively use them in IT industry. Nothing can be perfect, sometimes, we need find the balance of implementing these best practices.