<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Project Management</title>
        <link>http://www.shanghai-software.com/blog/category/16.aspx</link>
        <description>Project Management</description>
        <language>en-AU</language>
        <copyright>Ben Kloosterman</copyright>
        <generator>Subtext Version 2.1.0.5</generator>
        <item>
            <title>Developer Book Syndrome</title>
            <link>http://www.shanghai-software.com/blog/archive/2009/11/01/book-syndrome.aspx</link>
            <description>A colleague of mine once stated that creativity is rare in technical people  I had my doubts at the time as I’m fairly creative and often build unorthodox solutions tailor made to the problem but the longer I’m in the industry the more I agree.   &lt;br /&gt;
&lt;br /&gt;
The biggest symptom of this is something I called book syndrome. This is where famous author xyz  ( eg Lowly , Fowler etc etc ) writes a strategy in a book and people use it in completely in inappropriate circumstances.  When challenged on the solution they use the authority of the author to emphasize they are doing the right thing.   While this technique may provide some job protection it is questionable that the famous author intended to apply it where it was applied ( eg &lt;a href="javascript:void(0);/*1257082282584*/"&gt;Juval Lowly SOA 1 service per class&lt;/a&gt;  ) and in many cases like Fowler there are many  methods yet a single patterns is repeated ad nauseum without any concern for the special cases for each project..  &lt;br /&gt;
&lt;br /&gt;
And it is not just books, Universities have a lot to answer for drumming in OO yet for a lot of small to medium projects scripts and RAD provide better and more consistent results  (  &lt;a href="javascript:void(0);/*1257082332599*/"&gt; OO /RAD is Software theory relevant&lt;/a&gt;) . The fact is the bedrock of nearly all programming theory is based on 90% of the cost of an application being maintenance while true in the 50-80s this is clearly not true in the huge amount of small applications and scripts that never enter software studies ; in fact most of these programs never change  over the life time of the program ( and are completely rewritten in a new technology after 10-15 years) is completely  at odds with most of software development theory.   I’m not against OO  but I am against using OO  in many inappropriate situations  ( eg blindly following book – book syndrome) – even in an OO house RAD development will be faster , cheaper and deliver more reliable project deliveries.   &lt;br /&gt;
&lt;br /&gt;
The whole concept of an OO development house , an SOA house or a RAD house seems very wrong .  Each has their pros and cons for each project and any competent team should be familiar with all techniques and use them where appropriate.    &lt;br /&gt;
&lt;br /&gt;
Every project needs to be taken on its own merits and facts like these are FAR more important whether OO is better than RAD or SOA.&lt;br /&gt;
 -	Amount of change /maintenance  over the life of the project&lt;br /&gt;
 -	Fixed price contract&lt;br /&gt;
 -	Team skills (&lt;a href="javascript:void(0);/*1257082249062*/"&gt;Architecting for the team&lt;/a&gt;) &lt;br /&gt;
  -	Breaking down the work  ( eg SOA service layer and RAD front ends)&lt;img src="http://www.shanghai-software.com/blog/aggbug/52.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ben Kloosterman</dc:creator>
            <guid>http://www.shanghai-software.com/blog/archive/2009/11/01/book-syndrome.aspx</guid>
            <pubDate>Sun, 01 Nov 2009 13:33:07 GMT</pubDate>
            <wfw:comment>http://www.shanghai-software.com/blog/comments/52.aspx</wfw:comment>
            <comments>http://www.shanghai-software.com/blog/archive/2009/11/01/book-syndrome.aspx#feedback</comments>
            <wfw:commentRss>http://www.shanghai-software.com/blog/comments/commentRss/52.aspx</wfw:commentRss>
            <trackback:ping>http://www.shanghai-software.com/blog/services/trackbacks/52.aspx</trackback:ping>
        </item>
        <item>
            <title>Is software  theory relevant</title>
            <link>http://www.shanghai-software.com/blog/archive/2009/04/05/39.aspx</link>
            <description>I just realized my main objection to heavy theoretical based development stems not from poor theory but in appropriate use. &lt;br /&gt;
