General discussion

Locked

Cyrus.Net

By Lawrence Cheok ·
Tags: Off Topic
blog root

This conversation is currently closed to new comments.

11 total posts (Page 1 of 2)   01 | 02   Next
| Thread display: Collapse - | Expand +

All Comments

Collapse -

Cyrus.Net

by Lawrence Cheok In reply to Cyrus.Net

Journal on IT, software development and project management

Collapse -

How TDD improves development speed and is very cost effective

by Lawrence Cheok In reply to Cyrus.Net

<div xmlns="http://www.w3.org/1999/xhtml">
<span style="font-family: verdana;font-size:85%;">Through <a href="http://drneil.blogspot.com/">Dr Neil's blog</a>, I found this blog which is very relevant and good resource for agile development. <br />
<br />
</span> <h3 class="post-title" style="font-family: verdana; font-weight: normal;">
<span style="font-size:85%;">
<a href="http://danbunea.blogspot.com/2005/09/how-tdd-improves-development-speed-and.html"> How TDD improves development speed and is very cost effective</a>
</span>
</h3> <span style="font-family: verdana;font-size:85%;">
<br />
</span>
</div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/10/how-tdd-improves-development-speed-and.html">This post originally appeared on an external website</a></div>

Collapse -

Search Capabilities - The Next Thing to Look Out For

by Lawrence Cheok In reply to Cyrus.Net

<div xmlns="http://www.w3.org/1999/xhtml">
<div style="text-align: justify;">
<span style="font-family: verdana;font-size:85%;">
<a href="http://en.wikinews.org/wiki/IBM_partners_with_Google_to_produce_a_corporate_desktop_search_program">Google partners with IBM for corporate desktop search program</a>. The cooperation aims to produce searching capabilities for unmanaged files like Word documents, images and managed data in corporate databases.</span>
<br />
<br />
<span style="font-family: verdana;font-size:85%;">IT growth has created the problem of finding relevant information amidst the information overload. Now the search engines are becoming smarter and broader in terms of types of searchable items. This will definitely mean better information accessibility, and higher productivity.</span>
<br />
</div>
</div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/11/search-capabilities-next-thing-to-look.html">This post originally appeared on an external website</a></div>

Collapse -

SQL Server 2005 Takes On Enterprise Data Market

by Lawrence Cheok In reply to Cyrus.Net

<div xmlns="http://www.w3.org/1999/xhtml">
<div style="text-align: justify;">
<span style=";font-family:verdana;font-size:85%;">Finally, the much anticipated <a href="http://www.eweek.com/article2/0,1759,1882143,00.asp?kc=EWRSS03119TX1K0000594">SQL Server 2005</a> is about to be released. Does this mean that Microsoft will take over Oracle and IBM in terms of enterprise level RDMBS? Already, there seems to be very good response, and one survey says that <a href="http://www.eweek.com/article2/0,1759,1882167,00.asp?kc=EWRSS03119TX1K0000594">many are keen to migrate over</a>. </span>
<br />
<br />
<span style=";font-family:verdana;font-size:85%;">If this does indeed happen, what this means is that there will be a sharp increase for demand of professionals trained in SQL Server 2005.</span>
<br />
</div>
</div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/11/sql-server-2005-takes-on-enterprise.html">This post originally appeared on an external website</a></div>

Collapse -

ORCAS - Next Version of Visual Studio

by Lawrence Cheok In reply to Cyrus.Net

<div xmlns="http://www.w3.org/1999/xhtml">
<div style="text-align: justify;">
<span style=";font-family:verdana;font-size:85%;">Now that Whidbey is released, Microsoft is already starting prototyping of next version of Visual Studio, codenamed <a href="http://www.eweek.com/article2/0,1759,1882281,00.asp?kc=EWRSS03119TX1K0000594">ORCAS</a>.</span>
<br />
<br />
<span style=";font-family:verdana;font-size:85%;">Other than on tools, seems like there is strong emphasis on processes. There is the MSF template in include in the VS Team Systems (VSTS). I think we can expect more process templates to be included in the future.</span>
<br />
<br />
<span style=";font-family:verdana;font-size:85%;">
<span style="font-style: italic;">"...offerings will likely not be "just about the tools," but also about the process and the approach enterprises might take to threat modeling and related issues."</span>
</span>
<br />
</div>
</div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/11/orcas-next-version-of-visual-studio.html">This post originally appeared on an external website</a></div>

