Software Factories: Refactoring an Industry

Discussions

News: Software Factories: Refactoring an Industry

  1. Software Factories: Refactoring an Industry (24 messages)

    In this article by Griffin Caprio, the current concepts of software reuse are dashed in deference to a software factory model. He then gives an overview of the tools and pieces that make up a software factory.
    For many years now, efficient reuse of existing assets, either through object-oriented programming, component based development, patterns-based architecture, has been one of the core objectives for the IT industry as a whole. Reuse is seen as a means to combat many of the problems facing development teams. However, for many years and several different technology paradigms, this level of reuse has eluded the industry as a whole.
    He goes on to discuss the Economies of Scale vs. Scope and many of the other issues inherent in software product development including granularity, monolithic development, and one-off development.

    He then presents software factories as a solution to many of these problems and gives an overview of the components of software factories.
    There are 3 main components of Software Factories:
    1. Models & Patterns
    2. Domain Specific Languages
    3. Software Product Lines


    Read Software Factories: Refactoring an Industry.

    Threaded Messages (24)

  2. Yawn[ Go to top ]

    This is just new terminology for practices that are already established. OK it may crystalise the concepts for some but its nothing new.
  3. This is completely ridiculous article on software factories just like the hype over Service Orientated Architecture.

    These people who have the longest resumes have only demo code to show for themselves and have never actually WRITTEN, CODED an entire enterprise application YET somehow think their way of doing things is the best way.

    They sit around with their whiteboards and talk architecture out of both sides of their mouth while thumping their certifications in your face and think they know how to do things yet can't seem to get their really simple presentation demos to work while also admitting that it's not production code!!!

    I am tired of these authors telling us how do things when they personsonally never write a complete production app by themselves but somehow have all the time in the word to get serveral 3 and 4 letter certification acronymns next to their signatures!!!
  4. I don't think so[ Go to top ]

    He is an active developer on several OSS .NET projects, including .NET Mock Objects and Spring.Net.

    It seems that the author has real experience.

    And the approach seems survivable (depends on implementation) for some cases.

    However, yes, there is a lack of integration in software development. Yes, it is hard to create good process, to bring the best tools, patterns and practices for concrete context and team. And I think it is all right, since there are SO MANY different factors in the field.

    Michael
    Agile Blog
  5. These people who have the longest resumes have only demo code to show for themselves and have never actually WRITTEN, CODED an entire enterprise application YET somehow think their way of doing things is the best way.
    This article really wasn't meant to pass down a new decree on the way you should write software. I was merely meant as an introduction to technologies & processes that two major coporations, Microsoft & Sun, are starting to introduce.
    These people who have the longest resumes have only demo code to show for themselves and have never actually WRITTEN, CODED an entire enterprise application
    I can assure you that I have written enterprise applications. Again, Software Factories are not just about code, but about processes & development as a whole.
    YET somehow think their way of doing things is the best way.
    I apologize if the article put forth that message. If anything in the history of software development has remained consistent, it's that there is not just one "best" way of doing anything.
    I am tired of these authors telling us how do things when they personsonally never write a complete production app by themselves
    I am not sure I know anyone who could write a production application by themselves.

    - Griffin
  6. Another Critic[ Go to top ]

    So then RH, given that you feel SOA and Software Factories are ridiculous, what do you recommend to address the issues of reusability? You're tired of the authors telling you what to do, then YOU tell us what we should do.

    Criticizing the ideas of other architects without offering alternatives is like shooting ducks in a barrel. Pointless.
  7. Another Critic[ Go to top ]

    You have a point. I think RH's post was something of a sweeping generalisation, but I know how he feels. To assume that the article was posted by someone who hadn't got real experience was wrong. However, in my experience, for every genuinely capable and qualified Architect there are a hundred or so calling themselves Architects and dreaming up evermore ridiculous and unusable solutions to keep themselves in a job.

    On another note and specific to the post, whilst Software Factories are a plausible solution what aggrevates me somewhat is that typically of stuff coming out of MS they are trying to establish themselves as thought leaders ala Kent Beck, Grady Booch, Martin Fowler et al by re-packaging existing thinking.

    And furthermore why on earth would you say that SOA is not good, granted it is a technology implementation of an old concept (message based/loosely coupled apps) but it is the first genuine way to implement such a system.
  8. Another Critic[ Go to top ]

    You have a point. I think RH's post was something of a sweeping generalisation, but I know how he feels. To assume that the article was posted by someone who hadn't got real experience was wrong. However, in my experience, for every genuinely capable and qualified Architect there are a hundred or so calling themselves Architects
    I am confused as to when I called myself a architect of Software Factories.
    and dreaming up evermore ridiculous and unusable solutions to keep themselves in a job.
    Again, I don't understand the misconception that Software Factories are my creation.
    On another note and specific to the post, whilst Software Factories are a plausible solution what aggrevates me somewhat is that typically of stuff coming out of MS they are trying to establish themselves as thought leaders ala Kent Beck, Grady Booch, Martin Fowler et al by re-packaging existing thinking.
    Correct me if I am wrong, but the men you mentioned made their name by doing exactly that. Beck collected a group of practices & processes that have been well defined in the industry, and packaged them as XP. Booch stood on the shoulders of the men before him when it came to modeling. Most of Fowler's books are patterns books, which I don't think he came up with all by himself.
  9. Another Critic[ Go to top ]

    I am confused as to when I called myself a architect of Software Factories.
    Don't be confused, I didn't say you did call yourself that. What I said was the guy (rh) that did was being unfair.
    Again, I don't understand the misconception that Software Factories are my creation.
    I don't believe I said that either, but if I implied it I didnt mean to.
    Correct me if I am wrong, but the men you mentioned made their name by doing exactly that. Beck collected a group of practices & processes that have been well defined in the industry, and packaged them as XP. Booch stood on the shoulders of the men before him when it came to modeling. Most of Fowler's books are patterns books, which I don't think he came up with all by himself.
    I disagree with you entirely, IMHO the guys I mentioned are the genuine thought-leaders - some (not all admittedly) of what they do is new and innovative. But what are Software Factories, I can't see anything that even the most reactionary software companies haven't embraced. How exactly are they going to 're-factor' an industry exactly?
  10. I'm not sure if everybody has heard, but Microsoft is coming out with a new advanced certification specifically for architects. The program was built internally for evaluating their own internal architects in the evangelism and MCS groups, but will be released to the world very soon. I personally intend to be a "Charter" certified architect.

    Alan Cooper had a funny yet sadly true comment about this during the Patterns & Practices Summit.
  11. Can you point to any sources on this or provide any details?
  12. actually, MS gave me a survey on the newly proposed certification program. A new architect certification is born. I think it involves an oral presentation in front of a board. Yuck.
  13. Right on!!!

    I want to add to your comment that certified people via Microsoft are the least likely to get anything done as they spend all their time studying trick questions given by test giver who also don't write code but have resume list full of books and articles.

    Oh YEAH, don't let me forget, these books and articles don't contain "production code". Big difference.


    I have seen people past those tests with flying color but couldn't write a line of production code if their life depended upon it.
  14. Certifications, in my opinion, have value up to the point that simply studying a book is all you need to do to pass. In my case, I got my MCAD and MCSD (.NET) before there were any books or study guides out from any source.

    But I've seen many a case where test questions were posted online. Developers who do that should realize that they aren't helping others, they are reducing the value of the certification all together. What's more, I think Microsoft should, if they can, strip people who do that of their certifications. But I digress... :-)
  15. From your comment, you infer that there are some people in this world who can actually write an entire enterprise production application themselves. And believe there are.

    Thus, they know what it's like to actually get it done comparied to theories and ideas that others put forth.

    Instead of just writing some article or asking others to use some untested idea, go an actually write a production app using your ideas and then get back to us and see if your method is better than the existing way.

    If anything, it's not

       "Shooting down the barrel",

    it's

       "DON'T fix what's not broken....."

    I am amazed that the Patterns and Practices people at Microsoft get to write all these so-called best practices yet don't ever have the time to do it themselves.....
  16. I am amazed that the Patterns and Practices people at Microsoft get to write all these so-called best practices yet don't ever have the time to do it themselves.....
    Most of the folks in Patterns & Practices come from industry and have written many enterprise applications. Your contention that we should stick to the "tried and true" ways of doing development would have the industry stagnated in no time. Somebody, somewhere has to be working on thinking up new ways to solve these problems. The authors of the book that Griffin's article references are doing just that. Now, if you have some technical or process based criticism we, and I'm sure they, would love to hear it. But just bashing them on being authors who can't possibly write "real" apps is just a bunch of hot air.
  17. Yes, there are such people in fact[ Go to top ]

    From your comment, you infer that there are some people in this world who can actually write an entire enterprise production application themselves. And believe there are.
    Thus, they know what it's like to actually get it done comparied to theories and ideas that others put forth.


    Yes, I know some folks who really wrote "enterprise production application themselves". I even know a gay who wrote it alone, and the application was successful. So there are such developers. But they don't write articles ;)

    Michael
    Agile Blog
  18. I wrote an enterprise app[ Go to top ]

    Just to add a different perspective -- I wrote an enterprise app of approximately 200 RDBMS tables and approx 400 screens. It has continuously evolved for many years so is demonstrably maintainable too.

    While not knowing about these ideas of "Software Factories" (I hate the name) upon reading the book I realised I have actually used many of the concepts. They work!
  19. About recycling...[ Go to top ]

    This is really just a recap (with perhaps a little bit of a selective focus) of a book that missed it publishing date... what was it? 3 times?

    redundancey of an industry even still unable to meet its own deadlines.

    In the world of abstraction you can create anything, including users/posters and even whole threads.

    Maybe this is just an exercise in turing award AI?

    Can you tell the real from the make believe?

    Wait, let me get out my new and improved advanced math roman numeral calculator to help find the answer.
  20. Not Just a Coding Issue[ Go to top ]

    I think that this is an interesting recap of some of the pitfals of writing enterprise software.

    But what I think the article misses out on, is the fact that this problem is very much political. So sure, there might be new tools that are coming out that will help, but it doesn't solve the problem of actually getting management to the accept using these tools in day to day practices. Or getting the time to do a post mortem on an application, and extract all the reuable parts. Or getting the chance to refactor...

    In many ways the industry is like a train that just keeps steaming forward, with very few stops, only to pickup more water or coal to keep then train moving. And all the while the consumer is yelling from the passanger compartment for more coal to be thrown in the furnace because they want the train to move faster and faster.

    So, excellent, you have experience writing enterprise apps... I'd like to hear from those that have experience changing exterprise mindsets.

    And while I know, I've made some very broad brush generalizations I think there are some nuggets of truth in there about the industry as a whole.
  21. The old line of Lead, Follow or Get Out of the Way seems appropriate. And in my career I have done all three.

    Most business success has come from being able to Lead and getting there means being able to persuade. See "Influence: The Psychology of Persuasion" by Robert B. Cialdini.

    Of course, it helps if you do have a significantly better idea if you do ever get the chance to lead.
  22. Lead, Follow or Get Out of the Way[ Go to top ]

    Roughly translated this means:
    * Find a way to pursuade management that your idea is better, or
    * Just continue to go with the current management flow, or
    * Leave and work for a company that is more open to your ideas

    (Sounds a little less blunt this way!)
  23. lead, follow, or get out of the way?[ Go to top ]

    A realistice perspective on this is to understand that a plan, good, fair or poor, is better than no plan at all.

    And to impliment a plan, there is the position of lead and perhaps a strusture or chain of command.

    but when everyone knows how to do anything in any of those positions, its not a matter of who get to do what so much as it is a team focus on reaching the goal.

    But when the goal and the positions to fill are distorted and there is no one to clairify, then there is failure.

    Being able to do math is better than not being able to. Making the abacus or roman numerals and earlier such "tools" better than having any. but if the tools are made easy enough that all can use them (the decimal system with its "nothing can have value - zero placeholder") then you lose the exclusive social position of being a highly prased and paid complex tool use accountant.

    When everyone can do the jobs involved in a goal and understand the value of a chain of command in reaching the goal..... more gets done and on time.
  24. mindset...[ Go to top ]

    whats the mindset of the patent examiner that grants a patent on swinging sideways on a swing? (note that such a thing is an action, not a thing..)

    how do you change mindset? You don't, its got to change on its own, but you can help to motivate it.

    software factories idealology is no more new than the summing up of pre-existing programming concepts and datatypes into what is called the Common Language Infrastructure.

    if there is anything new to identify, its the natural human evolution of something that is NOT an exclusive to the few (in the sum of all that will participate in use) but instead its for all that use... putting things together on various levels of abstraction.

    Software factories has errors in it that are a result of faulty bias towards the feeding of MS. Of course this is no supprise, or shouldn't be to anyone with their eyes open and/or investment in MS.

    Remove the bias, get honest about software, and it becomes much easier to enable the user base to do things for themselves. This of course puts the development community in a state of change, the working oneself out of a job (or at least the fear of it --- hmmm, real FUD, rather than make believe?)

    But thats not supportive, does not support the self supported dependancy of the software industry.

    So about changing mindset....

    Those who need to, don't want to, and that is consistant with the continious failures of the software industry.

    Failure is a result of not wanting to do the right thing.

    Don't dare say the users don't want to do, for the whole of the human race and its evolution in its creation and use of abstractions is not a programming industry exclusive, but one of natural human history and its prior art.

    Now you know the answer to "what came first, the chicken of the egg?" Its a matter of finding out which one was given an abstract label first!

    Before there were programmers, there were people creating abstractions....

    Drug addicts, alcoholics, ... addicts... have trouble seeing past the self supportive dependancies of their addiction, so they most always fail or fall off the wagon...

    Perhaps there is a place for a 12 step program regarding mindset changing in the software industry.

    The first step is admitance...

    Than there is a matter of getting help, support, Who you gonna call?

    Mindset change????

    addicts are predictable....
  25. All,

    If you are as excited about this as my firm and I are (agilefactor), and the hundreds of 'in the know' experts who recognize the economic and productivity benefit this will produce please join us at:

    http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=15536008-e1a7-4c7f-b7c1-dc148491e2c6

    Mention you are from Serverside.NET and you will be automatically approved.

    The puzzling trash talk here is simply baffling. Many of you miss the fact that this will be available to everyone. It will be, for the first time, a mainstream offering for millions of developers 'out pf the box'. I didn't read one negative comment from anyone with anything valid to offer (and negative comments are always encouraged if they are constructive.. These were not as far as I could tell). It makes these individuals look quite unprofessional and frankly shows their ignorance on the main points of this amazing effort. Bill Gates has said that Model Driven Development is a key focus for 2005. Did Microsoft invent these ideas? Of course not. However they will make it real and 'mainstream'. We are talking a mass market implementation that could shatter the current horror Software Development is (on the average) in corporate America.

    For more information if anyone would care to understand the reality, and stop bashing Microsoft PLEASE feel free to email me directly at softwarefactories at agilefactor dot com . I, or one of my staff, will be happy to attempt to enlighten you. Although the religion here is so harsh and misinformed that I doubt any of the negative individuals could be reached.

    To the others who understand what the reality of a mass market empowered developer populace with an incredibly robust Software Factory engine (the DSL) at affordable prices and the massive dent (if not solution) this will be to the roughly $140 BILLION (1) dollar loss we suffer now from Corporate IT development, you will almost certainly prosper from getting behind this.

    Kind Regards,

    Damon Carr, Chief Technologist
    agilefactor
    www.agilefactor.com
    softwarefactories at agilefactor dot com

    (1) See the Standish Group and their latest studies to understand the losses we suffer.