&lt;br /&gt;
I think it comes down to the original premise that 90% of a softwares lifetime budget is in maintenance  . While this is certainly true for large scale mainframe applications or software vender apps ( eg IE , Word etc) it is not for the majority of small apps  used today.  I have seen many of these applications not change for 90% of their lifetime and when replaced they are replaced by the latest and greatest language /technology. &lt;br /&gt;
&lt;br /&gt;
Here is the thing i object to most - Using code that is very heavy in terms of  re-use and extendability but is difficult to read , understand and overly complex.   You can add to this the issue of developer skill level.  Now if i have a team of 10 skilled developers building a 2 year system , its certainly going to be a major system that will last with a budget probably in the 1-4M range . However for the more common typical smaller app with 1-3 people for 1-3 months it is important to follow KISS and keep the initial cost as low as possible. &lt;br /&gt;
&lt;br /&gt;
Considering this scenario makes up the vast amount of development projects ( and most programmers work) its surprising it is neglected by academia , there seems to be very little advice in building small systems as cheap as possible - &lt;br /&gt;
&lt;br /&gt;
Commericial vendors  have always embraced this market with VB , FoxPro , Clarion  all the 4 GL ( Progress etc)   but it seems sadly lacking in Universities and academia mainly because its not that interesting.  Instead of that make a graphic rendered in your Comp science course a better project maybe complete a simple 3 form and DB app with some master detail screens , you have 24 hours..  At least they would be more prepared for most workplaces. &lt;br /&gt;
&lt;br /&gt;
The slowness of modern development has also caused frustrations between IT and business specifically business will want an application to try a business venture however after they jump all the hoops and standards the whole startup is likely to not be viable. I have heard many business people talking about a quick win , while ther are many examples i clearly remember a business person being talked into an expensive product , like an Adobe Sharepoint type app where , the business could code business forms in Javascript  and they would use the skills of the vendor for the first few form , laughable but you can see they want the quick win. While i knew nothing about the product I knew the organisation had no HTML or Javascript skills and know it will probably end in grief.  The lesson here is we need to provide a quick and dirty option for the business more often .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://www.shanghai-software.com/blog/aggbug/39.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ben Kloosterman</dc:creator>
            <guid>http://www.shanghai-software.com/blog/archive/2009/04/05/39.aspx</guid>
            <pubDate>Sun, 05 Apr 2009 08:12:57 GMT</pubDate>
            <wfw:comment>http://www.shanghai-software.com/blog/comments/39.aspx</wfw:comment>
            <comments>http://www.shanghai-software.com/blog/archive/2009/04/05/39.aspx#feedback</comments>
            <wfw:commentRss>http://www.shanghai-software.com/blog/comments/commentRss/39.aspx</wfw:commentRss>
            <trackback:ping>http://www.shanghai-software.com/blog/services/trackbacks/39.aspx</trackback:ping>
        </item>
        <item>
            <title>POS or SOA Lite TODO</title>
            <link>http://www.shanghai-software.com/blog/archive/2009/02/09/pos-or-soa-lite-todo.aspx</link>
            <description>I think Service Orientation has gone the way of J2EE/ EJB and needs to be pulled back like was done with POJO. &lt;br /&gt;
&lt;br /&gt;
I propose POS Plain old Services or POSA for Plain old services architecture. &lt;br /&gt;
&lt;br /&gt;
Rules.&lt;br /&gt;
1) There is only one rule and that is KISS.&lt;img src="http://www.shanghai-software.com/blog/aggbug/31.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ben Kloosterman</dc:creator>
            <guid>http://www.shanghai-software.com/blog/archive/2009/02/09/pos-or-soa-lite-todo.aspx</guid>
            <pubDate>Mon, 09 Feb 2009 05:34:40 GMT</pubDate>
            <wfw:comment>http://www.shanghai-software.com/blog/comments/31.aspx</wfw:comment>
            <comments>http://www.shanghai-software.com/blog/archive/2009/02/09/pos-or-soa-lite-todo.aspx#feedback</comments>
            <wfw:commentRss>http://www.shanghai-software.com/blog/comments/commentRss/31.aspx</wfw:commentRss>
            <trackback:ping>http://www.shanghai-software.com/blog/services/trackbacks/31.aspx</trackback:ping>
        </item>
        <item>
            <title>Agility vs Planning</title>
            <link>http://www.shanghai-software.com/blog/archive/2009/02/05/agility-vs-planning.aspx</link>
            <description>Pretty nice discussion about the book &lt;a href="http://www.reliablesoftware.com/DasBlog/ct.ashx?id=6ad53956-fadf-46b4-80b2-495c5bc7c51c&amp;amp;url=http%3a%2f%2fwww.amazon.com%2fBalancing-Agility-Discipline-Guide-Perplexed%2fdp%2f0321186125%2fref%3dpd_bbs_sr_1%2f102-5557133-3566512%3fie%3dUTF8%26s%3dbooks%26qid%3d1179706435%26sr%3d8-1"&gt;&lt;font size="3" face="Verdana" color="#0000ff"&gt;Balancing Agility and Discipline&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;