Collapse -

Mean and Standard Deviation Calculation

by Lawrence Cheok In reply to Cyrus.Net

<div xmlns="http://www.w3.org/1999/xhtml">
<div style="TEXT-ALIGN: justify">
<span style="font-family:verdana;font-size:85%;">I was reading up on PERT (Program Evaluation Review Technique), one of the technqiues in estimating efforts in WBS (work breakdown structure). It appears that there is much more to estimation than just ball-park guesses. </span>
<br />
<br />
<span style="font-family:verdana;font-size:85%;">I will share my lessons learnt on PERT later; however it appears the following are relevant lessons that needs to be learnt, as they are applied in PERT calculations. </span>
<br />
<br />
</div>
<ul style="TEXT-ALIGN: justify;font-family:verdana;">
<li>
<span style="font-size:85%;">
<a href="http://faculty.tamu-commerce.edu/crrobinson/517/meancalc.htm">Mean Calculation.</a>
</span>
</li>
<li>
<span style="font-size:85%;">
<a href="http://www.robertniles.com/stats/stdev.shtml">Standard Deviations.</a>
</span>
</li>
</ul>
<div style="TEXT-ALIGN: justify">
<span style="font-family:verdana;font-size:85%;">Standard deviations is very important in PM estimations. One of the usage is in knowing the risk level of estimates. For example, I have the following sample of WBS:<br />
<br />
<span style="FONT-WEIGHT: bold;font-family:courier new;">Work Estimated Effort Std Deviations<br />
<br />
</span>
<span style="font-family:courier new;">Module A 20 man-days 1.0<br />
</span>
<span style="font-family:courier new;">Module B 20 man-days 2.0</span>
<br />
<br />What this means is that although both tasks are estimated to take 20 man-days to complete. Module B has a higher risk level as the higher deviation means that the actual effort is in the range of 20 man-days +/- 96%, as compared to Module A's 65%.</span>
</div>
</div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/11/mean-and-standard-deviation.html">This post originally appeared on an external website</a></div>

Collapse -

Principles of Modeling

by Lawrence Cheok In reply to Cyrus.Net

<ol style="text-align: justify; font-style: italic;font-family:verdana;"> <li><span style="font-size:85%;">The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped.</span></li> <li><span style="font-size:85%;">Every model may be expressed at different levels of precision.<br /> </span> </li><li><span style="font-size:85%;">The best models are connected to reality.</span></li><li><span style="font-size:85%;">No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models.</span></li> </ol> <div style="text-align: justify;"><span style="font-size:85%;"><span style="font-family:verdana;">- <a href="http://www.amazon.com/gp/product/0201571684/103-7804114-8873424?v=glance&n=283155&n=507846&s=books&v=glance">The Unified Modeling Language User Guide</a></span></span><br /></div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/11/principles-of-modeling.html">This post originally appeared on an external website</a></div>

Collapse -

What is Software Architecture?

by Lawrence Cheok In reply to Cyrus.Net

<div style="text-align: justify;"><span style="font-size:85%;"><span style="font-family:verdana;">There have been some many interpretations and definitions of software architecture. I will attempt to document definitions that I have come across here for reference.</span></span><br /><br /><div style="text-align: justify;"> <span style=";font-family:arial;font-size:85%;" a href="http://www.amazon.com/gp/product/0201571684/103-7804114-8873424?v=glance&n=283155&n=507846&s=books&v=glance">The Unified Modeling Language User Guide</a> - <span style="font-family:arial;">"<span style="font-style: italic;">Architecture is a set of significant decisions about:</span></span></span><br /></div> </div> <div style="text-align: justify;"> </div> <ul style="font-style: italic; text-align: justify;font-family:verdana;"> <li style="font-family:arial;"><span style="font-size:85%;">The organisation of a software system.</span></li> <li style="font-family:arial;"><span style="font-size:85%;">The selection of the structural elements and their interfaces by which they system is composed.</span></li> <li style="font-family:arial;"><span style="font-size:85%;">Their behavior, as specified in the collaborations among those elements.</span></li> <li style="font-family:arial;"><span style="font-size:85%;">The composition of these structural and behavioral elements into progressively larger subsystems.</span></li> <li><span style=";font-family:arial;font-size:85%;" font>The architectural style that guides this organisation : the static and dynamic elements and their interfaces, their collaborations, and their composition."</span></span></li><font> </span></ul><font> </span><div style="text-align: justify;"><span style=";font-family:verdana;font-size:85%;" font><a href="http://www.amazon.com/gp/product/0201734095/103-7804114-8873424?v=glance&n=283155&n=507846&s=books&v=glance">Architecture-Centric Software Project Management</a> - <span style="font-style: italic;">"Software architecture is concerned with capturing the structures of a system and the relationships among the elements ... The structures we found fell into several broad categories: conceptual architecture, module architecture, execution architecture, and code architecture."</span></span></span><font><br /><span style="font-size:85%;"><a href="http://search.barnesandnoble.com/booksearch/isbninquiry.asp?pwb=1&ean=9780201775945"><br /> </a><span style="font-family: verdana;"><a href="http://search.barnesandnoble.com/booksearch/isbninquiry.asp?pwb=1&ean=9780201775945">Beyond Software Architecture</a> - <span style="font-style: italic;">"A system architecture defines the basic 'structure' of the system (e.g. the high-level modules comprising the major functions of the system , the management and distribution of data, the kind and style of its user interface, what platform(s) will it run on, and so forth" </span></span></span><br /><br /></span></div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/11/what-is-software-architecture.html">This post originally appeared on an external website</a></div>

