Enhanced Software Development Process with Xsemble

Last updated: 9 Jan, 2021

After all the progress that has been made in developing software, one would expect that developing software should be a simple, step by step process. Like other engineering processes, the software development process also would have its checks and balances in place, and there would be a greater predictability and control. However, in practice it is hard, as the project failure statistics show (reference 1, reference 2, reference 3). Could it be because the project management is flawed in execution, or could it be because it is rendered less effective for software development because of some inherent issues with the software development process itself?

As we shall see, due to the way software development process is carried out, project management is often blindfolded. Consider below a couple of basic questions:

  • What is the actual working of the software?
  • What is the percentage progress of my project?

Generally it would be simple to answer those, right? However, in case of software development, the answers are mostly some kind of guesswork, and like any guesswork, they can be right sometimes and wrong some other times. Let’s see why.

  • Working: The developer who can describe the exact working of the system is typically the one who implemented the functionality. When that developer leaves the team, some tacit knowledge is lost. There are significant limitations to capture this kind of tacit knowledge in some kind of documentation. Therefore a successor finds it extremely hard to gain that level of mastery, and the project suffers because of that.
  • Progress: The manager asks the developer what is the % progress. Whatever answer the developer gives is fed into their spreadsheet or tracking software, and number crunching is done on that. Note that the number is used as it is because there is no way to cross-verify it. Some times the developer is in the midst of some deep problem-solving and gives some number without much thinking. In other times, there is always a possibility that the developer missed some important aspect of the functionality which could invalidate the number at a later date.

The point is that the critical information such as this is hidden somewhere deep inside the code. The gap between reality and reported numbers keeps growing with project size and age. Indeed, the Project Management Statistics article quotes Gartner that larger projects are more likely to fail. What else would one expect when the management has to operate blindfolded on the basis of guesswork? How can the best of management help this situation?

Fortunately, a solution is emerging in the form of Xsemble. Xsemble deals with exactly those parts of the software development process where one is blindfolded. It brings to surface the critical information that was hitherto hidden within the code. Combined with the other activities which are neatly handled conventionally, we get an end-to-end process of developing software that runs smoothly. The enhanced process provides better visibility, helps you identify and deal with risks better; and generally helps you steer your project to success with more certainty, more confidence.

Here is the Process Flow Diagram of this new process.

Enhanced Process Flow Diagram of Software Development

For a detailed explanation of this process and the various ways in which it can be used to the project’s advantage, please refer to our white paper. The white paper also suggests 10 ways in which one can use the new information to understand and control the software development process.

If you have any questions / comments / concerns, please use the comments function below. If you need help in applying this process on your software project, write to us at sales@xsemble.com.

2 thoughts on “Enhanced Software Development Process with Xsemble

  • The point of the inaccuracy of project’s progress brought about by guesswork is very very topical. So, is the point of loss of ‘tacit’ knowledge when someone having deep knowledge of a certain piece of running software, leaves the team. Breaking a large functionality into viewable and trackable smaller pieces is the holy grail of Project Management and therefore, XSemble is offering something very beneficial here.

    XSemble also seems to protect a team against the loss of the tacit knowledge mentioned above. I guess the premise is that because (a) software has clearly identifiable components and (b) much of the inner working is handled by XSemble, loss is reduced if not eliminated. Here, of course, I hold some reservations. I am sure there are several use-cases where such automatic handling (like XSemble does) is extremely useful and perhaps obvious to go about. However, my reservation stems from other aspects of a software’s lifetime like (1) implementation of some functionality (and thereby, we having to manage versions and their compatibilities) and (2) replacement of core backend components. My knowledge about XSemble is very limited; so, this comment of mine should be taken with some good dosage of salt. 🙂

    • Ashish Belagali

      Thank you for a thoughtful review, Nirmalya. The purpose of the post was to invite attention to these important issues and how they can be addressed instead of taking them for granted. It’s good to see that you have captured the gist and see the importance of it.

      About the points you raised in the second para: well, Xsemble does not handle any inner working. It gives you a visual interface to manage the interaction among components, and assists you by generating code. The flow diagram that you draw itself stores the tacit knowledge of the domain, and that makes all the difference as it is available for everyone (who has access) to see it.

      Since Xsemble is not trying to play a big brother and handle something on one’s behalf, your reservations do not apply. It pretty much lets you do anything that you have been doing — only with more manageability this time.

Leave a Reply

Your email address will not be published. Required fields are marked *