http://www.reliablesoftware.com/DasBlog/default,month,2007-05.aspx&lt;br /&gt;
&lt;br /&gt;
Im think if you have too much agility you will not get a very good ROI from your investment ( though everybody maybe happy except for the person who pays the bills) &lt;br /&gt;
&lt;font size="3" face="Verdana" color="#000000"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;&lt;img src="http://www.shanghai-software.com/blog/aggbug/22.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ben Kloosterman</dc:creator>
            <guid>http://www.shanghai-software.com/blog/archive/2009/02/05/agility-vs-planning.aspx</guid>
            <pubDate>Thu, 05 Feb 2009 03:54:21 GMT</pubDate>
            <wfw:comment>http://www.shanghai-software.com/blog/comments/22.aspx</wfw:comment>
            <comments>http://www.shanghai-software.com/blog/archive/2009/02/05/agility-vs-planning.aspx#feedback</comments>
            <wfw:commentRss>http://www.shanghai-software.com/blog/comments/commentRss/22.aspx</wfw:commentRss>
            <trackback:ping>http://www.shanghai-software.com/blog/services/trackbacks/22.aspx</trackback:ping>
        </item>
        <item>
            <title>Are projects getting more successful</title>
            <link>http://www.shanghai-software.com/blog/archive/2009/01/16/are-projects-getting-more-successfull.aspx</link>
            <description>&lt;p&gt;Im curious at the increase rate of sucess in a number of surveys such as the later CHAOS surveys. Looking in the detail however it appears that projects after peaking in 2000 the amount of time overrun and the amount of features completed have dropped dramatically in the vast majority of projects. Not sure what it means but to me it DOESNT mean software development is getting better if features are getting dropped  and there are increasing time blow outs. &lt;/p&gt;
&lt;p&gt;Things that come to mind&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Standards for success and projects have increasing amounts of over estimation to prevent failure and hence they come on time and on budget. (See should projects have risk contingencies) &lt;/li&gt;
    &lt;li&gt;Core elements which are critical to the business with good ROI are being prioritized and delivered while less critical features are not. &lt;/li&gt;
    &lt;li&gt;Less framework creation /coding is resulting in higher success. ( Projects with poor framework progress are/were often cancelled early as they had few deliverables) &lt;/li&gt;
    &lt;li&gt;How can the time blow out and the project still be considered a success &lt;/li&gt;
    &lt;li&gt;Projects are smaller. A lot less managers have the stomach for the $100M+ projects  in the 90s &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; It also very interesting surveys with a loose success definition have a much higher rate &lt;/p&gt;
&lt;p&gt;eg &lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://www.ambysoft.com/surveys/success2007.html"&gt;http://www.ambysoft.com/surveys/success2007.html&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;shows success rates as 63-72% vs 34% for Chaos . I think you MUST have a concrete definition to get anything from a survey in terms of project management and Development methodologies otherwise it is too subjective based on the team . &lt;/p&gt;
&lt;p&gt;Chaos defines success as “on time, on budget, meeting the spec”, &lt;/p&gt;
&lt;p&gt;With looser definitions of success you get  some interesting things &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;"40.9% of respondents considered cancelling a troubled project to be a success. " &lt;/li&gt;
    &lt;li&gt;The offshore rate of 43% shows how subjective a non standard definition can be ( People will rate external teams harsher than teams they are part off) . I have yet to meet a company that allows offshore firms Agile methods. People often ask these firms fixed price - which no doubt affects quality and perception but the ultimate goal of ROI is likely to be better ( IMHO).&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; Yet project success and budgets in Agile environments are hard to relate back to the requirements and original plan. &lt;/p&gt;