Collapse -

What is Architecture-centric Software Project Management?

by Lawrence Cheok In reply to Cyrus.Net

<div xmlns="http://www.w3.org/1999/xhtml">
<div style="TEXT-ALIGN: justify">
<span style="font-family:verdana;font-size:85%;">
<span style="FONT-WEIGHT: bold">Problem</span>
<br />One common scenario is that cost and schedule estimates of software projects are required for justifying the business feasiblity of a software project, at a very early stage in the project life cycle</span>
<span style="font-family:verdana;font-size:85%;">. The difficulty is that there is little knowledge of requirements and the final product then to derive at feasible estimates. Hence, these estimates are usually inaccurate based on "expert judgement" or ballpark guesses.</span>
<br />
</div>
<br />
<div style="TEXT-ALIGN: justify">
<span style="font-size:85%;">
<span style="font-family:verdana;">
<span style="FONT-WEIGHT: bold">Solution</span>
<br />Using </span>
<a href="http://cyruscrypt.blogspot.com/2005/11/book-review-architecture-centric.html" style="FONT-FAMILY: verdana">architecture-centric software project planning (ACSPP)</a>
<span style="font-family:verdana;">, it provides some guidelines on arriving at more realistic estimates. Figure 1 below shows where ACSPP fits into the software development life cycle. Notice that functional and system requirements specification are performed first, which is required to derive the high-level design by the system architects. The high-level architecture then serves as input to ACSPP, and acts as the basis for project planning.</span>
</span>
<br />
<span style="font-size:85%;">
<span style="font-family:verdana;">
<br />
</span>
</span>
</div>
<div style="TEXT-ALIGN: center">
<a href="http://photos1.blogger.com/blogger/1762/643/1600/software%20development%20phases.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}">
<img alt="" border="1" src="http://photos1.blogger.com/blogger/1762/643/320/software%20development%20phases.jpg" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: pointer; TEXT-ALIGN: center" />
</a>
<span style="font-size:85%;">
<span style="font-family:arial;">Figure 1 - Software Development Phases</span>
</span>
<br />
</div>
<br />
<div style="TEXT-ALIGN: justify">
<span style="font-family:verdana;font-size:85%;">The ACSPP approach is summarised in Figure 2 below; High-level architecture is being produced by the architects as the project manager is concurrenlty working on the top-down schedule estimates. The top-down schedule can be derived from the subsystems identified from the high-level design. This approach requires the project manager and the architects to work closely together to derive an architecture and schedule estimate that is both technically feasible and meets business needs. The outputs from these two activities serves as key inputs into later activities, which are discussed next.</span>
<br />
</div>
<span style="font-family:verdana;font-size:85%;">
<br />
</span>
<div style="TEXT-ALIGN: center">
<a href="http://photos1.blogger.com/blogger/1762/643/1600/ACSPP%20Approach.0.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}">
<img alt="" border="1" src="http://photos1.blogger.com/blogger/1762/643/320/ACSPP%20Approach.0.jpg" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: pointer; TEXT-ALIGN: center" />
</a>
<span style="font-family:arial;font-size:85%;">Figure 2 - Architecture-centered Software Project Planning</span>
<br />
</div>
<span style="font-family:verdana;font-size:85%;">
<br />
</span>
<div style="TEXT-ALIGN: justify">
<span style="font-family:verdana;font-size:85%;">
<span style="FONT-WEIGHT: bold">High-level Design</span> - The aim here is to derive the subsystems/modules and scope of work that is to be done, which serves as basis for project planning. Top-level design decision are done here to serve as basis for planning as well; examples are development languages and deployment platforms etc. It also aims to resolve primary technical feasibility issues up front in the project life cycle where a "go-no-go" decision can be made if it is not technically feasible. Proof-of-concepts can be performed here to determine technical feasibilities, based on the perceived level of technical risk involved.</span>
<br />
</div>
<br />
<div style="TEXT-ALIGN: justify">
<span style="font-family:verdana;font-size:85%;">
<span style="FONT-WEIGHT: bold">Top-down Schedule</span> - Concurrently, the project manager derives the top-down schedule based on the subsystems identified from the high-level architecture. Parametric estimation techniques like <a href="http://sunset.usc.edu/research/COCOMOII/cocomo_main.html">COCOMO</a> and <a href="http://www.ifpug.org/default.htm">Function-point analysis</a> can be used here. Additional inputs can be from historical data of similar projects. Estimates at this point are still sketchy and accuracy is subjected to availability of accurate historical data. However, these activities do provide useful outputs, in that they help the project manager not to forget any significant considerations when planning the project. Examples includes SCM related tasks, project management life cycle tasks, and considerations like experiences of developers and if there are precedent project of similiar nature.<br />
<br />
<span style="FONT-WEIGHT: bold">Bottom-up Estimates</span> - Once the high-level architecture is completed, a bottom-up estimate can be derived using the subsystems and modules identified from system breakdown analysis. The granularity of the breakdown will depend on various factors like time, precedentness of similiar systems, and technical risk involved. Outputs from top-down scheduling are included at this point; the work breakdown structure includes primary activities to produce the software product AND any supporting activities necessary for the production, examples like project management tasks, meetings, reviews, SCM tasks, end-user training, documentation etc.<br />
<br />
<span style="FONT-WEIGHT: bold">Release Plans</span> - Suitable for incremental life-cycles; release planning identifies, prioritises and communicates what feature sets are available in which release and by when. The release plan helps to communicate with marketing department and distribution/deployment staffs on the major milestones to watch out for. It also allows the project managers to plan for resources required at certain phases of the life cycle e.g. arranging for beta testers prior to full release. Features' release are prioritised, using the high-level architecture, top-down scheduling and any business constraints (e.g. date of trade shows, need to operationalised new system by certain date). This serves as inputs for later scheduling efforts so that the project schedule meets business's needs.<br />
<br />
<span style="FONT-WEIGHT: bold">Project Schedule</span> - Using the top-down schedule, bottom-up estimates and release plans as inputs, a preliminary project schedule can be worked out detailing which activities is to be performed by who, and by when. Other consideration like public holidays and availability of resources (developers, testers, testing platforms etc) are factored here for a complete schedule.<br />
<br />
<span style="FONT-WEIGHT: bold">Software Development Plan</span> - The SDP details the entire plan required to produce the desired software product. The project schedule is included in the SDP to detail the time, and cost elements of this planning process.<br />
<br />
<br />
<span style="FONT-WEIGHT: bold">Conclusion<br />
</span>
</span>
<div style="TEXT-ALIGN: justify">
<span style="font-family:verdana;font-size:85%;">ACSPP guides the project planning process and ensures that key considerations of business needs and technical issues are factored into the plan. This ensures a more realistic plan based on known information at the early stages of the projecdt life cycle.<br />
<br />In addition, </span>
<span style="font-family:verdana;font-size:85%;">the outputs aids in communicating to stakeholders issues like what feature sets are available by which milestone, and if major business requirements in terms of time, cost and features are met.<br />
<br />
</span>
<span style="font-family:verdana;font-size:85%;">However, it is noted the significant planning overhead required. At least preliminary requirements and high-level design must be performed before a certain accuracy in estimation can be achieved. </span>
<br />
</div>
</div>
<br />
<br />
<a border="1" href="http://photos1.blogger.com/blogger/1762/643/1600/ACSPP%20Approach.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}">
<br />
</a>
</div><p><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/12/what-is-architecture-centric-software.html">This post originally appeared on an external website</a></div>

