What does a 21st century software development process look like?

And_you_do_the_cokey_cokey_2 During the last three months I have been talking to many people on what a software development process looks like to them in the 21st century — you have seen some of the initial thoughts and ideas posted in this blog.  The community seems full of different views as to what makes a process, or even if process, as we currently think of it, is right for software development teams. 

It is clear that software development is NOT the same as other manufacturing processes, and that organizations that approach software development in that manner do not exploit the opportunity for innovation or develop an efficient process.

In the pursuit of building better software, it has always been the belief of most senior managers that if you have a good process you will get great software; that problems with software can be attributed to problems with process.  Many people are now questioning that traditional mindset, believing that changing the tasks, work products, and responsibilities within the process does not lead to success, but a focus on culture, knowledge, and skills will instead improve the end product.  This change in emphasis is embodied by the Agile methods movement and described nicely in one principle in the Agile manifesto ‘Individuals and interactions over process and tools’.

Initiatives around process improvement such as the CMMI seem to be drying up, with companies either at the level they desire or seeing no real value from such work. A focus on professional development with content such as PMBOK and BABOK are gaining favor with an increased focus on the practices of software rather than the processes.

Are we seeing a tide change?  Is software development process changing focus? A new survey is currently underway to help uncover the truth about process in the 21st century.  If you have 10 minutes please take it, your contribution and support will help shape how we think about process in the future. You will also receive a copy of the report when it is published. PROCESS SURVEY

Comments

re: What does a 21st century software development process look

Hi Dave,the SW development process is widely changed since no more "100% Make" project has much sense at today.It seems to me that 90% of project is now focused on integration of opensource software with legacy systems and proprietary solution.The point is that we lack of a common, shared, standardized process, including a strong community oriented phase targeted to publicly available and loosely licensed, code reuse (E.g.: available under LGPL or ASL)For my experience, this practice allows to focus customers CAPEX to its peculiar requirements instead of spending money on globally shared requirements among hundreds of similar clients in the world that, very likely, are covered by an OS project.

re: What does a 21st century software development process look

Dave, the main problem with software development is that is it still used to create application functionality. Computers are powerful enough today that there should not be the need to do so. A business should run on a single software system that is configured to perform all the rules, calculations and processes that are needed, but those are directly derived from the business strategy into an executable business architecture definition. Code maintenance is the killer of agility. It does not matter what kind of process is employed to create the code. The overall complex system architecture especially when entering areas such as SOA, will make software as we do it today financially unacceptable. Outsourcing is simply a stopgap solution for a symptom, but not a solution.Yeah, you might say ... dream on, Max. That will be the day. You may be surprised, Dave, but the Papyrus Platform does exactly what I described above. We deploy a business architecture through life-cycle management directly into production without intermediate source-code or compilation. The one thing that we are still working on is the ability to make the changes in architecture accessible and maintainable by business users. That will be the future of business applications.As you say, software coding is not a manufacturing process and the people in a business are not robots. They are humans and software has to be made to empower them and not to restrict them in their intuitive ways. No matter how good your process, coded software won't be able to do that as flexible as necessary.