&lt;p&gt;My feeling is projects are getting a bit more succesfull however i also think the cost of new software has gone up massively.  This is good in that business are willing to pay it but bad in terms of ultimate benefit and ROI .  Part of this is due to higher demands from business while in the past internal applications had a simple grey form now people  demand colours , fonts a web interface for access at home , animated indicators etc  &lt;/p&gt;
&lt;p&gt;Its worth stating the massive improvements in the tools ( where did the time go) . I'm definetly become a believer in Parkinsons law which has pretty big implications for software development  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Work expands so as to fill the time available for its completion.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;In its generalized form. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;The demand upon a resource tends to expand to match the supply of the resource.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;In software its more likely that the work expands to fill the time available +0-50% depending on how strong the management is . &lt;/p&gt;
&lt;p&gt;Looking further i found this &lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://www.focusedperformance.com/articles/ccpm.html"&gt;http://www.focusedperformance.com/articles/ccpm.html&lt;/a&gt; pretty spot on in describing the problem. &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p style="font-style: italic;"&gt;&lt;font face="Verdana,Arial,Geneva,SunSans-Regular"&gt;&lt;font size="2" face="Verdana,Arial,Geneva,SunSans-Regular"&gt;An aggressive target duration schedule, along with elimination of task due-dates, minimizes impact of&lt;br /&gt;
"Parkinson's Law."&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; Anyway the thoughts are a bit loose in this post . &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://www.shanghai-software.com/blog/aggbug/18.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ben Kloosterman</dc:creator>
            <guid>http://www.shanghai-software.com/blog/archive/2009/01/16/are-projects-getting-more-successfull.aspx</guid>
            <pubDate>Thu, 15 Jan 2009 16:11:40 GMT</pubDate>
            <wfw:comment>http://www.shanghai-software.com/blog/comments/18.aspx</wfw:comment>
            <comments>http://www.shanghai-software.com/blog/archive/2009/01/16/are-projects-getting-more-successfull.aspx#feedback</comments>
            <wfw:commentRss>http://www.shanghai-software.com/blog/comments/commentRss/18.aspx</wfw:commentRss>
            <trackback:ping>http://www.shanghai-software.com/blog/services/trackbacks/18.aspx</trackback:ping>
        </item>
        <item>
            <title>Architecting for the team</title>
            <link>http://www.shanghai-software.com/blog/archive/2009/01/11/architecting-for-the-team.aspx</link>
            <description>One of the major differences between the  oft and bad used example of building Architecture  and Software architecture is people.  When you build a building people know how to pour the concrete and a few specialized roles are imported electricians etc  but with software we are expected to know all. If you have been writing Windows Forms apps for years if the new project is a web app it is expected  that you know write a web application , the only exception seems to be with languages people seem to except a C# programmer cant write VB or Java  - which is amusing as IMHO its probably easier to change language than to change roll ( Web /Service/Forms   or DBAccess/Logic/Gui or Procedural/OO)  . &lt;br /&gt;
&lt;br /&gt;
As architects this is our number 1 problem , we worry about SOA , EDA better OO designs etc but unless you have the people the results are poor. &lt;br /&gt;
&lt;br /&gt;
While some organisations wisely train these skills on lesser interim projects, in the majority the major projects get the attention and big changes. &lt;br /&gt;
&lt;br /&gt;
When you begin your design consider your teams skills before anything else. Its better to do an important project in old technology eg VB forms and Databases then blood a team on SOA/OO . You will meet your deadlines and have far less issues.  If you have some people who are skilled its common to make your services OO/SOA/EDA and leave the client technology as tried and true.&lt;br /&gt;
&lt;br /&gt;
This is especially an issue for SOA/EDA designers as you are caught in a catch 21 , you dont get the benefit unless you work with big/critical  systems  but you dont get the skills unless you start doing some smaller systems which will be over-engineered.&lt;img src="http://www.shanghai-software.com/blog/aggbug/3.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ben Kloosterman</dc:creator>
            <guid>http://www.shanghai-software.com/blog/archive/2009/01/11/architecting-for-the-team.aspx</guid>
            <pubDate>Sun, 11 Jan 2009 12:39:18 GMT</pubDate>
            <wfw:comment>http://www.shanghai-software.com/blog/comments/3.aspx</wfw:comment>
            <comments>http://www.shanghai-software.com/blog/archive/2009/01/11/architecting-for-the-team.aspx#feedback</comments>
            <wfw:commentRss>http://www.shanghai-software.com/blog/comments/commentRss/3.aspx</wfw:commentRss>
            <trackback:ping>http://www.shanghai-software.com/blog/services/trackbacks/3.aspx</trackback:ping>
        </item>
    </channel>
</rss>