Collapse -

Common Challenges and Principles Implementing organizational Changes

by Lawrence Cheok In reply to Cyrus.Net

<div xmlns="http://www.w3.org/1999/xhtml">
<div>
The following are some common challenges to change improvement and some
guidelines that can be adopted to overcome them. How do they relate to
project management? Well, I see them as relevant because project are
often the means by which changes are brought about in an organization
(as opposed to operations). I observed these challenges are common
within projects that I have worked on. It is largely related to the
project environment, not directly linked to project deliverables, and
hence often overlooked. However, if not taken into considerations and
managed properly, the PM will have difficulties in dealings with
stakeholders and can affect the success of the project.
<br />
<br />

<strong>COMMON CHALLENGES OF ORGANIZATIONAL CHANGES</strong>

<br />
<br />

<strong>Lack of Incentives</strong> - Sometimes automation/process
re-engineering can cause jobs to shrink, become cheaper and more
manageable. But it can also reduce the perceived importance of that
job, and there is little incentive for the affected incumbents as
stakeholders to support the project. Where possible, reward system must
be changed to show that management is 100 percent behind the
initiative. PMs should perform stakeholder impact analysis and include
negative stakeholders who may have strong influence on the outcome of
the project.
<br />
<br />

<strong>PMs' Performance Evaluation Not Aligned to organization Goals</strong>
- Most often, project managers are evaluated based on their abilities
to complete a project on schedule and within budget. Doing something on
a project for the good of the organization may be counter to these
primary objectives. Improvement initiatives that can interfere with
being on schedule and within budget may be perceived as project risks
and are avoided. Where possible, the performance evaluation and rewards
system must be changed to reflect the organization's goals.
<br />
<br />

<strong>Few Meaningful Metrics</strong> - Most companies don't collect
data needed to quantify and measure project performances as part of
their standard processes. These are often viewed as overhead that does
not contribute to the delivery of the project goals. However, without
these metrics, how do we measure the improvements that can be brought
about by changes?
<br />
<br />

<strong>Lack of Resource </strong>- Money/time/manpower is never enough
for the tasks list. However, without improvement via changes, resources
are not freed up; and without freed resources, improvements will not
happen. The recommended approach is to seek incremental changes, and
use the small improvement to justify subsequent change improvements
initiatives.
<br />
<br />
<div>
PRINCIPLES OF IMPLEMENTING PROCESS CHANGE
</div>
<br />
<br />

<strong>Seek Management Sponsorship</strong> - All major changes need
senior management sponsorship to ensure that resources required are
allocated and to set the aim/goals of the change. Not to forget the any
project has a budget, and management sponsorship will help a lot in
winning budgetary battles. To achieve this, the aim of improvements
must be aligned with that of the management. It will not help if the
management are looking to reduce cost, when you are proposing for
increased quality.
<br />
<br />

<strong>Stakeholders must be Convinced of the Benefits</strong> -
Everyone impacted by the changes must be convinced that the change is
for the better and makes sense. Support at all levels must be developed
by the PM. Otherwise, those who fear changes will resist it, especially
if they don't understand that the change will help them do their job
better.
<br />
<br />

<strong>Measure Improvements</strong> - All change initiated aims for improvements in one or more of these areas:
<br />
</div> <ul> <li>
Reduce Time to Market
</li> <li>
Reduce Cost
</li> <li>
Increase Quality
</li> <li>
Increase Productivity
</li> </ul> <div>
To have continuous support from stakeholders, quantifiable measures is
the best way to tell the story. It requires that a baseline on the
current situation against which a comparison with the improvements can
be made. Once these metrics are collected, the numbers will do the
talking and serves to convince stakeholders of the benefits.
<br />
<br />

<strong>Continually Sell Your Business Case</strong> - Improvement must
be sold continually; otherwise, the support base may be lost. Again,
this requires metrics to be continually collected to monitor the
benefits, and ensure ongoing support.
<br />
</div>
</div><div class="blogdisclaim"><a href="http://cyrusnet.blogspot.com/2005/12/common-challenges-and-principles.html">This post originally appeared on an external website</a></div>

Back to After Hours Forum
11 total posts (Page 1 of 2)   01 | 02   Next

Related Discussions

Related Forums